Handmade Hero»Episode Guide
Separating Image and Metadata Imports
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next marker
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu Movement

a
w
s
d
h j k l


Quotes and References Menus

Enter Jump to timecode

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
0:00Recap and set the stage for the day communicating asset data between the .hht and .hha files
🗩
0:00Recap and set the stage for the day communicating asset data between the .hht and .hha files
🗩
0:00Recap and set the stage for the day communicating asset data between the .hht and .hha files
🗩
4:11Merging alignment points into .hht
🗩
4:11Merging alignment points into .hht
🗩
4:11Merging alignment points into .hht
🗩
7:18Our options for merging in alignment points
🗩
7:18Our options for merging in alignment points
🗩
7:18Our options for merging in alignment points
🗩
9:49Pair up the .hht and .hha files by removing the "HHA" identifier, and make ParseTopLevelBlock() parse in alignment points from .hha up front for rebuilding while parsing the .hht
9:49Pair up the .hht and .hha files by removing the "HHA" identifier, and make ParseTopLevelBlock() parse in alignment points from .hha up front for rebuilding while parsing the .hht
9:49Pair up the .hht and .hha files by removing the "HHA" identifier, and make ParseTopLevelBlock() parse in alignment points from .hha up front for rebuilding while parsing the .hht
22:36Enable ParseTopLevelBlock() to perform our full and metadata rebuilds
22:36Enable ParseTopLevelBlock() to perform our full and metadata rebuilds
22:36Enable ParseTopLevelBlock() to perform our full and metadata rebuilds
42:54Introduce #hha and #include preprocessor directives to re-allow decoupling of .hht and .hha files
42:54Introduce #hha and #include preprocessor directives to re-allow decoupling of .hht and .hha files
42:54Introduce #hha and #include preprocessor directives to re-allow decoupling of .hht and .hha files
46:36About Molly's feeder
🗩
🎲
46:36About Molly's feeder
🗩
🎲
46:36About Molly's feeder
🗩
🎲
47:39Make ParseHHT() handle the #hha directive
47:39Make ParseHHT() handle the #hha directive
47:39Make ParseHHT() handle the #hha directive
51:15Make ParseHHT() and ImportChangedAssets() handle the #include directive
51:15Make ParseHHT() and ImportChangedAssets() handle the #include directive
51:15Make ParseHHT() and ImportChangedAssets() handle the #include directive
57:59Relieve ParsePieces() of appending tags and WriteImageToHHA() of writing out annotations
57:59Relieve ParsePieces() of appending tags and WriteImageToHHA() of writing out annotations
57:59Relieve ParsePieces() of appending tags and WriteImageToHHA() of writing out annotations
1:20:42Introduce StampAssets() to merge tags and write out annotations
1:20:42Introduce StampAssets() to merge tags and write out annotations
1:20:42Introduce StampAssets() to merge tags and write out annotations
1:38:33Run the parser for the first time
🏃
1:38:33Run the parser for the first time
🏃
1:38:33Run the parser for the first time
🏃
1:39:18Fix the sense of the Asset->Type assertion in SetAssetType()
1:39:18Fix the sense of the Asset->Type assertion in SetAssetType()
1:39:18Fix the sense of the Asset->Type assertion in SetAssetType()
1:41:46Trigger an asset reimport and step through the .hht parser
🏃
1:41:46Trigger an asset reimport and step through the .hht parser
🏃
1:41:46Trigger an asset reimport and step through the .hht parser
🏃
1:44:31Trigger another asset reimport and step through GetTokenRaw() to find that we fail to tokenize multi-line comments
🏃
1:44:31Trigger another asset reimport and step through GetTokenRaw() to find that we fail to tokenize multi-line comments
🏃
1:44:31Trigger another asset reimport and step through GetTokenRaw() to find that we fail to tokenize multi-line comments
🏃
1:45:26Fix GetTokenRaw() to account for its character advancement
1:45:26Fix GetTokenRaw() to account for its character advancement
1:45:26Fix GetTokenRaw() to account for its character advancement
1:47:43Step through GetTokenRaw() to find that we correctly tokenize the whole intro_cutscene.hht and base_game.hht
🏃
1:47:43Step through GetTokenRaw() to find that we correctly tokenize the whole intro_cutscene.hht and base_game.hht
🏃
1:47:43Step through GetTokenRaw() to find that we correctly tokenize the whole intro_cutscene.hht and base_game.hht
🏃
1:52:06Enable GetOrCreateHHAByStem() to create a .hha if it doesn't exist, introducing InitSourceHHA()
1:52:06Enable GetOrCreateHHAByStem() to create a .hha if it doesn't exist, introducing InitSourceHHA()
1:52:06Enable GetOrCreateHHAByStem() to create a .hha if it doesn't exist, introducing InitSourceHHA()
2:16:46Trigger an import and step through GetOrCreateHHAByStem() until InitSourceHHA() fails to open our newly created file
🏃
2:16:46Trigger an import and step through GetOrCreateHHAByStem() until InitSourceHHA() fails to open our newly created file
🏃
2:16:46Trigger an import and step through GetOrCreateHHAByStem() until InitSourceHHA() fails to open our newly created file
🏃
2:19:16Fix GetOrCreateHHAByStem() to close the file before calling InitSourceHHA()
2:19:16Fix GetOrCreateHHAByStem() to close the file before calling InitSourceHHA()
2:19:16Fix GetOrCreateHHAByStem() to close the file before calling InitSourceHHA()
2:20:14Q&A
🗩
2:20:14Q&A
🗩
2:20:14Q&A
🗩
2:20:58jasonoftheb Q: You still parse At[1] in one of the newline cases instead of At[0]
🗪
2:20:58jasonoftheb Q: You still parse At[1] in one of the newline cases instead of At[0]
🗪
2:20:58jasonoftheb Q: You still parse At[1] in one of the newline cases instead of At[0]
🗪
2:21:10Fix typo in GetTokenRaw()
2:21:10Fix typo in GetTokenRaw()
2:21:10Fix typo in GetTokenRaw()
2:21:29jim0_o Q: You had a NOTE you changed to a TODO, but what if by "with the right data!" indicated the code wasn't or isn't using the right data (yet)?
🗪
2:21:29jim0_o Q: You had a NOTE you changed to a TODO, but what if by "with the right data!" indicated the code wasn't or isn't using the right data (yet)?
🗪
2:21:29jim0_o Q: You had a NOTE you changed to a TODO, but what if by "with the right data!" indicated the code wasn't or isn't using the right data (yet)?
🗪
2:22:48aidsjorb Q: You using a KVM in that setup? Do you like it?
🗪
2:22:48aidsjorb Q: You using a KVM in that setup? Do you like it?
🗪
2:22:48aidsjorb Q: You using a KVM in that setup? Do you like it?
🗪
2:24:31devsigner Q: Do you have an idea as to what the gameplay of Handmade Hero will be, or are you just doing more of that design exploration?
🗪
2:24:31devsigner Q: Do you have an idea as to what the gameplay of Handmade Hero will be, or are you just doing more of that design exploration?
🗪
2:24:31devsigner Q: Do you have an idea as to what the gameplay of Handmade Hero will be, or are you just doing more of that design exploration?
🗪
2:25:54rebelavalon Q: (Repeating my question) What makes asset importing special the way you're doing it, compared to other ways in other game libs?
🗪
2:25:54rebelavalon Q: (Repeating my question) What makes asset importing special the way you're doing it, compared to other ways in other game libs?
🗪
2:25:54rebelavalon Q: (Repeating my question) What makes asset importing special the way you're doing it, compared to other ways in other game libs?
🗪
2:28:52centhusiast Q: Is CheckSumOf() based on murmur hash?
🗪
2:28:52centhusiast Q: Is CheckSumOf() based on murmur hash?
🗪
2:28:52centhusiast Q: Is CheckSumOf() based on murmur hash?
🗪
2:29:03rebelavalon Q: When you import assets, do they go into some kind of target? Like a texture atlas? I'm new at this game stuff
🗪
2:29:03rebelavalon Q: When you import assets, do they go into some kind of target? Like a texture atlas? I'm new at this game stuff
🗪
2:29:03rebelavalon Q: When you import assets, do they go into some kind of target? Like a texture atlas? I'm new at this game stuff
🗪
2:30:04Spritesheets and texture atlases
🗩
2:30:04Spritesheets and texture atlases
🗩
2:30:04Spritesheets and texture atlases
🗩
2:33:48Wrap it up with an announcement of next weekend's 4coder Jam with Allen
🗩
2:33:48Wrap it up with an announcement of next weekend's 4coder Jam with Allen
🗩
2:33:48Wrap it up with an announcement of next weekend's 4coder Jam with Allen
🗩