EDuke32 2.0 and Polymer! "talk about the wonders of EDuke32 and the new renderer"
#6271 Posted 05 April 2020 - 10:16 AM
#6272 Posted 14 April 2020 - 01:18 PM
It seems that the update from r7187 to r7238 introduced a bug that makes the game hangs when loading the map (e.g. E3L2) with DukePlus 2.40.
It crashes exactly at this error:
"Line 19803, espawnvar: invalid sector 4096"
Before r7238 such errors were handled correctly. Now, it just hangs. In debug I see that it hangs at the OSD method, trying to print to the log (which is truncated before the error could even be written).
There are a lot of commits between the two versions but I suspect r7195 is the commit to blame since the stack trace passes through a VM assertion before going to the OSD printer:
"Refine CON VM error handling behavior."
#6273 Posted 14 April 2020 - 03:11 PM
Jmoc, on 14 April 2020 - 01:18 PM, said:
It seems that the update from r7187 to r7238 introduced a bug that makes the game hangs when loading the map (e.g. E3L2) with DukePlus 2.40.
What about after r7238?
#6274 Posted 14 April 2020 - 06:47 PM
What is glFinish's purpose and is the bad behavior when running HRP or when not running HRP? And by HRP do you mean any high res content? Normal and spec maps?
I ask because everything I do is Polymer with higher res content.
This post has been edited by Mark: 14 April 2020 - 06:49 PM
#6275 Posted 14 April 2020 - 10:02 PM
Trooper Dan, on 14 April 2020 - 03:11 PM, said:
Forgot to mention that this happens with every version since then (up to the latest snapshot)
#6276 Posted 15 April 2020 - 03:54 AM
Mark, on 14 April 2020 - 06:47 PM, said:
What is glFinish's purpose and is the bad behavior when running HRP or when not running HRP? And by HRP do you mean any high res content? Normal and spec maps?
I ask because everything I do is Polymer with higher res content.
I did a google search for glFinish and while its a bit too technical for me to completely understand, I did read that it's use is desired by some and not by others and there are different opinions on how and when to use it. I'm sure you researched this function before including it.
Now I'm wondering what issue is being addressed by this command. Is the cure worse than the disease?
#6277 Posted 21 April 2020 - 11:33 AM
Btw, #4 is already fixed as well.
This post has been edited by LeoD: 21 April 2020 - 11:33 AM
#6278 Posted 21 April 2020 - 01:01 PM
In our upcoming overhaul of WGR, one of the boss fights usually causes a crash to desktop. It does this without entering anything to the log. So, naturally I try the debug version. Well, the debug version doesn't crash at all. So I don't know what to do about it except using the debug version. I periodically check non-debug versions when new revisions come out, but the crash persists.
EDIT: This is probably unrelated, but in recent revisions the log can be absolutely spammed with messages like this:
Quote
clipupdatesector():1023 shortest distance between origin point (78442, 19317) and sector 277 is 6540. Sector may be corrupt!
clipupdatesector():1023 shortest distance between origin point (78458, 19385) and sector 277 is 6471. Sector may be corrupt!
clipupdatesector():1023 shortest distance between origin point (78474, 19453) and sector 277 is 6404. Sector may be corrupt!
clipupdatesector():1023 shortest distance between origin point (78490, 19521) and sector 277 is 6336. Sector may be corrupt!
I have seen this across all mods and maps, and it's super annoying because it make it hard to search the log file for actual problems and casual users think they have found something important when they see that.
This post has been edited by Trooper Dan: 21 April 2020 - 01:05 PM
#6279 Posted 21 April 2020 - 01:38 PM
#6280 Posted 21 April 2020 - 02:48 PM
TerminX, on 21 April 2020 - 01:38 PM, said:
Knowing that was useful in eliminating those log entries. However, the silent crash to desktop still happens in that boss fight even after those were eliminated. Can you think of a reason why there would be a silent crash to desktop that does not happen in a debug build?
#6281 Posted 21 April 2020 - 03:18 PM
Trooper Dan, on 21 April 2020 - 02:48 PM, said:
- an unusual insecure C/C++ construct which the compiler doesn't know and therefore can't complain about
- a bug in one of the optimizing compiler routines enabled by the -O options
Trying out different optimizing options and/or different compiler versions might help narrowing down these cases
- some weird interactions with the OS or its drivers
Can the crash be reproduced on different computers?
This post has been edited by LeoD: 21 April 2020 - 03:23 PM
#6282 Posted 21 April 2020 - 03:59 PM
LeoD, on 21 April 2020 - 03:18 PM, said:
The crash happens on different systems, yes. I'm still trying to narrow it down -- since it only happens in that boss fight, in theory I should be able to pinpoint what's triggering it, but because it does not generate a log entry and because it does not happen consistently, it will take a lot of testing.
#6283 Posted 21 April 2020 - 04:18 PM
in EVENT_ANIMATESPRITES, if you try settspr[THISACTOR].tsprcstat 32767 apparently this can cause the crash (but not always!)
I used that in WGR2 for enemies that had an invisibility aura -- rather than change their actual cstat which would make them unhittable, I would have them flash transparent and on random frames become completely invisible, all handled in EVENT_ANIMATESPRITES. But it seems that nowadays, making the t-sprites invisible in that event can cause a crash. It's like the renderer doesn't like being told not to render something it had already decided to render.
EDIT: It could also just be the wrong cstat value to be using, although it did make them invisible in the past
This post has been edited by Trooper Dan: 21 April 2020 - 04:21 PM
#6284 Posted 22 April 2020 - 01:48 PM
#6285 Posted 22 April 2020 - 03:56 PM
TerminX, on 22 April 2020 - 01:48 PM, said:
But using settspr[THISACTOR].tsprcstat 32768 in EVENT_ANIMATESPRITES does not make the t-sprite invisible, it makes it appear to have cstat 0. EDIT: To quickly confirm this you can add "seta[].mdflags 16" to the APLAYER actor, and then use "settspr[].tsprcstat 32768" in ANIMATESPRITES, then check F7 mode and you will see that the player is solid, not transparent like normal.
That was why I had experimented with using 32767 back in 2009 when the code was written, and back then it worked. Now 32767 causes a silent crash. In fact, I can see no way of making t-sprites invisible in that event now. It's not a problem because I don't need full invisibility and we have .alpha now.
#6286 Posted 22 April 2020 - 06:07 PM
#6287 Posted 23 April 2020 - 06:20 AM
Jmoc, on 14 April 2020 - 01:18 PM, said:
It crashes exactly at this error:
"Line 19803, espawnvar: invalid sector 4096"
Before r7238 such errors were handled correctly. Now, it just hangs. In debug I see that it hangs at the OSD method, trying to print to the log (which is truncated before the error could even be written).
There are a lot of commits between the two versions but I suspect r7195 is the commit to blame since the stack trace passes through a VM assertion before going to the OSD printer:
"Refine CON VM error handling behavior."
I have a feeling that the issue is related to DeeperThought's recent WGR problem.
Added to issue tracker.
#6288 Posted 28 April 2020 - 03:33 AM
#6289 Posted 09 May 2020 - 05:52 AM
#6290 Posted 09 May 2020 - 04:21 PM
Trooper Dan, on 22 April 2020 - 03:56 PM, said:
That was why I had experimented with using 32767 back in 2009 when the code was written, and back then it worked. Now 32767 causes a silent crash. In fact, I can see no way of making t-sprites invisible in that event now. It's not a problem because I don't need full invisibility and we have .alpha now.
Cstat 32768 prevents a sprite from being rendered, meaning it skips the animatesprites event. Likewise, cstat 32768 won't work inside of animatesprites because it's too late.
The original source code set xrepeat to zero in animatesprites to hide some sprites (i.e. adult content).
If you set cstat 32767, you are using almost all bits available, including values that may be used in the future... so expect nasty bugs.
#6291 Posted 20 May 2020 - 11:08 PM
Extract http://hendricks266....x_widescreen.7z to use Jimmy's widescreen tiles.
#6292 Posted 21 May 2020 - 04:24 AM
#6294 Posted 21 May 2020 - 12:42 PM
Hendricks266, on 21 May 2020 - 08:08 AM, said:
Thanks Thanks and Thanks!!!May i ask if does change anything from the old GRP ('97) and the Redux one? The weight looks the same, just asking to be sure.
#6295 Posted 21 May 2020 - 08:43 PM
RADAЯ, on 21 May 2020 - 04:24 AM, said:
What is the recommended way to use the SW HRP pack with VoidSW?
#6296 Posted 21 May 2020 - 09:18 PM
enderandrew, on 21 May 2020 - 08:43 PM, said:
The recommended usage is not using it. I'm not being facetious. These are effectively abandoned projects.
#6297 Posted 22 May 2020 - 10:29 AM
RADAЯ, on 21 May 2020 - 09:18 PM, said:
Wouldn't it make sense to just include some of the new upscales in the HRP?
#6298 Posted 22 May 2020 - 10:48 AM
This post has been edited by Mark: 22 May 2020 - 10:50 AM
#6299 Posted 22 May 2020 - 10:49 AM
enderandrew, on 22 May 2020 - 10:29 AM, said:
It would make the most sense to just use the upscales on their own for consistency.
#6300 Posted 22 May 2020 - 02:02 PM
enderandrew, on 21 May 2020 - 08:43 PM, said:
I would recommend checking out the sw_hrp svn repository as a subfolder to your VoidSW folder and launching the exe with -jsw_hrp. You probably want to add your own sw.def to the root folder to include sw-widescreen.def and highres/sw_hrp.def. Or, you can use the -mh command line parameter to load individual def files in succession.