Index hero/code534

hero/code193: Index code changes during Q&A
              Thanks to @Nozdrum for catching this!
This commit is contained in:
Matt Mascarenhas 2019-05-21 03:08:20 +01:00
parent 52adce070b
commit dd4c31d305
2 changed files with 78 additions and 2 deletions

View File

@ -44,6 +44,10 @@
[54:45][@Flederfalter][I don't understand why a single if-statement would be expensive if we do it at runtime. Can you give an example?]
[1:07:54][@elxenoaizd][Why are we adding // b32 comment in the config file?]
[1:08:30][@TheSizik][Can you toggle the debug options while looping?]
[1:09:41][Separate out the mouse handling from the recorded input][:"input handling"]
[1:11:31][Prepare to try operating the debug :UI while looping][:run]
[1:11:45][Increase the debug menu radius in DrawDebugMainMenu()][:ui]
[1:12:13][Try out the debug :UI while looping][:run]
[1:13:06][@andsz_][You should add an optimization switch to the UI at some point]
[1:14:02][@andsz_][Wouldn't -O2 optimize those dead branches out?]
[1:14:41][@ingenero][Could you have an option to either recompile or simply toggle an "if"? It seems like most of the time you would use the regular "if" so the change is instantaneous, but in extreme cases you could easily just do the recompile option]

View File

@ -1,2 +1,74 @@
[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Heuristic Alpha Testing for Multi-Tile Import" vod_platform=youtube id=w5uW0yWSsng annotator=]
[/video]
[video member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Heuristic Alpha Testing for Multi-Tile Import" vod_platform=youtube id=w5uW0yWSsng annotator=Miblo]
[0:00][Recap and set the stage for the day, having updated the GitHub issues for [@aerettberg Anna][ref
site=GitHub
page="HandmadeHero / cpp"
url=https://github.com/HandmadeHero/cpp/issues]][:speech]
[1:35][Show item_hat_03.png with a view to investigating why we are extracting six tiles from this four-tile asset][:admin :art :"asset system"]
[5:14][Determine to enable test_png to output ]
[6:54][Enable WriteImageTopDownRGBA() to output any alpha pixels full white, introducing ThreshAlpha()][:rendering]
[9:52][Run test_png on item_hat_03.png and see some spurious data in the output][:admin :rendering]
[11:40][Reacquaint ourselves with ProcessMultiTileImport() to see that it only processes tiles containing alpha pixels][:"asset system" :research :rendering]
[14:59][Compare our RGB output in GIMP with the dump of base_game.hha in TabView][:admin :rendering]
[18:55][Implement TestMultiTileImport() based on the game's ProcessMultiTileImport()][:"asset system" :rendering]
[21:59][Run test_png on item_hat_03.png to see that it does indeed extract six tiles][:admin :"asset system" :rendering]
[22:32][Make TestMultiTileImport() output the extracted tile indices][:"asset system" :rendering]
[23:04][Check out our extracted tile indices][:admin :"asset system" :rendering]
[23:14][Make TestMultiTileImport() output the dimensions of the extracted image][:"asset system" :rendering]
[24:56][Check out the dimensions of our extractions][:admin :"asset system" :rendering]
[26:06][Make TestMultiTileImport() output our extractions to files using ExtractImage() and WriteImageTopDownRGBA()][:"asset system" :rendering]
[32:29][Check out the dumps of our extractions][:admin :"asset system" :rendering]
[34:15][Make ProcessMultiTileImport() only import tiles containing enough valid, solid pixels][:"asset system" :rendering]
[44:13][Reimport all the assets successfully][:"asset system" :run]
[45:57][Revert AddPlayer() to not apply the Cook tag][:"asset system"]
[46:23][Find that our downward facing hat has made it into the game][:"asset system" :run]
[48:00][Prevent UpdateAndRenderEntities() from drawing the collision volume :"debug visualisation"]
[48:15][Traverse and consider furnishing the orphanage][:"asset system" :"procedural generation" :run]
[49:43][Make ExecuteBrain() correctly set the facing direction of entities][:"entity system"]
[50:21][Find our monstar facing in the correct directions][:"entity system" :run]
[50:33][Make ExecuteBrain() prevent entities from hopping diagonally][:"entity system" :movement]
[51:19][Find our monstar unable to hop diagonally][:"entity system" :movement :run]
[53:01][Consider furnishing the orphanage and making the tagging of people more flexible][:"asset system" :"procedural generation" :speech]
[53:56][Reacquaint ourselves with the :"procedural generation" code][:research]
[56:25][Make CreateOrphanage() place a chair in the MainRoom][:"procedural generation"]
[59:42][Check out our chair in the doorway of the main room][:"procedural generation" :run]
[1:00:08][Make CreateOrphanage() orient our chair as per its originally drawn asset][:"procedural generation"]
[1:00:49][Consider how to place and size furniture sensibly][:"procedural generation" :run :ui]
[1:03:06][Fix UpdateAndRenderTitleScreen() to query the correct asset][:"asset system"]
[1:04:06][Check out our correct title screen and consider starting the furniture layout stuff][:"asset system" :run]
[1:06:47][Split out some trees into their own files][:art :drawing]
[1:14:29][Add those pieces of tree scenery to base_game.hht][:admin :"asset system"]
[1:15:14][And tags for Snow, Tree and Evergreen, and enable GenerateRoom() to plant trees along outdoor boundaries][:"asset system" :"procedural generation"]
[1:21:28][Crash on the GetSimSpaceTraversable() call in GenerateRoom()][:"asset system" :"procedural generation" :run]
[1:22:59][Change GenerateRoom() to only place trees on open tiles][:"asset system" :"procedural generation"]
[1:23:11][Find that our trees are absent][:"asset system" :"procedural generation" :run]
[1:23:33][Temporarily prevent GenerateRoom() from trying to place trees][:"asset system" :"procedural generation"]
[1:24:12][Find that our outdoor perimeter remains absent][:"asset system" :"procedural generation" :run]
[1:24:44][Enable GenerateRoom() to generate the perimeter of outdoor rooms, placing trees anywhere other than at a connection][:"asset system" :"procedural generation"]
[1:26:50][Check out our forest of trees][:"asset system" :"procedural generation" :run]
[1:27:01][Fix GenerateRoom() to only place trees around the edge of outdoor areas][:"asset system" :"procedural generation"]
[1:27:31][Check out our tree perimeter][:"asset system" :"procedural generation" :run]
[1:31:06][Enable GenerateRoom() to randomise our trees][:"asset system" :"procedural generation"]
[1:34:08][Check out our forest of damaged trees][:"asset system" :"procedural generation" :run]
[1:34:46][Investigate our failure to match tree assets][:"asset system" :"procedural generation" :research]
[1:35:57][Add the snow tag and apply the same alignment to all three tree varieties]
[1:36:30][Check out our varied forest of snow and damaged trees][:"asset system" :"procedural generation" :run]
[1:37:09][Consider how best to match absent tags][:"asset system" :"procedural generation" :research]
[1:38:43][Explicitly apply damaged and snow tags to all three tress, in varying degrees][:admin :"asset system" :"procedural generation"]
[1:39:15][Check out our fully varied forest][:"asset system" :"procedural generation" :run]
[1:39:53][Q&A][:speech]
[1:40:14][Enable GenerateRoom() to add lamps][:"asset system" :"procedural generation"]
[1:40:24][Check out our brightly lit orphanage][:"asset system" :"procedural generation" :run]
[1:40:42][Make GenerateRoom() place only one lamp per room][:"asset system" :"procedural generation"]
[1:43:55][Check out our lamps][:"asset system" :"procedural generation" :run]
[1:44:46][Prevent GenerateRoom() from placing lamps outdoors][:"asset system" :"procedural generation"]
[1:45:18][@magzz772][Q: When will you be fixing the :lighting?]
[1:45:22][@mycon_][Q: What's your all time favourite game?]
[1:45:30][@wheeel][Q: Is there going to be :lighting affecting the shading of the entities? If so, would that lighting strength be uniform along the height of the entity within a square? Is it possible to make the lighting of a 2D entity in a 3D space look "right"?]
[1:46:09][@mycon_][Q: Is there a bug now that the guy is pointing left constantly?]
[1:46:57][@jim0_o][Q: Thoughts on creating some sort of weather system and / or sun noon, dusk, etc system?]
[1:48:02][@mycon_][Q: It seems the tree graphics are for different seasons. I don't think the evergreen one is supposed to be damaged. Also you already have tags for seasons like Tag_Winter, so the Snow tag is kinda pointless?][:"asset system"]
[1:48:25][@alexkelbo][Q: How will we do shadows? In the past we had a bitmap for that][:lighting]
[1:48:54][Replace the "snow" tag with "winter"][:"asset system"]
[1:50:45][Take a turn through the forest][:run]
[1:51:29][We're good][:speech]
[/video]