Return to SVN Tools

As of 06:05:16 AM on Friday, May 29, 2026, the most recent weeks' worth of commit messages are as follows:

Monday, May 25, 2026
11:07:57 PM Atlas 61 Updates for latest engine version.
10:42:17 PM Atlas 60 Updated copyright year.
Sunday, May 24, 2026
04:44:24 PM Verse 549 Cleanup for latest engine changes.
04:43:58 PM Nerd 5391 These should be added so they don't stomp over externally assigned callback functions. (Note that the results may stomp over others though. Might be better to assert that these are empty before assigning so the caller is aware?)
04:41:57 PM Nerd 5390 These need quickfind.
04:16:25 PM Verse 548 Updates for engine changes that I never committed.

04:15:13 PM Verse 547 VERSEWOOD \ XAN3 \ CANON Updates for engine changes that I never committed.
Monday, May 18, 2026
01:46:39 AM Nerd 5389 NERD-85, NERD-175: Initial checkin of Carte, the new menu system. This is mostly just a stub class but this also includes a change to tickables to allow the usage of the general-purpose Tick() in place of Tick_CalcUpdate() and Tick_CommitUpdate().
Friday, May 15, 2026
11:01:15 PM Nerd 5388 Couple audio bugs when a stream doesn't exist.
Thursday, May 14, 2026
11:54:30 PM Nerd 5387 That last checkin really should've followed this one, but here we are. Moved DestroyAllAudioBuses() to the audio thread. Removed ShutDownStreamingSounds(). Locked access to game thread mappings. Added a function to remove a sampler from all contexts (in this case meaning the event log and game thread mappings). Restricted NAudioMgr::CanShutDown() further to wait until everything except buses and the resource map are freed.
11:10:32 PM Nerd 5386 :)
11:03:04 PM Nerd 5385 Added an optional WaitingForShutdown() thread function. It turns out I didn't need this to fix the audio bug I'm looking at tonight, but it feels like a good thing to have anyway.
Tuesday, May 12, 2026
09:11:15 PM Quasar 57 [Automated Build Checkin]

Project Quasar (56) - NERD (5384) - 2026-05-12_21-11
09:08:01 PM Quasar 56 [Automated Build Checkin]

Project Quasar (55) - NERD (5384) - 2026-05-12_21-07
09:07:30 PM Nerd 5384 Latest updates. Checkmate has changed to use "ProjectTitle" instead of "ProjectName." Not sure what else.
09:06:32 PM Cmd 138 WELL,
09:00:37 PM Quasar 55 Huh.
09:00:08 PM Quasar 54 Huh.
08:57:16 PM Quasar 53 [Automated Build Checkin]

Project Quasar (52) - NERD (5383) - 2026-05-12_20-57
08:55:57 PM Quasar 52 [Automated Build Checkin]

Project Quasar (51) - NERD (5383) - 2026-05-12_20-55
08:54:21 PM Quasar 51 [Automated Build Checkin]

Project Quasar (50) - NERD (5383) - 2026-05-12_20-54
08:49:33 PM Quasar 50 [Automated Build Checkin]

