Commit Graph

47 Commits

Author SHA1 Message Date
Dragorn421 32c8e23e42
bss 2025-06-12 14:55:09 +02: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 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 bed76a3bf3
add array_count.h (#2514) 2025-04-26 18:17:02 -04:00
fig02 25b2fa4bca
macros.h 3/5: Split various macros (#2512)
* split out various macros

* fix

* fix2

* fix dw

* libc path

* fix macro

* does this fix bss

* fix bss
2025-04-25 21:12:35 -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
fig02 655ec77138
variables.h: migrate all remaining varaibles, remove other dependencies except z64.h (#2505)
* move remaining variables from variables.h

* fix other dependencies

* extra newline

* fix and adjust comment

* is this the problem

* fix bss
2025-04-16 08:22:42 -04:00
fig02 0c5282ba66
variables.h cleaning: migrate audio variables (#2504)
* migrate audio variables, fix libultra thing

* remove extra newlines

* fix

* add required pragmas

* fix bss

* audio table fixes

* fix bss
2025-04-11 02:10:19 -04:00
fig02 5133db15a3
Remove functions.h (#2501)
* split most of functions.h

* osdriverominit

* forgot include

* fix

* remove functions.h

* temporary fix for fix_bss

* fix bss

* revert fix_bss.py change
2025-04-05 19:16:52 -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
fig02 2e4d7a1101
Create headers for Game States (#2482)
* make headers for gamestates

* fixes

* fixes 2

* bss
2025-02-20 07:50:13 -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
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 06904e1ee7
[iQue] Match z_message (#2435)
* [iQue] z_message: work around EGCS bug

* [iQue] z_message: finish matching

* Yabusame -> Horseback archery

* Add missing PRINTF parameter

* Collapse for loops

* Better-looking macros

* gold stars -> gold skulls
2025-01-21 21:16:39 -05:00
Tharo b19b06a531
[iQue] Match remaining libultra/os files (#2414)
* Match remaining libultra/os files

* Align box id macros

* Fix bss, format

* Fix BSS

* Clarify some comments

* More bug comment

* Comment

* Fix BSS
2025-01-10 18:54:02 -05:00
cadmic f329507f97
[iQue] Create/update macros for printing debug strings (#2398) 2025-01-08 10:33:49 -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
cadmic 8056312c39
Remove ‾ character from source files (#2371) 2024-12-15 12:22:45 -05:00
Tharo df5d4cb467
[Audio 10/10] Loose ends (#2337)
* Introduce afile_sizes, generate headers of sizes for soundfonts and sequences

* Initial tools/audio README

* Versioning for samplebank extraction

* Clean up the disassemble_sequence.py runnable interface

* Add static assertions for maximum bank sizes

* Boost optimization for audio tools

* Samplebank XML doc

* Soundfont XML doc

* More docs in sampleconv for vadpcm

* Various tools fixes/cleanup

* VADPCM doc

* Try to fix md formatting

* VADPCM doc can come later

* Fix merge with PR 9

* Fix blobs from MM

* Try to fix bss

* Try fix bss round 2

* Fix sampleconv memset bug

* Suggested documentation tweaks
2024-12-13 19:26:36 -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 cf4dc98cc9
Use debug macros even in N64-only code (#2298)
* Use debug macros even in N64-only code

* Use UNK_FILE/UNK_LINE instead
2024-11-15 13:18:05 -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
Dragorn421 869bae3429
Pause doc: misc, fixups (#2265)
* use missed reg macros

* do action indexing cleanup

* misc

* doc fixup ish in KaleidoScope_SetPageVertices

* newline_police

* `43` -> `(PAGE_BG_QUADS + WORLD_MAP_QUAD_28)`
2024-10-09 22:09:58 -04:00
cadmic 089a2c4c0b
Add missing HS_FISHING constant (#2256)
* Add missing HS_FISHING constant

* It's actually doubly-bugged lol

* Format
2024-10-03 22:50:06 -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
fig02 80ed596c56
Name Talking Related Actor Flags (#2230)
* document talking related actor flags

* tweak comment

* review

* tweak

* accept -> accepted

* add more clarification
2024-09-30 06:24:43 -04:00
cadmic 0acaed6d17
[PAL N64] Match z_message.c (#2202) 2024-09-25 17:41:08 -04:00
cadmic f089adf20c
[ntsc-1.2] Match ntsc-1.2 BSS and add to CI (#2187)
* Match ntsc-1.2

* Add ntsc-1.2 to CI

* Apply fixes from Jenkins

* Promote ntsc-1.2 to "supported" in Makefile

* Declare D_80858AD8 as a u64 array

* Tweak wording

* Hopefully make ntsc-1.2 bss more stable

* Restore segmented_address.h include
2024-09-12 14:10:43 -04:00
cadmic 96914a25c8
Match more GC button colors (#2156) 2024-09-07 19:26:56 +02:00
Dragorn421 02816c410c
T() macro 8 (#2142)
* T() macro in fault

* T() macro in game.c, gfxprint.c

* T() macro in ucode_disas.c

* T() macro in z_actor.c

* T() macro in z_message.c

* push fault key combo T()

* z_message T: koko -> "here"

* format
2024-09-06 22:00:12 -04:00
cadmic 53b2110373
Clean up uses of !PLATFORM_N64 vs PLATFORM_GC (#2134)
* Clean up uses of !PLATFORM_N64 vs PLATFORM_GC

* Put N64 button colors first
2024-09-06 11:18:59 +02:00
mzxrules acb5c7f20c
Update Room Documentation (#2015)
* Update Room Documentation

* Write more complete documentation, implement suggestions.

* Function name changes; minor comment tweaks

* nit

* Resolve Dragorn fixes

* Resolve Fig suggestions, fix comment wording

* fix bss, fig suggestion

* bss
2024-09-05 21:08:21 +09:00
Dragorn421 c7b55f9a07
Fix merge issue between z_message.c match and n64dd renames (#2131) 2024-09-04 16:48:10 -04:00
Dragorn421 376f9852d0
[ntsc-1.2] Match z_message.c (#2098)
* match Message_ResetOcarinaNoteState, Message_DrawTextChar

* match Message_OpenText

* Match Message_SetTables

* Match Message_StartTextbox

* forgor #if

* format

* match Message_DrawMain (ty inspect)

* review
2024-09-05 04:03:58 +09:00
Dragorn421 68818044db
[ntsc-1.2] Decompile fault.c (#2046)
* wip decomp ntsc-1.2 fault.c

* more ntsc-1.2 fault.c

* decompiled fault_v1.c

* name fault_v1 functions, wip

* try to clean up build system (two versions of the fault system coexisting)

* cleanup

* cleanup2

* fix build gc-eu-mq-dbg

* match 2 more, ty anon

* matched

* review

* more review

* fixup spec

* `(uintptr_t)ptr op int` instead of `ptr op (type*)int`

* move fault.h out of global headers, properly include fault.h and versions.h

* compile all fault_*.c files regardless of version by overriding FAULT_VERSION

* n64 FaultMgr.framebuffer s32 -> u16*

* FaultMgr.framebuffer -> FaultMgr.fb

* make gc FaultMgr.fb u16* (yes, thats everything)

* bss

* fix Fault_Printf return type

* noop FaultDrawer_SetFontColor, FaultDrawer_SetCharPad in fault_n64

* fault_color_ stuff is only for fault_gc

* rm empty line in makefile

* I guess `D_80105A90_unknown` is `[sg]TotalAllocFailures`

* bss

* `Fault_WaitInput` -> `Fault_WaitForInput`

* use named fault funcs in pointers array

* FAULT_OOT{N64,GC} -> FAULT_{N64,GC}

* Apply suggestions from code review

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>

* review, sync fault_{gc,n64}

* Apply `FPCSR_CE` suggestions from code review

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>

---------

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
2024-08-28 09:38:42 +02:00
cadmic 3795574878
Add all N64 version defines (#2095)
* Add all N64 ROMs to versions.h

* Remove OOT_ prefix from version defines

* Make it pretty
2024-08-26 11:43:59 -04:00
Dragorn421 ac2224f095
Add versions.h (#2060) 2024-08-20 17:19:16 -04:00
cadmic d191e8714e
Allow building the Debug ROM without debug features (#2052)
* Allow building the Debug ROM without debug features

* Fix bss

* Add comment

* Reword again

* Fix bss
2024-08-19 23:58:31 +02:00
cadmic 9eec8af498
Add "do {} while (0);" to CLOSE_DISPS (#2025) 2024-08-10 18:48:27 -04:00
cadmic d495436190
Match remaining GC retail versions (#2019)
* Match the remaining GC retail versions

* Fix BSS ordering for existing versions

* Disable clang-format for #pragma increment_block_number

* sramResetCode -> sSramResetCode

* Replace 0xFF3F with or-ing all buttons together

* Revert "Disable clang-format for #pragma increment_block_number"

This reverts commit 406b6d26c9.

---------

Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com>
2024-08-09 20:58:46 -04:00
cadmic 47fd023238
Match NTSC z_kanfont.c and z_message.c (#1997)
* Match NTSC z_kanfont.c and z_message.c

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

* Apply suggestions from code review

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

* Remove now-unnecessary padding

* Remove msgBufDecoded comment

* Use == NULL for fake match

* Rename Message_DrawText{JPN,NES} -> Message_DrawText[Wide]

* Font_LoadKanji -> Font_LoadCharWide

* Restore FONT_MESSAGE_OFFSET/FONT_MESSAGE_LENGTH

---------

Co-authored-by: inspectredc <inspectredc@gmail.com>
Co-authored-by: Tharo <17233964+Thar0@users.noreply.github.com>
2024-07-21 21:50:20 -04:00
cadmic 4fbb48177f
Create FILENAME_ macros for NTSC filename encoding (#1986)
* Create FILENAME_ macros for NTSC filename encoding

* Add defines/comments for all filename characters

* FILENAME_EXCLAMATION_POINT -> FILENAME_EXCLAMATION_MARK to match kanji file

* hirigana -> hiragana
2024-07-17 18:36:17 -04:00
cadmic bf3339a16d
Set up build system and disassembly for gc-us (#1982)
* Build gc-us

* Set up gc-us disassembly

* Don't disasm unchanged overlays

* Fix gc-eu-mq BSS

* romalign link_animetion for NTSC

* Explicitly set CPP defines to 0/1

* Add #ifs to segment_symbols.h

* Add sButtonTextures now

* Fix message _SHIFTL usage

* Don't ifdef LANGUAGE_MAX
2024-07-06 21:38:31 +02:00