View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000629 | FSSCP | gameplay | public | 2005-11-22 23:58 | 2005-11-23 06:45 |
| Reporter | phreak | Assigned To | taylor | ||
| Priority | high | Severity | crash | Reproducibility | sometimes |
| Status | resolved | Resolution | fixed | ||
| Platform | P4 3.6 GHz | OS | Windows XP | OS Version | SP2 |
| Product Version | 3.6.7 | ||||
| Summary | 0000629: Cheat selecting unused missiles will crash the game | ||||
| Description | When testing some features, I cheat selected the Helios. Upon firing i discovered it was not loaded since no ships were using the weapon at the beginning of the mission. Therefore, crashage ensued. The fatal error occured occurs here in the function weapon_create(): if ( wip->subtype == WP_MISSILE ){ *** objp->radius = model_get_radius(wip->model_num); wip->model_num is -1 and model_get_radius() has no out of bounds check and therefore returns Polygon_models[-1].radius. | ||||
| Tags | No tags attached. | ||||
|
|
I cant' really remember cheat usage, do you have to enable cheats before a mission or during it? If it's before then making sure everything gets loaded would be simple. If it's after then we'll just have to make sure all weapon models get paged in during the mission when cheats are enabled. |
|
|
cheats are enabled by typing www.freespace2.com during a mission. To cycle secondary weapons use ~ and 9 at the same time. It would be easiest to test this by loading the first mission and cheat switching to a helios. |
|
|
Ok, all weapon models that aren't already loaded will now. This only affects models since bitmaps will already be loaded but not in memory and you can't page them in after mission load. Those will instead get loaded the first time they are used so there might be a slight delay the first time. Fix will hit CVS shortly. Oh and model_get_radius() should take the out-of-bounds checks from model_get() since it does do a few. That's why I didn't add them for each model_get_* function previously. Did it actually get past the model_get() Assert()? |
|
|
i was running release so asserts don't fire then anyway. |
|
|
Fixered. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2005-11-22 23:58 | phreak | New Issue | |
| 2005-11-23 00:55 | taylor | Note Added: 0003920 | |
| 2005-11-23 00:55 | taylor | Status | new => assigned |
| 2005-11-23 00:55 | taylor | Assigned To | => taylor |
| 2005-11-23 01:10 | phreak | Note Added: 0003921 | |
| 2005-11-23 06:05 | taylor | Note Added: 0003922 | |
| 2005-11-23 06:17 | phreak | Note Added: 0003923 | |
| 2005-11-23 06:45 | taylor | Status | assigned => resolved |
| 2005-11-23 06:45 | taylor | Resolution | open => fixed |
| 2005-11-23 06:45 | taylor | Note Added: 0003925 |