Return to SVN Tools

As of 06:05:13 AM on Wednesday, April 09, 2025, the most recent weeks' worth of commit messages are as follows:

Sunday, March 30, 2025
04:52:06 PM Verse 536 VERSEWOOD \ XAN3 \ CANON Updating for recent engine changes, mostly synth stuff.
04:51:30 PM Nerd 5221 Don't need this assert, can hit it when quicksorting due to pivot selection comparisons.
Saturday, March 29, 2025
10:02:37 PM Empty 45 Don't need these.
10:01:22 PM Nerd 5220 Select pivot as median of elements at 25%, 50%, and 75%, versus first, middle, and last. Helps when the first element is frequently a middle element that gets swapped to the start.
09:56:07 PM Nerd 5219 Added a comment on why this works the way it does. It doesn't have to alternate direction, but it helps keep things coherent.
09:32:07 PM Nerd 5218 Big update to my quicksort implementation. Fixes a bug and may make things faster?
09:29:35 PM Nerd 5217 Moved the Knuth shuffle from NArray to NAlgorithm and added an early out on NAlgorithm::Swap() when the pointers are equal.
10:49:33 AM Verse 535 Commented out the playing tune as NM2 legacy support has been cut and this throws an assert.
10:49:07 AM Nerd 5216 Fixed a memory leak where the synth wasn't being deinitialized so the mixing buckets were never freed. Not sure this will work if called while something is playing but I guess I'll cross that bridge later.
Saturday, February 22, 2025
09:01:52 PM Verse 534 Updates for synth work. Compiles but does not run yet.
09:00:40 PM Nerd 5215 Updates for synth work from Christmas break I never checked in.
Friday, January 10, 2025
09:54:36 PM Nerd 5214 NERD-219, NERD-148: Merged changes back in from the NERD-148 branch (NS3 synth work). This isn't totally done yet (more DPCM options, sample bank and synth def support, etc.) but there's nothing super scary or potentially blocking this from being the replacement for all existing synth usage in my games.
09:50:34 PM Cmd 132 Switched back to NERD main.
09:49:46 PM Cmd 131 Merged changes in from NERD-148. NERD changes have not been merged yet.
09:44:21 PM Cmd 130 Undoing the last commit, misclicked in the middle of a merge. Not sure what this even was.
09:43:21 PM Cmd 129
03:29:13 PM Cmd 128 NERD-148 Moved these to bucket 1 for now.
Thursday, January 09, 2025
07:12:48 PM Nerd 5213 NERD-148 Couple small things. Initialize oscillator positions to deterministic pseudorandom values.
05:29:58 PM Nerd 5212 NERD-148 Comment.
Wednesday, January 08, 2025
01:17:00 AM Cmd 127 NERD-148 More test content. The fun stuff. :)
12:05:25 AM Nerd 5211 NERD-148 Oops, I left this in.
11:19:48 PM Cmd 126 NERD-148 More updates for testing.
11:18:05 PM Cmd 125 NERD-148 Don't zero out the first timestep of envelopes; we now extend voices one timestep into the past to ramp up to initial velocity.
11:17:08 PM Nerd 5210 NERD-148 Different sets of data for testing. Will be moved into the synth def soon.
11:16:08 PM Nerd 5209 NERD-148 As part of song instrumentation, extend voices one timestep into the past so they can ramp up to their initial envelope. Not handled at start or loop points.
10:57:17 PM Nerd 5208 NERD-148 Fixed a thread safety issue with the mixer inputs.
08:37:07 PM Cmd 124 NERD-148 Couple things.
08:36:46 PM Nerd 5207 NERD-148 Moved the mixer input to the synth kernel so it only needs to be allocated once and not for each song player. Might create thread safety issues if we're writing to WAV on the game thread while playing on the audio thread though. Needs more consideration.
05:22:25 PM Nerd 5206 NERD-148 Getting mixing working better. Next step will be to generalize the maximum number of voices per bucket.
12:49:23 PM Cmd 123 NERD-148 Factor expression into envelope.
12:48:54 PM Cmd 122 NERD-148 Updated to test expression.
12:34:57 PM Cmd 121 NERD-148 Added support for waveform modulation.
12:33:50 PM Nerd 5205 NERD-148 Adding support for waveform modulation.
12:28:56 PM Cmd 120 NERD-148 Updating content to test waveform modulation.
Tuesday, January 07, 2025
05:37:07 PM Cmd 119 NERD-148 Getting LFSR working again.
05:36:30 PM Nerd 5204 NERD-148 Corrected some data packing errors.
05:35:40 PM Cmd 118 NERD-148 Updated test tune.
04:16:01 PM Cmd 117 NERD-148 Instrument updates.
04:15:50 PM Cmd 116 NERD-148 Getting waveform indices and DPCM samples working.
04:15:24 PM Nerd 5203 NERD-148 Getting waveform indices and DPCM samples working. DPCM still needs some leveling work but it plays.
02:26:00 PM Cmd 115 NERD-148 This is a byte now.
02:22:56 PM Nerd 5202 NERD-148 Added interpolation toward the next envelope position, as instrumented at load time. Subsumes the legacy time-smoothing. Also instrument voices to account for being dropped in favor of higher-priority voices in the same mixing bucket. Fixes hard blips on voice stomping.
Monday, January 06, 2025
12:58:58 AM Nerd 5201 NERD-148 So that's why UpdateVoiceMap() was showing up super hot: I was calling it every tick instead of every timestep. That's an 800x difference. Now it doesn't even show up in a profile. I assume the changes made there are fine regardless, if a little strange.
11:54:38 PM Nerd 5200 NERD-148 I guess this ended up being the fastest version. Weird.
10:14:02 PM Nerd 5199 NERD-148 Possible optimization, need to roll back to compare though.
09:55:54 PM Cmd 114 NERD-148 Bucket indices are indexed from one, for legacy parity with MIDI channel indices.
09:55:24 PM Nerd 5198 NERD-148 Corrected some math.
09:54:51 PM Cmd 113 NERD-148 Added bucket indices (one-based) to MIDI channels.
09:46:59 PM Cmd 112 NERD-148 Fixed loop toggling and added some debug info.
09:46:19 PM Nerd 5197 NERD-148 Adjusted some numbers for perf and whatnot.
08:55:57 PM Cmd 111 NERD-148 Interim checkin.
08:54:47 PM Nerd 5196 NERD-148 Another interim checkin. Cleaned up that slow map/set stuff. Polyphony is working-ish. DPCM samples are not.
04:31:52 PM Cmd 110 NERD-148 Interim checkin.
04:30:32 PM Nerd 5195 NERD-148 Interim checkin. Renamed some types. The VoiceMap needs to be a fixed-size array because NMap and NSet access are too slow. The mixing function needs to be rewritten entirely.
04:26:45 PM Cmd 109 NERD-148 Updated instrument file with examples of where it may go in the future.
Saturday, January 04, 2025
10:16:41 PM Cmd 108 NERD-148 Next interim checkin. This is a big update but it's coming along well, much cleaner and more legible than it had been.
10:06:07 PM Nerd 5194 NERD-148 Moving some things around on the way to getting polyphony working. Still a lot of pieces up in the air.
12:20:13 PM Nerd 5193 Merged r5192 (NArray::findFirstByPredicate()) into main.
12:17:05 PM Nerd 5192 NERD-148 Added NArray::findFirstByPredicate(). For immediate merging into main.
Friday, January 03, 2025
09:27:09 AM Pal 45 This appears to have been unused. Commented it out.
09:23:52 AM Cmd 107 NERD-148 Whoops, forgot to branch the external.
09:20:15 AM Cmd 106 NERD-148 Branching for NERD-148.
09:19:35 AM Cmd 105 NERD-148: Added test track for NS3 work prior to branching.
09:19:04 AM Nerd 5191 NERD-148 NERD-148: Got some tree conflicts here, I guess only the rename made it into the branch and not the contents. I think this is all correct. I don't think anything changed.
09:16:35 AM Nerd 5190 NERD-148 Branching from working copy to a new branch for NS3 development. Lots of work from yesterday to sort through in this initial checkin.
Thursday, January 02, 2025
05:41:53 PM Cmd 104 NERD-219: Use NFileHeader here.
05:18:49 PM Verse 533 NERD-219: Load and unload the example song on the game thread.
05:18:19 PM Nerd 5189 NERD-219: Updated Extended_PlayNMS to assume the song has already been loaded by the caller. This can be unified with the BoopTool version in the future. Added some hacks to load legacy files in Verse. I can cut this in the future as I update Verse to handle NM3/NS3 content.
05:14:42 PM Nerd 5188 NERD-219: Updated NStartup for the song manager.
05:14:18 PM Nerd 5187 Comments on legacy IsVersion() function.
04:23:47 PM Cmd 103 Updating BoopTool for latest changes. Verse is next.
04:23:10 PM Nerd 5186 NERD-219: Moved NM2TunePlayer into a new NSynthPlayer pair of files. Added a new NSongMgr class and files. This manager owns the NM2Tune data wholly; nothing else may author or own one of these. These may be constructed from filename or from a new NM2TunePack struct, which is what BoopTool produces. Tunes/songs are no longer instrumented, which requires one additional multiply per tune/song per sample. (Also "song" the the preferred vocabulary going forward, but this change does not fully commit to that.)
09:19:55 AM Dev 139 Updated this to write to the E: drive's backups folder. Takes about 20 minutes to run.
08:58:34 AM Dev 138 Added a solution for making backups. Not yet automated. Not sure whether it should be.
Wednesday, January 01, 2025
10:11:56 PM Pal 44 I should probably version these.
09:55:02 PM Jkylecom 181 Welp, looks like Midphase bungled the migration and lost the old Xanadu devlog WordPress database. Like, the entire thing, just, gone.
Tuesday, December 31, 2024
07:34:53 PM Nerd 5185 Added some commented-out code to illustrate how voice blending for formant shifts could look.
06:54:58 PM Cmd 102 Moved some stuff to the namespace and stuff.
Sunday, December 29, 2024
09:30:09 PM Cmd 101 Renaming these for clarity.
09:20:50 PM Cmd 100 Let's make this a high-pass. It's less boomy.
09:18:33 PM Cmd 99 Culled out a bunch of audio effects to try to get this closer to the legacy version.
09:15:44 PM Nerd 5184 Dropping back to N=85 (vs 25) and DPCM mix = 1.0 (vs 1.5) for comparisons to old version. Pretty close! Also a comment on all-pass filters.
08:31:32 PM Cmd 98 NERD-219: Getting DPCM generation and playback working. Messy but this is it, this is the checkin that brings me totally up to date; all the latest and greatest lives in main now. This breaks compatibility with old versions; that's fine; this is clearly an interim checkin on the way to full-fledged NM3/NS3 refactoring.
08:27:30 PM Nerd 5183 NERD-219: This compiles and doesn't leak memory so I'm checking it in, but there's a lot of cleanup to be done as part of the move to NM3/NS3. Lots of "HACK_..." and "lol haxhaxhax" here.
08:22:46 PM Cmd 97 NERD-219: Moved drums to synth channel 5, a temporary DPCM channel coming in the next code update.
02:12:09 PM Cmd 96 Oh hey, these user files are where debug command line parameters are stored. That actually is useful to version for reference. Cool.
02:11:32 PM Cmd 95 NERD-219: Moved NDMHeader to NERD Audio.
01:39:47 PM Nerd 5182 NERD-219: Moved NDMHeader into NERD Audio in advance of NM3/NS3.
Saturday, December 28, 2024
11:10:12 PM Nerd 5181 Comment.
08:12:07 PM Boop 321 NESTER Getting this to compile again.
11:02:08 AM Cmd 94 Some cleanup to move in the direction of unifying ConvertWAV() and ConvertWAVToDPCM() even though they're really only superficially similar.
10:38:07 AM Cmd 93 Unified ConvertWaveDataToBytes() to call ConvertWaveDataToFloat() to get the intermediate float data and then convert it to bytes. There's some bad logic in here, but it's not new.
10:35:58 AM Cmd 92 Added kick and snare samples for testing.
Friday, December 27, 2024
08:54:18 PM Cmd 91 NERD-219: Brought over Nester branch work for DPCM samples. Compiles but untested.
08:51:44 PM Rewave 35 NESTER Moved nesterizer code to its own files in order to support legacy Rewave and DPCM conversion in parallel. Compiles but untested. This is expected to be the final checkin to this repo; bringing these over to the CmdTools repo next.
Thursday, December 26, 2024
09:01:29 PM Cmd 90 Bringing some changes over from the Nester branch of Rewave. Nothing related to DPCM samples yet, just using streams and leveraging engine code.
08:57:10 PM Nerd 5180 Normalize synth output to the maximum level and added comments on gain.
08:55:29 PM Nerd 5179 Added parameters to the overdrive effect. I won't actually use this for the synth, as the mixer function can absorb these concepts, but it's interesting.
06:36:54 PM Rewave 34 NESTER Updated to latest engine version.
Tuesday, December 24, 2024
10:22:33 PM Nerd 5178 Stubbed out an overdrive effect using tanhf() or atanf(). Not great but interesting. A little ringy.
10:21:52 PM Cmd 89 Sure.
01:48:32 PM Cmd 88 Oh yeah, I guess I should link this too.
01:10:23 PM Cmd 87 Added an opt-out for effects on playback and WAV export, and removed the plus-one on the timeline because I don't think it's necessary or desirable, but I guess we'll find out.
01:09:29 PM Nerd 5177 Added this anchor back because I always want it.
12:57:32 PM Cmd 86 NERD-219: Generalizing hardcoded values.
12:55:56 PM Nerd 5176 NERD-219: Trying to remove as many hardcoded numbers (4, 15, 16) as possible from the synth. Replacing these with namespaced static constexprs.
Monday, December 23, 2024
09:45:19 PM Nerd 5175 NERD-219: Some comments and superficial type changes in service of rewriting CBufferElement as a signed short instead of a float in the future, maybe, probably.
09:55:32 AM Boop 320 NESTER Sure, I guess I never checked this in. Some debug stuff to track min/max values.
Sunday, December 22, 2024
10:18:05 PM Nerd 5174 NERD-219: Couple more things.
10:00:14 PM Cmd 85 Updated ISampleRateProvider include.
09:59:22 PM Nerd 5173 NERD-219: Inlined some stuff.
09:33:28 PM Cmd 84 NERD-219: Added play and write functionality.
09:31:43 PM Cmd 83 Filter and user files. I guess I'll start making these a thing I check in? User files seems weird but they don't seem to contain anything I wouldn't want versioned.
09:22:44 PM Nerd 5172 Added filter and user files.
09:18:59 PM Nerd 5171 NERD-219: Initialize the synthesizer just before the audio manager. It doesn't really matter when this is done or whether it will be used at all. This may go somewhere else in the future but this is fine for now.
09:11:53 PM Nerd 5170 NERD-219: All right, this is the big update that reorganizes a lot of stuff add restores WAV output for synth players.
08:53:59 PM Nerd 5169 NERD-219: Whitespace.
08:49:45 PM Nerd 5168 NERD-219: Made a bunch of NMultiSynth functions non-virtual.
08:48:00 PM Nerd 5167 NERD-219: More renames.
08:46:41 PM Nerd 5166 NERD-219: Renamed TunesPlaying to TunePlayers.
08:40:05 PM Nerd 5165 NERD-219: Whoops, this was supposed to be part of that last checkin.
08:39:06 PM Nerd 5164 NERD-219: Removed BoopTool audio messages that I'm not using anymore. These were for authoring a tune an element at a time as it played, which wasn't a great idea.
08:37:29 PM Nerd 5163 NERD-219: Comments on the distinction between samples (per channel) and blocks (across all channels).
08:36:30 PM Nerd 5162 NERD-219: Comment. I need to revisit audio event logs. They might be impacting memory after a long session.
08:35:22 PM Nerd 5161 NERD-219: Added an inverter audio effect. No real purpose except for testing.
08:34:17 PM Nerd 5160 NERD-219: Some asserts and such.
08:32:35 PM Nerd 5159 NERD-219: Added ISampleRateProvider to inform audio effects of the owner's sample rate. Only implemented by NAudioBus for now.
08:26:24 PM Nerd 5158 NERD-219: Renamed NM2Tune_Playing to NM2TunePlayer.
08:22:48 PM Nerd 5157 NERD-219: Added a new constructor for NWaveFileHeader that takes in an audio format and a number of samples. Added SaveWAVHeader() for parity with LoadWAVHeader().
08:17:07 PM Nerd 5156 NERD-219: Renamed InitForBus() to InitForOwner(). This will be followed by the introduction of an ISampleRateProvider interface, but I'm taking things a piece at a time so it's easier to verify changes. (I've made a bunch of changes in BoopTool and now I'm recreating those changes in Verse a little at a time, and I'll bring them back to BoopTool as I go, merging when necessary.)
Thursday, December 19, 2024
08:21:41 PM Cmd 82 More cleanup.
07:33:02 PM Cmd 81 More cleanup, export using streams.
07:32:36 PM Nerd 5155 Added NPath::ChangeExtension().
07:13:26 PM Cmd 80 Big cleanup, no functional changes.
Wednesday, December 18, 2024
10:57:24 PM Cmd 79 Whoop.
10:57:08 PM Cmd 78 One step closer.
08:43:17 PM Nerd 5154 Okay, closer to parity.
08:05:38 PM Cmd 77 Interim checkin. Not all the way there, file output isn't 1:1 and playback loops too soon. Seems like some elements are being missed at the end of the timeline. (Or the start?)
08:04:37 PM Nerd 5153 Added Extended_BoopTool_HandOffNM2Tune for BoopTool.
08:04:25 PM Nerd 5152 Comments.
08:04:12 PM Nerd 5151 Added NM2Pack. Also comments on some cleanup needed. FRAMES_PER_SECOND and FRAME_THRESHOLD are bad and need to be revised.
Sunday, December 15, 2024
01:10:05 AM Cmd 76 Moved a lot of stuff around, got rid of all the globals, kind of. Now everything is nested objects. Still not great but closer to what it needs to be.
10:13:45 PM Cmd 75 This isn't done yet but I've made a lot of progress. Most everything related to the tools-side playback has been removed or commented out. NM2 output has been restored, albeit with some small binary differences I haven't tracked down yet, likely due to the removal of generation-time time-smoothing. Much more to do, but this is a good place to check in progress for the weekend. Switched STL types to custom types, etc.
07:28:44 PM Nerd 5150 NERD-219: Updated NMS time-smoothing to use floats. This smoothing is still applied within the integer space of the channel, prior to mixing, which is a change from how things used to work circa Xanadu, etc., but it is effective in eliminating blips, even at only 0.001s as compared to the legacy 0.005s. Importantly, this is also no longer sample rate dependent.
07:18:25 PM Nerd 5149 Whitespace.
Sunday, December 08, 2024
01:26:23 PM Nerd 5148 NERD-222: Comments on some color space bugs I probably introduced recently. Sigh.
Saturday, December 07, 2024
07:30:28 PM Jkylecom 180 Replaced Twitter links with Bsky links. Untested.
Tuesday, November 26, 2024
10:14:19 AM Nerd 5147 Correction.
Monday, November 25, 2024
12:21:29 AM Nerd 5146 Two related changes: Convert between linear and sRGB when going between HSV and Color32f, and improved the conversion from Color32f to HSV which had some bugs around red / zero degrees.
12:07:09 AM Nerd 5145 Comment.
Saturday, November 23, 2024
10:03:13 AM Nerd 5144 More comments on sorting.
Friday, November 22, 2024
12:03:35 AM Nerd 5143 Some quicksort tweaks.
11:58:33 PM Nerd 5142 Comments on blue noise generation.
11:57:21 PM Nerd 5141 Comment on a macro I don't use in the engine and probably shouldn't!
11:56:50 PM Nerd 5140 Added an optional ratio to the unsorting function. This is INV_PHI (0.618) by default.
Sunday, November 03, 2024
09:12:54 AM Nerd 5139 Generalized Latin squares to arbitrary dimensions.
Saturday, November 02, 2024
08:28:54 PM Cmd 74 Couple things that didn't get checked in earlier.
08:18:29 PM Nerd 5138 NERD-215: Added F11 as a fullscreen key. Should probably be reserved from control bindings.
08:01:09 PM Nerd 5137 NERD-220: Moved inlined functions that were incorrectly placed in .cpp files to .inl files included at the end of their respective headers.
06:55:21 PM Nerd 5136 Couple more LegacySwap() renames.
06:51:33 PM Nerd 5135 Renamed the legacy Swap() function to LegacySwap().
06:50:04 PM Nerd 5134 NERD-218: Added an NAlgorithm namespace to subsume functions like QSDefaultCompare (now NAlgorithm::Compare) and QSSwap/BSSwap (now NAlgorithm::Swap). This should replace the legacy Swap() function which instantiates a new object and does whatever the assignment operator does to copy elements. This one is a byte-by-byte swap that requires no instantation.
06:15:36 PM Nerd 5133 Removed base game synchronous audio thread support.
06:15:20 PM Nerd 5132 Added a Latin square sampler that treats the values as angles and produces a 2D normal.
Wednesday, October 23, 2024
08:01:25 PM Nerd 5131 NERD-212: Removed synchronous thread support. lol!
07:50:47 PM Cmd 73 Set loop point at end of live stream.
07:50:27 PM Nerd 5130 Added support for setting looping and loop points in live streaming NMS tunes.
Tuesday, October 22, 2024
09:54:21 PM Cmd 72 Just open palm slamming this into the build because it's not gonna get any better until I really sit down and strip out all the comments and rewrite it for NM3 output.
09:00:33 PM Nerd 5129 Comment/anchor.
Sunday, October 20, 2024
07:42:49 PM Nerd 5128 Updates to support BoopTool and more. Added message types and instrumentation for BoopTool real-time NM2 authoring. Added support for loose files on disk for wave playback in tools.
07:38:25 PM Nerd 5127 Couple tweaks for legibility and debugging.
07:36:58 PM Nerd 5126 Comment.
07:36:45 PM Nerd 5125 Assert.
07:36:11 PM Nerd 5124 Comment.
07:12:25 PM Nerd 5123 When using a file locator to open a file stream, assume that an offset of zero indicates a loose file on disk.
07:11:42 PM Nerd 5122 Updated NPackFileMgr::GetFileLocator() to optionally (and not by default) retrieve a file locator for a loose file on disk. Corrected an unrelated tyop.
07:09:46 PM Nerd 5121 Added a new GetFileSize() that's pretty much the same as the old one. I had removed this in r4590 but I still need it for unpacked files.
06:24:38 PM Cmd 71 Updated inst.xml to match the (believed correct) settings for "Of Sleep."
Saturday, October 12, 2024
08:00:40 PM Nerd 5120 Added a Latin square class and sampler for procgen stuff.
07:54:23 PM Nerd 5119 Added an "unsorting" function that reorders an array non-randomly using a golden spiral such that like elements are kept as distant as possible. A follow-up change will update the project to include this and upcoming Latin square work.
07:50:03 PM Nerd 5118 Added my own Modf() function that plays better with negative numbers, like my own Mod().
07:49:10 PM Nerd 5117 Couple more size_ts that should be nsize_t.
07:48:48 PM Nerd 5116 NERD-218: Comment on future work.
07:47:43 PM Nerd 5115 Converted some size_t types to nsize_t.
Sunday, September 08, 2024
09:46:16 PM Cmd 70 NERD-212: A lot of changes from a while ago to make the audio thread synchronous and update Boop to the latest tools thread format. Doesn't produce audio, not sure whether it did before. Will need to roll back to find out. (Not sure when these changes were originally made, likely closer to when NERD-212 was written.) Leaving this is basically whatever state it was in, some things commented out, worth reviewing in the future.
09:31:36 PM Nerd 5114 NERD-212: Added NAudioMgr::SetSynchronous(). Must be called prior to instantiation.
Wednesday, August 14, 2024
06:45:14 PM Cmd 69 NERD-212: Added NERD Audio to Boop dependencies. Working on making this work with a synchronous NAudioMgr but it's not all the way there yet.
06:38:34 PM Cmd 68 NERD-212: Updates to NThread function signatures.
06:35:25 PM Nerd 5113 NERD-212: Couple changes left over from when I was making threads synchronous.
Tuesday, August 06, 2024
02:01:46 PM Jkylecom 179 Updated my profile picture.
Wednesday, July 24, 2024
08:04:20 PM Nerd 5112 Removed old comment.
08:03:30 PM Nerd 5111 Added FinExecuteTasks().
07:56:45 PM Nerd 5110 Fixed that synchronous thread object issue (was computing fSynchronousSleepTime every tick, not only when awake, which was causing the thread to wake early) and fixed a couple other things.
06:28:36 PM Nerd 5109 This isn't ready to go yet. I feel like I'm getting too many dropouts too consistently, this isn't 1:1 with what I had before. But I'm checking it in so I can roll back to the previous version and look at the audio health reports.
Tuesday, July 23, 2024
06:50:09 PM Scripts 4 Updates.
Monday, July 22, 2024
12:05:48 AM Nerd 5108 NERD-212: Revised the API for threads to cache off the incoming void* data before launching the thread so it doesn't need to be handed off all the time and added a templated getter. This also obviates NThreadHeader.
11:22:50 PM Nerd 5107 NERD-212: Generalized synchronous thread shutdown-and-wait.
11:07:11 PM Nerd 5106 Comments.
10:39:32 PM Nerd 5105 NERD-212: Added the option for thread objects to run synchronously, effectively opting out of their thread-ness and simply functioning as objects to be managed by the caller. I'll want to bring some of the work from NAudioMgr into NThread, all the fake sleep stuff, but this is a good start.
08:40:16 PM Nerd 5104 Added HAS_ANY_FLAGS and HAS_ALL_FLAGS macros. Weird that I hadn't done this before!
08:11:50 PM Nerd 5103 Removed PCSpeaker from ESynthType, which only leaves the multisynth. Whatever.
08:11:26 PM Nerd 5102 Merged in the audio bus console commands from the NERD-212 shelf, which also includes the change to test whether the current thread has access to a thread object. This does not yet include synchronous thread objects.
07:52:39 PM Nerd 5101 NERD-212 Shelving everything for NERD-212 all at once, then I'll bring these back into main a bit at a time.
07:47:55 PM Nerd 5100 NERD-212 Branching/shelving for NERD-212. Branching from head instead of working copy so I can check these changes in across a few separate changes.
06:51:42 PM Nerd 5099 These can be const.
Thursday, July 18, 2024
09:22:44 PM Boop 319 NESTER Updated to use NFileStreams.
Tuesday, July 16, 2024
10:50:40 PM Boop 318 NESTER Updated for latest Rewave changes.
10:49:46 PM Rewave 33 NESTER Split the NDM sample rate into separate encoding and playback rates. Set here to pitch things up a bit.
08:00:09 AM Boop 317 NESTER Getting DPCM samples playing in this old branch. It works! It sounds like it's supposed to! I was just doing something wrong last time!
Monday, July 15, 2024
10:21:29 PM Rewave 32 NESTER Couple small things, no changes to the NDM format.
Sunday, July 14, 2024
09:18:46 PM Rewave 31 NESTER Cleaned up a bunch of stuff, added tails to zero, stripped excess leading and trailing zeroes, replaced the optional "step back twice" with repeated iterations until the envelope size does not change. Needs command-line and/or text file rules for options but this is getting close to being done-done.
04:51:43 PM Rewave 30 NESTER Added reverse delta encoding. Doesn't really improve things much tbh, I'd need a proper hinting/reconcile phase to really hit the full peaks.
03:46:44 PM Rewave 29 NESTER Verified that this can work for 8-bit output if I want. But I'll probably go lower (5 or 6) for aesthetics.
12:43:29 PM Rewave 28 NESTER Got upper bounds working as a generalization of lower bounds. Just about ready to bit crush and delta compress the grounded [0,1] data!
11:16:46 AM Rewave 27 NESTER Rewrote the envelope algorithm to be iterative for simplicity. Seems to generate the same data, or at least good data.
10:12:33 AM Rewave 26 NESTER Initial checkin of lower bounds envelope. This works but it can probably be improved.
09:49:05 AM Rewave 25 NESTER Made RewaveHeader::Write() const and added a type for envelope bounds. Big change to follow.
Saturday, July 13, 2024
09:43:13 AM Rewave 24 NESTER Updated to latest engine version and fixed some bugs.
Wednesday, July 10, 2024
08:50:23 PM Nerd 5098 Weird that this hadn't been causing errors before! D:
08:50:01 PM Rewave 23 NESTER Brought this up to current engine and IDE versions.
08:49:45 PM Boop 316 NESTER Brought this up to current engine and IDE versions.
Tuesday, July 09, 2024
11:41:31 PM Cmd 67 Updating Boop to use NFileStreams.
11:09:51 PM Nerd 5097 Couple updates to improve MIDI file format support for Boop.
Sunday, July 07, 2024
10:57:36 PM Nerd 5096 Copied updated tools to engine.
10:57:14 PM Cmd 66 Updated all executables.
10:56:54 PM Cmd 65 Not sure how these slipped through.
10:56:40 PM Nerd 5095 Need this for Gloss.
10:56:07 PM Cmd 64 NERD-190: Fixing up command-line tools to play nice with engine changes, specifically adding NCoreSettings to NCore. All tools are now derived from an NBaseTool which is analogous to NBaseGame. Bit of an inversion on how these have historically worked, but very little code has changed. These are largely untested though.
09:19:35 PM Cmd 63 Added sample content and a link to legacy content.
09:18:15 PM Nerd 5094 Oops, this should have been part of the last commit.
09:17:46 PM Nerd 5093 Renamed NTools to NBaseTool and set it up roughly the same as NBaseGame, launched with a RUN_NERD_TOOL() macro. This will require rewriting all command line tools as subclasses of this. (Already in progress or done.)
09:11:29 PM Cmd 62 Added src folder.
04:57:55 PM Cmd 61 These are all raising warning C4706 (assignment used as a condition) which normally is no problem so I'm not sure why it is here.
Sunday, June 30, 2024
08:57:33 PM Verseedit 89 VERSEWOOD \ XAN3 \ CANON Added ResourceLocation, an extrapolation of "kernelness" intended to segment different parts of data into separate GUID blocks. In many cases, kernelness simply goes away because GUIDs imply ResourceLocation.
Sunday, June 23, 2024
10:05:48 PM Verseedit 88 VERSEWOOD \ XAN3 \ CANON Separated GUIDs by campaign/kernel. Needs more cleanup for toggling kernelness of resources, will look into that as part of the reference graph.
Saturday, June 22, 2024
09:13:30 PM Verseedit 87 VERSEWOOD \ XAN3 \ CANON CANON-73, CANON-74: Added version number to campaign and kernel data. Added automation for fixing up legacy data to rename "palettes" to "tilesets" and "subpalettes" to "palettes." The big change here is that GetGUIDFromName() now takes in an optional referencer (which may be null if it's just the campaign loaded the datum) and a type hint to validate the resolved redirector. This will likely go away in the context of a referencer graph, but we'll see.
08:59:10 PM Verseedit 86 VERSEWOOD \ XAN3 \ CANON Added a readme and versioned the app.config file, whatever that is.
Thursday, June 20, 2024
10:04:59 PM Verseedit 85 VERSEWOOD \ XAN3 \ CANON Reworking this for one monitor again.
10:04:40 PM Verseedit 84 VERSEWOOD \ XAN3 \ CANON A couple older changes I hadn't checked in. Whoops!
Monday, June 17, 2024
06:15:15 PM Verse 532 VERSEWOOD \ SMOL Updates for latest engine changes.
Sunday, June 16, 2024
08:48:07 AM Verse 531 VERSEWOOD \ XAN3 \ CANON CANON-70: Comment.
Saturday, May 18, 2024
10:00:27 PM Verse 530 VERSEWOOD \ XAN3 \ CANON CANON-70: Added a comment on this.
09:59:57 PM Verse 529 VERSEWOOD \ XAN3 \ CANON Updates for latest engine changes. Weird I hadn't already done this. Wonder if I missed any others.
Thursday, April 25, 2024
08:33:26 PM Verse 528 Better colors.
08:14:39 PM Verse 527 Redid the placeholder graybox mesh, removed the wireframe.
Sunday, April 07, 2024
04:43:56 PM Nerd 5092 Updated the hue pushing algorithm to target different hues by luma, so I can amp up the teals in the darks and oranges in the lights, for instance.
02:13:20 PM Nerd 5091 Fixes for the hue pushing algorithm to support a single hue.
09:23:53 AM Nerd 5090 Comments on where the color grading / hue pushing algorithm could go next.
09:15:39 AM Nerd 5089 NERD-48: "Bork" -> "break."

Return to SVN Tools