Adding Multiple Alignment Points
?
?

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:03Recap and set the stage for the day
🗩
0:03Recap and set the stage for the day
🗩
0:03Recap and set the stage for the day
🗩
0:45Thoughts on augmenting artwork with information not intrinsic to the artwork itself, e.g. positional relationships of different assets
🏃
0:45Thoughts on augmenting artwork with information not intrinsic to the artwork itself, e.g. positional relationships of different assets
🏃
0:45Thoughts on augmenting artwork with information not intrinsic to the artwork itself, e.g. positional relationships of different assets
🏃
9:29Authoritative vs non-authoritative resources
🏃
9:29Authoritative vs non-authoritative resources
🏃
9:29Authoritative vs non-authoritative resources
🏃
12:05Storing metadata in a separate file as a secondary authoritative resource
🏃
12:05Storing metadata in a separate file as a secondary authoritative resource
🏃
12:05Storing metadata in a separate file as a secondary authoritative resource
🏃
17:35Text vs binary format
🗩
17:35Text vs binary format
🗩
17:35Text vs binary format
🗩
18:56Set up to manually write a text file augmentation and work backwards through the code making this all happen
🗩
18:56Set up to manually write a text file augmentation and work backwards through the code making this all happen
🗩
18:56Set up to manually write a text file augmentation and work backwards through the code making this all happen
🗩
20:54View character_cat_gray_tabby.png in Windows Photo Viewer, and discover why the alpha handling is broken
🗹
20:54View character_cat_gray_tabby.png in Windows Photo Viewer, and discover why the alpha handling is broken
🗹
20:54View character_cat_gray_tabby.png in Windows Photo Viewer, and discover why the alpha handling is broken
🗹
23:02Check out character_cat_gray_tabby.png, the hats and character_template.png in preparation for writing our augmentation
🗹
23:02Check out character_cat_gray_tabby.png, the hats and character_template.png in preparation for writing our augmentation
🗹
23:02Check out character_cat_gray_tabby.png, the hats and character_template.png in preparation for writing our augmentation
🗹
25:09Spec out a text file augmentation in character_cat_gray_tabby.txt
🗩
25:09Spec out a text file augmentation in character_cat_gray_tabby.txt
🗩
25:09Spec out a text file augmentation in character_cat_gray_tabby.txt
🗩
36:56Consider how to represent these augmentations in the .hha files
🗩
36:56Consider how to represent these augmentations in the .hha files
🗩
36:56Consider how to represent these augmentations in the .hha files
🗩
41:50Augment hha_bitmap with the new data from our text file augmentation, introducing hha_align_point
41:50Augment hha_bitmap with the new data from our text file augmentation, introducing hha_align_point
41:50Augment hha_bitmap with the new data from our text file augmentation, introducing hha_align_point
1:01:37Enable PrintContents() to handle our new hha_align_point, introducing GetPPercent() and GetSize()
1:01:37Enable PrintContents() to handle our new hha_align_point, introducing GetPPercent() and GetSize()
1:01:37Enable PrintContents() to handle our new hha_align_point, introducing GetPPercent() and GetSize()
1:08:35Introduce AlignPointNameFromType() and related code for PrintContents() to decode alignment points
1:08:35Introduce AlignPointNameFromType() and related code for PrintContents() to decode alignment points
1:08:35Introduce AlignPointNameFromType() and related code for PrintContents() to decode alignment points
1:17:50Enable FormatStringList() to handle length-strings, with a note on JAI's support for defining our own format specifiers with type-checking
1:17:50Enable FormatStringList() to handle length-strings, with a note on JAI's support for defining our own format specifiers with type-checking
1:17:50Enable FormatStringList() to handle length-strings, with a note on JAI's support for defining our own format specifiers with type-checking
1:23:46Finish enabling PrintContents() to handle alignment points, using fprintf()
1:23:46Finish enabling PrintContents() to handle alignment points, using fprintf()
1:23:46Finish enabling PrintContents() to handle alignment points, using fprintf()
1:25:08Make ReadHHA_V0() handle our new hha_bitmap structure
1:25:08Make ReadHHA_V0() handle our new hha_bitmap structure
1:25:08Make ReadHHA_V0() handle our new hha_bitmap structure
1:30:57Introduce SetAlignPoint() and related code for encoding alignment points
1:30:57Introduce SetAlignPoint() and related code for encoding alignment points
1:30:57Introduce SetAlignPoint() and related code for encoding alignment points
1:39:26Set up LoadBitmap() to handle our new alignment points
1:39:26Set up LoadBitmap() to handle our new alignment points
1:39:26Set up LoadBitmap() to handle our new alignment points
1:41:00Enable WriteImageToHHA() to write out default alignment points
1:41:00Enable WriteImageToHHA() to write out default alignment points
1:41:00Enable WriteImageToHHA() to write out default alignment points
1:43:06Bump HHA_VERSION to 2, and rename ReadHHA_V1() to ReadHHA_V2()
1:43:06Bump HHA_VERSION to 2, and rename ReadHHA_V1() to ReadHHA_V2()
1:43:06Bump HHA_VERSION to 2, and rename ReadHHA_V1() to ReadHHA_V2()
1:45:03Try to view a newly unsupported v1 .hha file, and scrap backwards compatibility until we have shipped and people start trading .hha files
🗹
1:45:03Try to view a newly unsupported v1 .hha file, and scrap backwards compatibility until we have shipped and people start trading .hha files
🗹
1:45:03Try to view a newly unsupported v1 .hha file, and scrap backwards compatibility until we have shipped and people start trading .hha files
🗹
1:45:58Rewrite intro_art_v2.hha and check it out in TabView to see that the alignment is a little off
🗹
1:45:58Rewrite intro_art_v2.hha and check it out in TabView to see that the alignment is a little off
🗹
1:45:58Rewrite intro_art_v2.hha and check it out in TabView to see that the alignment is a little off
🗹
1:48:25Finish implementing SetAlignPoint() and GetType()
1:48:25Finish implementing SetAlignPoint() and GetType()
1:48:25Finish implementing SetAlignPoint() and GetType()
1:50:04Rewrite intro_art_v2.hha and check it out in TabView to see that the alignment is better, but unfortunately never exactly 1.0f
🗹
1:50:04Rewrite intro_art_v2.hha and check it out in TabView to see that the alignment is better, but unfortunately never exactly 1.0f
🗹
1:50:04Rewrite intro_art_v2.hha and check it out in TabView to see that the alignment is better, but unfortunately never exactly 1.0f
🗹
1:51:18Enable GetSize() to produce 1.0f
1:51:18Enable GetSize() to produce 1.0f
1:51:18Enable GetSize() to produce 1.0f
1:55:25Rewrite intro_art_v2.hha and check it out in TabView to see that the alignment now reaches 1.0f
🗹
1:55:25Rewrite intro_art_v2.hha and check it out in TabView to see that the alignment now reaches 1.0f
🗹
1:55:25Rewrite intro_art_v2.hha and check it out in TabView to see that the alignment now reaches 1.0f
🗹
1:56:20Make SetAlignPoint() round the alignment percentages, in an effort to produce 0.5f
1:56:20Make SetAlignPoint() round the alignment percentages, in an effort to produce 0.5f
1:56:20Make SetAlignPoint() round the alignment percentages, in an effort to produce 0.5f
1:58:13Rewrite intro_art_v2.hha and check it out in TabView to see that the alignment still doesn't come out at 0.5f
🗹
1:58:13Rewrite intro_art_v2.hha and check it out in TabView to see that the alignment still doesn't come out at 0.5f
🗹
1:58:13Rewrite intro_art_v2.hha and check it out in TabView to see that the alignment still doesn't come out at 0.5f
🗹
1:58:38Make SetAlignPoint() and GetPPercent() use the even-numbered U16Max − 1 in their computations
1:58:38Make SetAlignPoint() and GetPPercent() use the even-numbered U16Max − 1 in their computations
1:58:38Make SetAlignPoint() and GetPPercent() use the even-numbered U16Max − 1 in their computations
2:00:20Rewrite intro_art_v2.hha and check it out in TabView to see that the alignment may now come out at 0.5f
🗹
2:00:20Rewrite intro_art_v2.hha and check it out in TabView to see that the alignment may now come out at 0.5f
🗹
2:00:20Rewrite intro_art_v2.hha and check it out in TabView to see that the alignment may now come out at 0.5f
🗹
2:00:52Run the game successfully with these new v2 .hha files
🏃
2:00:52Run the game successfully with these new v2 .hha files
🏃
2:00:52Run the game successfully with these new v2 .hha files
🏃
2:03:04Q&A
🗩
2:03:04Q&A
🗩
2:03:04Q&A
🗩
2:04:11Rounin Q: Now the 85.0 is wrong again. Since 85 isn't a factor of 65534
🗪
2:04:11Rounin Q: Now the 85.0 is wrong again. Since 85 isn't a factor of 65534
🗪
2:04:11Rounin Q: Now the 85.0 is wrong again. Since 85 isn't a factor of 65534
🗪
2:04:46somebody_took_my_name Q: Could you use U16MAX + 1 and a size modifier of 128?
🗪
2:04:46somebody_took_my_name Q: Could you use U16MAX + 1 and a size modifier of 128?
🗪
2:04:46somebody_took_my_name Q: Could you use U16MAX + 1 and a size modifier of 128?
🗪
2:05:21kleril Q: Colour seems like it would make a nice addition to the bitmap parenting system: a ghost wearing a hat should have a hat with a lower alpha value, right?
🗪
2:05:21kleril Q: Colour seems like it would make a nice addition to the bitmap parenting system: a ghost wearing a hat should have a hat with a lower alpha value, right?
🗪
2:05:21kleril Q: Colour seems like it would make a nice addition to the bitmap parenting system: a ghost wearing a hat should have a hat with a lower alpha value, right?
🗪
2:06:06longboolean Q: Last week you were mulling over whether or not to separate the head from the body in the sprite sheets. Since then has this idea become more solidified? Also, do you plan on giving some of the faces more articulate animation? An example I thought of at the start of the stream today was blinking eyes on the cats or other characters, perhaps as overlays of eyelids with versions for each head angle. A separate face spritesheet might be nice, more space for such things
🗪
2:06:06longboolean Q: Last week you were mulling over whether or not to separate the head from the body in the sprite sheets. Since then has this idea become more solidified? Also, do you plan on giving some of the faces more articulate animation? An example I thought of at the start of the stream today was blinking eyes on the cats or other characters, perhaps as overlays of eyelids with versions for each head angle. A separate face spritesheet might be nice, more space for such things
🗪
2:06:06longboolean Q: Last week you were mulling over whether or not to separate the head from the body in the sprite sheets. Since then has this idea become more solidified? Also, do you plan on giving some of the faces more articulate animation? An example I thought of at the start of the stream today was blinking eyes on the cats or other characters, perhaps as overlays of eyelids with versions for each head angle. A separate face spritesheet might be nice, more space for such things
🗪
2:06:44garryjohanson Q: Totally random question, very off-topic: Do you like that the C++ preprocessor has no special syntax for invoking a macro? Are there merits to that in your mind, or not? Would you prefer a special syntax for invoking macros?
🗪
2:06:44garryjohanson Q: Totally random question, very off-topic: Do you like that the C++ preprocessor has no special syntax for invoking a macro? Are there merits to that in your mind, or not? Would you prefer a special syntax for invoking macros?
🗪
2:06:44garryjohanson Q: Totally random question, very off-topic: Do you like that the C++ preprocessor has no special syntax for invoking a macro? Are there merits to that in your mind, or not? Would you prefer a special syntax for invoking macros?
🗪
2:09:01Close it up, with a note about switching the debug system left–right camera movement to be more congruent with up–down
🗩
2:09:01Close it up, with a note about switching the debug system left–right camera movement to be more congruent with up–down
🗩
2:09:01Close it up, with a note about switching the debug system left–right camera movement to be more congruent with up–down
🗩