From 03a8eb3090d8e4d90c82dcceacf091103c260995 Mon Sep 17 00:00:00 2001 From: Matt Mascarenhas Date: Thu, 6 Dec 2018 19:47:32 +0000 Subject: [PATCH] Annotate hero/code497 --- cmuratori/hero/code/code497.hmml | 46 ++++++++++++++++++++++++++++++++ cmuratori/hero/code/code498.hmml | 2 ++ cmuratori/hero/code/code499.hmml | 2 ++ 3 files changed, 50 insertions(+) create mode 100644 cmuratori/hero/code/code497.hmml create mode 100644 cmuratori/hero/code/code498.hmml create mode 100644 cmuratori/hero/code/code499.hmml diff --git a/cmuratori/hero/code/code497.hmml b/cmuratori/hero/code/code497.hmml new file mode 100644 index 0000000..7e37d5f --- /dev/null +++ b/cmuratori/hero/code/code497.hmml @@ -0,0 +1,46 @@ +[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Starting on Asset System Cleanup" vod_platform=youtube id=IlLZyemvqB8 annotator=Miblo] +[0:01][Recap and set the stage for the day cleaning up the :"asset system"][:speech] +[0:58][Showcase our asset editing :UI with snapping functionality, setting up to implement scaling and saving][:"asset system" :run] +[5:22][Plans for after the :"asset system", making the game look more professional][:run] +[7:14][Hunt the orphanage for more cats and set Fred's alignment points][:"asset system" :run :ui] +[10:36][Asset editor: Scaling][:"asset system" :speech] +[15:25][Specify that entities contain their real-world size, and that the scaling information is used to adjust that size, augmenting hha_bitmap with an OrigDim][:"asset system"] +[27:26][Make UpdateAndRenderEntities() scale sprites using our OrigDim][:"asset system" :"entity system"] +[29:03][See nothing in-game, because our imported bitmaps all have OrigDim set to 0][:"asset system" :"entity system" :run] +[30:02][Reimport our assets][:admin :"asset system"] +[30:50][See that our fist is now smaller, and the same size in all orientations][:"asset system" :"entity system" :run] +[32:51][Make UpdateAndRenderEntities() scale our sprites relative to the world dimensions][:"asset system" :"entity system"] +[35:12][Find that our cat is larger than hoped][:"asset system" :"entity system" :run] +[35:28][Fix UpdateAndRenderEntities() to unpack the sprite piece sizes][:"asset system" :"entity system"] +[35:49][Try out asset piece scaling][:"asset system" :"entity system" :run] +[38:43][Cascading scaling down to children?][:"asset system" :"entity system" :speech] +[40:42][Storing Z-bias in the asset piece information?][:"asset system" :"entity system" :speech] +[43:50][Asset editor: Save][:"asset system" :"file io" :speech] +[47:37][Saving scheme: "Save" and "Import & Save"][:"asset system" :"file io" :speech] +[50:53][Add an "Import & Save" button to our asset editor][:"asset system" :"file io" :ui] +[53:52][Test out our new "Import & Save" button, finding that we don't flush our textures][:"asset system" :run :ui] +[57:03][Force-flushing textures on import, and generating their mipmaps in temporary buffers before uploading to the GPU][:"asset system" :speech] +[1:06:16][Improving our texture loading][:"asset system" :speech] +[1:11:28][Prevent LoadBitmap() from taking "Immediate" calls][:"asset system"] +[1:13:18][Continued thoughts on texture load improvements][:"asset system" :speech] +[1:14:51][Make LoadBitmap() early-out if it cannot get a texture_op handle from the GPU, and allocate no :memory itself][:"asset system" :hardware :rendering] +[1:25:40][Improving our texture eviction][:"asset system" :speech] +[1:30:35][Introduce the notion of a dirtiness level (UsedGeneration) and consider purging stale textures in bulk][:"asset system"] +[1:36:57][Improving asset handles, keeping :font glyphs loaded, and putting :audio in its own pool][:"asset system" :memory :speech] +[1:41:16][Delete asset_memory_header and introduce an asset_audio_buffer][:"asset system" :memory] +[1:45:03][Round-robin, continuous :audio streaming][:"asset system" :speech] +[1:46:36][Round-robin :audio streaming, overwriting and marking assets as unloaded][:"asset system" :memory :speech] +[1:48:18][Removing asset_audio_buffer in favour of a LoadedAtSampleIndex in asset][:"asset system" :audio :memory] +[1:48:57][Streaming :audio from a sliding window of an imaginary infinite buffer][:"asset system" :memory :speech] +[1:52:12][Augment game_assets with a SampleBuffer and sample indices, in preparation for our sliding window :audio streaming scheme][:"asset system" :memory] +[1:53:52][Make LoadFont() load the :font glyphs directly, for permanent residence][:"asset system" :memory] +[2:06:36][Replace LoadAssetWorkDirectly() with LoadAssetWork(), remove the asset_memory_header from asset, and make the bitmap functions use renderer_texture handles][:"asset system" :memory] +[2:15:44][Q&A][:speech] +[2:16:12][Make the bitmap functions in the :"entity system", asset editing :UI and :"debug system" use renderer_texture handles][:"asset system"] +[2:18:59][@mattiamanzati][Q: Sooo maybe extra stream today? And by today you mean in approximately 20h?] +[2:19:03][@b3zman41][Q: Could you elaborate more on what you were talking about with more intermediate data structures in object-orientation][:"data structure" :language] +[2:20:30][@philliptrudeau][Q: Near the start of the stream, I think you mentioned focusing on making the game "look more professional". Can you recap what that entails? And does that mean making some artistic decisions on-stream?] +[2:22:29][@ivereadthesequel][Q: Oh, and Happy Krampuslauf, [@cmuratori Casey]! So, is it a specific day or ongoing? How do we celebrate it, besides trying to catch the next episode of [~hero Handmade Hero]?] +[2:22:47][@longboolean][Q: (A bit off-topic) If I recall correctly, you said that during the Krampuslauf streams you may do some other things like [~ray Handmade Ray]. What would be the next thing to do with [~ray Handmade Ray]?][:lighting] +[2:23:24][Wrap it up][:speech] +[/video] diff --git a/cmuratori/hero/code/code498.hmml b/cmuratori/hero/code/code498.hmml new file mode 100644 index 0000000..26c035c --- /dev/null +++ b/cmuratori/hero/code/code498.hmml @@ -0,0 +1,2 @@ +[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Finishing Asset System Cleanup" vod_platform=youtube id=aQyYn_y2Tcg annotator=] +[/video] \ No newline at end of file diff --git a/cmuratori/hero/code/code499.hmml b/cmuratori/hero/code/code499.hmml new file mode 100644 index 0000000..a53f2dc --- /dev/null +++ b/cmuratori/hero/code/code499.hmml @@ -0,0 +1,2 @@ +[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Unifying Debug and Editor Modes" vod_platform=youtube id=Xv3uTUvE-zw annotator=] +[/video] \ No newline at end of file