Commit Graph

319 Commits

Author SHA1 Message Date
mzxrules 84e31c7aed Merge remote-tracking branch 'origin/main' into en_niw 2025-12-20 23:58:15 -05:00
Dragorn421 04a92708cf
Rename AT `effect` to `hitSpecialEffect` (#2637)
* Rename AT `effect` to `hitSpecialEffect`

* bss
2025-06-20 10:12:45 +02:00
Dragorn421 fd1ea6bc1a
Macroify PlaySfxGeneral calls: introduce `SFX_PLAY_CENTERED` and `SFX_PLAY_AT_POS` (#2633)
* Add `SFX_PLAY_CENTERED`

* Add `SFX_PLAY_AT_POS`
2025-06-15 18:28:37 -04:00
Dragorn421 d3d5898f17
Update docs/Documenting.md (#1265)
* Update docs/Documenting.md

* fix
2025-06-07 19:37:46 -04:00
mzxrules 4b6fcc9079 cucco doc pass 2025-06-05 15:50:05 -04:00
fig02 28cc9d68cf
Remove "z64" prefix from all headers (#2518)
* z64 - a

* z64 - b

* z64 - c

* z64 - d

* z64 - e

* z64 - f

* z64 - g

* z64 - h

* z64 - i

* z64 - l

* z64 - m

* z64 - o

* z64 - p

* z64 - q

* z64 - r

* z64 - s

* z64 - t

* z64 - v

* restore file

* fix merge

* fix merge

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2025-06-04 14:38:33 -04:00
Dragorn421 0c1b1231d3
T() macro loose ends 1 (#2563)
* more T() in debug_malloc.c graph.c z_actor.c malloc.c

* more T() in Zl2, Zl3

* T() diving_game, fire_rock

* T() girla

* more T() in heishi[124]

* T() in hs2, kakasi2, ru2

* format

* keaton

* Diving GO
2025-06-03 06:40:55 -04:00
Dragorn421 1e556e3a3d
New assets system (#2481)
* wip: New assets system tm

Builds gc-eu-mq-dbg OK from clean after
1) make setup
2) python3 -m tools.assets.extract -j
3) replace 0x80A8E610 with sShadowTex in extracted/gc-eu-mq-dbg/assets/overlays/ovl_En_Jsjutan/sShadowMaterialDL.inc.c
4) make various symbols in extracted data like sTex static

* use variables from config.yml for gMtxClear and sShadowTex addresses

* Write source with static for overlays using `HACK_IS_STATIC_ON` hack

* gc-eu-mq-dbg OK from clean with `make setup && make`

* implement more skeleton-related types, cleanups, fixups

* fix extracted data to no longer produce compilation warnings

* implement more of RoomShapeImage types

* yeet XmlPath from ExternalFile usage

* Implement PlayerAnimationDataResource (link_animetion data)

* fix csdis CS_TIME extra arg

* dmadata file names no longer hardcoded for gc-eu-mq-dbg

* ntsc-1.0 OK

* xml fixes

* slightly improve standard output

* rm extract_assets.py

* generate and use Limb enums (TODO: check Skin skels and implement for Curve skels)

* handle dependencies between xmls

* introduce RawPointers xml attribute to ignore specific pointers and keep them raw

* add tools/extract_assets.sh

* fixups

* only extract if xmls changed or if -f (force) is used

* fixups, gc-eu OK

* all versions OK

* check attributes of xml resources elements

* Implement legacy skelanime resources

* fix ASSET_FILES_BIN_EXTRACTED/COMMITTED: look for .u8.bin specifically instead of just .bin

* implement JFIFResource

* fix png/jpg wildcards: look specifically for .u64.png .u32.png .u64.jpg

* Makefile: Add rules to build .png, .bin and .jpg in assets/ too

* start writing actual docs

* extract sTransCircleDL and sTransWipeDL

* misc cleanup/fixes, pygfxd 1.0.3

* refactor CDataExt.set_write callback args to use a dataclass

* Move {} to in-source

* misc

* more progress on spec

* fix missing braces in n64dd_error_textures.c

* finish xml spec doc

* assets xmls fixes

* some cleanup, use `gNameTex_WIDTH/HEIGHT` macros in dlists

* handle hackmode_syotes_room, fix compile

* C build_from_png

* rm tools/assets/bin2c

* rm ZAPD

* format

* remove rule to generate dmadata_table.py

* CC0 license (and some import cleanup)

* dont try to build zapd (rmd)

* simplify palettes with single user (ci images with a non-shared palette)

* add docs on how images are handled

* bss

* allow -j N

* fix n64texconv python bindings memory management

* move -j at the end of calling extraction script

* with -j, update last_extracts.json as each job completes rather than only if all complete

* make interrupting less jank by making child processes ignore sigint

* use enum names in `SCENE_CMD_SKYBOX_SETTINGS`

* `multiprocessing.get_context("fork")`

* import rich, except ImportError s

* fix optional rich usage

* .bss

* .bss

* .bss

* assets extraction: -j -> -j$(N_THREADS)

* .bss

* change LIMB_NONE/MAX defaults to be FILE_OFFSET instead of SKELNAME

* 0XHEX -> 0xHEX

* fix bss

* Proper includes for assets

mostly proper, some includes like dlists resources always causing a sys_matrix.h include (when not every dlist references gIdentityMtx) could be done better

* rm z64.h

* rm z64.h take two

* bss

* Make .u64 suffix for pngs optional

* fixup: rm .u64 suffix from n64dd image paths

* Remove elemtype suffixes from .bin and .jpg files

* Update images.md

* some build_from_png cleanup, more error handling, comments

* Handle skybox textures

Introduce "sub-format" suffix for pngs, with sub-formats split_lo and split_hi being used for skybox textures

* fixup for older python

* improve collision output some

* fully use SURFACETYPE[01] macros in writing extracted surface types

* use WATERBOX_PROPERTIES in extracted waterboxes

* some SceneCommandsResource cleanup

* format EnvLightSettingsList output
2025-05-18 01:29:09 +02:00
fig02 f7a270655b
Delete macros.h; Delete global.h (#2516) 2025-04-27 12:48:11 -04:00
fig02 ea22c2ac38
create ACTOR_FLAGS_CHECK_ALL (#2515) 2025-04-26 19:07:52 -04:00
fig02 bed76a3bf3
add array_count.h (#2514) 2025-04-26 18:17:02 -04:00
fig02 2341c44a6c
Use official macros for Physical Address conversion (#2511) 2025-04-24 14:53:18 -04:00
fig02 de59ad3db7
macros.h 1/?: `PRINTF` and `T` (#2509)
* create printf and translation headers

* non-overlays complete

* printf finished

* move T macro

* edit comment

* fix error

* fix bss

* remove is_64

* fix bss
2025-04-23 19:31:49 -04:00
fig02 2278bcb2c3
Remove Variables.h; Decouple z64.h from global.h (#2507)
* progress

* z64.h issues sorted

* remove variables.h

* format

* n64 fix

* another fix

* did the wrong fix

* fix libleo

* fix bss

* review

* remove instead of comment
2025-04-19 22:04:08 -04:00
mzxrules cf1a39c26f
Reduce dependencies on global.h (10) (#2490)
* reduce z64.h size

* fix z_cheap_proc.inc.c

* ,bss

* remove temp delcaration
2025-02-26 17:18:30 -05:00
mzxrules 2e4c42719b
Reduce dependencies on global.h (9) (#2488)
* split game states

* split all GameState headers

* match fig names

* deduplicate headers from bad merge

* split z64actor.h into z64actor_profile.h, z_actor_dlftbls.h

* fix compile error

* .bss
2025-02-24 20:55:55 -05:00
fig02 5ddb3e68b6
Clean out z64.h (#2484)
* Clean out z64.h

* fix version include

* overlay.h

* pr suggestion

* try fixing main.c

* add back forward declare

* fix bss

* header guard

* prefix
2025-02-22 14:01:09 -05:00
mzxrules 652478c338
Reduce overlay dependencies on global.h (7) (#2472)
* z64env_flags, z64quest_hint_commands

* z64cutscene_spline, z64save.h moved from z64.h

* bss

* pr suggestion

* bss

* suggestions
2025-02-16 15:33:55 -05:00
mzxrules 4639914583
Reduce overlay dependencies on global.h (6) (#2468)
* add some headers, split some of z64.h

* MtxClear -> IdentityMtx

* more misc cleanups

* move D_80116280 to header, fix build issue

* remove z64.h

* Revert "MtxClear -> IdentityMtx"

This reverts commit 8fc74c0672.

* split z64path.h and z64skin.h functions

* z64face_reaction.h

* cleanup overlay global references

* trim padding

* bss
2025-02-13 18:15:14 -05:00
fig02 96e13149ea
Name Actor_DrawAll (#2464) 2025-02-11 17:33:09 -05:00
mzxrules 03a2612246
Rename gMtx(F)Clear to gIdentityMtx(F) (#2458) 2025-02-08 19:00:32 -05:00
Tharo c028db03b4
Finish matching ique-cn (#2451)
* git subrepo clone git@github.com:Thar0/com-plugin.git tools/com-plugin

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

* ique-cn OK

* Review suggestions

* Most suggestions

* git subrepo pull tools/com-plugin

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

* Fix other versions
2025-02-04 06:55:04 -05:00
cadmic 11b7bf2914
Write about IDO and EGCS in compilers.md (#2432)
* Write about IDO and EGCS in compilers.md

* Fix typo

* Fix another typo

* Apply suggestions from code review

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

---------

Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2025-01-20 16:15:13 -05:00
cadmic 284ecb114e
[iQue] Match z_actor (#2431)
* [iQue] Match z_actor

* Reword comment
2025-01-19 22:29:35 -05:00
cadmic bdc6b50153
[iQue] Define EGCS macro instead of relying on `__GNUC__` (#2423)
* [iQue] Define EGCS macro instead of relying on __GNUC__

* Revert longlong.h
2025-01-13 08:32:25 -05:00
cadmic f329507f97
[iQue] Create/update macros for printing debug strings (#2398) 2025-01-08 10:33:49 -05:00
cadmic 9dafc2f2e4
[iQue] Build some C files with EGCS (#2396) 2025-01-02 03:35:22 -05:00
mzxrules 1adf696588
Document z_horse.c and related actors (#2278)
* document z_horse.h

* .bss

* suggestions and more comments

* bss

* INGORACE -> INGO_RACE

* format header macros

* FIx incorrect type comparision

* EnInMode -> EnInStartMode

* R_EXITED_SCENE_RIDING_HORSE
2024-12-17 10:51:56 -05:00
Leonid Kapitonov 0f27d2fea3
document `func_8002F368` (#2358) 2024-12-14 14:59:22 -05:00
fig02 016aef482b
Document Culling (#2318)
* document culling

* format

* depth -> distance

* format

* var name

* new graph link

* rephrase actor flags

* tharo's comments + some more tweaks

* is this causing the problem?

* change wording

* cant scope the temp

* format

* dragorn review

* bad merge

* player -> camera in descriptions

* more its

* cadmic review

* goddamn it why do i have that habit

* projected
2024-12-13 08:12:52 -05:00
Jordan Longstaff c21c3fe3da
Renamed EVENTCHKINF_33 (#2326)
* Renamed EVENTCHKINF_33

* Rename: Gave letter to King Zora
2024-12-09 23:53:41 -05:00
Leonid Kapitonov 9305a71458
Document Mido functions, fields, and animations (#2289)
* Document `func_80AAA250`

new name: `EnMd_ReverseAnimation`

* rename `enum EnMdAnimation` > `enum EnMdAnimIndex`

* Document `struct EnMd` fields (and functions)

the list:

* `func_80AAAC78` -> `EnMd_TrackMessageState`
* `func_80AAAA24` -> `EnMd_UpdateAnimState_WithTalking`

* `func_80AAA92C` -> `EnMd_SetAnimState`
* `func_80AAA93C` -> `EnMd_UpdateAnimState`
* `func_80AAA274` -> `EnMd_UpdateAnimState1`
* `func_80AAA308` -> `EnMd_UpdateAnimState2`
* `func_80AAA39C` -> `EnMd_UpdateAnimState3`
* `func_80AAA474` -> `EnMd_UpdateAnimState4`
* `func_80AAA508` -> `EnMd_UpdateAnimState5`
* `func_80AAA5A4` -> `EnMd_UpdateAnimState6`
* `func_80AAA638` -> `EnMd_UpdateAnimState7`
* `func_80AAA6D4` -> `EnMd_UpdateAnimState8`
* `func_80AAA768` -> `EnMd_UpdateAnimState9`
* `func_80AAA7FC` -> `EnMd_UpdateAnimState10`
* `func_80AAA890` -> `EnMd_UpdateAnimState11`

* Document `func_80AAB158`

new name: `EnMd_UpdateTalking`

* Document `func_80034DD4` @ `z_actor.c`

new name: `Actor_SmoothStep_Attention`

* Document `func_80AAB5A4`

new name: `EnMd_SmoothStep_Attention`

* Document Mido's action functions

the list:
* `func_80AAB874` -> `EnMd_Idle`
* `func_80AAB8F8` -> `EnMd_Watch`
* `func_80AAB948` -> `EnMd_BlockPath`
* `func_80AABC10` -> `EnMd_ListenToOcarina`
* `func_80AABD0C` -> `EnMd_Walk`

* rename flag `temp2` -> `canUpdateTalking`

* (re)document Mido's animations

via blender and fast64

* marginally improve comments

* marginally improve comments

* actually, yes, let's name action functions as such

* Document eye textures as an enum

to clarify for `EnMd_UpdateEyes`

* rename `eyeIdx` -> `eyeTexIndex`

Mido has two eyes and different textures for them

* Undocument eye textures as an enum

i was wrong: `_Draw` function might not follow the eyes texture order
it is its own thing, like `enum EnMdBlinking` or nothing at all, yeah

* ugh, and fix a typo with blinking

rushing is no good

* drop the `Action` suffix

https://github.com/zeldaret/oot/pull/2289#discussion_r1837272286

* rename animation states as sequences

https://github.com/zeldaret/oot/pull/2289#discussion_r1837274923

* `func_80034DD4` -> `Actor_FadeInOut`

https://github.com/zeldaret/oot/pull/2289#discussion_r1837267267

* rename animation states as sequences

a continuation of b11a9e9942

* `func_80034DD4` -> `Actor_UpdateAlphaByDistance`

https://github.com/zeldaret/oot/pull/2289#discussion_r1838398475

* clarify a comment

* Document `actor.params` bits allocation

* apply review suggestions

* apply review suggestions

* apply review suggestions

* apply review suggestions

* apply review suggestions
2024-12-09 08:06:05 -05:00
fig02 bda5e94ded
Document Player Params (#2307)
* document player params

* better bgcamindex comment

* cant use -1 for condition

* fix match

* define for default bgcam

* doesnt work

* matches

* better comment
2024-12-08 14:56:01 -05:00
Jordan Longstaff 6735eb25d6
Rename EVENTCHKINF_02 (#2322)
* Rename EVENTCHKINF_02

* Rename to EVENTCHKINF_MIDO_DENIED_DEKU_TREE_ACCESS
2024-12-07 17:01:21 -05:00
Tharo 3f703a39d9
Fix some more GCC warnings, mark some bugs based on GCC warnings (#2309)
* Fix some more GCC warnings, mark some bugs based on GCC warnings

* Weird formatting

* Suggested changes

* More weird indentation I guess

* UNREACHABLE() macro, add missing NORETURNs to fault_n64.c

* AVOID_UB for PAL path in z_file_nameset.c

* Remove comments about return types

* Remove temp no longer needed
2024-12-02 04:40:49 -05:00
Leonid Kapitonov 53962a2cd8
Document Actor "Fidget Tables" (#2287)
* Document `func_80034F54` and related data

new name: `UpdateLimbOverrides`
reason:
- `0x814` and `0x940` constants
- `*_OverrideLimbDraw` functions

additionally:
- move constants into `z64animation.h`
- use these constant for existing formulas
- properly name corresponding actors' fields
- add occasional explicit limbs limit constants

* port over the MM "fidget" naming

* remove redundant comments
* move and rename `FIDGET_*` constants
* introduce a `FIDGET_SCALE` constant, as no other value is applied

* remove generally unrelated changes

* apply PR suggestion

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

* fix (?) fidgetTable size

following the https://github.com/zeldaret/oot/pull/2287#discussion_r1832371833 suggestion

* remove an unused `struct EnMu` field @ `0x024A`

a continuation to the 211263295c
automatic padding commpensates its absence

* remove MM mention as "it would get unruly fast"

https://github.com/zeldaret/oot/pull/2287#discussion_r1833470468

* rename `overridePerLimb` -> `fidgetFrequency`

https://github.com/zeldaret/oot/pull/2287#discussion_r1837211873

* give better names to the constants

https://github.com/zeldaret/oot/pull/2287#discussion_r1837211873

* remove unnecesasry braces from a comment

https://github.com/zeldaret/oot/pull/2287#discussion_r1842642196

* make the comment multiline "officially"

* restore `limbIndex` naming for this PR

43afb7b7cb (r1842644602)

* apply a PR suggestion

https://github.com/zeldaret/oot/pull/2287#discussion_r1842787653

---------

Co-authored-by: mzxrules <mzxrules@gmail.com>
2024-11-27 13:50:44 -05:00
fig02 6239f8e0b3
Document Hookshot Attachment (#2300)
* document hookshot attachment

* change comment

* swap hookshot function comment

* remove comments
2024-11-21 19:46:49 -05:00
fig02 17edb82c0d
Decouple Debug Features From gc-eu-mq-dbg (#2296)
* rename OOT_DEBUG to DEBUG_FEATURES

* makefile changes

* add DEBUG_ASSETS

* fix DEBUG_FEATURES usages

* format

* fix errors

* review

* fix problem and review2

* review

* add DEBUG_FEATURES to DEBUG_ASSETS check

* review

* whoops

* format
2024-11-17 17:02:07 -05:00
cadmic 8ce69c3ac9
Completely match ntsc-1.0/1.1 bss and add to CI (#2294) 2024-11-12 17:39:08 -05:00
fig02 f4210323a2
Document `ACTOR_FLAG_SFX_FOR_PLAYER_BODY_HIT` (#2276)
* name ACTOR_FLAG_HIT_PLAYER_THUMP_SFX

* ACTOR_FLAG_HIT_PLAYER_THUMP_SFX -> ACTOR_FLAG_SFX_FOR_PLAYER_BODY_HIT
2024-10-20 22:29:50 -04:00
fig02 e55e909477
Document `ACTOR_FLAG_UPDATE_DURING_OCARINA` and `PLAYER_STATE2_USING_OCARINA` (#2277)
* Document ACTOR_FLAG_UPDATE_DURING_OCARINA

* document PLAYER_STATE2_USING_OCARINA

* format

* comment tweak

* treat var as flag
2024-10-17 21:44:35 -04:00
mzxrules 2f54db142e
Rename RoomBehaviorType1 to RoomType (#2271)
* Rename RoomBehaviorType1 to RoomType

* suggestions

* Update include/z64scene.h

---------

Co-authored-by: fig02 <fig02srl@gmail.com>
2024-10-14 15:23:50 -04:00
fig02 53c57599a4
Name talking action related things (#2260)
* name talking related things

* Player_Action_TalkExchangeItem -> Player_Action_ExchangeItem

* splitting action stuff to new PR

* format
2024-10-10 22:04:30 -04:00
Dragorn421 ba9c60552b
Player doc: some rotation logic/data (#1443)
* Docs: some player rotation logic/data

* Improve misleading comment

* rename temps

* unk_6AE_rotFlags

* format

* disasm metadata
2024-10-09 20:22:52 -04:00
cadmic bdc11c2894
[ntsc-1.0/1.1] Match "game engine" files (#2244)
* [ntsc-1.0/1.1] Match "game engine" files

* Use R_START_BTN_X/R_START_BTN_Y

* Comment obvious bugs

* Move Magic_Fill comments

* Move EVENTINF_HORSES_INDEX printf inside #if

* Replace "this function"
2024-09-30 15:52:38 -04:00
cadmic f7f38ff874
[PAL N64] Completely match pal-1.0 and pal-1.1 and add to CI (#2246)
* [PAL N64] Match pal-1.0 and pal-1.1 and add to CI

* bss fixes from Jenkins
2024-09-28 20:52:45 -04:00
fig02 3cea46a6c1
Z-Targeting Loose Ends (#2217)
* Z-Targeting loose ends

* format

* add stateflag comment

* typo

* unname PLAYER_STATE1_19 for now

* tweak parallel comment

* one more tweak
2024-09-24 05:00:38 -04:00
mzxrules 56981d5297
Document Player Knockback related functions (#1601)
* document knockback related functions

* rotation -> yRot

* implement some changes

* Renames and comments

* mq bss

* format

* Intangibility and Invulnerability

* bss

* .bss

* add #pragma increment_block_number to z_en_item00.c

* .bss
2024-09-23 18:31:00 -04:00
fig02 fcd5745d40
PLAYER_STATE1_ACTOR_CARRY -> PLAYER_STATE1_CARRYING_ACTOR (#2213) 2024-09-21 18:25:19 -04:00
fig02 cc0b1bb127
`PLAYER_STATE1_DEAD` (#2204)
* PLAYER_STATE1_DEAD

* change comment

* format
2024-09-17 08:21:47 -04:00