mirror of
https://github.com/zeldaret/oot
synced 2026-06-17 07:07:57 -04:00
321388673b
* cleanup * name camera action functions * decompile a few small functions, name a few Camera struct members * decompile camera data, decompile a few camera functions * Split ASM for code_800BB0A0 * removing code_800BB0A0.s * PR Requests, Camera WIP * remove #define NON_MATCHING from db_camera * rename code_8007BF90.c to z_olib.c, rename functions in z_olib.c * camera wip * rename some struct memebers, some decomp wip * pr updates * camera wip * name some fields in Camera Struct, being making sense of Camera_Update * Camera WIP * wip * wip * add z64camera.h header, begin creating CameraSetting macros * wip * wip * wip * wip * migrate camera bss to c * match a couple functions in db_camera * match some small db_camera functions * wip * migrate db_camera rodata, match a few functions * remote db_camera.rodata.s * match some of db_camera * identify types of some unknown data pieces * some small wip * Match Camera_Init, some function changes, some struct name changes. Change unk_C0 and unk_CC to floats from Vec3fs * add naming for a few more Camera struct members * wip * match func_80043F94 * Match Camera_Jump1 * document some of Camera_Jump1 * wip * match Camera_Jump3 * Match Camera_Update, FeelsAmazing * wip * wip * match Camera_SetParam * minor cleanup * wip * wip * match Camera_KeepOn0 * some documentation, modify some matching functions to match style of others. * match Camera_Demo1 * match camera_demo9 * document Camera_Demo1 and Camera_Demo9 * wip * Match camera_battle4 * match camera_unique2 * Match Camera_Unique3 * match camera_special6 * match Camera_Special5 * wip * document camera_special6 * naming updates * match camera_Unique1 * match Camera_Unique0 * wip * Match Camera_CalcUpFromPitchYawRoll * match func_80045508 * document Camera_Battle4 * document several camera functions, move camera data to separate file * rename phi/theta to pitch/yaw * wip * uniq9 wip * Camera_Unqiue9 OK * document Camera_Unique9 * name unk_160 in camera struct * wip * wip * minor updates * fix conflicts * wip * wip * Olib updates * wip * wip * rename most Math3D functions, few matches, documentation * wip * document most of math3d * wip * wip * wip * pr updates * Match Camera_Fixed4 * match func_80058E8C * pr updates * add missing comment block finalizer * Merge math3dupdates * match Camera_ChangeSetting * Match Camera_ChangeMode * match func_80058148 * Match Camera_Special9 * decompile the rest of camera data * match Camera_Demo5 * name a few camera functions in z_play * match func_80046CB4, some work on other fucntions * wip * impove some non matchings * fix function rename * match func_800588B4 * match Camera_Subj4 * wip * Camera_Demo3 matching, Camera_Battle1 big progress * Camera_Normal2 OK * wip * match Camera_Parallel1 * normalize some things across functions * match Camera_Normal1 * Match Camera_Normal3 * some cleanup * more cleanup * more cleanup , match Camera_CalcDefaultPitch * data formatting * Match Camera_Jump2 * document Camera_Jump2 * Match Camera_KeepOn3 * document some of Camera_KeepOn3 * improve some non_matchings * match func_80045C74 and func_800460A8 * code cleanup, documentation * match Camera_KeepOn1 * Match Camera_Subj3 * Match Camera_Battle1 * remove non_matching from func_80044adc and func_80046e20 * name several members of Battle1 * more documentation on Battle1 * cleanup * renaming Camera_Vec3fScaleXYZFactor to Camera_Vec3fTranslateByUnitVector * reorganize update structs, remove final references to params, remove CameraParams union * implement camera enums into player * Renaming Camera_GetDir to Camera_GetInputDir, Camera_GetRealDir to Camera_GetCamDir, etc, implement camera enum's into player * remove non-global camera variables from variables.h * clean up some variable declarations * finish pr comment updates * fix some warnings * data formatting * finish commenting on data * delete unused asm * remove asm Co-authored-by: fig <fig02srl@gmail.com>
70 lines
3.6 KiB
ArmAsm
70 lines
3.6 KiB
ArmAsm
glabel func_800B8F58
|
|
/* B300F8 800B8F58 27BDFFD0 */ addiu $sp, $sp, -0x30
|
|
/* B300FC 800B8F5C 3C0E8016 */ lui $t6, %hi(sDbgEditorSlots) # $t6, 0x8016
|
|
/* B30100 800B8F60 91CE1150 */ lbu $t6, %lo(sDbgEditorSlots)($t6)
|
|
/* B30104 800B8F64 AFBF001C */ sw $ra, 0x1c($sp)
|
|
/* B30108 800B8F68 AFB00018 */ sw $s0, 0x18($sp)
|
|
/* B3010C 800B8F6C AFA50034 */ sw $a1, 0x34($sp)
|
|
/* B30110 800B8F70 AFA60038 */ sw $a2, 0x38($sp)
|
|
/* B30114 800B8F74 AFA7003C */ sw $a3, 0x3c($sp)
|
|
/* B30118 800B8F78 2408002D */ li $t0, 45
|
|
/* B3011C 800B8F7C A0880000 */ sb $t0, ($a0)
|
|
/* B30120 800B8F80 3C0F8016 */ lui $t7, %hi(D_80161160) # $t7, 0x8016
|
|
/* B30124 800B8F84 A08E0001 */ sb $t6, 1($a0)
|
|
/* B30128 800B8F88 91EF1160 */ lbu $t7, %lo(D_80161160)($t7)
|
|
/* B3012C 800B8F8C A0880002 */ sb $t0, 2($a0)
|
|
/* B30130 800B8F90 3C188016 */ lui $t8, %hi(D_80161170) # $t8, 0x8016
|
|
/* B30134 800B8F94 A08F0003 */ sb $t7, 3($a0)
|
|
/* B30138 800B8F98 93181170 */ lbu $t8, %lo(D_80161170)($t8)
|
|
/* B3013C 800B8F9C 00808025 */ move $s0, $a0
|
|
/* B30140 800B8FA0 A0880004 */ sb $t0, 4($a0)
|
|
/* B30144 800B8FA4 A0980005 */ sb $t8, 5($a0)
|
|
/* B30148 800B8FA8 3C048016 */ lui $a0, %hi(D_80161240) # $a0, 0x8016
|
|
/* B3014C 800B8FAC 3C038016 */ lui $v1, %hi(D_80161180) # $v1, 0x8016
|
|
/* B30150 800B8FB0 24631180 */ addiu $v1, %lo(D_80161180) # addiu $v1, $v1, 0x1180
|
|
/* B30154 800B8FB4 24841240 */ addiu $a0, %lo(D_80161240) # addiu $a0, $a0, 0x1240
|
|
/* B30158 800B8FB8 26020006 */ addiu $v0, $s0, 6
|
|
.L800B8FBC:
|
|
/* B3015C 800B8FBC 90790000 */ lbu $t9, ($v1)
|
|
/* B30160 800B8FC0 A0480000 */ sb $t0, ($v0)
|
|
/* B30164 800B8FC4 24630040 */ addiu $v1, $v1, 0x40
|
|
/* B30168 800B8FC8 A0590001 */ sb $t9, 1($v0)
|
|
/* B3016C 800B8FCC 9069FFD0 */ lbu $t1, -0x30($v1)
|
|
/* B30170 800B8FD0 A0480002 */ sb $t0, 2($v0)
|
|
/* B30174 800B8FD4 24420008 */ addiu $v0, $v0, 8
|
|
/* B30178 800B8FD8 A049FFFB */ sb $t1, -5($v0)
|
|
/* B3017C 800B8FDC 906AFFE0 */ lbu $t2, -0x20($v1)
|
|
/* B30180 800B8FE0 A048FFFC */ sb $t0, -4($v0)
|
|
/* B30184 800B8FE4 A04AFFFD */ sb $t2, -3($v0)
|
|
/* B30188 800B8FE8 906BFFF0 */ lbu $t3, -0x10($v1)
|
|
/* B3018C 800B8FEC A048FFFE */ sb $t0, -2($v0)
|
|
/* B30190 800B8FF0 1464FFF2 */ bne $v1, $a0, .L800B8FBC
|
|
/* B30194 800B8FF4 A04BFFFF */ sb $t3, -1($v0)
|
|
/* B30198 800B8FF8 A0400001 */ sb $zero, 1($v0)
|
|
/* B3019C 800B8FFC A2000014 */ sb $zero, 0x14($s0)
|
|
/* B301A0 800B9000 93A6003F */ lbu $a2, 0x3f($sp)
|
|
/* B301A4 800B9004 93A50037 */ lbu $a1, 0x37($sp)
|
|
/* B301A8 800B9008 AFA20028 */ sw $v0, 0x28($sp)
|
|
/* B301AC 800B900C 93A4003B */ lbu $a0, 0x3b($sp)
|
|
/* B301B0 800B9010 02003825 */ move $a3, $s0
|
|
/* B301B4 800B9014 AFA60020 */ sw $a2, 0x20($sp)
|
|
/* B301B8 800B9018 0C018DDB */ jal func_8006376C
|
|
/* B301BC 800B901C AFA50024 */ sw $a1, 0x24($sp)
|
|
/* B301C0 800B9020 8FA20028 */ lw $v0, 0x28($sp)
|
|
/* B301C4 800B9024 8FA50024 */ lw $a1, 0x24($sp)
|
|
/* B301C8 800B9028 8FA60020 */ lw $a2, 0x20($sp)
|
|
/* B301CC 800B902C 240D002D */ li $t5, 45
|
|
/* B301D0 800B9030 A04D0000 */ sb $t5, ($v0)
|
|
/* B301D4 800B9034 A20D0014 */ sb $t5, 0x14($s0)
|
|
/* B301D8 800B9038 87A4003A */ lh $a0, 0x3a($sp)
|
|
/* B301DC 800B903C 26070014 */ addiu $a3, $s0, 0x14
|
|
/* B301E0 800B9040 24840014 */ addiu $a0, $a0, 0x14
|
|
/* B301E4 800B9044 0C018DDB */ jal func_8006376C
|
|
/* B301E8 800B9048 308400FF */ andi $a0, $a0, 0xff
|
|
/* B301EC 800B904C 8FBF001C */ lw $ra, 0x1c($sp)
|
|
/* B301F0 800B9050 8FB00018 */ lw $s0, 0x18($sp)
|
|
/* B301F4 800B9054 27BD0030 */ addiu $sp, $sp, 0x30
|
|
/* B301F8 800B9058 03E00008 */ jr $ra
|
|
/* B301FC 800B905C 00000000 */ nop
|
|
|