View Issue Details

IDProjectCategoryView StatusLast Update
0004965The Dark ModCodingpublic09.03.2020 11:20
Reporterduzenko Assigned Tostgatilov  
PrioritynormalSeveritynormalReproducibilityhave not tried
Status resolvedResolutionfixed 
Product VersionSVN 
Target VersionTDM 2.08Fixed in VersionTDM 2.08 
Summary0004965: Debug build fails to load Swing
DescriptionI get an AssertFailed when starting the Swing.
Additional InformationStack trace:

> TheDarkModNoTools.exe!AssertFailed(const char * file=0x00f2b590, int line=945, const char * expression=0x00f2b520) Line 580 C++
     TheDarkModNoTools.exe!idRenderWorldLocal::BoundsInAreas(const idBounds & bounds={...}, int * areas=0x24eadfec, int maxAreas=32) Line 945 C++
     TheDarkModNoTools.exe!idPVS::GetPVSAreas(const idBounds & bounds={...}, int * areas=0x24eadfec, int maxAreas=32) Line 924 C++
     TheDarkModNoTools.exe!idEntity::UpdatePVSAreas() Line 3959 C++
     TheDarkModNoTools.exe!idEntity::GetNumPVSAreas() Line 4000 C++
     TheDarkModNoTools.exe!idGameLocal::InPlayerConnectedArea(idEntity * ent=0x29591dac) Line 3128 C++
     TheDarkModNoTools.exe!idEntity::DoDormantTests() Line 3038 C++
     TheDarkModNoTools.exe!idEntity::CheckDormant() Line 3081 C++
     TheDarkModNoTools.exe!idMover_Periodic::Think() Line 3070 C++
     TheDarkModNoTools.exe!idGameLocal::RunFrame(const usercmd_t * clientCmds=0x24eaf4b0) Line 3425 C++
     TheDarkModNoTools.exe!idSessionLocal::RunGameTic() Line 3101 C++
     TheDarkModNoTools.exe!idSessionLocal::RunGameTics() Line 3171 C++
     TheDarkModNoTools.exe!idSessionLocal::FrontendThreadFunction() Line 3218 C++
     [External Code]
     [Frames below may be incorrect and/or missing, no symbols loaded for ucrtbased.dll] Unknown
TagsNo tags attached.

Activities

duzenko

duzenko

17.01.2019 15:28

developer  

Untitled.png (66,669 bytes)   
Untitled.png (66,669 bytes)   
stgatilov

stgatilov

19.01.2019 07:15

administrator   ~0011421

Related discussion:
  http://forums.thedarkmod.com/topic/18873-level-size-limit/

Suggestions:

1) Write console warning instead of assert.

2) Add a check into dmap, based on map's bounding box.
  If the box itself is small, but it is far from origin, then throw error.
  Also add a "force" cvar which disables this check.
The incentive is to force mappers to properly center their new missions.
duzenko

duzenko

19.01.2019 08:35

developer   ~0011423

Mappers never use the debug build and now that we have an actual released map that exceeds those bounds then I'd either increase the check value to match it or disable it at all.
stgatilov

stgatilov

19.01.2019 09:28

administrator   ~0011429

Replacing with console warning is better than disabling, and mappers will finally notice it... well, if they look through the warnings =)

Increasing is a bad idea, because all sort of badness starts even before that limit. Swing is a very simple mission with axis-aligned brush geometry and no AI/ragdolls. That's probably the only reason we don't hear about issues in it.
stgatilov

stgatilov

03.01.2020 12:29

administrator   ~0012042

I bumped the limit to 3e+5 in svn rev 8493.

I wanted to make it a warning, but upon closer look:
1) This check happens every frame, so trivial conversion to a warning is a bad idea.
2) In case of Swing, the check fails for an entity, not for worldspawn. There is a huge rotating background model there.
3) The code only checks the size, but does not care about coordinates.
4) I could not easily find bounds for the worldspawn in order to move the check to different place. Quite surprising, given that bounds are anywhere =)
Looking at all of it, I think it's better to tweak and forget =)

Issue History

Date Modified Username Field Change
17.01.2019 15:23 duzenko New Issue
17.01.2019 15:28 duzenko File Added: Untitled.png
19.01.2019 07:15 stgatilov Note Added: 0011421
19.01.2019 08:35 duzenko Note Added: 0011423
19.01.2019 09:28 stgatilov Note Added: 0011429
03.01.2020 12:29 stgatilov Note Added: 0012042
03.01.2020 12:29 stgatilov Assigned To => stgatilov
03.01.2020 12:29 stgatilov Status new => resolved
03.01.2020 12:29 stgatilov Resolution open => fixed
03.01.2020 12:29 stgatilov Fixed in Version => TDM 2.08
09.03.2020 11:20 stgatilov Target Version => TDM 2.08