atrueprincefanfrom18 wrote: ↑July 11th, 2020, 10:45 am
2. Problem with visibility of two gates in the same column.
Search: 0E E8 02 04 0E E8 97 04 0E E8 DE 06
Change to: 0E E8 9B 04 0E E8 E2 06 0E E8 FA 03
(offset in unpacked v1.0: 0xB69B)
Search: 0E E8 7C 03 0E E8 5C 06 0E E8 CE 08
Change to: 0E E8 60 06 0E E8 D2 08 0E E8 74 03
(offset in unpacked v1.0: 0xB721)
Equivalents in SDLPoP:
Code: Select all
in draw_tile():
draw_tile_anim_topright();
draw_tile_right();
draw_tile_anim_right();
change to:
draw_tile_right();
draw_tile_anim_right();
draw_tile_anim_topright();
in redraw_needed():
draw_tile_anim_topright();
draw_tile_anim_right();
draw_tile_anim();
change to:
draw_tile_anim_right();
draw_tile_anim();
draw_tile_anim_topright();
atrueprincefanfrom18 wrote: ↑July 11th, 2020, 12:30 pm
David wrote: ↑July 11th, 2020, 11:53 am
I don't know what #3 means. Maybe post a screenshot?
Check 0:30 timestamp in the video in
this post. Something happens when the gate is starting to raise. Is there a fix for it?
Thank you!
By the way, the same glitch also happens if you replace the pillar with a wall. (Although who would put a wall next to a gate?)
I already found how to fix the glitch in SDLPoP:
Code: Select all
void __pascal far draw_trob() {
word var_2;
var_2 = get_trob_right_pos_in_drawn_room();
set_redraw_anim(var_2, 1);
set_redraw_fore(var_2, 1);
set_redraw_anim(get_trob_right_above_pos_in_drawn_room(), 1);
set_redraw_fore(get_trob_right_above_pos_in_drawn_room(), 1); // <-- add this
}
The problem is, in the DOS version it's just not possible to add new code without removing something else.
So my workaround is to change the second set_redraw_anim() call to call set_redraw_full() instead.
Search: 0E E8 F6 04
Change to: 0E E8 80 05
(offset in unpacked v1.0: 0xA010)