53 lines
4.3 KiB
Plaintext
53 lines
4.3 KiB
Plaintext
|
[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Isolating the Debug Code" vod_platform=youtube id=Nb9ObiFvw3I annotator=Miblo]
|
||
|
[1:47][Recap and hit a first-chance exception]
|
||
|
[2:38][Investigate this exception]
|
||
|
[6:02][win32_handmade.cpp: Move DebugCollation above FramerateWait and pass NewInput and &Buffer to DEBUGFrameEnd]
|
||
|
[7:30][handmade.cpp: Remove DEBUGStart and DEBUGEnd]
|
||
|
[7:54][handmade_debug.cpp: Call DEBUGStart and DEBUGEnd in DEBUGGameFrameEnd]
|
||
|
[11:06][handmade.cpp: Introduce DEBUGGetGameAssets to enable the debug system to get the TranState->Assets out]
|
||
|
[12:37][handmade_platform.h: Give DEBUG_GAME_FRAME_END the same call structure as GAME_UPDATE_AND_RENDER]
|
||
|
[13:23][handmade_debug.cpp: Create a DrawBuffer for the debug system]
|
||
|
[15:00][Debugger: Step into DEBUGGetState]
|
||
|
[15:32][handmade_debug.cpp: Paste DEBUGGetState into DEBUGGameFrameEnd]
|
||
|
[16:50][Run the game and find that we're in better shape]
|
||
|
[18:31][handmade.debug.h: Consider getting rid of this header file entirely]
|
||
|
[19:52][handmade.cpp: Add conditional on HANDMADE_INTERNAL to enable us to toggle the debug system]
|
||
|
[21:12][build.bat: Turn off HANDMADE_INTERNAL]
|
||
|
[21:27][handmade_platform.h and win32_handmade.cpp: Add conditionals on HANDMADE_INTERNAL]
|
||
|
[22:47][handmade_platform: Remove HANDMADE_PROFILE in favour of HANDMADE_INTERNAL]
|
||
|
[25:05][Run the game successfully]
|
||
|
[25:17][build.bat: Toggle HANDMADE_INTERNAL and still run successfully]
|
||
|
[26:46][Think about how to proceed]
|
||
|
[29:00][handmade_debug.h: Move the contents of debug_variable_group into debug_variable_reference]
|
||
|
[30:52][handmade_debug.h: Consider splitting the variables up]
|
||
|
[33:03][handmade_debug.h: Rename debug_variable_ structs to debug_tree and debug_tree_entry]
|
||
|
[33:53][handmade_debug.h: Introduce debug_tree_entry_group]
|
||
|
[34:41][handmade_debug.h: Rewrite debug_tree]
|
||
|
[36:44][handmade_debug.h: Introduce debug_tree_entry_window]
|
||
|
[37:58][handmade_debug.h: Introduce debug_tree_entry_type]
|
||
|
[38:45][Recap these changes]
|
||
|
[39:52][handmade_debug.h and handmade_debug_variables.h: Clean up the compile errors]
|
||
|
[41:51][Consider using a caching-centric system]
|
||
|
[44:41][handmade_debug.h and handmade_debug_variables.h: Start to implement a caching-centric system]
|
||
|
[1:04:17][Pause this temporarily and turn off HANDMADE_INTERNAL]
|
||
|
[1:04:57][Q&A]
|
||
|
[1:05:25][@insofaras][Now that the amount of debug code is getting larger, will you create a debug debug system to debug the debug code?]
|
||
|
[1:06:04][@Manicthenobody][Is this the link you were looking for earlier for MartinCohen?[ref
|
||
|
site="infocobuild"
|
||
|
page="ArsDigita University - How Computer Works"
|
||
|
url="http://www.infocobuild.com/education/audio-video-courses/computer-science/how-computer-works-arsdigita.html"]]
|
||
|
[1:07:07][@garryjohanson][What do you think about the use of pre-fetch cache instructions? Are they a viable option for general purpose programming to get maximum performance?]
|
||
|
[1:08:28][@Connor_Rentz][After the two year period, will we be able to mod the game?]
|
||
|
[1:08:37][@CaptainKraft][Does the architecture of your target system have a big effect on how you design your debug system?]
|
||
|
[1:09:51][@Kelimion][Would be it an idea to pass build.bat a parameter which you would use to switch optimisation on and off on the different build units? Like IF %1 == opt, do this, otherwise do that]
|
||
|
[1:10:29][@vivek12895][What do you think about "No Man's Sky"? I can't even think about how it works now. Will I get some idea after learning from you?]
|
||
|
[1:11:28][@Connor_Rentz][I mean, after you release the source code. Will we be able to create our own bosses, worlds, etc.?]
|
||
|
[1:11:48][@Stiegosaurus][Will you be returning to game specific coding soon?]
|
||
|
[1:13:41][@CaptainKraft][Could something like a Raspberry Pi or other ARM desktop PC run Handmade Hero well enough, and is that the kind of system where you would want to do the debugging on a separate machine?]
|
||
|
[1:14:47][@Kelimion][I meant for usage inside the game, so you could switch optimisation on and off from the debug menu]
|
||
|
[1:15:26][@garryjohanson][Do you think it would be totz baller to make a GUI visual language for game scripting like what Unreal has?]
|
||
|
[1:16:14][Blackboard: Visual Scripting]
|
||
|
[1:18:35][@quartertron][Couldn't you collate just the last frame every frame instead of doing all of them in chunks?]
|
||
|
[1:20:22][Close this down]
|
||
|
[/video]
|