Commit Graph

2617 Commits

Author SHA1 Message Date
Gabriel Ravier b4c29fa50b Document z_eff_ss_stone1.[ch] (#2670)
* Document z_eff_ss_stone1.[ch]

* Incorporate feedback from PR review.

From https://github.com/zeldaret/oot/pull/2670:
- Shortened excessively verbose
  suppressRTransFadeFlashAlphaStepAfterTwoFrames name to
  suppressFadeFlash
- Fixed up comment that went waaaaaay beyond the column limit in
  z_eff_ss_stone1.h
- Shortened comparison with 0 of variable bool semantics in
  z_eff_ss_stone1.c

Signed-off-by: Gabriel Ravier <gabravier@gmail.com>

* Fix misnaming from PR review and document some more

From https://github.com/zeldaret/oot/pull/2670:
- shortenFadeFlash is incorrect - renamed to freezeFadeFlash
- Used `false` instead of 0 in EnArrow_Fly
- Elaborated comments about what exactly freezeFadeFlash does

Also added a few extra comments to z_eff_ss_stone1.c

* Ran clang-format

* More feedback from PR review, clarified comment

From https://github.com/zeldaret/oot/pull/2670:
- Change 0 to false in header comment
- Remove verbose speculation about former use of unused variable
- Made comment on use of viewDepth clearer
- Separated matrix and gfx code with a newline

Signed-off-by: Gabriel Ravier <gabravier@gmail.com>

* Marked the "1500" as being in units

---------

Signed-off-by: Gabriel Ravier <gabravier@gmail.com>
2026-08-19 14:04:49 +02:00
Jordan Longstaff 58d06849af Document EnIn (AKA the hard-working Ingo) (#2778)
* Document `EnIn` (AKA the hard-working Ingo)

* Fix variable references

* Revert switch

* Rename race outcome functions for clarity

* Apply suggestions
2026-08-19 14:03:48 +02:00
Dragorn421 e8d2d26431 [cc0 oot] kanji_tex (#2784)
* [cc0 oot] "kanread"

* format

* document kanji_tex

* fixup
2026-08-19 14:03:21 +02:00
Dragorn421 c1fd4c2290 [CI] Fix apply_fix_bss_patches.py (#2801) 2026-08-16 02:53:29 +02:00
Dragorn421 bb927944a7 Update csdis.py (use CS_TEXT_ enum) and csdis_re.py (#2800) 2026-08-15 06:01:23 +02:00
Dragorn421 96f111b04f [GHA] Fixup final jobs if conditions (#2799) 2026-08-14 13:34:04 +02:00
Dragorn421 05e9046417 [cc0 oot] z_memory_utils (#2783)
* [cc0 oot] z_memory_utils

* format

* doc

* MemCopy: The memory regions must not overlap.
2026-08-05 18:32:30 +02:00
Dragorn421 a883cd019a [cc0 oot] gameplay_keep (#2781)
* [cc0 oot] gameplay_keep

* gFishIn{Air,Water}Anim
2026-08-05 18:32:02 +02:00
Dragorn421 6b7c0a894f Add support for IA palettes (#2789) 2026-08-04 06:50:24 +02:00
Dragorn421 c24098a6f4 [cc0 oot] object_tp and z_en_tp (#2785)
* [cc0 oot] object_tp and z_en_tp

* docs

* fixup
2026-08-04 06:49:47 +02:00
Dragorn421 05ee4fb843 gha: Prevent running outside zeldaret/oot (#2788)
* gha: Prevent running outside zeldaret/oot

* also dont run the following jobs

* hmmmmm
2026-08-04 06:48:58 +02:00
Dragorn421 22d4ca0be7 spec: change include to ignore duped includes across spec (#2777)
* spec: impl `include_once` and error on duped includes across spec

* duped includes fixups

* rm get_single_segment_by_name from spec.c (unused code)

* replace include logic with include_once's
2026-08-03 16:42:52 +02:00
Tharo da4a1f661c [rsp] Introduce microcode build process, disassemble and build both rspboot versions (#2764)
* [rsp] Introduce microcode build process, disassemble and build both rspboot versions

* Suggested changes

* Check-in tool for generating armips.cpp from upstream sources, regen armips.cpp against a newer commit

* License armips_gen.py, add notice that armips.cpp is automatically generated

* Qualify comment with X105

* Clarify the assumed purpose of rspboot releasing SP_SEMAPHORE
2026-08-02 16:27:33 +02:00
cadmic 32b88f90a8 Fix fix_bss.py tiebreaking algorithm (#2779) 2026-07-31 07:28:40 +02:00
Tharo 269d03016c Automatically detect other common MIPS toolchains, update build dependencies in README (#2765)
* Automatically detect other common MIPS toolchains, update build dependencies in README

* Swap N64_GCCPREFIX and N64_INST for libdragon toolchain detection
2026-06-08 13:18:50 +02:00
Tharo 495b7d402f Fix iQue building with DEBUG_FEATURES=1 (#2766) 2026-06-08 13:17:50 +02:00
Jordan Longstaff aa1a86708f Finish EnNutsball documentation (#2763)
* Finish `EnNutsball` documentation

* Rename things
2026-05-31 17:47:06 +02:00
Jordan Longstaff e560ff093a Document EnSa (#2744)
* Document `EnSa`

* Rename INFTABLE entries

* Animation set -> group

* Remove trailing commas

* Rename textState field

* Remove trailing comma

* Rename EVENTCHKINF flag

* Correct frowning/closed swap of enum

* Rename INFTABLE flag
2026-05-27 18:28:49 +00:00
Dragorn421 2cefc0e109 Add docs/ to doxygen input (#2761) 2026-05-25 06:25:39 +02:00
Jordan Longstaff 3af589ba3b Document DemoSa (Saria's cutscene actions) (#2669)
* Document DemoSa (Saria's cutscene actions)

* Add missing include

* Add another missing include

* Change struct to enum

* add action enum comments to action funcs array

* comment on `DemoSa_InitChamberOfSages` not setting action and relying on the struct being zerod

* fixup demosa action enum numbering formatting

* Rename Unknown -> Unused

* Rename init function

* Missed rename

* Use `ANIMMODE` enum

Co-authored-by: Copilot <copilot@github.com>

* Remove redundant includes

* Rename Ganon actions to SageAction

* Rename sage-related actions

* More renames

* SageAction -> SageMagic

* Restore duplicate eye/mouth enums

* Minor style fixes

* Better action function name matching

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
2026-05-25 06:25:11 +02:00
Jordan Longstaff 2b29808f8d Document EnHs and EnHs2 (Carpenter's son) (#2758)
* Document `EnHs` and `EnHs2` (Carpenter's son)

* focusOffset -> sFocusOffset

* Rename tracking flag fields

* Roll back subrepo changes

* Remove comment on trackingFlags

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

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2026-05-23 09:00:29 +02:00
Dragorn421 4834ec2b69 GHA: Compiler archives from runner image instead of download (#2757) 2026-05-11 04:52:09 +00:00
Tharo b6f8584597 Split data/rsp asm files into individual files for each microcode (#2756) 2026-05-10 21:05:39 +02:00
Dragorn421 4b742bf3cf Assets system: reconcile xml versions using implicit and relative offsets (#2614)
* Assets system: reconcile xml versions using implicit offsets

* simplify

* remove other object_mag xmls

* Introduce relative offsets: `Offset=".+0x421"`, more sizable `ResourceDesc`s, update spec

* fix

* reconcile object_mo xml

* reconcile object_tw xml

* reconcile object_xc xml (and add Tlut="gNameTLUT" to Texture resources)

* reconcile object_fd xml

* reconcile object_kingdodongo xml

* bss

* reconcile gameplay_keep.xml
2026-05-09 20:36:05 +00:00
Dragorn421 9b795e46de Readme: fix GHA build badge (#2754) 2026-05-08 19:42:29 +02:00
Dragorn421 4fad31ecdf Compiler binaries download: separate from extract and checksum (#2753) 2026-05-08 19:31:32 +02:00
Jordan Longstaff 9776710a4f Child Ruto Actions Part 6: Sitting (#2623)
* Child Ruto Actions Part 6: Sitting

* Format

* Enum indices in comments

* Remove trailing whitespace

* Rename room number fields

* Rename to EnRu1_UpdateBgCheckInfo

* Revert "Rename to EnRu1_UpdateBgCheckInfo"

This reverts commit 7926cfeeca.

* Rename to UpdateBouncing

* Rename INFTABLE flags

* Rename to actorIter

* Remove unneeded parentheses

* Rectify comments in `EnRu1_UpdateSittingAction`

* Reformat

* Proposed name changes

* Change comment

* Multiple reversions
2026-05-06 23:33:59 +02:00
Tharo 2c481eaeeb Partial linking of spec segments (#2661)
* Partial linking of overlay segments, relax linker script alignment

* Partial linking of all spec segments

* Fix update, remove _RomPos from linker script

* iQue version working pending COM-plugin update

* Add plf map file resolution to sym_info.py, local symbol merging is broken

* git subrepo pull tools/com-plugin

subrepo:
  subdir:   "tools/com-plugin"
  merged:   "c4f3ba845"
upstream:
  origin:   "git@github.com:Thar0/com-plugin.git"
  branch:   "main"
  commit:   "c4f3ba845"
git-subrepo:
  version:  "0.4.6"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "110b9eb"

* Make tools compatible with partial linking

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>

* Remove unused files

* Fix some makefile bits

* mkspecrules cleanup

* Comment on the makerom linker layout in mkldscript

* Revert linker padding strategy back to pad_text spec directives

* Comment on objcopy elf -> rom step

* Adjust tool descriptions

* Fix compressed builds

* rm reloc_prereq, no longer used

* Makefile merge fix

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

---------

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2026-05-06 23:33:03 +02:00
Nathan Casabieille 70701b8ac9 BgSpot11Oasis: name functions and static variables (#2751)
Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2026-05-06 08:25:57 +00:00
Nathan Casabieille 7c5ea40cf7 EnBox: name unknown functions and struct fields (#2749)
* EnBox: name unknown functions and struct fields

* ovl_En_Box: name ENBOX_TYPE_9/10, rename render mode DList functions

* ovl_En_Box: formatting

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2026-05-06 07:52:18 +00:00
Nathan Casabieille 1b6ff388ef BgSpot09Obj: document params type enum (#2747)
* BgSpot09Obj: document params type enum

* Address review comments

- Remove "objects" from description (has specific meaning in Zelda64 engine)
- Move BgSpot09ObjType enum to .h for use by external files
- Replace return 0/1 literals with false/true in func_808B1AE0
- Fix enum comments: remove "visible" terminology, correct tent is adult-only

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2026-05-06 07:35:25 +00:00
Tharo 18d73ff374 Document CIC6105 (#2739)
* Document CIC6105

* Changes, AUDIOMGR_DEBUG_LEVEL -> AUDIOMGR_ACTIVITY_LEVEL
2026-05-06 09:25:34 +02:00
Tharo 5625f1826e Remove makeromfs (#2752)
This is a tool introduced a long time ago that ended up not being
used at any point in the build system and has no prospects of
future use. There's no reason for keeping it around.
2026-05-06 09:24:50 +02:00
Jordan Longstaff e48b2d954d Finish EnDivingGame documentation (#2733)
* Finish `EnDivingGame` documentation

* Rupee phase enum

* Fix overlooked field rename

* Shorten some field names for formatting

* Reformat

* Revert "unthrown Rupees" rename

* Parenthesize textId conditions

* Rename `GiveScale` functions

* Rename `nextTextState`

* Clang-format

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2026-05-03 20:04:27 +02:00
Dragorn421 7054e8fe79 Fixups around textboxSegment (#2743) 2026-05-03 19:05:10 +02:00
Dragorn421 93d008d650 Add all_versions_built dummy job for github status check (#2746)
* Add all_versions_built dummy job for github status check

* the joys of gha, take 2

* the joys of gha, take 3

* ruin bss for testing

* the joys of gha, take 4

* refix bss
2026-05-03 17:55:43 +02:00
Dragorn421 baf7ca83b1 Migrate CI to Github Actions (#2742)
* Migrate CI to Github Actions (#2740)

Changes the CI system from Jenkins to Github Actions (GHA) as discussed on discord.

I tried to adapt the original jenkinsfile as I could.
One major difference from the old system is each version will now be built in parallel instead of sequentially.

Also, the mapfiles will be uploaded as an GHA artifact to the Action workflow. I think having them easily available would be nice.

This specific approach to handle GHA for decomp projects was adapted from the one used by the GC/Wii community. It is documented here https://github.com/encounter/dtk-template/blob/main/docs/github_actions.md
There's a writeup about this adaptation for N64 projects [here](https://github.com/AngheloAlf/drmario64/pull/19).

* Rename generate_patch_from_gha -> gha_fix_bss_and_generate_patch

* Make check formatting always on the full repo

* ruin z_fishing bss for CI testing purposes

* fix not passing VERSION to tools/gha_fix_bss_and_generate_patch.sh

* debugging gha_fix_bss_and_generate_patch.sh

* fix the debugging...

* git config safe.directory

* rm debugging stuff from gha_fix_bss_and_generate_patch.sh

* fix_bss gha-side machinery, attempt 1

* fix1

* fix2

* debug1

* checkout repo in merge_bss_fixes job

* fix3

* fix4

* fix5

* some prettify

* apply_fix_bss_patches.py complete

* fix6

* generate_patch.sh is back

* apply fix bss changes from gha! it works!

* generate_patch.sh suggestion

* ruin bss again for testing

* unruin bss

* Update .github/workflows/format.yml

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>

* update matrix version list

* finalize apply_fix_bss_patches.py

---------

Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
2026-04-29 09:57:07 +02:00
Dragorn421 55cdfccdd9 Format extracted params: ObjSwitch (#2722)
* ObjSwitch params macros

* format extracted ObjSwitch params
2026-04-25 05:31:44 +09:00
Dragorn421 189baf8e79 Item_DropCollectibleRandom: params macro and drop tables enum (#2707)
* `Item_DropCollectibleRandom`: params macro and drop tables enum

* fixup
2026-04-24 21:55:03 +02:00
Tharo 9c0dafe8d2 Rename NoteSubEu -> NoteSampleState (#2738) 2026-04-24 21:15:28 +02:00
Dragorn421 072eb2dc00 Update Makefile versions list (#2741) 2026-04-22 17:34:29 +02:00
Tharo 67f8c8ca7b Simplify or comment on the remaining complex render mode settings (#2713)
* Simplify or comment on the remaining complex render mode settings

* Suggested changes

* Format
2026-04-17 16:24:45 +09:00
Tharo 4ac22d7c49 n64texconv: Improve automatic palette generation (#2731)
* n64texconv: Improve automatic palette generation

* Reword documentation on automatic palettes
2026-04-17 06:20:31 +09:00
Tharo b1ba2b3997 Macro-ify access to pauseCtx->playerSegment regions (#2693)
* Macro-ify access to pauseCtx->playerSegment regions.

Using macros to indicate which region in the player segment is being
accessed makes the memory layout more obvious and indicates the
intended level of memory ownership, particularly in the case of the
texture image at the start of the segment.

* Add clarifications for gameplay_keep details

* Uniform macro name for the render texture

* Comment
2026-04-16 22:33:07 +02:00
Dragorn421 2a2e216eb8 Split spec more (#2710) 2026-04-15 14:01:33 +02:00
Jordan Longstaff 92e3c14272 Finish EnExRuppy documentation (#2732)
* Finish `EnExRuppy` documentation

* Rename throw distance field

* Move comments to enum type

* Use `EnHeishi1` type for guard

* Add comment on `EnHeishi1` supposition
2026-04-13 07:14:45 +09:00
Dragorn421 a5b8a507fc Texture software fixups (#2709)
* fixup n64texconv app usage text and check u32|u64

* fix memory leaks in build_from_png

* yeet -Werror

* Remove n64texconv/ap and create build_jfif

* gitignore build_jfif binary, oops

* Makefile: Add BUILD_FROM_PNG and BUILD_JFIF variables
2026-04-12 23:40:05 +02:00
Dragorn421 ab79222574 tools/assets cleanup pass (mostly typing) (#2705)
* address easy todos

* add type asserts

* format

* add type hints

* more typing fixes

* more asserts for typing

* break long f string
2026-04-12 23:18:18 +02:00
Philip Dubé 63df17a235 Correct field offsets in header files (#2730) 2026-04-12 12:26:20 +02:00
Dragorn421 b56b5fc2c8 Commit objects 2: object_spot15_obj, object_spot16_obj, object_spot17_obj, object_syokudai, object_ta, object_timeblock (#2645)
* commit object_timeblock

* commit object_ta

* commit object_syokudai

* commit object_spot17_obj

* format

* commit object_spot16_obj

* fixup

* commit object_spot15_obj
2026-04-10 13:13:54 +02:00