github Zorkats/G-Diffuser v1.2.1
G-Diffuser 1.2.1 - The Small Improvements and Fixes Update

3 hours ago

Back up before upgrading

Close the game and back up the complete save set (your saves folder), not only the GDD. Keep the GDD, its recovery and snapshot directories, and course-elements.gdxs, course-forks.gbs, and
course-settings.gks together. Do not open snapshot-backed saves in an older executable.
The new, extended tracks that go above the original 64 node limit are not compatible with the original Expansion Kit or older tools.

Course Edit

  • Widen the native course information panel at a fixed size. Keep full 20-character names on
    one row and fit three-digit node counts without moving the buttons below it. Dynamic sizing
    is deferred.

  • Raise the combined main-path and alternate-path control-point ceiling to 127. Geometry,
    jump, effect, decoration, and junction budgets still apply; 127 points is not a guarantee
    that every layout fits.

  • Add complete, content-bound save snapshots for extended courses and complete course/cup
    package sharing. Missing or mismatched required snapshot data is rejected rather than
    silently loading a truncated course.

  • Keep both paths selectable after editor reload and save/reload. Show stored branch nodes
    without requiring the Split tool, and separate path selection from point/track settings.

  • Improve fork surface ownership and rail clipping to reduce overlapping road faces and
    interior rail remnants. This is not a guarantee that every junction or bank transition is
    artifact-free.

  • Add alternate-path gadget generation and independent outgoing segment parts/settings at
    fork starts, while preserving shared-point decorations and enforcing native budgets.

  • Add typed Width and Center values alongside Bank: select points and the tool, press Enter,
    type a value, and press Enter to apply or Escape to cancel.

  • Add optional fork inclusion in minimaps/previews.

  • Correct destination-tangent initialization during contact projection. Add opt-in CPU lateral
    avoidance for supported coverage/range hazards, off by default. CPU fork routing and hazard
    look-ahead are not included.

Startup

  • Fix a startup failure with relative save paths by resolving the snapshot repository path
    before acquiring its lock. Keep snapshot validation and recovery locking enabled.

Content and exports

  • Expose cached native-machine export in F1 > Workshop > Tools, rather than Content Library.
    The native capture includes generated textured geometry and owned referenced resources;
    export requires a valid capture first. The static-body replacement workflow is unchanged.
  • Add confirmed Content Library track deletion with per-track recovery records and manual
    Restore. Remove affected cup references and per-track metadata while preserving shared
    music. Interrupted confirmed deletion resumes on restart; Restore refuses conflicting later
    edits instead of replacing them.
  • Decode supported foreign saved-disk course data through a shared validated import path.
    Improve creator/checksum diagnostics and refuse source images changed since inspection.
    A Project64 savestate is not a saved disk; creator and checksum validation remain enforced.

Music and setup

  • Use one music/ folder beside the executable for streamed game replacements and selectable
    course songs. Recognized slot names, such as bgm_select.flac, replace game music; ordinary
    names, such as Custom Course Edit Song.ogg, appear in the course music controls after restart.
  • Give music/ priority over legacy locations. Old music folders remain readable fallbacks;
    existing recordings are not automatically moved or deleted. New course imports use music/,
    preserve content conflicts under fingerprinted names, and protect reserved replacement names.
  • Create supported drop folders on first and subsequent startup: music/ and
    exports/machines/ beside the executable, and mods/~romhacks/ in the resolved game-data root.
    Legacy music folders are no longer created automatically.
  • Fix editor-preview gain and request ownership so explicit custom preview does not depend on
    native BGM fade state. Improve cancellation, replacement, pause, and stop handling.
  • Improve native sample-pack validation, exact-key diagnostics, explicit dump metadata handling,
    and the target catalog. Packing no accepted recordings now fails instead of producing an
    empty success.
  • Clarify cartridge versus Expansion Kit banks, title versus selection slots, exact sample keys,
    and streamed looping in the guides. Ogg/FLAC custom loops use embedded LOOPSTART and
    LOOPLENGTH; loose JSON loop files are not read by streamed playback. WAV uses smpl loops.

Limits to know

  • Complete snapshot history is retained without automatic pruning. Keep its matching files when
    moving or backing up saves.
  • A multi-course import can partially install if a later native write fails; it is not an atomic
    whole-cup replacement.
  • Native-machine export is a captured primary-LOD1 assembly, not an all-LOD/effect/animation
    exporter. Inspect the export report for unsupported capture state.

Don't miss a new G-Diffuser release

NewReleases is sending notifications on new releases.