Handmade Hero»Episode Guide
Changing from Sort Keys to Sort Rules
?
?

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:49How 2.5D Sorting Works in River City Ransom: Underground1
0:49How 2.5D Sorting Works in River City Ransom: Underground1
0:49How 2.5D Sorting Works in River City Ransom: Underground1
9:49On doing a semantic sort
9:49On doing a semantic sort
9:49On doing a semantic sort
12:51handmade_render_group.h: Consider separating out the topological sorting from the render group
12:51handmade_render_group.h: Consider separating out the topological sorting from the render group
12:51handmade_render_group.h: Consider separating out the topological sorting from the render group
14:48handmade_entity.cpp: Consider making UpdateAndRenderEntities() draw pieces in front of other pieces
14:48handmade_entity.cpp: Consider making UpdateAndRenderEntities() draw pieces in front of other pieces
14:48handmade_entity.cpp: Consider making UpdateAndRenderEntities() draw pieces in front of other pieces
17:58Blackboard: Sorting Rules
17:58Blackboard: Sorting Rules
17:58Blackboard: Sorting Rules
20:26Blackboard: Considering the fact that we only need to sort sprites that overlap
20:26Blackboard: Considering the fact that we only need to sort sprites that overlap
20:26Blackboard: Considering the fact that we only need to sort sprites that overlap
21:25Blackboard: The three nominal cases involving Z planar and Y planar sprites
21:25Blackboard: The three nominal cases involving Z planar and Y planar sprites
21:25Blackboard: The three nominal cases involving Z planar and Y planar sprites
22:59Blackboard: Z overlaps Z
22:59Blackboard: Z overlaps Z
22:59Blackboard: Z overlaps Z
30:45Blackboard: Y overlaps Z
30:45Blackboard: Y overlaps Z
30:45Blackboard: Y overlaps Z
34:43Blackboard: Y overlaps Y
34:43Blackboard: Y overlaps Y
34:43Blackboard: Y overlaps Y
39:03Blackboard: Consolidating these cases
39:03Blackboard: Consolidating these cases
39:03Blackboard: Consolidating these cases
44:43Blackboard: Considering whether this scheme will allow us to sort completely
44:43Blackboard: Considering whether this scheme will allow us to sort completely
44:43Blackboard: Considering whether this scheme will allow us to sort completely
50:32handmade_sort.cpp: Introduce sort_sprite_bound and make MergeSort() take it
50:32handmade_sort.cpp: Introduce sort_sprite_bound and make MergeSort() take it
50:32handmade_sort.cpp: Introduce sort_sprite_bound and make MergeSort() take it
52:59handmade_sort.cpp: Introduce IsInFrontOf() in order to handle our three cases
52:59handmade_sort.cpp: Introduce IsInFrontOf() in order to handle our three cases
52:59handmade_sort.cpp: Introduce IsInFrontOf() in order to handle our three cases
1:02:07handmade_sort.cpp: Introduce a Swap() that takes sort_sprite_bound
1:02:07handmade_sort.cpp: Introduce a Swap() that takes sort_sprite_bound
1:02:07handmade_sort.cpp: Introduce a Swap() that takes sort_sprite_bound
1:02:38Q&A
🗩
1:02:38Q&A
🗩
1:02:38Q&A
🗩
1:02:58thesizik Isn't it Y (vertical) sprites that have YMin == YMax?
🗪
1:02:58thesizik Isn't it Y (vertical) sprites that have YMin == YMax?
🗪
1:02:58thesizik Isn't it Y (vertical) sprites that have YMin == YMax?
🗪
1:03:17handmade_sort.cpp: Correct the sense of BothZSprites in IsInFrontOf()
1:03:17handmade_sort.cpp: Correct the sense of BothZSprites in IsInFrontOf()
1:03:17handmade_sort.cpp: Correct the sense of BothZSprites in IsInFrontOf()
1:03:31zouchk42 You always do == float comparisons. How can you ensure those will ever return true because of float precision?
🗪
1:03:31zouchk42 You always do == float comparisons. How can you ensure those will ever return true because of float precision?
🗪
1:03:31zouchk42 You always do == float comparisons. How can you ensure those will ever return true because of float precision?
🗪
1:05:01longboolean In the Y overlaps Z case, what about cliff sides that are holding up the ground sprites (so elevated ground isn't just floating there)? Would that cause an issue with anything?
🗪
1:05:01longboolean In the Y overlaps Z case, what about cliff sides that are holding up the ground sprites (so elevated ground isn't just floating there)? Would that cause an issue with anything?
🗪
1:05:01longboolean In the Y overlaps Z case, what about cliff sides that are holding up the ground sprites (so elevated ground isn't just floating there)? Would that cause an issue with anything?
🗪
1:05:20Blackboard: Breaking problematic sprites into two pieces
1:05:20Blackboard: Breaking problematic sprites into two pieces
1:05:20Blackboard: Breaking problematic sprites into two pieces
1:06:37mvandevander I literally did the "float ==" thing last week and considered it acceptable for that exact reason, because I was just checking if a value had just been set by me to an exact value on the previous frame or whatever
🗪
1:06:37mvandevander I literally did the "float ==" thing last week and considered it acceptable for that exact reason, because I was just checking if a value had just been set by me to an exact value on the previous frame or whatever
🗪
1:06:37mvandevander I literally did the "float ==" thing last week and considered it acceptable for that exact reason, because I was just checking if a value had just been set by me to an exact value on the previous frame or whatever
🗪
1:09:29Close it down
🗩
1:09:29Close it down
🗩
1:09:29Close it down
🗩