| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
The resolved replacement id (which can exceed 255) rode a single
per-player seqToPlay slot, written at enqueue but consumed
asynchronously on the audio thread; back-to-back starts and
priority-queue promotions clobbered it. sSeqFlags[0x6F] was also indexed
by raw id, reading out of bounds past the authentic range.
- func_800F9280 resolves the replacement and packs the full 16-bit id
into the 0x82/0x85 play command; the handler reads opArgs & 0xFFFF.
Audio_QueueSeqCmd no longer pre-writes the shared slot.
- SyncInitSeqPlayerInternal uses the command-carried id and bounds-checks
it against the calloc'd sequence map (+0xF headroom for reserved-range
skips).
- Route sSeqFlags reads through a bounded Audio_GetSeqFlags helper.
- Warn and skip gracefully past the 16-bit id limit.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
|
Helps frustration trying to read hints faster without skipping
|
|
|
|
Spawn/despawn Ivan immediately (not on next scene)
Move Ivan’s boomerang code out of z_player.c
|
|
|
|
pointed out by Evangelia, cause of discrepancy in crawlspace glitch
* [Console](https://www.youtube.com/watch?v=2_tFHeEvXI0)
* [SoH](https://www.youtube.com/watch?v=-u3TzbdUr3c)
|
|
|
|
|
|
|
|
Don't apply transforms when scale 1.0, adjust translation to be gradual
|
|
is not obtainable (#6556)
Item_CheckObtainability should only be called with MOD_NONE GI
For RG_DOUBLE_DEFENSE that became ITEM_FISH. Nonsense ensued
To reproduce issue, create debug save & go straight to OGC great fairy with only magic/ocarina/lullaby
|
|
|
|
|
|
|
|
|
|
Add explicit alt prefix checking to animation loading
Makes ResourceMgr_LoadAnimByName alt-toggleable this will work for Link and any other animations files
|
|
merge develop-ackbar 9.2.1 to develop
|
|
Before I had the change back to the placeholder actor id the Dummy
Player actors were spawned with, but since we grabbed the actorDB
entry before Actor_Destroy was called it didn't matter. Move it
and the requisite log statement to after Actor_Destroy.
|
|
|
|
|
|
Icon size for other players reduced by 25%
|
|
Move stuff to main file, delete header & refactor lists
|
|
The sampleDataStartPad and aligned variables existed solely to satisfy
the N64 RSP DMA requirement that source addresses be 16-byte aligned.
On PC, aLoadBuffer is a plain memcpy with no such constraint.
The alignment dance caused aLoadBuffer to read up to 15 bytes before
sampleData and up to 8+ bytes past the end of the sample buffer. On
platforms with strict allocator guard pages (e.g. OpenBSD), this
triggers a SIGSEGV.
A second issue remains after removing the alignment dance: nFramesToDecode
is derived from sample counts (loopEnd), but size is not always a multiple
of frameSize. loopEnd and size are derived independently during encoding
and can disagree on the final partial frame, leaving nFramesToDecode *
frameSize exceeding the remaining bytes in the buffer.
Remove sampleDataStartPad and aligned entirely. Clamp the load to
min(nFramesToDecode * frameSize, audioFontSample->size - sampleDataOffset).
The ADPCM decoder operates on DMEM, so a partial last frame in DMEM
produces at most a negligible artifact at sound termination.
|
|
|
|
background image (#6379)
Hookify bgimage load cam check and add it to entrance rando
|
|
|
|
Also fix tracker to show golden gauntlets while wearing glitched gauntlets,
& don't crash save editor
|
|
Change Actor_SpawnEntry to use VB
Move adult zelda collapse stalfos to a explicit hook
Move dark link to a explicit hook
Some more canRandomize that were not needed
Move bg_haka & bg_haka_tubo to explicit hooks
Move en_vali to an explicit hook
Move bg_mori_bigst to an explicit hook
Fix door opening before the enemies are killed
Remove `canRandomize` parameter
Move bg_haka_huta to explicit hooks
|
|
|
|
|
|
This fix is a bit blunt, but in the absence of a better idea it exists
|
|
|
|
|
|
|
|
|
|
* Enable missing music entries in audio editor
* Fix mislabeled tracks "Ocarina of Time" and "Seal of Six Sages" (mirrored in decomp)
|
|
regression from ganon's tower shuffle
|
|
|
|
|
|
fix goron messages in rando
also always include "IS_RANDO" in rando shipinit dependencies
don't use rando RNG, trying std::array
avoid sprintf, std::array not necessary
fix random rupee name crash
roll random traps: don't reuse rando rng
fix better bombchu typo
|
|
Allows the rebinding for Resetting the game, Debug Map Select, and Debug No-Clip.
Also allows for Speed Modifiers to use the new button combos, instead of only the modifier buttons.
|
|
Future improvements can build on this,
giving masks abilities,
or adding checks for trading mask to someone
|
|
Make Link focus on Goron Pot instead
|
|
Defines the hook for OnTextLoad. Intercepts message loading with hooks. Adds file to handle the CustomMessage creation for items.
Handles Ice Traps, Triforce Pieces, and Custom Items. Handle maps, compasses, and keys
Converts gossip stone hints to hook. Handle one-off merchant messages. Convert scrubs and shop text and remove now-unused code
Convert Sheik and Ganondorf hint text. Convert skulltula people messages. Convert more static hints
Specifically Dampe, Greg, Warp Songs, Frogs, Loach, Fishing Pole, and Saria
Convert Biggoron Hint. Convert Big Poes hint. Convert Anju hint dialogue. Convert Malon hint. Convert Horseback Archery hints. Convert Mask Shop SIgn hint
Convert Lake Hylia Switch related text. Convert Shooting Gallery bow reminder message
Convert random rupee names. Convert Rando-Relevant Navi Enhancement. Convert Random Goron messages
Convert Injecting Skull token counts. Add in a way to AutoFormat with an item icon.. Fix some errors with skull tokens and apply icon
Convert heart container item counts. Convert Inject Item Count for Heart Pieces. Port Better Bombchu Shopping. Convert Market Sneak
Port Quit Fishing At Door and clean up unused stuff. Reintroduce missing Mysterious warp song hint
Make ShipInitFuncs static
Adds and uses per-item articles for get item messages
Fix Entrance Hints and port toggle from dev-copper
|
|
Fix TimeSplit crash on empty name
Initialize OptionValue::mVal to fix undefined behavior
Fix undefined behavior in GraveHoleJumps surface type copy.
The memcpy was reading 33 SurfaceTypes regardless of the actual count,
causing a buffer overread since NTSC 1.0 only has 31 surface types and
later versions have 32. Now uses the actual surfaceTypesCount from the
collision header.
Fix undefined behavior in framebuffer OTR signature check.
Use calloc instead of malloc for framebuffer allocation to zero-initialize
the memory. This fixes Valgrind warnings about reading uninitialized values
when ResourceMgr_OTRSigCheck reads from framebuffer pointers to check for
the "__OTR__" signature.
Fix undefined behavior in fontLoadStatus initialization.
Use calloc instead of malloc when allocating fontLoadStatus array
to ensure zero-initialization. This fixes Valgrind warnings about
conditional jumps depending on uninitialized values in
AudioLoad_SetFontLoadStatus.
|
|
|
|
This adds Roc's as a fully implemented item into the randomizer pool. When both Roc's and Nayru's is found, you can swap between them on the pause menu
Many people have contributed to this over time, so huge shoutout to:
- kentonm, this item is directly inspired by their Roc's Feather from their romhack Indigo. Also provided me with their GI model, icon texture and animation to use.
- PurpleHato, for providing the images for the item name shown on the kaleidoscope.
- Dana The Elf, providing another custom animation for the item.
- Reppan, for helping to tweak the animation and exporting the GI model for me.
|