Ctesiphon

May 2020 (Week 4)

+ Added popup previews in the texture browser
+ Fixed a duplication bug where I was iterating through a list that was being reallocated without acknowledging the memory changes
+ Global map properties getting saved and loaded, as well as tracked for undo/redo
+ Undo/Redo now work in every panel, not just the main viewport
+ Started a huge ongoing refactor of the models system while getting it to work with PhysFS

May 2020 (Week 3)

+ Lots of refactoring in the 2-ish years since the last recap
+ Changed editor gui to use Dear Imgui
+ Editor can save and load but not export
+ Implemented PhysFS for asset loading
+ Mod support through asset archives, with customizable, priority-based load order

September 2018 (Week 4)

+ GUI buttons now only activate if you release the mouse on the same button you originally pressed
+ Editor now has a menu row at the top with functioning submenus

September 2018 (Week 3)

+ Enemies can no longer damage other enemies of the same type
+ Some weapons now apply backwards force when they fire
+ Did another pass over shotgun firing sounds to give them more punch and texture
+ Bullet impacts on walls make puffs of smoke in addition to sparks
- Tried doing some level design but my Blender workflow for maps is fucked
- Gonna have to make a dedicated level editor
+ Level editor will be distributable with the game itself
+ Level editor currently has a window with a menu bar and buttons, and a basic framework for handling context (right-click) menus

September 2018 (Week 2)

+ THE C++ REBUILD IS COMPLETE!
+ Entire AI system ported over
+ AI states reworked to be more consistent between enemy types
+ Enemies now actually react to being fired on even when the player isn't in LOS
+ Made ALSA underruns a little less common (will still have to revisit before release)
+ Modified collision response to prevent jittery movement when pushing against walls, should be less common now
+ Auto-switching works properly: Changes to newly picked up weapons, and swaps to next when out of ammo; skipping the melee weapon until there are no other options
+ Auto-switch will also kick in if you pick up ammo for an empty weapon while wielding an empty/melee weapon
+ Instructions added again onto pause menu and control rebinding menu
+ Sped up view-bobbing and footstep sounds when moving at slower speeds
+ Debris now reactivates if resting on a destroyed staticmesh, they also ignore actor colliders

August 2018 (Week 5)

+ Reorganized build system to work with specifically Bullet 2.85.1 instead of whatever version the OS has installed
+ Enemies cycle through multiple idle animations again
+ Enemies play their chatter sounds again
+ Melee attacks and remaining weapon fire modes have all been ported over

August 2018 (Week 4)

+ Enemies now have proper animated deaths again
+ Animation system now supports loops, single-runs, and infinite looping, as well as queueing up new anims
+ Did a bunch of refactoring

August 2018 (Week 3)

+ Windows build wasn't pausing on alt-tab, I had completely forgotten to write the three lines that opened the pause menu. Now it works as it should
+ Sound stuttering issues should be fixed on Windows too, though I couldn't recreate the problem myself so I'm just guessing that its going to work now
+ Enemies now take damage again

August 2018 (Week 2)

+ Fixed a bug where gun model inertia would apply last mouse position when unpausing, causing a weird jerking motion
+ Started reimplementing enemies, they collide and animate but don't have any AI and don't take damage just yet

August 2018 (Week 1)

+ Static Meshes once again make noises when destroyed
+ Debris is back: ejecting brass, discarded magazines, shattered glass
+ Radial Damage ported, you can kill yourself with rockets again
- Got terrified by a sudden and consistent huge drop in performance
+ Turns out my frame limiter was just causing busy-wait loops, it will now simply advance to the next frame if there isn't enough time to do a proper sleep(), back to buttery-smooth 144 FPS

July 2018 (Week 4)

+ Static Meshes once again reskin when taking damage
+ Fixed a bug in hashtable lookups where an early-fail check didn't take into account entries that had been occupied but weren't any longer
+ Started porting Debris system for shattered glass and ejected brass, will now have Continuous Collision properly set up

July 2018 (Week 3)

+ Started porting over Static Meshes, they now render, collide, and take damage
- Nothing last week, bought a car and played too much Endless Legend

July 2018 (Week 1)

- Missed the recap last week, including stuff here from then
- Whole month of fucking nothing. Work, jury duty, and gaming catchup killed most progress
+ The C++ rewrite continues (Nearly Done)
+ Decal System Ported
+ Improved decal rendering (They're now always the same size regardless of orientation)
+ Redid bullet decal sprites to blend in more using alpha
+ Decals now have a randomized rotation
+ Rebalanced the shotgun to give it wider spread, but more ammo and higher rate of fire
+ Air-Crouching is back. Un/Crouching in mid-air keeps you at eye-level for vaulting
+ Displays now flash for low health/ammo
+ Created a unified system for handling weapon fire modes (including sights & melee attacks)
+ Fixed a whole bunch of old bugs

May 2018 (Week 3)

+ The C++ rewrite continues (Nearly Done)
+ All weapon projectile types ported
+ Rocket Trails
+ Impact particle spawns for Rockets and Plasma bolts
+ Started porting over impact decals

May 2018 (Week 2)

+ The C++ rewrite continues (Nearly Done)
+ Particles (and other future sorted entities) are now sorted into draw order with Heapsort
+ Moved vorbis streaming onto dedicated audio thread instead of main loop
+ Fixed up ALSA audio on Linux using lessons learned from DirectSound (DirectSound is so far the only thing I like better about Windows)
+ Muzzle Flashes ported
+ Reloading ported

May 2018 (Week 1)

+ Particle system ported over (just need to add some sorting)
+ Changed to SDBM for hashing
+ Fixed a texture-mismatch bug in GUI renderer
+ Shooting and Projectiles partially ported
+ Positional Stereo sound is now better than the Java build, it updates pan every frame rather than LibGDX's fire-and-forget system
+ Sounds have distance falloff and LOS-based dampening once again
+ Weapons should now have the same RoF across different framerates (in theory)
- Lost my shot at DDXX trying to get DirectSound to cooperate
+ Turns out DirectSound was behaving just fine, I was the moron.
+ Windows build is up to date!

April 2018 (Week 4)

+ The C++ rewrite continues
+ Got started on porting projectiles & decals
+ Determined to have demo ready for DDXX
- Will need to bring Windows platform layer up to date

April 2018 (Week 2)

+ The C++ rewrite continues
+ Still implementing non-hard-coded particle system
+ Used the excuse to do some refactoring

March 2018 (Week 5)

+ Redesigned Particle System to make it less hard-coded
+ Some low-level refactors
- Spent all weekend playing Pathfinder, little progress was made

March 2018 (Week 4)

+ The C++ rewrite continues (All engine code now complete)
+ Fixed a bug where textures were rendering with full alpha after map reloads
+ Changed view/weapon bobbing to make it a little more bouncy
+ Fixed some collision regressions
+ Currently porting over Particle System

March 2018 (Week 3)

+ The C++ rewrite continues (All engine code now complete)
+ Fixed a crash during level restart (forgot to clear references to deleted Bullet3D objects)
+ First person head bobbing, inertia, and landing shake
+ Weapon switching, animation, pickups, ammo, sounds
+ Blender model exporter now supports flat-shading

March 2018 (Week 2)

+ The C++ rewrite continues (All engine code now complete)
+ Fixed up bone skinning issues, 3D animation now works correctly.
+ First person animations have been ported
- Procrastinated a lot over the last few months, doing bone skinning from scratch was intimidating