Skip to content

Fix language pack redirects not working - #349

Merged
Malkierian merged 1 commit into
HarbourMasters:develop-splitrockfrom
JeodC:fix-langpack
Aug 2, 2026
Merged

Fix language pack redirects not working#349
Malkierian merged 1 commit into
HarbourMasters:develop-splitrockfrom
JeodC:fix-langpack

Conversation

@JeodC

@JeodC JeodC commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Language packs were using a single endianness to check which version was loaded. When endianness did not match, no assets were redirected when loaded. This in turn caused demos to play garbage data, and dialogs likely didn't fully work either for some users.

I extracted the endian-agnostic method that BaseGameVersion used into a helper, and now Language.cpp is also endian-agnostic. Verified zero slowdowns with loaded packs after this.

@Malkierian
Malkierian merged commit b906efd into HarbourMasters:develop-splitrock Aug 2, 2026
5 checks passed
@JeodC
JeodC deleted the fix-langpack branch August 3, 2026 22:51
aMannus added a commit that referenced this pull request Aug 7, 2026
* Custom collectible

* it builds now

* Fix spawn code under Gameplay Tools

* Not working pulling functions from map

* Added semi working draw stuff

* Vanilla sprites and models work now

* Custom models working but update function doesn't always

* Fix broken actor info referencing and cleanup

