henricj / dunelegacy

GNU General Public License v2.0
27 stars 5 forks source link

Most Harkonnen soldier enemies do not react in Ordos campaign mission 1 #26

Open juj opened 2 years ago

juj commented 2 years ago

When playing the first level of the Ordos campaign, there are some Harkonnen soldiers scattered around the level:

image

image

Oddly, these soldiers are most static: they do not react when being fired upon, but just stand there and take the fire they get until they die.

This does not occur on each of the enemy soldiers: a few of them do fire back (maybe 25%?).

juj commented 2 years ago

Same issue does occur to some (rare) units in mission 2. E.g. the following:

image

I was able to keep on shooting the trooper there without it (or any other unit - though that might be expected since the AI does allow cheesing off base defenders one by one) caring about it.

henricj commented 2 years ago

Harkonnen is the default, so this may be due to me, with the help of ReSharper's sometimes temperamental refactoring, breaking things in the INI map loader code. Perhaps in INIMapLoader.cpp?

Are there any errors or warnings about the map load in the log file (or VS output window)?

juj commented 2 years ago

Good hint - Attached the run stdout log. This log contains runs of Ordos levels 1 and 2 and maybe level 1 was twice, can't completely recall.

There are some interesting warnings:

INFO : SCENO001.INI:30: Invalid or occupied position for 'Soldier': '9' (-7x-16/9) after parsing Harkonnen,Soldier,256,9,64,Hunt! INFO : SCENO001.INI:46: Invalid or occupied position for 'Soldier': '3261' (45x34/3261) after parsing Harkonnen,Soldier,256,3261,64,Hunt!

Let me re-do Ordos level 1 and pay a bit more attention to the log.

run_log.txt

juj commented 2 years ago

Playing around the soldiers in Ordos level 1 a bit more, it seems some kind of an activation thing:

If I immediately begin to fire an enemy unit while that unit is barely out of the black shroud, then typically it does not react and stays frozen until it dies.

If I casually drive around the enemy unit with the Ordos trikes, making laps around it for a few seconds, then the unit does always wake up.

henricj commented 2 years ago

You might want to step through the parsing code to make sure the parsed results make sense given the actual input lines.

juj commented 2 years ago

I think the parsing issue is something else.. I'll document my findings in a separate issue.