Return-To-The-Roots / s25client

Return To The Roots (Settlers II(R) Clone)
http://www.rttr.info
GNU General Public License v2.0
470 stars 75 forks source link

Crash while drawing walking soldier #1668

Open Spikeone opened 1 month ago

Spikeone commented 1 month ago

The game (and replay) crashes: grafik

grafik

Although the replay seems to end at GF 469209, the replay crashes if you observe that spot early. If you do not look at that spot (so just start the replay, jump to end, continue with P) the game doesn't crash. As soon as you jump to that spot the game will crash.

Version: 20240409

2024-05-25_19-40-22.zip

Flamefire commented 2 weeks ago

I investigated this a bit and it is actually the drawing code that crashes the game. Investigating this is complicated by the length of the replay such that I'm checking how to save a partial replay, i.e. jump to a GF in a replay then save the remaining replay.

@Spikeone

Although the replay seems to end at GF 469209, the replay crashes if you observe that spot early.

What exactly do you mean by that? The replay ends at this GF because the game crashed. Do you have any earlier GF where the game crashes if you observe the spot? With jumping it seems to be tricky as the crashing GF might not be drawn (draw during jump happenings only every 100 GFs or so)

Spikeone commented 2 weeks ago

@Flamefire

What exactly do you mean by that? The replay ends at this GF because the game crashed. Do you have any earlier GF where the game crashes if you observe the spot? With jumping it seems to be tricky as the crashing GF might not be drawn (draw during jump happenings only every 100 GFs or so)

Well, that meant if you observe the spot, the game crashes before the game actually crashed when playing. Which fits your description, that it's related to drawing. The earliest crash I can reproduce is at GF 469191, thats when Player 2 loses his watchtower at 108:70

But when playing the replay up to 469200, then jumping to the spot, the game crashes as well. When playing the replay up to 46900, then jumpting to the spot, the game doesn't crash. But continuing then the player loses the watchtower at GF 469191. When playing the replay to the end, keeping the white HQ centered, continue playing to 470011, jumping to that spot, the game crashes as well.

Hope this does answer your initial question. So you should be able to jump to GF 469100, save, continue and it should crash some GFs after.