View Issue Details [ Jump to Notes ] [ Related Changesets ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0002997 | FSSCP | tables | public | 2014-01-09 20:23 | 2014-02-01 17:00 | ||||
Reporter | Spoon | ||||||||
Assigned To | Echelon9 | ||||||||
Priority | normal | Severity | crash | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Product Version | 3.7.1 | ||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0002997: In game crash on missing weapon trail, should be caught during parsing? | ||||||||
Description | I was experiencing crashes and decided to debug, to discover that the crash was caused by a ship firing a weapon, debug threw this message at me: ASSERTION: "ti->texture.bitmap_id != -1" at trails.cpp:193 Weapon trail could not be loaded Int3(): From d:\fso\scp - clean\code\globalincs\windebug.cpp at line 1040 After some puzzling I discovered that the weapon table entry was missing +Bitmap: under $Trail: my mistake but, Shouldn't this be caught during the initial game load (as 99% of other table parsing errors are) and not cause a ingame crash instead? | ||||||||
Tags | No tags attached. | ||||||||
Attached Files |
|
![]() |
|
m_m (developer) 2014-01-10 09:08 |
Should +Bitmap be made required? I don't see how you can use a trail without a bitmap so making it required should fix future problems. |
niffiwan (developer) 2014-01-18 21:29 |
Making +Bitmap required seems like a good idea. |
Echelon9 (developer) 2014-01-19 01:54 |
Yes, it's pretty clear that +Bitmap should be a required table item if a weapon trail has been set. The remaining +Trail items can all be set to default values by the engine, but this section of code/weapon/weapons.cpp shows that the Bitmap will be set to NULL (leading to Assertions() later on). https://github.com/scp-fs2open/fs2open.github.com/blob/master/code/weapon/weapons.cpp#L912-L920 Interestingly, +Bitmap has been an optional item ever since the Weapon trails were established as part of extensible tables in 2005 by WMCoolman https://svn.icculus.org/fs2open/trunk/fs2_open/code/weapon/weapons.cpp?r1=2268&r2=2283 |
Echelon9 (developer) 2014-01-19 02:01 |
See proposed patch to resolve per discussion: https://github.com/Echelon9/fs2open.github.com/compare/fix-mantis-2997 For unified diff format, use this link: https://github.com/Echelon9/fs2open.github.com/compare/fix-mantis-2997.diff |
Echelon9 (developer) 2014-02-01 17:00 |
Fix committed to trunk@10378. |
![]() |
|||
fs2open: trunk r10378
Timestamp: 2014-02-01 16:05:47 Author: Echelon9 Ported: N/A [ Details ] [ Diff ] |
Fix Mantis 2997: Make +Bitmap a required table item if a weapon trail has been set | ||
mod - /trunk/fs2_open/code/weapon/weapons.cpp | [ Diff ] [ File ] | ||
![]() |
|||
Date Modified | Username | Field | Change |
---|---|---|---|
2014-01-09 20:23 | Spoon | New Issue | |
2014-01-10 09:08 | m_m | Note Added: 0015572 | |
2014-01-18 21:29 | niffiwan | Note Added: 0015575 | |
2014-01-19 01:54 | Echelon9 | Note Added: 0015576 | |
2014-01-19 02:00 | Echelon9 | Assigned To | => Echelon9 |
2014-01-19 02:00 | Echelon9 | Status | new => assigned |
2014-01-19 02:01 | Echelon9 | Note Added: 0015577 | |
2014-01-19 02:01 | Echelon9 | Status | assigned => code review |
2014-02-01 17:00 | Echelon9 | Changeset attached | => fs2open trunk r10378 |
2014-02-01 17:00 | Echelon9 | Note Added: 0015583 | |
2014-02-01 17:00 | Echelon9 | Status | code review => resolved |
2014-02-01 17:00 | Echelon9 | Resolution | open => fixed |