Project Quasar (49) - NERD (5383) - 2026-05-12_20-49
07:47:06 PM Quasar 49 lol OKAY
07:45:43 PM Quasar 48 Whoop, there we go.
07:42:28 PM Quasar 47 Guess I'm calling it here.
07:42:17 PM Nerd 5383 Couple entity factory improvements. More to do in the future.
09:27:58 AM Quasar 46 Last couple days' worth of work.
09:25:28 AM Nerd 5382 NERD-251: Checking this in for the test but this always asserts on shutdown and it is not ready to go.
Sunday, May 10, 2026
09:07:11 PM Quasar 45 Initial implementation of audio. It's bad! It makes the experience actively worse!
Saturday, May 09, 2026
02:15:06 AM Quasar 44 Okay I'm calling it for tonight.
09:28:33 PM Quasar 43 More level work.
08:28:40 PM Quasar 42 Better degradation.
08:21:22 PM Quasar 41 Whoop.
08:12:26 PM Quasar 40 Backdrop color by angle and squash and stretch improvement for double jump.
08:11:46 PM Nerd 5381 Comment. Not sure yet.
05:14:18 PM Quasar 39 Getting a first level built.
05:11:48 PM Nerd 5380 Fixed a collision bug.
03:05:59 PM Quasar 38 More polish.
02:48:26 PM Quasar 37 Moved this to the namespace.
02:39:51 PM Quasar 36 Double jump is instant fun, someone said once.
02:39:25 PM Nerd 5379 Adjusting max jump count should adjust remaining jumps too.
02:13:01 PM Quasar 35 Lots of work on transitions between stages.
11:18:19 AM Quasar 34 Use the non-serializable save slot.
11:18:04 AM Nerd 5378 Added support for a non-serializable save slot which operates like a normal save slot but never serializes data to or from disk.
11:03:54 AM Nerd 5377 Hey wow it's a case I hadn't needed before. There are more bits of data in here I could blend in the future if I need to.
10:54:31 AM Quasar 33 Stuff from last night to test physics degradation.
Friday, May 08, 2026
11:14:46 PM Quasar 32 Testing FOV changes, needs an actual implementation.
10:08:38 PM Quasar 31 Getting game font working.
09:27:20 PM Quasar 30 Stubbed out a new pre-HUD pass material to handle desaturation, vignetting, and fade-out.
09:04:15 PM Quasar 29 Added a new menu underlay and the Open Sans font, plus control bindings strings and some initial "despair" stuff.
08:42:50 PM Nerd 5376 Comment.
06:54:55 PM Nerd 5375 Improvements to camera pitch limits. For better or worse, I've preserved the API such that "max angle up" and "max angle down" are both usually positive numbers that default to 89 degrees, but now I have support for allowing them to go negative, clamping the pitch above or below the horizon. I've also improved the zenith overshoot case.
06:52:02 PM Nerd 5374 Comments on render path and pre-HUD pass material.
Thursday, May 07, 2026
08:55:57 PM Quasar 28 New splash image and no center switch in the penultimate level.
08:49:30 PM Quasar 27 Getting some naming stuff in place.
08:37:34 PM Quasar 26 Getting a penultimate level implemented.
Wednesday, May 06, 2026
09:58:49 PM Quasar 25 Comments.
09:55:32 PM Quasar 24 Getting multiple levels working.
09:55:16 PM Nerd 5373 It should be safe to use these without a controller, e.g., for using a sphere as a trace primitive.
08:04:53 PM Quasar 23 Getting ascension working.
07:08:01 PM Quasar 22 Work from last night. All hacks.
Tuesday, May 05, 2026
09:00:18 PM Nerd 5372 Comments on physical materials and an affordance for the hit primitive to override the physmat in the same way the sweeper can. All hacks all the way down.
Monday, May 04, 2026
09:55:28 PM Quasar 21 Getting teleporter beams working.
08:23:39 PM Quasar 20 Fixed that camera bug and stuff.
Sunday, May 03, 2026
11:20:18 PM Quasar 19 Getting aura particles and camera tilt on jumping working. Rough but,
Friday, May 01, 2026
09:16:08 AM Quasar 18 Texture scaling and background color stuff I forgot to check in last night.
Thursday, April 30, 2026
12:16:40 AM Quasar 17 Game feel tuning.
11:29:04 PM Quasar 16 Dinking around with level scale.
11:06:55 PM Quasar 15 Getting a first interactive thingy ("switch") stubbed out. Needs VFX to contextualize the area of effect when jumping to activate things.
07:49:40 PM Quasar 14 Camera easing and revised physics metrics.
Tuesday, April 28, 2026
12:12:11 AM Quasar 13 More better is.
11:47:19 PM Quasar 12 Squash AND stretch? In this economy?
09:47:39 PM Quasar 11 Simple environment and camera collision.
09:47:20 PM Nerd 5371 Switch box-point collision implementation based on space dimensions, to support both 2D and 3D games. Added scaling to the 3D implementation.
09:15:57 PM Nerd 5370 Oop.
08:46:55 PM Nerd 5369 Finally added stencil support for GL, lol.
07:46:38 PM Quasar 10 Added a stencil shadow for the player specifically.
07:45:06 PM Nerd 5368 Let's not show this warning if we didn't find the thing, only if we did.
Sunday, April 26, 2026
04:13:48 PM Quasar 9 First couple days of work.
03:31:51 PM Nerd 5367 Implemented sphere-box collision. Based on the capsule-box implementation. Likely needs more work, this is being done quickly for Quasar (thatgamecompany design test prototype) and has not been tested as thoroughly as I'd like.
03:29:19 PM Nerd 5366 Added spring smoothing functions for vector types. Would be neat to support this for quaternions too but I don't usually track rotational velocity and I'm not sure there would be a simple Slerp() wrapper like the basic exponential decay function.
03:23:40 PM Nerd 5365 Added an OnMoved delegate so external sources can react to the movement component moving a thing.
03:22:55 PM Nerd 5364 Comment.
03:22:33 PM Nerd 5363 Migrated some copy/paste code to a common location. Should be fine but I'll want to test the case of point colliders more.
03:16:30 PM Nerd 5362 Updated the IColliderInformant interface functions to take in a collider for context, as one informant (controller) may manage multiple colliders.
03:09:24 PM Nerd 5361 Fixed a typo. This function is unused anyway.
03:03:17 PM Empty 68 Updates for latest.
03:02:57 PM Nerd 5360 Added a warning if an entity is looked up by GUID and does not have the quickfind tag. This warning is muted during entity creation because we will not yet have added it to the set of quickfind entities, and debug builds look up the incoming GUID before assignment to make sure it is not already used for a different entity.
03:01:37 PM Nerd 5359 Updates to typed handles. I thought for some reason I wasn't able to have a typed handle constructor that just takes in a handle, but I guess I can, and I should have enough information to validate it.
02:27:31 PM Empty 67 More experiment stuff.
02:27:05 PM Nerd 5358 I'm checking this in for the sake of having a reference for it if I ever want to revisit it, but it's not super useful.
Thursday, April 23, 2026
07:57:05 PM Quasar 8 Couple more missing things.
07:56:52 PM Empty 66 Okay there.
07:54:09 PM Empty 65 Oh hey, this can't be blank.
07:50:26 PM Quasar 7 Removed experiments.
07:48:34 PM Dev 144 Updates.
07:46:53 PM Quasar 6 Version update, not versioning the packs yet.
07:44:48 PM Quasar 5 Updates missing from Empty_Project before copying.
07:42:24 PM Empty 64 Updates for reverse z-buffer.
07:35:52 PM Quasar 4 Initial setup.
07:33:51 PM Quasar 3 Added the NERD external.
07:32:49 PM Quasar 2 Initial checkin, copied from Empty_Project.
07:30:37 PM Quasar 1 Initial structure.
Tuesday, April 07, 2026
10:38:49 PM Atlas 59 Added worldspace-scaled texture.
Tuesday, March 31, 2026
09:10:55 PM Atlas 58 Unified height values between CPU and GPU and more.
Wednesday, March 25, 2026
12:24:51 AM Atlas 57 Getting saving and loading working. All hardcoded paths, no packed support, but it's working.
12:15:45 AM Nerd 5357 Yeah I guess for consistency it should be this.
08:04:05 PM Atlas 56 Laying some groundwork for terrain mapper memory management.
Saturday, March 21, 2026
03:47:47 PM Atlas 55 Mapper data is now dynamically allocated. The coarsest layer blends to a fixed height.
Wednesday, March 18, 2026
09:37:14 AM Atlas 54 There's going to be a lot of cleanup to do here, but I gotta check this in so I can move on to testing actual 32-bit height values without packing.
Monday, March 16, 2026
07:55:00 PM Atlas 53 Added surface texturing and a few other small changes.
11:22:00 AM Atlas 52 First implementation of the mapper. Lots of assumptions about height and texture packing in here but it proves the concept.
10:15:08 AM Atlas 51 Commented out FXAA test texture code.
Sunday, March 15, 2026
09:50:04 AM Atlas 50 Added surface texture.
09:49:52 AM Atlas 49 Updated copyright year.
09:48:30 AM Nerd 5356 Added support for anisotropic filtering. This mostly already works in D3D; the texture sampler just needs to specify, e.g., MinFilter = Anisotropic, MagFilter = Anisotropic, MaxAnisotropy = 16. It's probably safe to assume any modern GPU supports 16x anisotropy, right?
09:47:00 AM Nerd 5355 Updated copyright year (from 2024 lol).
Thursday, March 12, 2026
08:16:35 PM Atlas 48 Unversioned the pack files. I can bring these back when and if I start porting to other platforms.
08:15:46 PM Atlas 47 Couple last little things before I start working on the terrain backend.
Sunday, March 08, 2026
10:52:15 PM Atlas 46 Medium settings are probably fine.
10:22:59 PM Atlas 45 Getting distance fog working with an infinite reverse z-buffer again. Seems like W is what I want here.
09:51:49 PM Atlas 44 Some cleanup, moving terrain instance creation to an internal function that takes in a template function object to run for each instance.
09:18:43 PM Atlas 43 Eh, I'll leave this off for now.
09:12:32 PM Atlas 42 Brought over FXAA from TulpaThree and made some improvements.
09:04:57 PM Atlas 41 Going back to image heightmap terrain.
09:04:42 PM Atlas 40 Added an off-center projection. Pretty aggressive right now (golden ratio), just for funsies.
08:38:59 PM Nerd 5354 Introduced a path for the derived game to inject a postprocess step between VBB1 and VBB2, by allowing the game to override which RTT the pre-HUD pass samples from.
Saturday, March 07, 2026
09:13:11 PM Atlas 39 More generalizations such that GetDefaultBackdropDepth() is the authority of reversing the depth buffer.
09:00:25 PM Atlas 38 Getting a reverse z-buffer working.
08:59:34 PM Nerd 5353 Added support for reverse z-buffers. Does not work reliably in GL. Oh well!
Thursday, March 05, 2026
12:04:04 AM Atlas 37 Scale tests with an input height map. Fixed blend ranges.
Wednesday, March 04, 2026
09:44:48 PM Atlas 36 Got terrain levels blending out by height.
04:00:37 PM Atlas 35 Generalized a bunch of scale stuff. This should be a good base to start working on blending by height next.
10:53:23 AM Atlas 34 Getting some more things scaled correctly. This mostly works but there are some depth buffers problems now.
09:26:19 AM Atlas 33 Removed the PreTransform matrix in favor of forging a combination world-view matrix wrapping the actual camera position to the four immediate cells of the current level. The next step will be to keep the vertices at integer units and only apply scaling in this forged world matrix.
Tuesday, March 03, 2026
10:48:26 PM Atlas 32 Fixed up that blend radius scaling issue I forgot about last night, and made the background clear color and height gradient match the Verse32 off-black and off-white bounds.
10:41:59 PM Nerd 5352 Comment.
Monday, March 02, 2026
11:47:50 PM Atlas 31 NERD-247: Smoothing out blending between transitions, corrected some math on the circle gate. I think I can get rid of the blend verts in the vertex buffer.
07:37:53 PM Atlas 30 First pass of blending between levels, plus improved index buffer layouts that alternate split directions.
07:37:11 PM Nerd 5351 Added accessor for user slomo. This is not factored into time dilation, which is an actual shipping game feature and historically has only been used for like...Xanadu boss intros and the ending of Tulpa, I think?
Sunday, March 01, 2026
10:52:11 PM Atlas 29 Added console commands to lock and unlock the terrain observer position.
10:18:53 PM Atlas 28 Added degenerate triangles to fix gaps between levels of detail. Not the cleanest algorithm but it seems to work.
08:39:01 PM Atlas 27 NERD-247: Dirty rectangles for texture updates, plus texture packing into all four channels, which is really unnecessary but a good place to start.
08:37:30 PM Cmd 137 Potential solution to vertex textures in GLSL. I don't have a whole lot of confidence in this. It works on my machine, but that is never a guarantee with GL.
09:11:43 AM Atlas 26 Back to one vertex buffer for all levels.
Saturday, February 28, 2026
07:06:38 PM Atlas 25 Initial implementation of terrain texture, not yet moved to the vertex shader.
12:22:17 PM Atlas 24 NERD-247: Initial checkin of terrain. If this pans out, it will be eligible for promotion to NERD. This also includes some older code that I had never checked in where I was getting Enodia node objects stubbed out. That led to discovering a pretty severe collision bug (NERD-245) and then I never checked it in. So that's here now. Some of it is commented out because I was tired of hitting those capsules with the mouse all the time.
12:04:20 PM Nerd 5350 NERD-238: Added asset dependency support. Will warn in the case of mutual dependencies.
12:03:00 PM Nerd 5349 Apparently I never added this to the project.
12:02:09 PM Nerd 5348 Ignore glsl output.
12:01:22 PM Nerd 5347 Unversioned output folders. Pretty sure these will be generated automatically and don't need to be stubbed out, and I never want to version anything in them, because that's all data that's generated by rebuilding content for packaging.
11:56:26 AM Nerd 5346 First pass of NFunc, a templated function wrapper in the style of std::function. This does not yet support copy, assignment, etc.
11:54:53 AM Nerd 5345 NERD-246: Some changes to try to catch a seen-once assert in user data transaction at startup.
11:53:19 AM Nerd 5344 Removed an unfinished comment.
11:51:31 AM Nerd 5343 Added NTransform::ToMatrix(). The multiplication order seems backward to me. I thought these went right to left, but I guess not?
Saturday, December 27, 2025
04:46:45 PM Nerd 5342 Rolling back r5339 (adding radius to thick surface test). It's a solid idea but the implementation for cylinders was broken and there's too many other problems with this logic. I'll want to revisit this in the future (NERD-245) but I'm not there yet.
04:42:07 PM Nerd 5341 Comment.
04:41:16 PM Nerd 5340 Comment.
Sunday, December 21, 2025
12:14:38 AM Nerd 5339 Added a radius parameter to the thick surface test. Feels kinda risky buuuuuuut also this has felt like a problem since...Drome? Was that Spectre Shock / The Understory?
11:46:01 PM Nerd 5338 Implemented point-sphere intersections.
11:41:42 PM Nerd 5337 Made ThickSurfaceTest() a static function of NCollisionSpace.
11:37:19 PM Nerd 5336 ECollisionCleanup -> FCollisionCleanup
11:34:45 PM Nerd 5335 Comment on future changes to the entity factor for predominantly code-based projects.
11:33:42 PM Nerd 5334 Here's those NPrims.h -> NPrimGen.h includes.
11:30:43 PM Nerd 5333 Renamed NPrims to NPrimGen. This change does not include anything that includes this header, meaning this will break the build, but I can't shelve these apparently and I have other changes to sort out. It's fine. Whatever.
11:18:15 PM Nerd 5332 Same changes but for the mutable version.
01:45:37 PM Nerd 5331 Stubbed out an NTransform type. Will need some work.
Saturday, December 20, 2025
08:43:58 PM Atlas 23 Test of the new Trace() function.
06:07:45 PM Nerd 5330 Some improvements to trace primitives. Added NCollisionSpace::Trace() to perform arbitrary line traces without the need for a bespoke primitive. These use a globally accessible point primitive instead.
Saturday, December 06, 2025
09:40:04 AM Empty 63 More work on this triangulation thing.
09:39:46 AM Nerd 5329 Another comment.
Tuesday, December 02, 2025
10:02:21 PM Empty 62 Added triangulation experiment for Atlas.
10:02:02 PM Nerd 5328 Comment.
Wednesday, November 05, 2025
10:16:09 PM Nerd 5327 lol oops
Monday, November 03, 2025
09:38:56 PM Atlas 22 Threshold on mouse movement before hiding the cursor.
09:25:15 PM Atlas 21 Dinking around with stuff and things and stuff.
09:21:50 PM Nerd 5326 Disallowing serialization by not populating save slots doesn't currently work, so for now I've added asserts to ensure this doesn't happen and comments on how it could be supported. Mostly this comes down to IsSessionOpen() requiring a non-null save slot.
Saturday, November 01, 2025
10:44:59 PM Nerd 5325 Fixed a bug when a visible cursor is desired by default, and renamed this property for accuracy.
09:18:15 PM Empty 61 Better.
Wednesday, October 29, 2025
09:37:26 PM Empty 60 Testing spring smoothing.
09:37:18 PM Empty 59 Updates for latest engine changes.

