Commit Graph

2587 Commits

Author SHA1 Message Date
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
Dragorn421 177951c4db oot-gc-eu-dbg-2 OK (#2714)
* oot-gc-eu-dbg-proto OK

* add gc-eu-dbg-proto to readme

* mention overdump trimming for all debug roms

* rename gc-eu-dbg-proto to gc-eu-dbg-2

Rationale: first version to make it into decomp (which should also be the first one that surfaces) gets an un-numbered version name, then the second version gets -2, and so on
2026-04-07 11:18:17 +02:00
Tharo b50e208d60 Document bug where fog factors are not restored upon switching back from S2DEX2 after drawing a room background (#2725) 2026-03-22 23:38:40 +01:00
Tharo 67f3588e54 Comment more original names for audio functions from animal crossing (#2721)
* Comment more original names for audio functions from animal crossing

* Drop delayparam, not original
2026-03-21 05:58:16 +01:00
Tanner Johnson 1ccf13ff63 tools/assets: fix build_from_png with Apple clang (#2724)
* tools/assets: fix build_from_png with Apple clang

* tools/assets: use macro for build_from_png suffix limit
2026-03-14 21:39:32 +00:00
Dragorn421 34a40816fa Add @bug comment on an Actor_Spawn printf (#2717) 2026-03-12 13:30:17 +01:00
Tharo 970af5600a Audio: Fix note values (#2716)
Due to the layout of the pitch_frequencies lookup table, note values
computed in extraction were reflected around middle C (midi note
number 60). This didn't matter for matching, values would successfully
roundtrip. However when using samples in external programs or
converting soundfonts to standard formats the note values would lead
to incorrect playback of sounds. This change corrects the note values
so that external programs correctly infer the pitch of the sound when
played at a particular MIDI key.
2026-03-10 06:22:28 +09:00
Anghelo Carvajal bc6d153a21 Allow atblgen to process sequence_order.in with empty lines in between lines for building on Macos (#2718)
The present changes are a direct copy-paste from https://github.com/zeldaret/mm/pull/1850

This fixes building on macos due to a kinda specific issue with Apple clang.

When trying to build on Macos (specifically MacOS 12, Monteray with Apple clang 13.0.0 (clang-1300.0.29.30), idk if other versions have this issue too) `make` stops with the following error from `atblgen`:
```
Failed to match line 1: ""
regexec error: "regexec() failed to match"
Error: Malformed build/n64-us/assets/audio/sequence_order.in?
```

`atblgen` makes the assumption that the `sequence_order.in` file has no extra data, spaces, empty lines, etc. but the file somehow ends up having empty lines between each line on macos.

This file is created by using the C preprocessor to process `include/tables/sequence_table.h`.
In normal circumstances this file should look like this snip,
```
(Sequence_0,NA_BGM_GENERAL_SFX)
(Sequence_1,NA_BGM_AMBIENCE)
(Sequence_2,NA_BGM_TERMINA_FIELD)
(Sequence_3,NA_BGM_CHASE)
(Sequence_4,NA_BGM_MAJORAS_THEME)
```
but it ends up looking like this instead
```
(Sequence_0,NA_BGM_GENERAL_SFX)

(Sequence_1,NA_BGM_AMBIENCE)

(Sequence_2,NA_BGM_TERMINA_FIELD)

(Sequence_3,NA_BGM_CHASE)

(Sequence_4,NA_BGM_MAJORAS_THEME)
```
which `atblgen` doesn't like.

I believe this happens because there are lines with comments between each macro in [`sequence_table.h`](https://github.com/zeldaret/mm/blob/0877ce4adf28a8e73e05c3c58682273b8bf28749/include/tables/sequence_table.h) and for some reason this Apple clang version decided to preserve those empty lines

The fix just makes `atblgen` skip empty lines.

I threw `atblgen` to valgrind to check the fix was working as intended and noted a bunch of memory that was being free before exit, so I fixed them.

I also noted the tools/audio makefile was not using `OPTFLAGS` when building those tools, so I fixed that too.
2026-03-09 21:04:17 +01:00
Dragorn421 e66e6f8f1d gc-eu-dbg OK (#2700)
* gc-eu-dbg OK

* cleanup/fortify makefile and line_numbers.h changes

* fill segments.csv

* add gc-eu-dbg to Jenkinsfile

* cleanup/fortify dmadata_table.h

* add gc-eu-dbg to readme

* fix checksum check and compressed checksum
2026-03-02 16:45:07 +01:00
Jordan Longstaff 3d51e21020 Finish EnMThunder documentation (#2702)
* Finish `EnMThunder` documentation

* Boolean conversion

* Hex to decimal conversions

* Rename static variables
2026-02-26 09:59:16 +01:00
Dragorn421 ba71ca39d2 Update README and build instructions (#2704)
* Remove libpng from requirements

* Remove unnecessary packages from dockerfile

* Update README

* update binutils and gcc versions in macos build instructions
2026-02-25 14:03:11 +01:00
Tharo d80da36cff Make bool return values of SkelAnime_Update and LinkAnimation_Update clear (#2706)
* Make bool return values of SkelAnime_Update and LinkAnimation_Update clear

* formatting: empty line after decl

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2026-02-25 13:03:13 +01:00
Dragorn421 0491c21475 Use OOT_NTSC instead of OOT_REGION to check for ntsc in gkeep (#2703)
* Use `OOT_NTSC` instead of `OOT_REGION` to check for ntsc in gkeep

* bss
2026-02-24 21:48:21 +01:00
Dragorn421 0d4dbb61a0 Fix F3DEX2 ucode name on N64 versions (not PosLight) (#2701)
* Fix F3DEX2 ucode name on N64 versions (not PosLight)

* put the not-PosLight / PosLight differences under F3DEX_GBI_PL

* revert bss changes
2026-02-22 22:50:27 +01:00
Dragorn421 abdae818bd Fix misc 23 (#2699)
* remove noop macros Fault_SetFontColor Fault_SetCharPad under PLATFORM_N64

* remove duplicate declarations in sfx.h

* use render mode presets more

* decimal for alpha values

* fix some z_camera comments typos

* fix references to preprocess.sh (used to be preprocess.py)

* remove outdated comment on deps in makefile

* code_800AD920 was renamed to z_viszbuf

* fix capitalization typo: gOcarinaofTimeDesignTex -> gOcarinaOfTimeDesignTex

* fix typo: gLinkAdultEyesClosedfTex, gLinkChildEyesClosedfTex -> remove extra f

* fix typo: gCrstalSwitchRedTex, gCrstalSwitchBlueTex -> gCrystal

* fix PARAMS_GET_U amount of bits
2026-02-22 19:08:12 +01:00
Dragorn421 f2cb5ecb2f Assets system: format extracted actor params (and EnDoor params) (#2698)
* Assets system: format extracted actor params (and EnDoor params)

* and actor list too...

* and actor list required inclues too...

* ENDOOR_PARAMS_GENERAL, ENDOOR_PARAMS -> ENDOOR_PARAMS, ENDOOR_PARAMS_NODATA
2026-02-22 18:48:27 +01:00
mzxrules 8b30a77346 z_bg_haka_meganebg documentation pass (#2685)
* document z_bg_haka_meganebg

* Dragorn suggestions and @bug documentation

* i swear i was good at grammar as a child
2026-02-22 09:35:51 +01:00
Jordan Longstaff 6f9b62bd4a Child Ruto Actions Part 5: Speakable (#2619)
* Child Ruto Actions Part 5: Speakable

* Rename to "Speakable Jabu"
2026-02-22 05:21:41 +09:00
Gabriel Ravier 5ab42786f4 Document src/n64dd/n64dd_error_headers.c (#2667)
* Document src/n64dd/n64dd_error_headers.c

* Incorporate feedback from PR review.

(see also https://github.com/zeldaret/oot/pull/2667)

* Put translation of gN64DDLocalizedErrorNumberHeaders[0] in a line comment

(From feedback to https://github.com/zeldaret/oot/pull/2667)
2026-02-21 09:17:30 +01:00
Jordan Longstaff 155e957634 Child Ruto Actions Part 4: Sapphire platform (#2618)
* Child Ruto Actions Part 4: Sapphire platform

* One more function rename
2026-02-21 08:51:38 +01:00
Dragorn421 7e445cde73 EnBox params macros (#2696) 2026-02-20 09:23:49 +01:00
Gabriel Ravier 42242bdf88 Document sys_freeze.[ch] (#2666) 2026-02-18 12:36:07 +01:00
mzxrules b0a03cc1a4 bg_haka_megane documentation pass (#2684)
* document bg_haka_megane

* BGHAKAMEGANE_TYPE_MAX

* dragorn suggestion
2026-02-18 08:15:05 +01:00
mzxrules 1884569a98 bg_haka_trap documentation pass (#2683)
* document pass on bg_haka_trap

* formatting

* suggestions

* dragorn suggestions
2026-02-17 16:09:54 +01:00
mzxrules 3d4e8e32c3 z_bg_haka_zou documentation pass (#2687)
* document z_bg_haka_zou

* suggestions

* dragorn suggestions
2026-02-17 13:39:53 +01:00
Tharo a9a7045e0f sampleconv: Improve WAV SMPL chunk handling, properly handle odd chunk sizes (#2689)
* Read WAV SMPL chunks for note info when INST chunks are not available

* Populate the SMPL chunk on conversion to wav

* Properly handle unaligned (odd) WAV chunk sizes
2026-02-17 12:42:54 +01:00
Tharo 7326d556da Soundfont Compiler: Implement fine-tuning in the final tuning calculation (#2690) 2026-02-17 12:00:11 +01:00
mzxrules 95495d221f Document SysCfb_GetFbPtr bug (#2586)
* Document SysCfb_GetFbPtr bug

* cleaner comment

* fixes

* change wording again
2026-02-17 10:31:54 +01:00
Josh Moody 834b443bbb Document spin attack (#2694) 2026-02-17 00:09:47 +01:00
Tharo dbe1a80541 Commit and split gameplay_keep (#2612)
* Commit and split gameplay_keep

* Remove debugging bits

* format

* bss

* merge gameplay_keep_0x400 into link_textures

* Name some unused NTSC stuff

* Rename files for some of the newly named unused NTSC stuff

* name more gkeep files

* format

* spin_attack

* name fish anims files

* name some eff_ files

* name a bunch more files

* Add underscore in not-final names

* cleanup limb enum names (remove g prefix)

* split gameplay_keep_0x34020.c into gBugCrawlAnim.c + bug_skel.c

* door.h -> door_skel.h

* gArrowNAnim -> gArrowN_Anim

* split arrow_anims into gArrow1_Anim + gArrow2_Anim

* fix merge

* bss

* bss

* Fix bss

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2026-02-16 15:32:37 +01:00
Jordan Longstaff 014eca05fe Fix wrong BGM entry names (#2671) 2026-02-15 08:49:46 +01:00