View Issue Details

IDProjectCategoryView StatusLast Update
0000462FSSCPgameplaypublic2005-07-12 20:12
ReporterGoober5000 Assigned ToGoober5000  
PrioritynormalSeveritymajorReproducibilitysometimes
Status resolvedResolutionfixed 
Summary0000462: "Warpout Sequence Aborted"
DescriptionEvery so often this message appears when you're trying to jump out at the end of a mission. I looked through the code once and I thought I pinpointed it to a player collision: if Alpha 1 collided with something, the jump would be aborted. Yet every so often this message appears even though Alpha 1 has not collided.

Just now I was playing a mission where objects were consantly colliding into other objects and wondered if this code didn't actually check for *any* collision - not just a collision with Alpha 1. This needs to be investigated further.
TagsNo tags attached.

Activities

taylor

2005-07-08 23:45

administrator   ~0002743

This should be easily fixed with an extra player_involved check where a ship collides with a ship but I have yet to find where it got broken. The cpp file in question has been largely unchanged so I don't know what the problem is. By what I'm seeing this looks like it should have happened even in retail.

Goober5000

2005-07-12 06:24

administrator   ~0002756

Yup, it was like this even in FS1.

Search for "Warpout sequence aborted" in collideshipship.cpp. It looks like this was just an ugly hack: Volition stuck the warp abort test in the collision detection routine so they wouldn't need a separate collision poll while the player ship was warping out.

Simply changing this line

if ( Player->control_mode == PCM_WARPOUT_STAGE1 ) {

to

if ( (Player->control_mode == PCM_WARPOUT_STAGE1) && ((Player_obj == A) || (Player_obj == B)) ) {

should fix it, methinks.

taylor

2005-07-12 13:11

administrator   ~0002758

Just do:

if ( !player_involved && (Player->control_mode == PCM_WARPOUT_STAGE1) ) {

which is easier, faster, and the same thing.

Goober5000

2005-07-12 20:12

administrator   ~0002762

Ah, thanks, I missed that. (But it should be player_involved, not !player_involved.) :p

Fixed.

Issue History

Date Modified Username Field Change
2005-07-08 05:43 Goober5000 New Issue
2005-07-08 23:45 taylor Note Added: 0002743
2005-07-12 06:24 Goober5000 Note Added: 0002756
2005-07-12 13:11 taylor Note Added: 0002758
2005-07-12 20:12 Goober5000 Status assigned => resolved
2005-07-12 20:12 Goober5000 Resolution open => fixed
2005-07-12 20:12 Goober5000 Note Added: 0002762