Haplo on 29/12/2018 at 11:20
This is the only mission I've ever seen to crash Thief (and DromEd) under WINE. It dies immediately after the mission starts. Running it with strace shows WINE shuts the application down with the error 0xC0000005, which is access violation.
I suspected squirrel to be the culprit, and I was right:
Quote:
Unhandled exception: page fault on read access to 0x0000007e, invalid program stack in 32-bit code (0x0dd620ee).
Register dump:
CS:0023 SS:002b DS:002b ES:002b FS:006b GS:0063
EIP:0dd620ee ESP:0033f788 EBP:00000000 EFLAGS:00010202( R- -- I - - - )
EAX:00000076 EBX:0de276f0 ECX:0de3dc90 EDX:08000200
ESI:0de3dc90 EDI:6072adaa
Stack dump:
0x0033f788: 0de3dc90 00000000 0de276f0 0dd652f4
0x0033f798: 0de89d00 0de276f0 0033f87c 08000000
0x0033f7a8: 00000000 0dd66885 0de3dc90 00000004
0x0033f7b8: 0000002b 0033f7e0 0033f7f1 6072ad42
0x0033f7c8: 00000001 0de276f0 0deee5a8 00000004
0x0033f7d8: 0de278d8 0de278f8 01000001 00000000
000d: sel=006f base=00000000 limit=00000000 16-bit r-x
Backtrace:
=>0 0x0dd620ee in
squirrel.osm (+0x1e20ee) (0x00000000)
0x0dd620ee: movl 0x8(%eax),%edx
The code around that area is:
Quote:
101620df: 48 dec %eax
101620e0: 89 45 1c mov %eax,0x1c(%ebp)
101620e3: 8b 44 24 6c mov 0x6c(%esp),%eax
101620e7: 8b 4c 24 74 mov 0x74(%esp),%ecx
101620eb: 8b 55 00 mov 0x0(%ebp),%edx
101620ee: 89 10 mov %edx,(%eax)
The value of EBP or the stack seem to corrupted, but can't do much more without debug symbols. Interestingly, other missions that use squirrel (for example Catacombs of Knoss) work fine.
Time to find a Windows machine it seems.
vfig on 29/12/2018 at 13:09
Quote Posted by Kerrle
This one was a lot of fun, and a bit bigger than I was expecting going in.
Thanks, I'm glad you enjoyed it!
Quote:
The lighting falloff, as mentioned before, probably should be fixed
Since two people have brought this up now, I guess I need to address it: all the lights in the mission have a radius set (well, I might have missed one or two), and nearly all of them also have an inner radius set so that the falloff is controlled. I put a lot of care into the lighting and making sure that in general shadowed ground implies shadows that will hide you (though there are places where standing beside a lit window will illuminate you while its sill prevents it from illuminating the ground). The wealthier streets are intended to be well-lit and feel hostile. Unless you (or nicked) have specific places where you think the lighting felt wrong that I can look into, I don't think there's anything to be fixed.
Quote:
and I did have a weird issue where the text for some readables (on parchments, I think?) was weirdly translucent in a way that made it hard to read, but it didn't affect every readable; books were fine, for instance.
Can you send me a screenshot of one of the affected books? I did get one other report of this from one of the testers, but he thought it was just something peculiar to his install—but I guess not!
Quote:
If I had to offer a criticism,
it might've been cool if disrupting the ritual was more involved. As is a couple flashbombs and it was done.It is a little more involved if you want to be stealthy about it. :D Thanks for the feedback though!
vfig on 29/12/2018 at 13:13
Quote Posted by Haplo
This is the only mission I've ever seen to crash Thief (and DromEd) under WINE. It dies immediately after the mission starts. Running it with strace shows WINE shuts the application down with the error 0xC0000005, which is access violation. I suspected squirrel to be the culprit, and I was right:
Haplo, can you try editing sq_scripts/vfig_util.nut, and commenting out the entirety of the "CheckDarkGameType" and "CheckNewDarkVersion" classes, and see if that stops it crashing? If not, then try deleting (or moving elsewhere) vfig_util.nut and test it once again? I suspect that if anything I'm doing with squirrel is triggering the crash, it's something in there.
Haplo on 29/12/2018 at 13:42
Quote Posted by vfig
Haplo, can you try editing sq_scripts/vfig_util.nut, and commenting out the entirety of the "CheckDarkGameType" and "CheckNewDarkVersion" classes, and see if that stops it crashing? If not, then try deleting (or moving elsewhere) vfig_util.nut and test it once again? I suspect that if anything I'm doing with squirrel is triggering the crash, it's something in there.
I was suspecting the same so after posting the above I experimented a bit more. Your stuff seems to be ok. If any of m20_ambience, m20_generic or m20_sanct is present, the game crashes. Tomorrow I will narrow it down a bit more. I'm quite curious myself.
vfig on 29/12/2018 at 14:06
Quote Posted by Haplo
I was suspecting the same so after posting the above I experimented a bit more. Your stuff seems to be ok. If any of m20_ambience, m20_generic or m20_sanct is present, the game crashes. Tomorrow I will narrow it down a bit more. I'm quite curious myself.
Okay. Let's take this discussion to PMs so we don't clutter this thread with debugging talk!
Lightningline on 29/12/2018 at 17:09
Another taffer said "and I did have a weird issue where the text for some readables (on parchments, I think?) was weirdly translucent in a way that made it hard to read, but it didn't affect every readable; books were fine, for instance." Same problem for me. Very hard to read. I have T1 not Gold with the Tfix patch. Ive played 2 other missions that worked fine. Doesn't the T fix 1.26 essentially patch it to T Gold with all the updates?
vfig on 29/12/2018 at 17:39
Quote Posted by Lightningline
Another taffer said "and I did have a weird issue where the text for some readables (on parchments, I think?) was weirdly translucent in a way that made it hard to read, but it didn't affect every readable; books were fine, for instance." Same problem for me. Very hard to read. I have T1 not Gold with the Tfix patch. Ive played 2 other missions that worked fine. Doesn't the T fix 1.26 essentially patch it to T Gold with all the updates?
Can you PM me a screenshot of the problem? I still haven't been able to get it to happen myself, but I'll also dig out my TDP CDs and try installing from there with TFix, see if I can replicate it.
Kerrle on 29/12/2018 at 20:40
Quote Posted by vfig
Can you PM me a screenshot of the problem? I still haven't been able to get it to happen myself, but I'll also dig out my TDP CDs and try installing from there with TFix, see if I can replicate it.
I'm on Thief Gold, so I don't think that's it.
And here's a screenshot of the text issue: (
http://i.chattypics.com/files/20181229144142_1_7oj1spjhdj.jpg)
Kerrle on 29/12/2018 at 20:45
Quote Posted by vfig
Since two people have brought this up now, I guess I need to address it: all the lights in the mission have a radius set (well, I might have missed one or two), and nearly all of them also have an inner radius set so that the falloff is controlled. I put a lot of care into the lighting and making sure that in general shadowed ground implies shadows that will hide you (though there are places where standing beside a lit window will illuminate you while its sill prevents it from illuminating the ground). The wealthier streets are intended to be well-lit and feel hostile. Unless you (or nicked) have specific places where you think the lighting felt wrong that I can look into, I don't think there's anything to be fixed.
I'm not going to go through the mission taking screenshots, but there were definite areas where a light was around a corner but the ground I was on was completely dark, and by stepping left/right moving the light behind the corner or not would move me from completely hidden to completely visible, despite the ground being completely identically dark in either position.
Mat99 on 29/12/2018 at 22:49
You are probably using 256-colours
book.PCX, but The Mission uses old 70-colors version, that's why Your version of
TextFont.FON causes a problem. Just rename or delete PARCH directory in mission's folder ./
books/parch or - if You want to use 70-colors PCX - copy original TextFont.FON to this location.
And for vfig:
If You forced THIS version (70-colours) of
./books/parch/book.PCX then You should add (force) proper
TextFont.FON to this directory too.