4DPlayer wrote: ↑May 19th, 2019, 7:24 pm
Level 6. I was adding totally new rooms onto the map.
In which room did this guard appear?
If it's room 6 then it's the fat guard from the original level 6.
Norbert wrote: ↑May 19th, 2019, 9:19 pm
My guess is that the cause is a combination of one or more modified DAT files (in particular KID.DAT)
The screenshot indeed shows that a modified KID.DAT (the caped prince) was used, but how is it related to the black guard?
Norbert wrote: ↑May 19th, 2019, 9:19 pm
and a modified enemy type (probably "N", none).
If I set the enemy type to none then the PoP DOS will hang when I enter a room with a guard.
Norbert wrote: ↑May 19th, 2019, 9:19 pm
To get a bit more technical, I already made sure that regular guards don't get color -1. Quoting from apoplexy.c:
Yes, but that code (SetGuard()) handles only the guards added by Apoplexy.
If a guard is already in the level data then this code won't see it.
Norbert wrote: ↑May 19th, 2019, 9:19 pm
Not sure why David mentions 0 in his post he linked above.
As far as I can tell by reading my own code, -1 means a color is not applicable.
We are talking about two different things.
-1 appears in the iColor parameter of SetGuard() when the user adds a "special" guard (shadow, fat, skeleton, Jaffar).
The 0 that I mentioned appears in the level data, in what Apoplexy calls sGuardColors[].
Run Apoplexy with the --debug option and load the original level 6.
The console will show this line among others:
Code: Select all
[ INFO ] A guard in room: 6, location: 13, turned: r, skill: 5, color: 0
This is the fat guard. If (on the EXE screen) you change type of guards on level 6 to regular, then he will become a black guard.