1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-14 13:30:47 +00:00
Commit graph

27 commits

Author SHA1 Message Date
Dragorn421
83163f4d4b
Fix misc GCC compatibility issues (#1463)
* Fix osGetMemSize being optimized to `return 8MB` by gcc

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
Co-authored-by: ariahiro64 <45049787+ariahiro64@users.noreply.github.com>

* Workaround f32 to s16 cast for binang being UB if binang doesn't fit s16

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
Co-authored-by: ariahiro64 <45049787+ariahiro64@users.noreply.github.com>

* osGetMemSize fixup

* include z64math in z64camera

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
Co-authored-by: ariahiro64 <45049787+ariahiro64@users.noreply.github.com>
2022-12-12 20:55:57 -05:00
Dragorn421
abb4201e57
Fix misc 18 (#1423)
* two more ABS

* fixup item_name_static texs outnames

* fixup CollisionCheck_SetOCvsOC docs

* Cleanup int comments alignments

* collsion -> collision

* `SQ*` macros fixup

* use `LERP` more

* static -> `s` prefix

* grammar: dont -> don't

* 3
2022-11-13 23:47:25 +01:00
engineer124
a2d62eedb2
Cleanup VecSph: Better Distinguish Between "Spherical" vs. "Geographic" Coordinates (#1407)
* begin geo and sph docs

* cleanup

* cleanup

* cleanup struct

* PR suggestions

* spacing
2022-10-15 15:43:59 +02:00
Dragorn421
2f07874a5f
Remove BINANG_SUB (#1297) 2022-07-12 12:17:07 -04:00
Dragorn421
81ab6fe831
Remove BINANG_ROT180 (#1241) 2022-06-22 16:10:01 -04:00
Dragorn421
fed9ac3e20
Angle cleanup - macros names (#1193)
* Move binang utility macros out of angle conversion macros block

* `BINANG_TO_DEGF` -> `BINANG_TO_DEG_ALT` (it may even be warranted to name it _approx instead of _alt, unsure)

* Add `BINANG_TO_DEG` (unused by oot) (for completeness)

* `DEGF_TO_BINANG` -> `DEG_TO_BINANG_ALT` (again may even be _approx, or maybe _cam)

* Add `DEG_TO_BINANG` (unused by oot) (for completeness)

* `RADF_TO_BINANG` -> `RAD_TO_BINANG`

* `RADF_TO_DEGF` -> `RAD_TO_DEG`

* Cleanup argument names in angle conversion macros

* Format for angle macros changes

* Run formatter

* Move `DEG_TO_BINANG_ALT`, `BINANG_TO_DEG_ALT` to z64camera.h

* Remove `DEG_TO_BINANG`, `BINANG_TO_DEG`

* Remove `_ALT` from `DEG_TO_BINANG`, `BINANG_TO_DEG`

* Add comment about inaccuracy near `DEG_TO_BINANG`, `BINANG_TO_DEG`

* run formatter

* `CAM_` prefix on `DEG_TO_BINANG`, `BINANG_TO_DEG` macros

* Revert "Remove `DEG_TO_BINANG`, `BINANG_TO_DEG`"

This reverts commit 5321647e5b.
2022-04-24 10:23:49 -04:00
Dragorn421
3ce701cfd8
Angle cleanup - miscellaneous (#1159)
* Add `BINANG_TO_RAD_ALT2`

* Few hex constants in place of decimal cardinal angles

* Use `BINANG_TO_DEGF` more

* Use `DEG_TO_RAD(int)` for angle literals

* `BINANG_TO_RAD_ALT(literal)` -> use `BINANG_TO_RAD`

* Somewhat arbitrary literal angles cleanup
2022-04-03 14:32:18 -04:00
Dragorn421
4729ac131a
Angle cleanup - DEG_TO_RAD (#1157)
* Run formatter

* Touch up angle macros (parentheses and hex constants)

* Remove `DEGF_TO_RADF`, use `DEG_TO_RAD` instead

* Remove `DEGTORAD`, use `DEG_TO_RAD` instead

* Use `DEG_TO_RAD` more
2022-03-20 19:33:29 -04:00
Dragorn421
0e5ecdcd73
Angle cleanup - BINANG_TO_RAD, BINANG_TO_RAD_ALT (#1158)
* Run formatter

* Touch up angle macros (parentheses and hex constants)

* Add `BINANG_TO_RAD_ALT`

* Swap `BINANG_TO_RAD` and `BINANG_TO_RAD_ALT`

* Run formatter
2022-03-19 20:16:33 -04:00
Dragorn421
61b864a89c
Angle cleanup - RADF_TO_BINANG (#1155)
* Run formatter

* Touch up angle macros (parentheses and hex constants)

* Use `RADF_TO_BINANG` more
2022-03-13 14:46:46 -04:00
Dragorn421
f1d27bf653
Fix/cleanup/rephrase miscellaneous stuff (#983)
* Add parens around params usage in VEC_SET macro

* Remove unnecessary space character in a xml

* Use defines instead of magic values in head/tail magic comments

* Use `OS_USEC_TO_CYCLES` to make a time look better in `Graph_TaskSet00`

* `0x25800` -> `sizeof(u16[SCREEN_HEIGHT][SCREEN_WIDTH])`

* `0x803DA800` -> `0x80400000 - frame buffer size`

* Use `OS_VI_` defines instead of hex

* Add empty line after some variable declarations

* Remove unused `extern CutsceneData` in `z_bg_dy_yoseizo.c`

* `Matrix_MtxFToYXZRotS` does not use `MTXMODE_`

* Use `MTXMODE_` more

* Remove `ASCII_TO_U32`, use `'IS64'`

* Add explicit `!= NULL` in some ternaries

* Use `INV_CONTENT`, `AMMO` macros more

* Use `PLAYER_AP_` enum more to compare to `Player#heldItemActionParam`

* Get rid of lowercase hex (outside libultra)

* `gWindMill*` -> `gWindmill*`

* Format and small fix enums in `z_boss_mo.h`

* Use `CHECK_BTN_ANY` more

* Fix xz/xy mistake in comment in tektite

* Rephrase comments mentioning "the devs" in a more neutral way

* Clean-up some objectively useless parens

* Fix some negative values written as u16 instead of s16 in ichains

* `SKJ_ACTON_` -> `SKJ_ACTION_`

* Run formatter

* Fix unk_ offset of `TransformUpdateIndex#unk_10` -> `unk_0E`

* Remove comments using in-game text

* Remove `U` suffix from integer literals

* Revert "Remove `ASCII_TO_U32`, use `'IS64'`"

This reverts commit c801337dde.

* Use `PLAYER_STR_*` to compare to `CUR_UPG_VALUE(UPG_STRENGTH)`

* Add empty line after decl x2

* Revert "Use `PLAYER_STR_*` to compare to `CUR_UPG_VALUE(UPG_STRENGTH)`"

This reverts commit d80bdb32da.

* Make `CUR_UPG_VALUE(UPG_STRENGTH)` compare to integers (eventually needs its own enum)

* Only use `PLAYER_SHIELD_` enum with `Player#currentShield`

* Only use `PLAYER_TUNIC_` enum with `Player#currentTunic`
2021-10-02 23:17:09 -04:00
Synray
3b7ed8d943
Match Environment_Update and EnMThunder_Draw (#982)
* Match Environment_Update

* Match EnMThunder_Draw

* Format

* Capitalize hex
2021-09-21 18:29:43 +02:00
petrie911
e51f50f0ff
Decompile z_kankyo (#956)
* working

* start color switch

* progress

* progress

* progress on bgm func

* progress

* game over matched (except the rodata meme)

* start update

* progress

* lightning docs done

* progress

* progress

* progress

* progress

* progress

* can compile at least

* suns state, progress on kankyo_update

* some new names

* progress

* progress

* progress

* new functions

* cleanup

* more matches

* another match

* now functional

* format

* better match

* hugely improved update

* cleanup/review

* remove old changes

* review2

* review3

* missed one

* review4

* change asm filenames

* update doorwarp1

* review5

* Kankyo_ -> Environment_

* format

* merge master and format functions.h

Co-authored-by: Jacob Young <jacobly0@users.noreply.github.com>
Co-authored-by: fig <fig02srl@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
2021-09-20 12:51:35 -04:00
louist103
e3f1ccd902
Fix all headers to comply with C standard (#957)
* Fix all headers to comply with C standard

* fix a file in libultra

* Update include/stdbool.h

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>

* Update stdbool.h

* Update z64animation.h

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2021-09-15 19:24:19 -04:00
nfaltermeier
88b05cd9a2
En_anubice OK (#688)
* init, func_809B1120, and func_809B11C0 OK
Also migrate data to c

* Match Destroy, func_809B142C, func_809B1524, func_809B15CC
Start on func_809B16AC, but float register diffs :(

* Everything OK but func_809B16AC
and what a devil it is...

* Work on func_809B16AC
What an ugly function

* Do some documentation

* More documentation

* Run formatter

* Rename a few things

* Address PR comments

* Missed a couple angle macro opportunities

* Update src/overlays/actors/ovl_En_Anubice/z_en_anubice.c

Co-authored-by: mzxrules <mzxrules@gmail.com>

* Anubice OK

* Deleted the wrong part of the spec

* A curtain was missed

* Forgot a comment
I changed the declaration but not the reference :I

* More PR comments

Co-authored-by: mzxrules <mzxrules@gmail.com>
2021-02-15 16:27:22 -05:00
mzxrules
3cef03f5ff
z_bgcheck.c, 800430A0.c, 80043480.c (#256)
* beginning of migrating changes

* got matching

* changed order a bit

* clean up bgcheck

* fix conflict

* fix conflict again

* first stab at identifying types, some oks

* Clean up most bad structs/pointer math, move relevant structs to z64bgcheck.h, get some OKs

* more OKs, z_bgcheck.bss migration, update some sys_math3d.c args

* couple more OKs

* pushing some OKs

* fix compilation issues

* code_800430A0.c OK, more files decomp'd

* 8003A3E0 big OK :)

* Decomp most of func_8003C614, decomp helper funcs

* Decomp SurfaceType, CamData, and WaterBox property related functions

* more OKs, big OK in 8003C078

* more OKs, more progress, move a function definition in z_collision_check to functions.h

* more clean-ups, more OKs, dyn_vtx is now defined as u8*

* 8003A5B8, 8003A7D8, 8003C614, 8003DD6C OK, document function args better

* data migrated, more OKs

* 80041240 OK, func_8003B3C8 and func_8003BB18 disassembled

* func_80040284, 800409A8 non_matching, add IS_ZERO macro

* All asm files have C representations, some big OKs, lots of minor tweaks

* More OKs, non-matching code cleanup

* 8003FBF4 and 80040BE4 OK, improve codegen for most functions

* format z_bgcheck.c

* fix warnings, compile errors on NON_MATCHING

* func_8003EE80 is now NON_MATCHING

* begin documenting some functions

* formatting

* more documentation, func_8003A95C OK

* fix PHYSICAL_TO_VIRTUAL changes

* fix var rename

* More documentation, functions 80040E40, 80041648 OK, change types to not be compatible with ZAP

* func_8004239C ok, more NON_MATCHING improvements, more documentation

* Implement most suggested changes

* Convert comments to slower comments

* /**

* Implement ZAP2 changes

* my anti-virus ate my format.sh results

* Rename a couple hundred functions, fix minor stuff

* rename var so that clang formats correctly

* run format.sh

* implement Petrie's matches/suggestions

* format

* matches

* and the asm

* slight error

* Add SSList

* two more matches

* stuff

* implement code changes

* clean up Petrie's matchings

Co-authored-by: Arthur <arthurtilly413@gmail.com>
Co-authored-by: fig02 <fig02srl@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
2021-01-08 06:12:58 -05:00
Tharo
510b3c4bd5
ovl_En_In OK (#545)
* Initial progress

* Further progress

* One nonmatching left

* Fix merge

* OK

* Cleanup

* Remove unused asm

* Use generated reloc

* nightFlag changes and requiredObject -> objectIdx

* Some suggestions

Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>

* Revert nightflag changes, early return after Actor_Kill, objectIdx -> ingoObjBankIndex

* Fix accidental nightFlag change in z_sram

Co-authored-by: Thar0 <maximilianc64@gmail.com>
Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
2021-01-04 14:52:36 -05:00
petrie911
3727cc38b8
matched Math3D_CylVsLineSeg and fixed a Math_ error (#564)
* matched cylvsline

* slight name adjustment

* format

* and asm

* comment cleanup

* fixed misspelling and added mathfixer tool

* formatting

Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
2020-12-27 11:13:38 -05:00
petrie911
2373c779d1
additional matching functions in z_room, z_camera, and En_Zl3 (#541)
* Darkmeiro decompilation

Bg_Gnd_Darkmeiro decompiled, matched, and documented.

* give this a shot

* fix conflict

* one more try

* could be useful

* whoops

* ZAP2 stuff

* ZAP why

* ZAP again

* small improvement

* also minor

* merge

* matches

* the room?

* woo matches

* spelling fix
2020-12-18 22:09:38 -05:00
krimtonz
321388673b
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>
2020-12-06 17:39:47 -05:00
Random
174af7384d
libultra cleanup (#215)
* cleanup libultra

* fixes

- use quotes instead of <> for includes
- add macros for zelda specific thread priorities
- fix Makefile
- properly format the remaining pfs structs

* fix button macros + add CHECK_BTN_ANY/CHECK_BTN_ALL

* remove ULTRA_ABS

* fix includes

* update z_player.c/z_lib.c + run format.sh

* merge upstream/master

* fix include in En_Goroiwa

* fix includes
2020-10-03 11:22:44 -04:00
krimtonz
f11a74d41d
Math3D and olib updates (#315)
* wip

* Olib updates

* wip

* wip

* rename most Math3D functions, few matches, documentation

* wip

* document most of math3d

* pr updates

* pr updates

* add missing comment block finalizer
2020-08-17 15:42:08 -04:00
louist103
449b2247fd
Math Sizes (#297)
* Math Sizes

Added sizes to most variable types

* Removed sizes and fixed pads

Removed sizes from base types and cleaned up pads

* PR fixes
2020-07-30 21:50:18 +02:00
Lucas Shaw
b39cddd576
ovl_Obj_Dekujr OK (#276)
* started dekujr

* ovl_Obj_Dekujr OK

* cleanup

* Made suggested changes
2020-07-20 18:06:04 -04:00
krimtonz
16b304d548
Split remaining z_camera files (#98)
* split func_800473A0.s

* split func_80051B3C.s

* split func_80054478

* split func_8004B5A0, match a few functions

* rename Matrix_TranslateThenRotateZYX to Matrix_RotateRPYf (#96)

* rename Matrix_TranslateThenRotateZYX to Matrix_RotateRPYf

* rename Matrix_RotateRPYf to Matrix_JointPosition

* rename Matrix_RotateZYX to Matrix_RotateRPY

* extract camera floats, and jump tables

* decompile baby functions

priv_wip

wip

* rename struct_80045714 to VecSph
2020-04-30 10:49:11 -04:00
mzxrules
aa91a7ee32
z_collision_check.c (#73)
* func_8005B280 ok

* func_8005B65C OK

* split out func_8005BD50

* func_8005B7C0 OK

* func_8005B7F4 OK

* func_8005B824 OK

* func_8005B860 ok

* improve sanity

* func_8005B6B0 ok, ColliderInit_Actor structs added

* func_8005B884 ok

* func_8005BBF8 ok, split out func_8005BF50

* split more stuff out of func_8005C050.s

* func_8005C050 OK

* func_8005BA30 fakish OK, func_8005BAD8 real OK

* func_8005BB48 OK, func_8005BA84 almost decomp'd, but type issues

* func_8005BB10 Ok

* func_8005BF50 OK

* func_8005BE50 OK

* func_8005BD50 OK

* func_8005BCC8 Ok

* func_8005BC28

* func_8005BB8C func_8005BBB0 func_8005BBD4 Ok

* save my work commit

* func_8005C2BC fake OK

* func_8005C5B0 ok

* func_8005C608 ok

* func_8005C6C0 ok

* func_8005C6F8 ok

* func_8005C730 ok

* func_8005C774 func_8005C798 func_8005C7BC OK

* func_8005C7E0 ok, func_8005C810 split

* func_8005C810 OK

* func_8005C8C8 ok

* func_8005C964 OK

* func_8005CA88 ok

* func_8005CBAC ok

* func_8005C124 func_8005C1AC func_8005C234 func_8005CC98 OK

* func_8005CD34 func_8005CDD0 Ok

* func_8005CE6C ok

* func_8005CEC4 ok

* func_8005CEDC ok

* func_8005CF90 Ok

* standardize type names/vars more

* func_8005D3BC ok

* func_8005D40C OK, z64.h CollisionCheckContext

* func_8005D4B4 func_8005D4C8 ok

* partial data section migration

* improve function documentation, OT->OC

* Actor_CollisionCheck_SetOC ok

* Actor_CollisionCheck_SetAT Actor_CollisionCheck_SetAC Ok

* func_8005BA84 ok

* func_800611A0 ok

* func_80061274 ok

* clean up func_80061274

* func_8006139C ok

* func_8005E9C0 and dependencies OK

* minor cleanup to func_8005E9C0

* func_8005EC6C OK!

* func_8005E81C ok

* func_8005E604 ok

* func_8005E2EC func_8005E4F8 OK

* func_8005DE9C OK func_8005D8AC disassembled

* func_8006146C func_8006268C ok

* func_8005EEE0 ok

* func_8005F17C

* func_8005F39C ok

* func_8005F5B0 decompiled, not matching

* func_8005F7D0 decomp, func_8005D218 and func_8005D324 OK

* func_8005FA30 ok, split more functions

* func_8005FC04 ok

* func_8005FDCC k

* func_8005FF90 OK OK OK

* func_80060204 dead

* func_800604B0 ok

* func_80060704 func_80060994 ok, func_80060C2C somewhat disassembled. AT to AC matrix doneish

* func_800635D0 ok, func_80062ECC not so much

* OcLine oks

* D_8011DF28 functions disassembled

* D_8011DF5C functions OK

* setAT_SAC. setAC_SAC, setOC_SAC OK

* func_80061C98 decompiled, func_80061BF4, func_80061C18 OK

* func_800617D4 ok, func_800614A4 disassembled

* CollisionCheck_OC D_8011DFAC functions OK

* func_80062530 ok

* CollisionCheck_generalLineOcCheck subfunctions OK

* func_800622E4 ok

* after a long fought battle, func_80061F64 has fallen.

* func_800628A4 disassembled

* func_800627A0 func_8006285C OK

* ActorCollider_Cylinder_Update, func_80062718, func_80062734 ok

* func_80062CD4 decompiled, import EffShield/EffSpark types from MM

* various SubActor98 struct functions OK

* func_8005D4DC func_8005D62C ok

* .data section migrated, more OKs, fix NON_MATCHINGs to use effect structs

* func_80060C2C ok

* minor code tweaks

* func_80061C98 ok somehow

* Attempt to fix some unknowns, move types out of z64actor, add set3 ColliderInit types

* Apply changes

* formatting

* tweak a couple function names

* krim changes, func naming

* missed some things

* function renames

* Implement GenColliderInit.py utility

* Implement pr changes, GenColliderInit.py, DamageTable.py, z_collision_btltbls.c fully matching

* func_800614A4 ok

* Implement Roman's fixes, name Collider unknowns, rename COLTYPE -> COLSHAPE and define new COLTYPE

* collisionCheckCtx -> colChkCtx, fix small things
2020-04-25 22:43:35 -04:00
krimtonz
ee48867446
Math Files (#76)
* math3d wip

* math3d wip

* wip

* wip

* wip

* wip

* final update before pr

* run format.sh

* fix merge conflicts

* tharo suggestions update

* fig formatting suggestion

* math3d pr updates

* use sFactorialTbl in sys_math
2020-04-18 23:28:24 -04:00