Ficky interiors? (Crash when relighting scene)
by Fenrir Wolf · in Torque Game Engine · 05/23/2004 (11:28 pm) · 4 replies
I'm having issues with getting some interiors I've made to work with Torque. They cause the engine to crash when it's in the relighting phase (and is calculating shadowvolumes). In particular, here's a sample of the traceback:
mPolyStore seems to be thoroughly trashed. (Contains 0xcccccccc) This only happens when I insert a particular set of geometry in my interior. (It's a railing on the edge of a walkway.) If I delete it, things work fine. Map2dif says this:
Anyone have any clue? I'm digging through the code now to see if I can find what might be going on. The interior code isn't liking something, but I can't grasp what.
ShadowVolumeBSP::createPoly() line 281 + 3 bytes
ShadowVolumeBSP::splitPoly(ShadowVolumeBSP::SVPoly * 0x0192c848, const PlaneF & {...}, ShadowVolumeBSP::SVPoly * * 0x0012f2c8, ShadowVolumeBSP::SVPoly * * 0x0012f2c4) line 85 + 8 bytes
ShadowVolumeBSP::insertPoly(ShadowVolumeBSP::SVNode * * 0x01928634, ShadowVolumeBSP::SVPoly * 0x0192c848) line 198
ShadowVolumeBSP::insertPolyBack(ShadowVolumeBSP::SVNode * * 0x01928454, ShadowVolumeBSP::SVPoly * 0x0192c848) line 240
ShadowVolumeBSP::insertPoly(ShadowVolumeBSP::SVNode * * 0x01928454, ShadowVolumeBSP::SVPoly * 0x0192c848) line 190
ShadowVolumeBSP::insertPolyBack(ShadowVolumeBSP::SVNode * * 0x019280e4, ShadowVolumeBSP::SVPoly * 0x0192c848) line 240
ShadowVolumeBSP::insertPoly(ShadowVolumeBSP::SVNode * * 0x019280e4, ShadowVolumeBSP::SVPoly * 0x0192c848) line 190
ShadowVolumeBSP::insertPolyBack(ShadowVolumeBSP::SVNode * * 0x01927eb4, ShadowVolumeBSP::SVPoly * 0x0192c848) line 240
ShadowVolumeBSP::insertPoly(ShadowVolumeBSP::SVNode * * 0x01927eb4, ShadowVolumeBSP::SVPoly * 0x0192be70) line 206
ShadowVolumeBSP::insertPolyBack(ShadowVolumeBSP::SVNode * * 0x0012fac8, ShadowVolumeBSP::SVPoly * 0x0192be70) line 240
ShadowVolumeBSP::insertPoly(ShadowVolumeBSP::SVNode * * 0x0012fac8, ShadowVolumeBSP::SVPoly * 0x0192be70) line 190
ShadowVolumeBSP::insertPoly(ShadowVolumeBSP::SVPoly * 0x0192be70) line 130 + 48 bytes
SceneLighting::addInterior(ShadowVolumeBSP * 0x0012faac, SceneLighting::InteriorProxy & {...}, LightInfo * 0x015b5ccc, int 0) line 882
SceneLighting::InteriorProxy::light(LightInfo * 0x015b5ccc) line 322
SceneLighting::processEvent(unsigned int 0, int 0) line 1181 + 51 bytes
SceneLightingProcessEvent::process(SimObject * 0x0191d460) line 120mPolyStore seems to be thoroughly trashed. (Contains 0xcccccccc) This only happens when I insert a particular set of geometry in my interior. (It's a railing on the edge of a walkway.) If I delete it, things work fine. Map2dif says this:
** Executing...
** Command: D:\TORQUE~1\torque\tools\map2dif.exe
** Parameters: "d:\torquehead\torque\grm\robotmonster\data\interiors\city\dock.map"
Successfully opened map file: d:\torquehead\torque\grm\robotmonster\data\interiors\city\dock.map
Parsing mapfile...done.
Creating BSP...done.
Marking active zones...done
Creating surfaces...done.
Lightmaps: Normal...Alarm...done.
Resorting and Packing LightMaps...done.
STATISTICS
- Total brushes: 50
+ structural: 50
+ detail: 0
+ portal: 0
- Number of zones: 1
- Number of surfaces: 486
** *** WARNING WARNING WARNING *** **
*** ** WARNING WARNING WARNING ** ***
Errors exists in this interior. Please use the debug rendering modes
to find and correct the following problems:
* Ambiguous brushes: 0
* Orphaned Polygons: 6
*** ** WARNING WARNING WARNING ** ***
** *** WARNING WARNING WARNING *** **
Exporting to runtime...done.
Writing Resource: persist..(d:/torquehead/torque/grm/robotmonster/data/interiors/city/dock.dif) Done.Anyone have any clue? I'm digging through the code now to see if I can find what might be going on. The interior code isn't liking something, but I can't grasp what.
#2
PS: The title of this thread should be "FINICKY interiors" but I fat-fingered it. Shouldn't post when I am sleepy.
05/24/2004 (9:28 am)
Mark: You got it. That's it. I took the object, saved it as a .MAP file and then loaded it up in Quark. (I missed the memo that the new official editor had switched from Hammer to Quark. ;) And when I tried to export it to .DIF, it complained about that very thing. I deleted the offending parts and now it works.PS: The title of this thread should be "FINICKY interiors" but I fat-fingered it. Shouldn't post when I am sleepy.
#3
I had problems with certain interiors crashing too. and changing ShadowVolumeBSP::SVPoly::MaxWinding to 256 seemed to fixed it.
05/25/2004 (7:35 am)
Perhaps it has to do with this: http://www.garagegames.com/projectmanager/issue.php?qis=103I had problems with certain interiors crashing too. and changing ShadowVolumeBSP::SVPoly::MaxWinding to 256 seemed to fixed it.
#4
I suppose if you needed high-geometry items, or items with lots of verts/surfaces you could just rely upon TSStatics instead. But still, I'd rather do as much of work in one editor as possible.
05/25/2004 (9:22 am)
Good one, Michael. I'll try that out when I get home! I've already re-created the railing to use simpler geometry, but it looked cooler the first time. :)I suppose if you needed high-geometry items, or items with lots of verts/surfaces you could just rely upon TSStatics instead. But still, I'd rather do as much of work in one editor as possible.
Torque Owner Mark Miley