* Update README.md (#248)

* Fix HD dialog-font crash on v1.1/PAL/JP bases (#251)

* Fix SkipSM to account for Rando. (#253)

* Add note door dance skip. (#255)

* Anchor game sync (#199)

* Sync progress flags.

* Sync jiggies, tokens, and honeycombs.

* Fix item collection triggers (were triggering before actually collecting just from proximity).
Add saved item (note totals, tokens, jiggies, honeycombs) collection/use updates.
Add note and jinjo collection to realtime sync.]
Add jiggy spawn syncing.
Make note collection packets update totals outside levels.

* Add level and map flag syncing, and re-enable volatile flags for witch switch reasons.

* Apply jiggy pedestal authority.

* Potentially fix retention off.

* Fix include casing.

* Move retention files to common folder, add Retention files for common inclusion.
Add listener to jinjo retention for VB_OVERRIDE_BUNDLE_SPAWN to prevent jinjo bundle from crashing when already collected.

* Exclude Sandcastle and Christmas Tree cutscenes from syncing to avoid infinite scene reload cutscene glitches.

* Properly live-sync ability unlocks.

* Make honeycomb packets trigger HUD animations.

* Make note door clear sync play animation, sound, and sparkles.

* Live sync destructibles, fix cobwebs state on state restore.

* Sync already-spawned jiggies when player entering a map another player is in.

* Live, persistent acorn and worm sync in CCW.

* Sync RBB transients.

* Live-sync Blubber's Gold, the FP presents, and Conga's orange like acorns/worms.

* Clear jinjo retention if jiggy orphaned, and force 31 (all collected) for retention value if jinjo jiggy collected.

* Sync CC.

* Sync BGS.

* PUZZLE_STEP on Clanker's teeth.

* Sync GV and honeycomb switches.

* FP transient syncs.

* Sync MMM.

* CCW sync.

* Fix dynamic spawned jiggy sync.
Add hut sync.

* Sync orange pads, juju totem, fix chimpy jiggy spawn.

* Fix multiple bundle jiggy spawns.

* Initial rando hookup.

* Sync Bottles Bonuses.
Add checkboxes for bottles bonuses when unlocked or connected to Anchor.

* Fix jiggy dual spawn, remote hut ordering.
Rando improvement.

* Fix spawn-in croctus look-at binding player movement.

* Fix timed jiggy switch timer sync.

* Purge pending jiggy spawns on close/restart.

* Fix actor misplacement issue.

* Fix more transient syncs and puzzle steps.

* Fix honeycomb switch spawns, ancient one next-step spawns, and level-open cutscene camera resets.

* Sync final Grunty fight.
Fix jiggy HUD to display level counts when same-level jiggy is collected.

* Fix file on disk deletion.
More fix for actor misplacement.

* Re-implement collision and shadows.

* Implement the room window and teleport to player functionality.

* Make teleport go directly to other player.

* Change forced disconnect on romhack status mismatch to warning.
Make "Reset All Team States" reset the romhack status of the room.

* Add notifications for jiggies and level opens in vanilla and rando checks.

* Live sync/update blubber's gold and bear cub presents steps, and temporarily persist gold steps.

* Add carried item and throw sync.

* More actor misplacement fixing.

* Defer actor despawn during game frame update.

* Clear vanilla retention on file delete.

* Add remote collect simulation to test actor misplacement fixes.

* Clear temporary persistence when no players are in a level.

* Fix sub-area destructible persistence.

* Prevent camera actions during level door openings.

* Fix Blubber's gold and the bear cub's presents not showing in-world after being thrown.

* Fix collectibles showing in world after being thrown.
Fix count desync of worms/acorns.

* Fix flower watering stages.

* Semi-persist ignored controllers (only by list index for now).

* Fix grunty fight: non-authority eggs not damaging, jinjos not despawning, remote freeze during first jinjo statue cutscene.

* Make fireballs (spell 0) target local players.

* Fix timed switch jiggy despawns.

* Swap to HM Torch main, latest commit.

* Re-enable global room.

* Add team-state check syncing and despawn.
Add isRando and seed to room state (cleared on Clear All Team States) and warning on seed mismatch.

* Make levitate cheat a fixed upward value, cancel fall damage/animation if used during damage fall.

* Fix same-map warp-to-player getting stuck on level geometry.

* Some comment cleanup.

* Sync Slushes and snowman buttons in FP, and prevent multiple players from playing the twinkly minigame at the same time.

* Prevent remote-triggered door-open camera locks.

* More comment cleanup.

* Disable vanilla retention checkboxes when Anchor connected.

* Bump LUS.
Force wait for team state when loading save.
Force reload when joining/requesting team state after loading file.
Increase levitate speed to 500.
More comment cleanup.

* Remove extra first-load team state request.

* Fix live sync of entered levels for Level Totals.

* Fix Tanktup cutscene unfreeze.

* Add new water level packet and fix water level snapping for offline and remote clients.

* Engine room fan switch temp persistence.

* Fix engine fan persistence and Grunty door live sync.

* Fix final fight syncing.

* More comments.

* Final comment sweep.

* Comment streamlining.

* Restore moved enum with #if 0.

* Clang-format for anchor-game-sync PR.

* Add a differ in Default and Authentic boot logos (#256)

* Code cleanup (#252)

* Code cleanup: ResourceMgr region dialog checks

* Code cleanup: consolidate port functions for dialog fonts

* Code cleanup: duplicate declarations for romhacks and lus/port type changes

* Code cleanup: Remove declarations with no callers

* Code cleanup: Remove duplicate declarations

* Stop functions.h pulling C++ headers into extern "C"

* Guard decomp headers with extern "C", drop redundant wrappers

* Restore ShipUtils.h includes lost when functions.h dropped it

* Fix spawn queue not scaling with draw distance setting

* Remove more dead code, fixups and comment clarity

* Fix orbit camers getting stuck on rare occasions

* Resolve more extern "C" cleanups after anchor rebase

* Polish Cheats (Levitate, Transforms)

* Adjust camera orbit core smoothing when player is on uneven terrain

* Clang format

* Decomp pass 5 (#247)

* CCW documentation from decomp upstream

* audioManager documentation from decomp upstream

* RBB documentation from decomp upstream

* Model Appendages and BS method table documentation from decomp upstream

* Compile fixes and clang-format after decomp pass 5

* Fix clang -Wint-conversion errors in RBB whistle tables

* Fix clang -Wint-conversion and pointer-type errors from decomp pass 5

* Align filenames and decomp header comments with upstream

* Missed one

* Documentation and file renames from decomp upstream

* Checksums, 08776d1f

* PAL matching from decomp upstream

* Rubee & Function Documentation, ac3ddb91

* PAL match func_80240204, 1b2edf8b

* PAL matching 2, 485bef33

* Draw code documentation from decomp and pointer truncation fixups

* Add decomp's headers split

* Missed function renames from past decomp commits

* Cleanup functions.h a bit

* Post-rebase fixups

* Hotfix for camera orbit core (#259)

* Hotfix for camera orbit core

* Fix a bug where rotating modern cam while climbing caused it to get stuck

* Add permadeath enhancement (#254)

* Romhack code integration (#258)

* Switch soundfontctl extraction to own factory

* Reorder GEO section

* Bump Torch and LUS

* Add ported romhack code for Jiggies of Time, Nostalgia 64, and Cutthroat Coast

* Fix missing jiggy puzzle sizes and flags

* CTC: Blank note door digits

* Add Cheato's Challenges port

* Sort disabled romhacks alphabetically

* Add Bubbling Bog Brewery code port

* Disable select enhancements in romhacks

* Add partial support for Gruntch and Santa's Village

* Post-rebase fixups

* Mute Chimpy Stump on MM load enhancement. (#261)

A bit of decomp catchup renaming.

* Fix romhack extern.

* Fix Windows and Macports workflows.

* Linux compile errors and a couple decomp pass bugs (#262)

* Exclude `unused` folder from build list.

* Restore ActorID to eliminate warning about unnamed typedef.
Undo exclusion of unused folder because of references of functions housed there causing linking errors.
Handle switches without default branches.
Suppress MSVC warning for zero-sized c99 flexible arrays (C4200).

* Bump Torch.
Add shader copy to port O2R generation workflow.

* Clean calls to src/unused, filter out the unused files, make ReadStampedCrc endianness-agnostic (#263)

* Clean calls to src/unused, filter out the unused files, make ReadStampedCrc endianness-agnostic

* Update mod subfolder paths

* Adjust orbit camera snapback

* Fix Linux packaging.

* Rc cleanup 1 (#268)

* Remove remote collect sim.

* Another attempt at fixing packaging for Linux.

* Fix Mumbo's Hut fast transformations.

* Remove frame drop warning.

* Add to Easier Boggy Races enhancement to mention the need for a map reload to take effect.

* Switch focus to molehills + AP items only

* Rc fixes 2 (#274)

* Filter OoT factories from Torch

* Correct jiggy hud element centering

* Carry segment-address provenance instead of inferring it from pointer value

* Patch Banjo's belt buckle depth (VB, on by default)

* Bump libulttraship and add imgui file picker for gamepad-only users

* Correct snow particle interpolation with unique id and rename weather related files for accuracy

* Anchor" adjust bottles tutorial handling and add honeycomb bundle spawn sync

* Fix lookup paths for appimage

* Clang format

* Interpolation: clean dead code, optimize adaptivefps and draw distance

* RC Fixes #3 (#275)

* Revert: Patch Banjo's belt buckle depth (VB, on by default)

* Resolve a crash

* Rework modern camera

* Menu and logging cleanup.

* Apply modern camera changes back to free look. (#277)

* Apply modern camera changes back to free look.

* Free look takes precedence over modern camera.

* Adds a built-in mapper to create or edit mapping strings for controllers the game doesn't recognize or are improperly mapped. (#278)

* Mute Chimpy and add a fix enhancement for Freezeezy Peak Lobby's door trim (#279)

* Mute Chimpy on MM load enhancement.

* Clang format

* Add a fix enhancement for the FP Lobby door trim

* Revive decomp os functions (#280)

* os: real thread table

* os: blocking message queues

* os: DP status word

* os: RSP task submission

* interpolation: ring of trees with ownership claims

* os: VI retrace source and framebuffer registers

* thread5: run the decomp's graphics thread

* vimgr: pace the tick from the retrace clock

* os: osViBlack blank register

* os: deadline timers, taking libultra/os.cpp port-side

* os: SI controller reads as request and completion

* fix: count the demo audio hold in ticks, not renders

* pacing: drop sub-frames against the deadline instead of predicting

* audio: revive the decomp's audio pipeline against the RCP

* fix: keep mid-tick SI completions out of the demo's pad buffer

* perf: replace four decomp hot spots through the event system

* fix: memmove for overlapping ranges in bk_vector_remove

* fix: drop the game-thread fallback poll in osContGetReadData

* Bump LUS and make use of memoization

* Add a watchdog for thread5 to log stalls

* Add a thread safety for rumble

* Comment out GfxDebuggerWindow

* os: swap rumble thread bypass for real rumble thread (#281)

* os: swap rumble thread bypass for real rumble thread

* Linux compile fix

* Fix a rare crash with the tooie jiggy animation (#282)

* Fix rando softlock in SM jump tutorial (#284)

* Fix a few issues with note retention (#283)

* Restore molehill rando functionality.
Update readme and building docs.
Add 50-note-door ability to FFM start.

* Fix interpolation bug introduced by rings (#285)

* Resolve a crash when searching in imgui (#286)

* Fix CC rando mapstates (#287)

* Restore event call in `chmole_learnedAllSpiralMountainAbilities` (#288)

* Rando: don't require pumpkin for shuffled MMM honeycomb (#289)

* Fix rando events (#290)

* Make InitRandoEvents call only once per real save load (instead of only on rando OnSaveLoad).
Fix actor save state restorations in rando.

* full-project clang

* RC Patches 4 (#291)

* Thread safety in teardown + imgui safety

* Interpolation adjustments

* Optimize initial rom scans

* Mute Chimpy stump's rumble on reentry to MM

* Anchor: BGS catchup bug with tanktup and yellow flibbit initializer

* Clang format

* RBB: fix lfieboat culling by disabling the DIAG check, fix whistle switch interpolation

* GV: gate ancient ones catch-up behind anchor being connected

* Interpolation: particles adjustments

* Add another fix for tooie jiggy dance

* Fix Lair water level taking the wrong path when player exits RBB

* Convert imgui text to ascii so it renders properly

* Extend prop count (#292)

* Restore event call in `chmole_learnedAllSpiralMountainAbilities`

* Extend propCnt1/propCnt2 to avoid overflow while creating particles.
Add guards surrounding these structures to inform if a prop clear is attempted that isn't part of a given cube.

* Widen unk0_4 as well (not really a vanilla issue, but could present problems with hacks and such).

* More and better guards.

* Fix flowered pots in MMM not surviving transitions.

* Add comment to find better place for warn functions in PerfPatches later.
Fix memory footprint of Cube.
Fix guard placements and return values in `func_8032D9C0`.

* Final adjustments to RC (#293)

* Defer the note retention seed out of demo playback

* Adjust modern controls

* Bottles bonus demo sync and picture rendering

* Fix missing topper enemy in SM ending demo

* Sort the VBehaviorID enum

* Clang format

* Serialize jiggy puzzle counters through the active layout

* Don't pop the thread watchdog during expected stalls like the native file dialog

* Bump Split Rock Alfa (#294)

* Restore event call in `chmole_learnedAllSpiralMountainAbilities`

* Bump version to 1.0.0 and name Split Rock.

* Final pre-release clang.

* Missing include. (#296)

* Use cast on StopNSwop va_arg (#295)

* Add project description

* Fix packet bleed in global Anchor room. (#301)

* Fix packet bleed in global Anchor room.

* Remove certain exceptions from global exclusion.
Put windows .pdb back in debug folder in the release builds.

* Capture framebuffer at a slightly later time (#304)

* Fix token and jiggy total sync with Share Consumables off. (#310)

* Interpolation and shadows (#311)

* Adjust interpolation for shadows when camera moves, disable shadows for music notes

* Give verrtex-animated models unique animations

* Interpolate vertex-animated models

* Fix rando savestate restore crashing and duplicating junk items (#312)

* Split Rock Bravo (#316)

* Anchor: fix ccw jiggy podium to be hidden for players in anchor and only perform logic when connected (#327)

* Fix starting abilities duplicating onto remaining molehills (#325)

* Allow builders to define CPU_OPTION (#323)

* Slide all control schemes through LUS mappings proper (#322)

* Fix default volume in new system.

* Fix alt assets default values.

* Fix occlusion for stonehenge (#324)

* Uncap render fps for cutscenes and demos (#331)

* Align actor array and marker pool (#335)

* Apply more hud adjustments (#336)

* Fix dialog asset remap gaps and void conditional-dialog callbacks (#345)

* Fix language pack redirects not working (#349)

* Bump Torch (#350)

* Fix snow particle alpha transparency and xmas tree light interpolation (#330)

* Repair Banjo Dreamie (#346)

* Add anchor color customization and nametags (#334)

* Custom actor mostly done, item queue half done

* Update special thanks section in README

* More item gives done

* Modify workflows to upload artifacts from pull requests (#352)

Mirror soh a bit

* Restore rumble to proper state and restore screenshake (#353)

* Restore rumble to proper state and restore screenshake

* Make screen shake an accessibility option

* Fix imgui audio backends showing up when they shouldn't (#356)

* Add missing images and update readme for keyboard keys (#357)

* Add a modern controls exception for jigsaw podiums so player can take their placed pieces back (#360)

* Anchor fixes (#361)

* Gate local Anchor codepaths behind world syncing to prevent operation in global room.

* Fix witch switch cutscenes and sub area transitions clearing transient persistence values.

* Fix two asan triggers (#362)

* Kill note shadows for custom objects (#363)

* Add special thanks to Banjo decomp team

* Fix Gruntys Lair Gate not rising after collection (#364)

* Init audio before menu (#369)

* Fix stack overflow in furnace fun (#365)

* Maintain aspect for auxfbo (bottles bonus) (#372)

* Maintain aspect for auxfbo (bottles bonus)

* Adjust frame pacing for bottles bonus and sns pictures mode

* Prevent EggAim enhancement from allowing transformations to fire in first person. (#368)

* Fix Presents not using the correct Level Flag. (#367)

* Update README.md (#383)

* Fix OSTimer teardown race condition (#382)

* GV: fix Gobi and Trunker reverting after a death reload (#381)

* Prevent gag transformation from incurring a token charge while fast transformation is enabled. (#379)

Also add a warp entry for Furnace Fun at the pad.

* Start work on jinjos

* More draw work

* Disable Note Retention during parades

* Stop language packs shadowing HD assets they don't localize (#351)

* Fix GamePlayTimer display and some warnings. (#387)

* Moves No Mumbo Detransform to a VB Hook. (#388)

* AP item improvements, more item queue work

* Fix input viewer (#395)

* Fix input viewer

* Clang and fix menu column

* Minor menu tweaks

* update cvar to use macro

* [RANDO] Spoiler Generation Option (#370)

* Save and Load of Spoiler Logs

* Color change for success notification

* clangified

* Fix if statement to check for string.empty().

* case change

* Fix log refresh and seedID

* Add Refresh Button

* Add Tooltip for refresh button, gross

* Randomized props fully replaced

* Make remote clients live react to puzzle completion and prevent pedestal authority from releasing if a puzzle was completed. (#400)

* Fix retention behavior while cvar is off (store but don't despawn). (#398)

Fix transient persistence clearing bleeding out of Anchor.

* Language pack modding doc update and Torch bump (#401)

* Update lang pack documentation

* Bump Torch

* Batch of romhack bugfixes (#380)

* CTC: fix the rock raising itself on map reload

* Debugging: add a flag tracer to dev tools

* Fix bottles tutorials gated on map instead of level

* Anchor: gate sync on singleplayer and romhacks for some cases

* Anchor: consolidate remoteOpens into helper remoteCue and add missing

* Patch romhack: used ability flags and anchor empty honeycomb sync rework

* Fix applying bkcf to wrong warp function and clean up Dreamie no-op

* BBB and Gruntch flip UsedAbilities bits

* Finish reimplementing Gruntch features

* Mark Gruntch as fully supported

* Add launch arg handling for romhacks

* Fix saving

* Shuffle molehills with custom collectible

* General bug fixes (#402)

* Fix SNS demos not working on v1.1, PAL, JP

* Fix audio bgm running when game window is frozen (drag/resize)

* Fix audio static on certain platforms

* Fix decomp animation function names being backwards

* 1.0.2. (#403)

* Clean up rando molehills

* Implemented jiggies

* Fix build post merge

* Fix jiggies, implement jinjos

* Finish jinjos

* implement bundles + mumbo tokens

* Handle honeycombs and extra lives

* Remove rando junk options

* Fix jiggie totals and bundle crash

* Clang

* Fix includes

* Fix animations

* Fix build hopefully

---------

Co-authored-by: Jeod <47716344+JeodC@users.noreply.github.com>
Co-authored-by: Caladius <Caladius@users.noreply.github.com>
Co-authored-by: Malkierian <malkierian@live.com>
Co-authored-by: Eblo <7004497+Eblo@users.noreply.github.com>
Co-authored-by: JordanLongstaff <jrdnlngstff@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants