Releases: denukernel/Randm64
Releases · denukernel/Randm64
Release list
1.4
Randm64 Version 1.4 Release Notes
Chaos Engine & Randomizer Updates
- Fixed Grass Theme & Complex Music Randomization: Rewrote the M64 sequence corruption engine to parse and randomize values in-place inside the binary array. This preserves loops, branch calls, and subroutines, ensuring complex tracks like Bob-omb Battlefield randomize safely and play correctly in-game without voice starvation or mutes.
Music Sequencer & Audio Accuracy
- Accurate Small Note (note2) Durations: Fixed a bug where small note gate durations were overwritten by the previous step size during import. Tracks with heavy subroutine use (like Shifting Sand Land) now load, play, and compile back to the ROM with 100% accurate note durations.
- In-Game Channel Property Modifications: Track volume, instrument, and bank edits made in the UI are now tracked to their exact file offsets. When saving the sequence, these properties are patched directly into the M64 binary, meaning your volume changes now function in-game.
- Looped Note Audio Playback: Pitched instruments now loop sustained samples continuously while the note is active and shut off cleanly when the note ends. Percussion sounds remain as one-shots, matching the original SM64 sequence player behavior.
- Zero-Lag Sample Caching: Pitched samples are now transcoded and cached on first trigger. This eliminates disk I/O bottlenecks and completely fixes sequencer playback lag and frame skipping.
- Improved Track Loop-Back: The sequencer now scans note data to calculate the exact ending tick. The playhead loops back to the start immediately when the notes end, eliminating up to 20 seconds of trailing silence.
UI & Toolbar Redesign
- Clean Two-Row Toolbar Grid: Redesigned the horizontal toolbar layout into a spacious two-row setup. This resolves control overlap and cut-offs on small screens.
- New Playback Audio Modes: Added a playback mode selection menu to standard transport controls. You can now toggle playback between playing all channels, playing the active channel only, or configuring specific audible channels via a new selection checklist popup.
- Enhanced Sequence Selection: Added a search-by-name window to find sequences quickly (similar to the behavior selection tool).
1.2 Release
Randm64 v1.2 Release Notes
This release introduces major enhancements to sound randomization, a completely redesigned dialogue-based custom texture mapping utility with live visual previews, and gameplay-focused fixes for custom starting levels.
What's New in v1.2
🔀 SFX Randomizer Enhancements
- 6 Sound Randomizer Modes:
- Pure Shuffle (Swap Only): Standard shuffling.
- High Pitch (Chipmunk): Multiplies sample rate by a high factor.
- Low Pitch (Demonic): Multiplies sample rate by a low factor.
- Chaotic Pitch (Random): Multiplies sample rate by a highly randomized factor.
- Reverse Playback (Backwards): Reverses the raw PCM sound samples.
- Glitched Truncation (Shortened): Reduces the number of sample frames to truncate playback.
- Shuffle Sound Identities: Separate control to randomize sound role mappings.
- Apply Random Pitch Variation: Toggle to pitch-shift processed audio files dynamically.
- Direct AIFF Modification: Built-in sound decoder/encoder to alter AIFF headers and sample data in-memory before build.
🖼️ Dialogue-Based Texture Replacer
- Redesigned Mapping UI: Redesigned from a single textbox into a dedicated rule selector window.
- Automatic Scans: Recursively searches the
textures/andactors/folders inside your repository. - Live Image Previews: Click on target and replacement assets to preview them along with their dimensions.
- Custom PNG Selector: Optional capability to select external custom PNG files, scale them, and overwrite target assets.
- Exclusion Safeguards: Bypasses customized/replaced textures from the standard texture randomizer to prevent overwriting your selections.
- Full Preset Serialization: Replacement mappings are automatically saved/loaded to and from saved presets.
🚀 Start Level Chaos Warp Fix
- Header Include Corrected: Patched a file search mismatch in
level_update.csochaos_config.his correctly included during compile. - Intro Cutscene Bypass: Automatically skips the intro Peach letter/Lakitu cutscene if the start level is anything other than Castle Grounds, resolving freezes when booting into custom maps on a new save file.
Packaging
The release has been successfully built and packaged into a ZIP archive:
- ZIP File:
bin/Randm64 1.2.zip - Compiled using .NET 8.0 WPF Release configuration.
1.1
Randm64 v1.1
This update introduces an integrated Level Mesh and Geometry Editor directly inside the main workspace sidebar, alongside major UX improvements, new keyboard shortcut translation tools, and critical bug fixes for ROM compilation.
🚀 What's New in v1.1
📐 Integrated Level Mesh Editor
- Sidebar Tab Integration: You can now view and edit Collision Vertices, Collision Triangles, and Water Boxes directly in a dedicated tab on the left sidebar without overlapping popup windows.
- Viewport Selection Synchronization: Ctrl + Click a collision triangle or vertex in the 3D viewport to automatically open the Mesh tab, select the clicked element from the list, and scroll it into view.
- Scrollable UI Layout: Added scrollbars and fixed height limits to list boxes to ensure input textboxes and the Save Mesh Changes button are fully visible on all monitor resolutions.
⌨️ Real-Time Keyboard Mesh Translation
Edit geometry positions with absolute precision using keyboard controls:
- Left / Right Arrow: Translate element on the X-axis by 50 units (10 units if holding Shift).
- Up / Down Arrow: Translate element on the Z-axis by 50 units (10 units if holding Shift).
- PageUp / PageDown: Translate element on the Y-axis (height) by 50 units (10 units if holding Shift).
Intelligent Selection Behavior
- Moving a Collision Vertex translates only that vertex.
- Moving a Collision Triangle translates all three defining vertices simultaneously, shifting the entire face.
- Moving a Water Box moves the entire boundary region (translating X1, X2, Z1, Z2, and the height Y simultaneously).
- Thread-Safe Live Redrawing: Fully decoupled UI input threads from the rendering thread, allowing real-time redraw updates in the 3D viewport without freezing or driver context violation crashes.
🩹 Bug Fixes
- Critical Save Fix: Corrected string parsing slice markers inside the level compiler's save routines. Previously, if
COL_TRI_STOP()resided on the same line as a special object, saving cut off the remainder of that line, deleting the first special object definition (e.g. tree) and corrupting subsequent object indices. Slicing now cuts off exactly after the macro call, preserving the integrity of special objects and warp doors. - WPF ComboBox Dark Mode Theme: Replaced light-themed popups with fully styled dark theme dropdown blocks. Dropdown option texts are now high-contrast white on dark gray (#2D2D30) with clean hovered highlights.
- Camera Focus Snapping: Selecting element list items highlights them in the viewport but no longer forces camera movement or snapping.
Big update
- Chaos Engine
- More features added
- and much more at readme
0.6
Fixed few critical bugs
- Level Saving fixed
- Copy pasting crashes fixes
New update again
Huge Update
You can now build sm64 decomp directly from level editor.