09:36:54 PM Nerd 5324 Updates with lots of comments. This seems to work but I haven't solved all the math myself so who knows.
Tuesday, October 28, 2025
09:45:25 PM Nerd 5323 Added SmoothSpring(). Not fully tested.
Sunday, October 26, 2025
11:32:26 AM Atlas 20 Getting mouse input working a little bit better.
Friday, October 24, 2025
09:02:07 PM Atlas 19 Added color constants.
09:01:38 PM Nerd 5322 Added color constants.
07:22:01 PM Atlas 18 Getting mouse dragging for movement working. Very rough.
07:18:28 PM Nerd 5321 Moved a Mac-specific hack to another function. Who knows if it's correct anymore. Who knows if I'll ever build Mac again.
07:16:03 PM Nerd 5320 Fixed a bug in GL line drawing that's probably existed since the dawn of time.
Wednesday, October 22, 2025
07:17:24 PM Atlas 17 Stubbing out types for the Enodia graph. All super temporary.
07:16:29 PM Nerd 5319 Debug camera should use "FPS" motion for vertical (ctrl/space) movement.
07:14:07 PM Nerd 5318 Increased the limit on debug lines from 32 to 1024, added an option to make these persistent, and added an option to flush all debug lines.
Tuesday, October 21, 2025
07:06:53 PM Atlas 16 Getting a grid and debug camera working.
07:05:42 PM Nerd 5317 Raised debug mouse rotation speed from 0.001 to 0.0025. This should be a config variable but here we are.
07:04:58 PM Nerd 5316 Assert and remove erroneous cleanup flags when they occur.
07:04:31 PM Nerd 5315 Comment on the possibility of a generic post-construct step for all NObjects.
07:04:05 PM Nerd 5314 Renamed GameWantsVisibleMouse() to HasVisibleCursor() for clarity. There's more "mouse" -> "cursor" cleanup to be done in the future.
07:02:52 PM Nerd 5313 Added a default solid color material with only a WVP matrix and a color. Kind of weird that I'd never had something like this before. To be honest, I really need to move in the direction of composing materials from discrete parts, but not during a game jam. (NERD-241)
Monday, October 20, 2025
07:25:41 PM Empty 58 Added test of parcels.
07:20:29 PM Nerd 5312 Stubbed out a new version of NScheduledRoll as a "Parcel" system (IParcel, NParcelMgr, etc.). Not totally ready to go yet but good enough for an initial checkin in advance of LSDJAM 2025.
Wednesday, October 15, 2025
06:21:27 PM Nerd 5311 Comments.
Sunday, October 05, 2025
01:21:17 PM Dev 143 Added RDP files which seems to be the only way to remote in now. Not great.
Saturday, September 06, 2025
11:34:06 AM Nerd 5310 NERD-191, NERD-197: Revised NInputHandler to reset its internal state entirely on demand, rather than destroying and rebuilding itself, which is no longer supported.
11:32:14 AM Nerd 5309 NERD-191, NERD-197: For clearer debugging, reset singleton pointers to 0xdeadbeef when destroyed. Dereferencing a null pointer won't read as clearly in the debugger. (This is related to a bug that was caused by a legacy pattern of deliberately destroying and rebuilding the input singleton, which is no longer supported by the new singleton implementation.)
Friday, September 05, 2025
09:20:57 PM Verse 546 VERSEWOOD \ XAN3 \ CANON Comment.
Wednesday, September 03, 2025
10:10:24 PM Verse 545 Updates for latest engine changes. Also implements FixGlyphs() to match Canon, to align pixel button glyphs to the Ledger font.
01:55:44 PM Nerd 5308 Small perf optimization for quicksorting to use bitshifting instead of multiplication and division. Assumes logical bit shifting with zeroes appended to either side, which should be consistent on all platforms I compile on.
Tuesday, September 02, 2025
02:53:10 PM Verse 544 VERSEWOOD \ XAN3 \ CANON CANON-77: This was supposed to be Late2, not Early2.
01:10:29 PM Nerd 5307 CANON-77, NERD-190: Accidentally made this use the engine delta time to tick the game in r5305.
11:09:28 AM Verse 543 VERSEWOOD \ XAN3 \ CANON Updates for latest engine changes. Still some timing issues to be fixed (CANON-77).
11:08:28 AM Nerd 5306 Comment.
Saturday, August 30, 2025
11:39:38 AM Atlas 15 Updates for latest engine changes.
11:39:27 AM Verse 542 VERSEWOOD \ XAN3 \ CANON Getting Canon compiling again. There's a lot of cleanup left to do here.
Wednesday, August 27, 2025
10:23:40 PM Atlas 14 Updates for latest engine changes.
10:12:46 PM Empty 57 NERD-190: Stubbed out a Menus subsystem for Empty_Project.
Monday, August 18, 2025
11:14:00 PM Nerd 5305 NERD-190: Migrating code from update_engine() out to subsystems or at least separate functions.
Sunday, August 17, 2025
12:25:45 AM Empty 56 Updates for latest engine changes.
12:22:30 AM Nerd 5304 NERD-190: Moved Input and Menus stuff to their own subsystems, finally. Probably more I could do on both of them but this gets things moving. Input is not extensible; Menus is.
Saturday, August 16, 2025
04:16:28 PM Nerd 5303 Comment.
Friday, August 15, 2025
12:53:01 AM Verse 541 VERSEWOOD \ XAN3 \ CANON Updates for latest engine changes.
12:21:59 AM Verse 540 VERSEWOOD \ SMOL Updates for latest engine changes. Compiles but does not run.
11:42:00 PM Atlas 13 Updates for latest engine changes.
10:51:42 PM Verse 539 Updates for latest engine changes.
10:39:14 PM Cmd 136 Updates for latest engine changes, mostly singleton syntax.
09:42:45 AM Nerd 5302 There. Renamed NStartup.h to NAppScope.h and added the deprecation warning.
09:37:09 AM Nerd 5301 double whoops, i done donked this up and forgot i hadn't versioned any of this work yet, LET'S TRY THIS AGAIN
09:34:40 AM Nerd 5300 lol whoops yeah that's kind of important
Wednesday, August 13, 2025
01:06:05 AM Empty 55 Updates for latest engine changes.
12:45:42 AM Nerd 5299 All singletons are accessed by reference. This includes a shader param change to access the singleton rather than taking in a pointer to the renderer passed in by the renderer itself. That dates back to September 2007, when I first introduced automated shader parameters (as opposed to having each material set its own shaders directly), when the renderer applied these itself, before delegating that to another source (first mesh, then material, then shader param mapping object) to call back to its own API wrappers. Now we bridge that gap with the singleton accessor. Hopefully that isn't slower.
11:53:36 PM Nerd 5298 Mass rename of GetInstance() and DestroyInstance() to Get() and Destroy(). Does not yet address cases where the pointer was retrieved.
11:48:36 PM Nerd 5297 Moved all the mutex macros out of Defs and into Ftns (where two already were) to fix SDL compilation that required NWindowsVersion.
11:45:34 PM Nerd 5296 Whoops.
11:24:49 PM Empty 54 Updates for latest engine changes.
11:23:40 PM Nerd 5295 Whoops.
11:10:21 PM Nerd 5294 Singleton cleanup. I think this captures everything intended in v2 and v3.
10:21:02 PM Nerd 5293 Don't need these anymore.
10:20:46 PM Nerd 5292 Moved opt_assert() to its own file and a few type declarations to a new NUtilTypes.h.
Monday, August 11, 2025
11:23:32 PM Nerd 5291 Moved StrEq and StrHash out of NUtilDefs and into NUtilFtns. Come on. What even are these. Have I ever used these?
Sunday, August 10, 2025
12:42:08 AM Nerd 5290 This should've gone in with the previous commit.
12:41:14 AM Nerd 5289 Generalized singleton patterns down into macros, finally.
12:29:25 AM Nerd 5288 Yeah, this was it.
12:23:03 AM Nerd 5287 Removed some unused privates.
12:22:43 AM Nerd 5286 Marked a bunch of constructors as deleted. I think I missed one of these; will check after unshelving.
09:05:52 PM Atlas 12 Updates for latest engine changes.
08:41:06 PM Banonedit 139 TULPA Deleted a bunch of code related to tessellation and ambient occlusion. Might've broken something! Didn't test it thoroughly!
08:26:57 PM Verse 538 Updates to VerseAssets to manage assets correctly. Not perfect but better.
08:26:21 PM Nerd 5285 Made GetAsset() and GetTypedAsset() public.
08:01:48 PM Verse 537 Updates for latest engine changes. Compiles but hits asserts on shutdown due to VerseAssets needing FRenderableCleanup stuff.
07:51:59 PM Empty 53 Updates for latest engine changes.
07:51:05 PM Nerd 5284 NERD-236: Complete pass on everything to use NewObject<T>(...) instead of new T(NObjectInitializer::Default(), ...).
07:31:30 PM Nerd 5283 NERD-236: Legacy compatibility.
07:12:36 PM Nerd 5282 NERD-236: Refactored object creation and initialization. I could add another EE_Valid define here to patch things up. I probably should. I guess I'll compile Verse next and see how that goes. The next step here will be to use NewObject<>() consistently.
03:52:51 PM Nerd 5281 NERD-226: Some final cleanup of things I'd missed.
03:43:59 PM Empty 52 Updates for latest renaming.
03:43:27 PM Nerd 5280 NERD-226: A lot of cleanup around NSerialComponent.
03:25:55 PM Nerd 5279 NERD-226: Renamed NSerialComponent to ISerialComponent and NControllerComponent to IControllerComponent. Deprecation warnings not yet fixed.
03:17:53 PM Cmd 135 Updates for latest renames.
03:17:16 PM Nerd 5278 Whoops.
03:15:52 PM Nerd 5277 NERD-226: Renamed NCalibrationImageInterface to ICalibrationImage and NPerlinInterface to IPerlin. These are self-contained and need no deprecation warnings.
03:12:22 PM Nerd 5276 NERD-226: Renamed NFMLTextInput to ITextInput and defined it in all builds.
02:39:09 PM Nerd 5275 NERD-226: Renamed NXMLNode to IXMLNode and NXMLNodeType to EXMLNodeType.
12:48:09 PM Nerd 5274 NERD-226: Renamed NMenuInputHandler to IMenuInputHandler. This is all internal to menu code and does not need deprecation warnings, but I've also updated all implementations of the virtual Handle() function (which is badly named but that's a separate issue) to use override and not virtual.
12:44:12 PM Nerd 5273 NERD-226: Renamed NHighPerfModeInformer to IHighPerfModeInformant.
12:34:16 PM Nerd 5272 NERD-226: Renamed NLangSens to ILanguageSensitive.
12:18:51 PM Nerd 5271 NERD-226: Renamed NIterator to IIterator.
11:52:09 AM Nerd 5270 NERD-226: Renamed NContainerBase to IContainer and prefaced mixins with M instead of N. There are a few other container types that begin with N that could maybe change but whatever. This stuff is all self-contained in these classes and needs no deprecation warnings.
11:29:56 AM Nerd 5269 NERD-226: Collapsed NRenderPassInterface and NRenderPass_Subpasses into a single NRenderPass class which is valid to instantiate itself and not an interface that needs to be named IRenderPass or whatever.
Saturday, August 09, 2025
12:26:22 AM Nerd 5268 NERD-226: Renamed NCollisionInterface to ICollider and NCollisionInterfaceController to IColliderInformant.
11:09:31 PM Nerd 5267 Cleaning up today's deprecation warnings.
10:58:02 PM Nerd 5266 NERD-226: Renamed NAudioResource to IAudioResource, NAudioStream to IAudioStream, NAudioSampler to IAudioSampler, and NAudioEffect to IAudioEffect, plus some cleanup of legacy reference to NAudioDestination.
10:26:10 PM Nerd 5265 Proposed major revision 3: removal of deprecated types (cutting ties with anything that hasn't been brought forward).
05:28:59 PM Nerd 5264 NERD-226: Renamed NLatentInterface to ILatent, NLatentWatcher to ILatentWatcher, and NThread to IThread.
05:03:42 PM Nerd 5263 NERD-226: Renamed NAudioDestination to IAudioDestination. Left deprecation warnings in for now.
Wednesday, July 30, 2025
12:34:10 AM Nerd 5262 A bunch of random stuff and stuff okay,
Sunday, July 27, 2025
09:35:35 PM Empty 51 Fixes for latest engine changes, and versioning some code where I was running experiments, since this makes for a decent testbed for that as long as I label it clearly for eventual removal in this or other projects.
09:34:09 PM Atlas 11 Updates for latest engine changes. These forward declarations are kind of bad, to be honest. Oh well. I'll reach an equilibrium eventually.
09:09:20 PM Nerd 5261 Cleaning up all the deprecation warnings to date.
08:45:17 PM Nerd 5260 NERD-226: Renamed NShaderParamInformant to IShaderParamInformant and updated GetRTTIInterface() and a number of other instances of "RTTI" to use "Object" or "NObject" as appropriate.
08:33:53 PM Nerd 5259 Comment.
08:30:57 PM Nerd 5258 NERD-226: Renamed NMaterialInterface to IMaterial and NRenderableInterface to IRenderable. These aren't actually abstract interfaces and are in fact part of the NObject hierarchy, so maybe "Base" would be a better term? But they also should never be instantiated directly, so there's that.
08:11:28 PM Nerd 5257 NERD-226: Renamed NStreamInterface to IStreamBase. Unfortunately "IStream" is already bogarted by Windows so I can't use that. Also this required touching a ton of files that forward decared "class NStreamInterface" inside function signatures which doesn't play nice with typedef'ing it, even as another class, so this is a big commit.
08:09:50 PM Nerd 5256 Oop.
06:50:43 PM Nerd 5255 NERD-234: Renamed NTickable.h to ITickable.h.
01:33:31 PM Nerd 5254 lol whoops i shouldn't write comments in winmerge
01:31:13 PM Nerd 5253 NERD-226, NERD-232, NERD-234, etc.: Split NTickable base into separate classes ITickable (non-templated, completely abstract, used only by the manager) and ITickBase (templated, partially implemented, safe to use as a parent class), and revised the legacy implementations (NTickableGameFixed et al) into templated classes of their own, with the legacy named classes kept around as deprecated stopgaps. Added "Default" tick phase flags, of which the "Legacy" flags are now copies. Tick phases are now constant for the lifetime of a tickable, and the legacy get/set tick phase functions are deprecated and have no effect.
12:49:44 PM Nerd 5252 NERD-234: Small change to warning messages and comments.
12:41:24 PM Nerd 5251 NERD-234: Renaming some deprecation macros for consistency and updating comments for clarity.
Saturday, July 26, 2025
05:31:53 AM Nerd 5250 NERD-225: Updated all instances of ICloneable interface to specify override and not virtual for consistency.
05:17:58 AM Nerd 5249 Typo.
05:17:50 AM Nerd 5248 NERD-226: NCloneable -> ICloneable
04:53:35 AM Tulpa 292 TULPATHREE Resolved deprecation warnings.
04:29:28 AM Tulpa 291 TULPATHREE Updates for latest engine changes. Leaves deprecation warnings in place.
04:08:33 AM Nerd 5247 NERD-234: Split deprecation macros into typedefs (which can be provided in the new class header AND as forward declarations) and warnings, which should only be included in the old class header.

03:33:43 AM Nerd 5246 NERD-226, NERD-232: Renamed NResolutionSensitive to IResolutionSensitive and made NCamera an NObject.
03:32:20 AM Nerd 5245 NERD-234: Comments and fixups from previous changes.

03:17:58 AM Nerd 5244 NERD-234: Mass rename of NResource to IDynamicRenderable and NRTTIBase to NObject.
03:10:35 AM Nerd 5243 NERD-234: Better(?) deprecation messaging. Doesn't make it easy to jump straight to the culprit, but should be easy enough to track down.
01:58:10 AM Nerd 5242 Okay, here's how this should look. NRTTIBase is renamed to NObject and also added as a replacement. Forward declarations include both the old and new names.
01:46:40 AM Nerd 5241 Okay, this is a bit of a cluster, but this is what was intended by r5237 (rolled back in r5238) and fixes the missing project file created by r5239. NResource.h has been renamed to IDynamicRenderable.h and also added as a replacement for the previous file.
01:45:10 AM Nerd 5240 Comment.
01:40:16 AM Nerd 5239 Deleted an unused file.
01:38:39 AM Nerd 5238 Last revision was committed by accident. Rolling back.
01:37:43 AM Nerd 5237
01:33:50 AM Nerd 5236 NERD-175: Comment.
01:10:06 AM Nerd 5235 NERD-234: Added NERD_PRAGMA and NERD_DEPRECATE macros.
01:48:51 PM Nerd 5234 Comment.
Sunday, July 06, 2025
11:01:22 AM Nerd 5233 More comments on scheduled rolls.
Sunday, June 29, 2025
10:05:12 PM Nerd 5232 Comments on scheduled rolls. I'll probably want to rewrite this whole thing at some point.
10:04:42 PM Nerd 5231 Filter changes I guess. I don't remember when I did this.
Thursday, May 29, 2025
09:47:52 AM Nerd 5230 Weird that these didn't get flagged until the latest VS update.

Return to SVN Tools