Commit Graph

28 Commits

Author SHA1 Message Date
Yanis
b65f664159 Started Debug Menu (#104)
* started basic debugger

* documentation and added rectangle configurator

* updated f3dex3 patches + made some for profiling stuff

* started profiler

* fix issues and moved profiler functions to gamestate/hide by default

* fix folders not being created properly

* started menu

* memory management

* fix english

* debug disp

* started collision view

* improvements

* basic collider view

* revert profiler changes

* improvements
2024-05-08 12:04:46 +02:00
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 5321647e5b2e3538ef25325f41399e1dd3984656.
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 c801337dde9fe5e8b7a7ecf85ad3629bf5b87aaf.

* 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 d80bdb32da449edc74e02b8ab3f5a2c532e74bdb.

* 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