452985 (ClearCursor)452994 (DrawMissile)452B2A (DrawClippedMissile)452CC0 (DrawDeadPlayer)452DA0 (DrawPlayer)452F8B (DrawClippedPlayer)453160 (DrawView)453272 (DrawGame)453477 (scrollrt_draw_lower)4538E2 (scrollrt_draw_clipped_dungeon) #953 453ED9 (DrawClippedMonster)453FCC (DrawClippedObject)4540E5 (scrollrt_draw_clipped_e_flag)454229 (scrollrt_draw_lower_2)4545D2 (scrollrt_draw_clipped_dungeon_2)454C09 (scrollrt_draw_clipped_e_flag_2)454D9D (scrollrt_draw_upper)455217 (scrollrt_draw_dungeon) #773 455844 (DrawMonster)455937 (DrawObject)455A7D (scrollrt_draw_e_flag)455BD4 (DrawZoom)455E32 (ClearScreenBuffer)455E65 (scrollrt_draw_game_screen)455EC7 (scrollrt_draw_cursor_back_buffer)455F56 (scrollrt_draw_cursor_item)456124 (DrawMain)4563B3 (DoBlitScreen)4564F9 (DrawAndBlit)Maybe debug functions such like ScrollView() could be added into milestone-issues too?
@sskras debug functions are difficult to get bin exact since they are not in the 1.09 version and was compiled with a different compiler, so we would need a completely individual pipeline for making them bin exactly. So since they are mostly just icing on the cake I think we can leave them out of the effort to achieve bin exactness (they don't appear in the release builds of Devilution either).
since they are not in the 1.09 version and was compiled with a different compiler
Thanks, didn't know that.
S.
So here's compiler tricking workaround to make scrollrt_draw_dungeon into min diff:
Replacing
DrawDeadPlayer(sx, sy, dx, dy, 0, CelCap, 0);
with
if (light_table_index) /* any irrelevant to surrounding code global or local */
DrawDeadPlayer(sx, sy, dx, dy, 0, CelCap, 0);
else
DrawDeadPlayer(sx, sy, dx, dy, 0, CelCap, 0);
Turns diff into

Maybe it would give someone idea for proper fix. Similar trick I believe also works for DrawPlayer calls just results in much more changes around the call itself.
In general this workaround might be applied if there would be desperate need to make function of the same size as original and no better soultion is found.
Aha! It makes sense because in the demo the function actually does something just like that. I think you nailed it.
Edit: and as we know from AddCBolt, when a conditional results in the same function call it gets optimized away even in the beta.
Getting it to be the same size would be a win by it self.
Wow, last issue! @AJenbo, I miss you coding song. 馃幎 馃幎
馃幍 1 functions left in the game 1 functions of code, 馃幍
馃幍 you pick one out and clean it right up, no functions left in the game 馃幍
Most helpful comment
馃幍 1 functions left in the game 1 functions of code, 馃幍
馃幍 you pick one out and clean it right up, no functions left in the game 馃幍
Fixes https://github.com/diasurgical/devilution/milestone/3