Premium Only Content

No Game Engine Game Dev: Word Sleuth 036: Two bugs and std container hunting
Streamed on 2024-08-22 (https://www.twitch.tv/thediscouragerofhesitancy)
Game Engines are for sissies!
I started off with some bugs that had crept in during some of the major refactors of the last week or two. The first bug was with text color not updating correctly. With a bit of tracing I found the issue to be similar to what we found before ... the colors weren't being applied all the way to the end of the desired colors list. Really it should just always match the quad capacity, so there's now a TODO item for that.
The second bug was about a texture not showing up right. It turns out that I had an array index out of bounds write in the ShaderStore that was overwriting the array in TextureStore, but it took some digging to figure that out. Once I spotted it, the cause for the error was easy to identify and the fix was easy. In ShaderWarehouse there are pairs of files: vertex shader and fragment shader. So I know the number of files is 8. However, a shader program takes one of each, so the ShaderStore has room for 4. Then, when I request a Shader from the ShaderStore, the index was with respect to the 8 files in ShaderWarehouse and needed to be adjusted to the number of shader programs in ShaderStore. With a little indexing magic, all was well with the world once more.
Then it was time to continue the hunt for standard library containers. I have found that every time I use one, it can be refactored away into something more basic and just as functional. So I removed the std::vector from VertexBufferLayout with relative ease. Then I started on the last std container in my code base. It is the ActionSequence scheduler. Instead of keeping lists, each ActionSequence maintains more internal state (Idle, Waiting and Running) and the Scheduler has an ActionSequence pool. This should eliminate all allocations/frees nicely. It very nearly works, but there is still a bug or two I am working through. On Monday I should have eliminated all std containers and be in a good working state.
-
49:29
The Rubin Report
2 hours agoDetails About Joy Reid’s Weeping Farewell No One Noticed with Co-Host Megyn Kelly
9.74K12 -
LIVE
Benny Johnson
1 hour ago🚨Epstein Files COVERUP EXPOSED: FBI Sabotaging Trump, DELETING Evidence?! | Tapes 'MISSING'?!
15,088 watching -
59:29
Steven Crowder
3 hours agoCrafting Crowder's Comedy Gold | Behind the Scenes
137K73 -
2:06:44
Tim Pool
2 hours agoTHE END OF THE WEST, Will We Survive Without Christianity? | The Culture War with Tim Pool
56.8K21 -
LIVE
Right Side Broadcasting Network
2 hours agoLIVE: President Trump and Ukrainian President Zelenskyy Meet and Hold a Press Briefing - 2/28/25
5,675 watching -
LIVE
LFA TV
15 hours agoBODYCAM FOOTAGE OF TRAFFIC STOP! | LIVE FROM AMERICA 2.28.25 11AM
4,679 watching -
LIVE
The Big Mig™
4 hours agoGlobal Finance Forum From Bullion To Borders We Cover It All
2,011 watching -
LIVE
Tudor Dixon
1 hour agoThe Last Supper with Chris Tomlin | The Tudor Dixon Podcast
140 watching -
48:58
BonginoReport
4 hours agoFake Epstein Files Fallout + Will Cain on the Government’s Internal Civil War (Ep.150) - 02/28/2025
101K225 -
22:54
Clownfish TV
12 hours agoJournalists are RAGE QUITTING! Mainstream Media's Free Ride is OVER!
5.28K4