Skip to content

Conversation

@codeman4033
Copy link
Collaborator

@codeman4033 codeman4033 commented Sep 16, 2025

Adds proper support for mod dependencies

  • Adds dependency metadata
  • Adds semver dependency to renderer
  • Adds dependency sorter to renderer
  • Sorts mods in modloader

dengr1065 and others added 22 commits October 12, 2025 00:57
This version of Electron includes a fix for performance issues on macOS.
Without this change a runBeforeMethod/runAfterMethod is required to draw
anything on the wires layer, leading to some confusion and asymmetry
between the regular and wires layer.

Therefore, introduce a set of before/after hooks for the wires
foreground layer, allowing mods to easily draw stuff on top of or behind
wires layer components.
Vanilla does not make any use of the "counter" gainedRewards nature. In
order to simplify the code and prepare for refactoring this part into a
savegame-stored object instead, replace the Object<string, number> with
a Set<string> for storing the unlocked rewards.
At least for now, only for internal/vanilla use. To be used in Hub Goals
gainedRewards serialization. Only works well for primitive types, but
this is not enforced (yet?)
Add gainedRewards to HubGoals serialization schema, remove the runtime
computation code and add logic to clean up rewards that do not exist at
runtime (i.e. added by mods that have been removed). This means mods
that can "convert" vanilla savegames will have to apply the same set of
changes regardless of whether the mod was ever installed before or not.
Convert the Blueprint class to TypeScript. The entities member is
intentionally made private. No other changes are included in this
commit.
Add a field to Blueprint class that determines if the placement
shouldn't consume shapes. Modify the UI code to no longer trigger a
warning for now-reversible cut operations and provide a helper method to
handle free blueprints easily. Finally, move the cost deduction logic
into Blueprint#tryPlace while keeping the sound trigger in the HUD part.
…t-free-trial

Allow pasting cut blueprints once
No idea if it ever worked; remove a few SoundInterface/SoundProxy
methods related to playing position-attached sounds. This functionality
is not used in vanilla game and is thus no longer necessary.
Remove game speed classes and the global game speed registry, thus
reduce the complexity of GameTime class (drop support for time
multipliers and dynamically changing the game speed).

Additionally, clean up unused keybinding forward metods in BaseHUDPart.
Clean up directory with one file after removing game speeds.
Get rid of the cameraShake property and related methods of the Camera
class. This functionality is not used by vanilla and is not expected to
ever get used in any mod, additionally it is objectively ugly; a mod can
provide its own implementation if needed.
Update logos for GitHub, Discord, Reddit, and Patreon.
Turns out there's been a bug.
I forgot to add the lines to sort the mods in the initMods method.
The Prettier extension is now published with the
"prettier.prettier-vscode" ID. Update settings.json and extensions.json
accordingly to use the correct extension ID.
Replace with `navigator.clipboard`
Only check a single layer for potential connection or blockage when
displaying building I/O arrows.

Direct port of tobspr-games#1035.

Co-authored-by: Emerald Block <69981203+EmeraldBlock@users.noreply.github.com>
Turns out there's been a bug.
I forgot to add the lines to sort the mods in the initMods method.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants