* Changed `Color_RGBA8_u32` struct.
* Removed one color class and a replaced it with the correct one.
* Fixed the color issue in GfxPrint
Co-authored-by: DaMarkov <DaMarkovZED@gmail.com>
Added the array gItemIconsGray that holds all grayed out icons.
Added the array gItemIconsCurrent that points to either the original or grayed out icons.
Gray icons are generate at game start.
Co-authored-by: DaMarkov <DaMarkovZED@gmail,com>
* Changed solution file so that GLidenN64 is also included as a project.
Set GLidenN64 as dependency of OOT.
* Added preliminary support for frame buffer emulation (FBE).
Added a text box and code the switch FBE on/off during gameplay.
* Added back a few vi* files from libultra.
Part of the implementation has already moved to ultra_reimplementation.cpp.
* Disabled the post-processing step in PreRender_Calc() to restore the pause menu.
* Moved the enable frame buffer emulation to pc_main, so that it can be deactivated without recompiling GLidenN64.
This will also make the updated GLidenN64 (with FBE) compatible with the old OOT (FBE disabled).
* Renamed func_80095248().
* Moved code from io/vi*.c into ultra_reimplementation.cpp.
And other code cleanup.
* Further cleanup. (idle.c, viconfig.c)
* Removed viconfig.c.
Changed the vi*.c files in libulta/io to the state they are in OOT master.
* Removed function from ultra_reimplementation.cpp that are not necessary.
* Reverted idle.c back to the state it's in master.
Further cleanup.
Co-authored-by: DaMarkov <DaMarkovZED@gmail.com>
Co-authored-by: DaMarkov <damarkov@gmail.com>
* Fixed cucco lady. `objectOsAnimeIndex` is at least 16 bits large.
* Changed `objectOsAnimeIndex` to `s32` since its a bank id.
* Went through all instances of `Object_GetIndex` to find other bank IDs that are only of size `s8`.
Changed them all to `s32`. This has changed the sizes of a few structs.
Thanks to vertigo!
Co-authored-by: DaMarkov <damarkov@gmail.com>
Also renamed ACTOR_FLAG_5 to ACTOR_FLAG_UNCULLED.
Introduced the compiler flag NO_CULLING to disable culling.
This should ensure that all actors get rendered independent of the distance
to the camera.
* remove fake match
* merge master
* animations
* dog limbs
* textures
* KZ limbs and DL
* a few KZ textures and make a file for link_boy
* the rest of KZ
* Far Limb DLs
* near DLs and limbs
* small fix to child
* boots and some sword and more child clean ups
* a bunch of DLs
* fix boy
* fix link child for real this time
* adult should be good now
* progress
* all undefined symbols done
* progress
* done (for now)
* restore makefile
* child -> adult
* child -> adult
* dog fixes
* KZ fixes
* more player fixes
* remove unneeded enum in dog
* rename hookshot stuff
* Update z_player_lib.c
* revert model group stuff
* move comment
* fix mirror shield upper
* remove useless 2
* OOT -> Oot
* gauntlet plate 2 fix
* fix
Co-authored-by: Louis <louist103@pop-os.localdomain>
* Document `func_80033480` more
* More doc in `BgDdanKd`
* WIP Document BgDodoago
The dodongo skull light-eyes-with-bomb puzzle
Some TODOs, jank/legacy code which I'm unsure if it achieves something significant
* Finish documenting BgDodoago
* `BgDodoago_WaitExplosives_` -> `BgDodoago_WaitExplosives`
* Run formatter
* `dlistBuffer` -> `displayListHead`
* Add ACTOR_FLAG_ defines
* Add ACTOR_FLAGS_ALL macro and use ACTOR_FLAG_* constants everywhere
* Remove unused ACTOR_FLAG_* constants
* actor flags in bigokuta & ko
* actor flags in obj_mure
* actor flags in stalfos, twinrova & ganon2
* actor flags in morpha & barinade
* name some previously missed actor flags
* found some comments using hex for actor flags
* Actor flags in ovl_En_Ganon_Mant
* Actor flags in EnWf
* Flags in en_zf
* Actor flags in BossGanon (FeelsOKMan)
* Remove `ACTOR_FLAG_NONE`
* Wrap expansion of `FLAGS` in parentheses
* `ACTOR_FLAGS_ALL` -> `CHECK_FLAG_ALL`
* Move `CHECK_FLAG_ALL` to `macros.h`
* Run formatter
* data migrated and OK
* some functions ported
* everything ported and updated
* merge message
* plenty of functions matched
* remove unwanted file
* 5 more, progress on update
* update matched
* fix proto
* fix
* func_808E06FC
* asm
* 2 left
* 1 more
* last function inital decomp
* Dbg MQ OK
* docs progress
* revert limb stuff
* some more docs
* docs progress
* more docs
* done with docs for now i think
* revert unwanted change
* some symbols
* anime2
* format
* small changes
* some more changes
* merge master and fix matrices
* reviews 1 and 2
* remove continue
* review 3 and 4
* un-name bodyPartsPos for now
* Cleanup `UNK_TYPE`, `UNK_PTR` usage
* Add some missing empty lines after declarations
* Remove some legacy comments from non-matching times
* Fix some grammar (mostly "it's"/"its")
* Use proper names for two symbols after ZAPD bugfix
* Cleanup `place_title_cards.xml`
* Use `NULL` to check against `D_8012D260` pointer
* Parentheses around some macro arguments
* wip proofread headers up to z64animation.h
* Fix some disp usage in EffectSsGMagma2
* Fix some incorrect SAC flags
* Remove some instances where bool was used
* Fix a few line numbers to be decimal
* Remove MatrixInternal and use Mtx instead
* Fix gs flag names to be plural for consistency
* Fix some hex numbers to be uppercase
* Fix instances of 0X for hex numbers
* Moved code_800D2E30's data to C
* Moved some audio data from asm to C
* Made separate data files for unknown pointer arrays
* Fixed a few missing balign directives
* Initial progress on z_message_PAL, very messy
* Fix merge
* Some more progress
* Fix merge
* More z_message_PAL
* Small progress
* More small progress
* message_data_static files OK
* Prepare z_message_tables
* Matched another function, small updates
* Attempt to use asm-processor static-symbols branch
* Refactor text id declarations
* Begin large text codes parser function
* Fix merge
* Refactor done
* Build OK, add color and highscore names
* Remove encoded text headers and automatically encode during build
* Fix kanfont
* Various cleanups
* DISP macros
* Another match aside data
* Further progress
* Small improvements
* Deduplicate magic values for text control codes, small improvements
* Tiny progress
* Minor cleanups
* Clean up z_message_PAL comment
* Progress on large functions
* Further progress on large functions
* Changes to mkldscript to link .data in the .rodata section
* data OK
* Few improvements
* Use gDPLoadTextureBlock macros where appropriate
* rm z_message_tables, progress on large functions
* 2 more matches
* Improvements
* Small progress
* More progress on big function
* progress
* match func_80107980
* match Message_Update
* match func_8010BED8
* done
* Progress on remaining large functions
* Small progress on largest function
* Another match, extract text and move to assets, improve text build system
* Small nonmatchings improvements
* docs wip
* Largest function maybe equivalent
* Fix merge
* Document do_action values, largest function is almost instruction-matching
* Rename NAVI do_action to NONE, as that appears to be how that value is used in practice
* Fix merge
* one match
* Last function is instruction-matching
* Fix
* Improvements thanks to engineer124
* Stack matched thanks to petrie911, now just a/v/low t regalloc issues, some cleanup
* More variables labeled, use text state enum everywhere
* More labels and names
* Fix
* Actor_IsTalking -> Actor_TalkRequested
* Match func_8010C39C and remove unused asm
* More docs
* Mostly ocarina related docs
* All msgModes named
* Fix assetclean
* Cleanup
* Extraction fixes and headers
* Suggestions
* Review suggestions
* Change text extraction again, only extract if the headers do not already exist
* Fix
* Use ast for charmap, fix assetclean for real this time
* Review suggestions
* BGM ids and ran formatter
* Review comments
* rename include_readonly to include_data_with_rodata
* Remove leading 0s in number directives
* Review suggestions for message_data_static
* textbox pos enum comments, rename several enum names from Message to TextBox
Co-authored-by: Thar0 <maximilianc64@gmail.com>
Co-authored-by: Zelllll <56516451+Zelllll@users.noreply.github.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: Roman971 <romanlasnier@hotmail.com>
* Update names and doc of `Matrix_RotateRPY` and `SkinMatrix_SetRotateRPY` to ZYX Tait-Bryan angles
* Update name and doc of `Matrix_JointPosition` to `Matrix_TranslateRotateZYX`
* `Euler ***` -> `Tait-Bryan *** angles`
* Update docs of `SkinMatrix_Vec3fMtxFMultXYZW` and `SkinMatrix_Vec3fMtxFMultXYZ`
* Fix doc of `SkinMatrix_MtxFMtxFMult`
* Update docs of `SkinMatrix_Invert`
* Change name and docs of `SkinMatrix_SetRotateYRP` to `SkinMatrix_SetRotateYXZ`
* Change name and docs of `SkinMatrix_SetScaleRotateRPYTranslate` to `SkinMatrix_SetScaleRotateZYXTranslate`
* Change name and docs of `SkinMatrix_SetScaleRotateYRPTranslate` to `SkinMatrix_SetScaleRotateYXZTranslate`
* Change name and docs of `SkinMatrix_SetRotateRPYTranslate` to `SkinMatrix_SetRotateZYXTranslate`
* Add renamed functions to `namefixer.py`
* Run formatter
* Consistent function names (`ABC()` if equivalent to `A() B() C()`)
* matching split
* migrate progress
* split done and rodata migrated
* all data migrated to c
* start init
* progress
* progress
* progress
* progress
* progress
* progress
* copy done
* progress
* erase and settings done
* progress
* progress
* progress
* start keyboard
* progress
* progress
* progress
* progress
* Minor progress
* fix z_magic_dark issue
* func_80806F34 decomp'd
* verified equivalence
* one fix
* format
* merge petries work
* reorganizing
* lots of reorganizing and wraning fixing
* rename file
* remove language enum
* unwanted changes
* some symbol replacement, organization, and some names
* all symbols replaced, some organization
* some more cleanup
* continue docs
* Match the remaining functions in file_choose
* merge master
* select mode documented, all functions in file_choose.c named
* nameset functions named, some other cleaning
* some more general cleanup
* stub comments for cm, name a few things
* fix data and sizeof
* copy/erase functions and modes named
* rename assets, format
* change some struct members
* fixes
* review1
* fix maching error
* extract VTX data
* re add werror to ZAPD
* review 2
* fix
* remove file boundary padding
* remove zeroes
* review3
* change skybox stuff
* changes to vs etc
Co-authored-by: KrimtonZ <krimtonz@gmail.com>
Co-authored-by: Thar0 <17233964+Thar0@users.noreply.github.com>
Co-authored-by: mzxrules <mzxrules@gmail.com>
Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
Co-authored-by: Roman971 <romanlasnier@hotmail.com>
Co-authored-by: Louis <louist103@gmail.com>
* Import audio synth data, OK
* Cleanup data
* Merge data into 1 file
* naming
* format
* Fix data
* Separate audio_data into it's own file
* CleanUp, more PR suggestions
* Fix audio_effects.data.s
* Format audio_data
* rm asm, always gets me
* remove fake match
* u32 segment -> void* and add symbols to sEntranceCutsceneTable
* rename some symbols
* remove if1
* add the last missing symbol
* add symbols for almost all extrence textures
* finish adding the symbols
* Remove comment
* spelling fix
* Fig's and Dragorn's fixes
* add symbols to unkknown array
* format
* romans fixes
* Minor labelling
* progress
* play percentage -> delay
* duration -> gatetime
* more
* more
* more
* seqIdx -> playerIdx
* more
* more
* more
* more
* format
* fix comment
* filters
* more
* media
* confusion
* Sync load is actually slow load
* AudioHeap prefix
* more
* more
* reformat
* more
* more
* AudioLoad
* more
* more
* seq banks
* more consistent
* more
* name last function in audio_load
* More audio_synthesis
* clean up audio tables
* minor
* slow/fast load ramAddr
* format
* remove unused
* Remove union
* remove padding
* audio bank -> sound font
* seqLayer -> layer
* stuff
* seqChannel -> channel
* ChannelLayer -> Layer
* remove define, add bug comment
* format
* more
* cache enum
* more
* AudioSeq function prefix
* naming
* bankIdx -> bankId
* more
* format
* review
* more
* fixes
* avoid hardcoded sfxid's
* SE -> Sfx
Co-authored-by: zelda2774 <zelda2774@invalid>
* Import bgm Ids
* Small correction
* Fix kaleido
* Add defines for 0, 1, 0xFFFF. Fill in missing macros
* Improve names, move to bgm.h, add in macros to kankyo.c
* format
* Swap order of bgm macros and flags
* Document `z_moji.c`
* Run formatter
* Use `CHAR_HEIGHT` instead of `CHAR_WIDTH` for y pos
* `> X - 1` -> `>= X`
* `const char*` for string argument
* Type palettes and textures with `u64`
* Remove unused variable
* Use `CHAR_WIDTH` and `CHAR_HEIGHT` more
* Explicit documentation on `gMojiFontTex`
* Some renames
* Some renames
* Some more renames
* pageDown
* Last name update
* Translate scene entries
* formatter
* Review
* A bunch of suggestions
* Run formatter
* Roman's suggestions
* 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`
* a ton of progress, 14 functions remain
* cleanup
* a few more functions done, 11 remain
* finally all updated
* another function matched
* another action finished
* damage table
* death action done
* started very large action func
* more progress on long action funcs
* large action func matched
* 5 functions remain
* another large action finished
* start another action, doesn't match yet
* a few new functions, neither match
* done working on this for now
* Correct one nonmatching, fix compiler warnings
* Two functions left
* one left
* remove remaining gotos
* OK
* Delete outdated comment
* namefixer
* Flag macros
* audio, dmgeff, some colour
* Import symbols from object, reloc, name a few things
* Rest of object done
* Named a few more things, add action enum
* Name body parts and another couple of actions
* Last few names
* Delete asm
* Format
* undefined_syms, mods where possible
* Correct parent to EnEncount1
* Review
* Last newline
* louis and Dragorn's reviews
* Format
* More review
* Put back to isInvisible and or, as in EnGeldB
* Remove if (0)s in func_8009728C and change pointer arithmetic cast
* More review
* Unname headRot, make "fallthrough" case clearer, other review
* Format
* Even more review
* Rephrase
Co-authored-by: Zelllll <56516451+Zelllll@users.noreply.github.com>
* 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>
* Initial progress on Door_Warp1
* Fix merge
* More work on Door_Warp1
* Decompile most of Door_Warp1
* 2 more functions OK
* All decompiled, 3 nonmatching
* Tiny improvements, fix several warnings
* Remove commented GLOBAL_ASM lines
* Fix
* Fix merge
* Two more matches
* Some docs
* More docs
* Use generated reloc under NON_MATCHING
* Fix accesses in ru1
* Add break and add limbs and dlists for the skeleton to the object xml
* Comment values for enums
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
* boolean returns for flag checking functions
Co-authored-by: louist103 <35883445+louist103@users.noreply.github.com>
* Named more loop variables i and named DoorWarp1_FloatPlayer
* Last function matched thanks to Roman
* Some further suggestions
* Fix
Co-authored-by: Thar0 <maximilianc64@gmail.com>
Co-authored-by: Anghelo Carvajal <angheloalf95@gmail.com>
Co-authored-by: louist103 <35883445+louist103@users.noreply.github.com>
* Ydan_SP
* func_8002D7EC
* Gameplay_ChangeCameraStatus
* Graph_InitTHGA
* CollisioCheck_LineOC
* Fix more in camera and jpeg
* revert comment in player
* Fix includes using braces instead of quotes
* Remove some unused printf arguments
* Fix a condition in Door_Shutter
* Run the formatter
* Cleanup incorrect uses of DynaPolyMoveFlag as function arguments
* Cleanup combined Math_StepToF checks
* Match AudioDebug_ProcessInput_SEFlagSwap
* Data migration
* Migrate in-function statics for func_800EE824
* More data migration
* Migrate in-function static for func_800F510C
* Last bit of migration
* formatting
* naming fix
* Prune variables.h
Co-authored-by: zelda2774 <zelda2774@invalid>
* Match func_800DDB64
* Match func_800DC910
* remove stack comments
* Move nop padding to ucode_disas
* Partially label audio_synthesis
To some extent copied from sm64.
* cleanup
* Reverb and ReverbBits have nothing to do with reverbs
* review
* naming
* Undo changes to permuter_settings.toml
Co-authored-by: zelda2774 <zelda2774@invalid>
* Rename MtxF members like xy -> now_21
* Revert comments I didn't mean to commit
* Rename c*/r* temps in `SkinMatrix_MtxFMtxFMult`
* Rename MtxF members like now_21 -> yx
* Implement a single Object Table for the enum and the segments
* Implement a single Actor Table for the enum and the overlays
* Implement a single Effect SS Table for the enum and the overlays
* Remove initvars.h and move its content to relevant files
* Update object 0 to use OBJECT_NONE and document it in the table
* Rename OBJECT_NONE to OBJECT_INVALID to avoid confusion
* Match func_800EEA50
* Document some audio debug stuff
* more doc
* more doc
* formatting
* Fix enums, and some more bits of doc
* review
* LIM -> MAX
* missed review suggestion...
* more review
* ganon comments
* more review
* 🐍☠️
* more review
* Update functions.h
* quotes
* review
Co-authored-by: zelda2774 <zelda2774@invalid>
* Document EnGoroiwa and BgJyaGoroiwa
* Run format.sh
* Add renamed functions to actorfixer script
* no more calling out "the devs" for bad code
* `EnGoroiwa#flags` -> `stateFlags`
* `Matrix_MtxFToRotS` -> `Matrix_MtxFToYXZRotS` (and not ZXY oops), `func_800D2264` -> `Matrix_MtxFToZYXRotS`