1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2025-07-03 14:34:32 +00:00

decompile z_camera (#398)

* 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>
This commit is contained in:
krimtonz 2020-12-06 16:39:47 -06:00 committed by GitHub
parent dadee87f94
commit 321388673b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
243 changed files with 13819 additions and 28653 deletions

View file

@ -60,7 +60,7 @@ glabel D_80161148
glabel D_8016114A
.space 0x6
glabel D_80161150
glabel sDbgEditorSlots
.space 0xE
glabel D_8016115E
@ -90,7 +90,7 @@ glabel D_80161250
glabel D_8016125C
.space 0x33
glabel D_8016128F
glabel sDbgEditorStates
.space 0x41
glabel D_801612D0

View file

@ -1,625 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .rodata
.balign 16
glabel D_80143170
.asciz "\x8C--\x8D"
.balign 4
glabel D_80143184
.asciz "\x8D"
.balign 4
glabel D_80143194
.asciz "\x8D"
.balign 4
glabel D_801431AC
.asciz "\x8D"
.balign 4
glabel D_801431C4
.asciz "\x8D!"
.balign 4
glabel D_801431D8
.asciz "DEMO CAMERA TOOL"
.balign 4
glabel D_801431EC
.asciz "\x8D"
.balign 4
glabel D_80143200
.asciz "\x8D "
.balign 4
glabel D_80143214
.asciz "\x8D / "
.balign 4
glabel D_80143224
.asciz "> >"
.balign 4
glabel D_80143234
.asciz "< <"
.balign 4
glabel D_80143244
.asciz "< >"
.balign 4
glabel D_80143254
.asciz "\x8C*-*"
.balign 4
glabel D_80143264
.asciz "\x8C\E-\x8D ソ"
.balign 4
glabel D_80143278
.asciz "\x8C\E-\x8D"
.balign 4
glabel D_80143290
.asciz "\x8D\x8C "
.balign 4
glabel D_801432A4
.asciz "\x8D "
.balign 4
glabel D_801432B8
.asciz "\x8DP MAX"
.balign 4
glabel D_801432C8
.asciz "\x8C\x8D "
.balign 4
glabel D_801432DC
.asciz "\x8C\x8D "
.balign 4
glabel D_801432F0
.asciz "\x8D**"
.balign 4
glabel D_80143300
.asciz "\x8C*\x8D*"
.balign 4
glabel D_80143310
.asciz "DEBUG CAMERA"
.balign 4
glabel D_80143320
.asciz "\x8C-/"
.balign 4
glabel D_80143330
.asciz "\x8C-/-"
.balign 4
glabel D_80143340
.asciz "DEMO CONTROL"
.balign 4
glabel D_80143350
.asciz "\x8C\x8D"
.balign 4
glabel D_80143368
.asciz "p"
.balign 4
glabel D_8014336C
.asciz "e"
.balign 4
glabel D_80143370
.asciz "s"
.balign 4
glabel D_80143374
.asciz "l"
.balign 4
glabel D_80143378
.asciz "c"
.balign 4
glabel D_8014337C
.asciz "\x8C"
.balign 4
glabel D_8014338C
.asciz "\x8C"
# Save
.balign 4
glabel D_80143398
.asciz "\x8C"
# Load
.balign 4
glabel D_801433A4
.asciz "\x8C-"
# Clear
.balign 4
glabel D_801433B0
.asciz "\x8D"
.balign 4
glabel D_801433C4
.asciz "FREE BYTE"
.balign 4
glabel D_801433D4
.asciz "NEED BYTE"
.balign 4
glabel D_801433E4
.asciz "\x8C*-*"
.balign 4
glabel D_801433F8
.asciz "\x8D"
.balign 4
glabel D_8014340C
.asciz "\x8C \x8D"
.balign 4
glabel D_8014341C
.asciz "\x8D?"
.balign 4
glabel D_80143434
.asciz "\x8D"
.balign 4
glabel D_80143454
.asciz "\x8C\x8D"
.balign 4
glabel D_80143470
.asciz "\x8D"
.balign 4
glabel D_80143478
.asciz "\x8D"
.balign 4
glabel D_80143480
.asciz "\x8D"
.balign 4
glabel D_8014348C
.asciz "\x8D"
.balign 4
glabel D_80143498
.asciz "\x8D"
.balign 4
glabel D_801434A4
.asciz "USE BYTE"
.balign 4
glabel D_801434B4
.asciz "\x8D"
.balign 4
glabel D_801434C4
.asciz "\x8C\E-\x8D "
.balign 4
glabel D_801434D8
.asciz "@@@static SplinedatZ %s[] = {\n"
.balign 4
glabel D_801434F8
.asciz "@@@ /* key frame %2d */ {\n"
.balign 4
glabel D_80143518
.asciz "@@@ /* code */ %d,\n"
.balign 4
glabel D_80143538
.asciz "@@@ /* z */ %d,\n"
.balign 4
glabel D_80143558
.asciz "@@@ /* T */ %d,\n"
.balign 4
glabel D_80143578
.asciz "@@@ /* zoom */ %f,\n"
.balign 4
glabel D_80143598
.asciz "@@@ /* pos */ { %d, %d, %d }\n"
.balign 4
glabel D_801435C4
.asciz "@@@ },\n"
.balign 4
glabel D_801435D0
.asciz "@@@};\n@@@\n"
.balign 4
glabel D_801435DC
.asciz "\n@@@%d,%d,%d,%d,"
.balign 4
glabel D_801435F0
.asciz "\n@@@%d,%d,"
.balign 4
glabel D_801435FC
.asciz "\n@@@%d,%d,"
.balign 4
glabel D_80143608
.asciz "\n@@@ 0,0,0,2, /* Look Camera */"
.balign 4
glabel D_80143628
.asciz "\n@@@ 0,1, /* dousa */"
.balign 4
glabel D_80143640
.asciz "\n@@@ 0,0, /* Start Flame */"
.balign 4
glabel D_8014365C
.asciz " /* End Flame */"
.balign 4
glabel D_80143670
.asciz "\n@@@0,0, /* Dammy */\n@@@ "
.balign 4
glabel D_8014368C
.asciz "\n@@@ %d, /* code */"
.balign 4
glabel D_801436AC
.asciz "\n@@@ %d, /* z */"
.balign 4
glabel D_801436CC
.asciz " /* sokudo */"
.balign 4
glabel D_801436DC
.asciz " /* zoom */"
.balign 4
glabel D_801436EC
.asciz " /* x pos */"
.balign 4
glabel D_801436FC
.asciz " /* y pos */"
.balign 4
glabel D_8014370C
.asciz " /* z pos */\n"
.balign 4
glabel D_8014371C
.asciz "\n@@@0,0, /* Dammy */\n@@@ "
.balign 4
glabel D_80143738
.asciz "\n@@@ 0,0,0,1, /* Position Camera */"
.balign 4
glabel D_8014375C
.asciz "\n@@@ 0,1, /* dousa */"
.balign 4
glabel D_80143774
.asciz "\n@@@ 0,0, /* Start Flame */"
.balign 4
glabel D_80143790
.asciz " /* End Flame */"
.balign 4
glabel D_801437A4
.asciz "\n@@@0,0, /* Dammy */\n@@@ "
.balign 4
glabel D_801437C0
.asciz "\n@@@ %d, /* code */"
.balign 4
glabel D_801437E0
.asciz "\n@@@ %d, /* z */"
.balign 4
glabel D_80143800
.asciz " /* sokudo */"
.balign 4
glabel D_80143810
.asciz " /* zoom */"
.balign 4
glabel D_80143820
.asciz " /* x pos */"
.balign 4
glabel D_80143830
.asciz " /* y pos */"
.balign 4
glabel D_80143840
.asciz " /* z pos */"
.balign 4
glabel D_80143850
.asciz "\n@@@0,0, /* Dammy */\n@@@ "
.balign 4
glabel D_8014386C
.asciz "@@@\n@@@\n@@@/* *** spline point data ** start here *** */\n@@@\n"
.balign 4
glabel D_801438AC
.asciz "Lookat"
.balign 4
glabel D_801438B4
.asciz "Position"
.balign 4
glabel D_801438C0
.asciz "@@@static short nPoints = %d;\n@@@\n"
.balign 4
glabel D_801438E4
.asciz "@@@static short nFrames = %d;\n@@@\n"
.balign 4
glabel D_80143908
.asciz "@@@static short Mode = %d;\n@@@\n"
.balign 4
glabel D_8014392C
.asciz "@@@\n@@@\n@@@/* *** spline point data ** finish! *** */\n@@@\n"
.balign 4
glabel D_80143968
.asciz "../db_camera.c"
.balign 4
glabel D_80143978
.asciz "%s: %d: \n"
# EUC-JP: | Debug camera memory allocation failure
.balign 4
glabel D_801439A4
.asciz "../db_camera.c"
.balign 4
glabel D_801439B4
.asciz "../db_camera.c"
.balign 4
glabel D_801439C4
.asciz "%s: %d: \n"
# EUC-JP: | Debug camera memory allocation failure
.balign 4
glabel D_801439F0
.asciz "../db_camera.c"
.balign 4
glabel D_80143A00
.asciz "../db_camera.c"
.balign 4
glabel D_80143A10
.asciz "../db_camera.c"
.balign 4
glabel D_80143A20
.asciz "../db_camera.c"
.balign 4
glabel D_80143A30
.asciz "../db_camera.c"
.balign 4
glabel D_80143A40
.asciz "%s: %d: \n"
# EUC-JP: | Debug camera memory allocation failure
.balign 4
glabel D_80143A6C
.asciz "../db_camera.c"
.balign 4
glabel D_80143A7C
.asciz "../db_camera.c"
.balign 4
glabel D_80143A8C
.asciz "%s: %d: \n"
# EUC-JP: | Debug camera memory allocation failure
.balign 4
glabel D_80143AB8
.asciz "../db_camera.c"
.balign 4
glabel D_80143AC8
.asciz "@@@\n@@@\n@@@/* ****** spline point data ** start here ***** */\n@@@\n"
.balign 4
glabel D_80143B0C
.asciz "@@@\n@@@/* ** %d ** */\n@@@\n"
.balign 4
glabel D_80143B28
.asciz "Lookat"
.balign 4
glabel D_80143B30
.asciz "Position"
.balign 4
glabel D_80143B3C
.asciz "@@@static short nPoints = %d;\n@@@\n"
.balign 4
glabel D_80143B60
.asciz "@@@static short nFrames = %d;\n@@@\n"
.balign 4
glabel D_80143B84
.asciz "@@@static short Mode = %d;\n@@@\n"
.balign 4
glabel D_80143BA8
.asciz "@@@\n@@@\n@@@/* ****** spline point data ** finish! ***** */\n@@@\n"
.balign 4
glabel D_80143BE8
.asciz "PRESS B BUTTON"
.balign 4
glabel D_80143BF8
.asciz "PRESS B BUTTON"
.balign 4
glabel D_80143C08
.asciz "PRESS B BUTTON"
.balign 4
glabel D_80143C18
.asciz "_"
.balign 4
glabel D_80143C1C
.asciz ">"
.balign 4
glabel D_80143C20
.asciz "###%2d:(%c) (%d %d) %d %d %d\n"
.balign 4
glabel D_80143C40
.asciz "\n@@@ /* CUT [%d] */"
.balign 4
glabel D_80143C54
.float 0.15
glabel D_80143C58
.float 0.2
glabel D_80143C5C
.float 30000
glabel D_80143C60
.float 30000
glabel D_80143C64
.float 0.8
glabel D_80143C68
.float 182.04167
glabel D_80143C6C
.float 0.8
glabel D_80143C70
.float 182.04167
glabel D_80143C74 # unused
.float 182.04167
glabel D_80143C78
.float 0.8
glabel D_80143C7C
.float 182.04167
glabel D_80143C80
.float 0.8
glabel D_80143C84
.float 182.04167
glabel D_80143C88 # unused
.float 182.04167
glabel D_80143C8C
.float 182.04167
glabel D_80143C90
.float 0.00549325
glabel D_80143C94
.float 0.00549325
glabel D_80143C98
.float 0.2
glabel D_80143C9C
.float 0.2
glabel D_80143CA0
.float 0.00549325
glabel D_80143CA4
.float 0.00549325
glabel D_80143CA8
.float 0.00549325
glabel D_80143CAC
.float 0.00549325
glabel D_80143CB0
.float 0.02
glabel D_80143CB4
.float 0.02
glabel D_80143CB8
.float 0.02
glabel D_80143CBC
.float 0.00549325
glabel D_80143CC0
.float 0.00549325
glabel D_80143CC4
.float 0.02
glabel D_80143CC8
.float 0.02
glabel D_80143CCC
.float 0.02
glabel D_80143CD0
.float 182.04167

View file

@ -1,106 +0,0 @@
.include "macro.inc"
# assembler directives
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.set gp=64 # allow use of 64-bit general purpose registers
.section .bss
.balign 16
glabel D_8015BD50
.space 0x4
glabel D_8015BD54
.space 0x1C
glabel D_8015BD70
.space 0xC
glabel D_8015BD7C
.space 0x4
glabel D_8015BD80
.space 0x4
glabel D_8015BD84
.space 0xC
glabel D_8015BD90
.space 0xC
glabel D_8015BD9C
.space 0x2C
glabel D_8015BDC8
.space 0x107E
glabel D_8015CE46
.space 0x6
glabel D_8015CE4C
.space 0x4
glabel D_8015CE50
.space 0x4
glabel D_8015CE54
.space 0x4
glabel D_8015CE58
.space 0x4
glabel D_8015CE5C
.space 0x4
glabel D_8015CE60
.space 0x4
glabel D_8015CE64
.space 0x4
glabel D_8015CE68
.space 0x4
glabel D_8015CE6C
.space 0x14
glabel D_8015CE80
.space 0x4
glabel D_8015CE84
.space 0x4
glabel D_8015CE88
.space 0x4
glabel D_8015CE8C
.space 0x4
glabel D_8015CE90
.space 0x4
glabel D_8015CE94
.space 0xC
glabel D_8015CEA0
.space 0x8
glabel D_8015CEA8
.space 0xC
glabel D_8015CEB4
.space 0x4
glabel D_8015CEB8
.space 0x4
glabel D_8015CEBC
.space 0x4
glabel D_8015CEC0
.space 0x10
glabel D_8015CED0
.space 0x30