View Issue Details

IDProjectCategoryView StatusLast Update
0002683FSSCPFREDpublic2013-05-30 00:35
ReporterBlack Wolf Assigned ToGoober5000  
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Target Version3.6.14Fixed in Version3.6.14 
Summary0002683: red-alert no longer triggers after the warpout sequence has started.
DescriptionUsed to be common practice to trigger a red-alert by having the player press "Alt-J". This appears to no longer work - the mission dumps you to debrief instead, without the red-alert triggering. If "never-warp" is used, the Red Alert triggers as it should. Testing on 3.6.13 r8670
TagsNo tags attached.

Relationships

has duplicate 0002466 closedniffiwan Red alert to next mission isn't working properly 

Activities

Goober5000

2012-07-12 06:58

administrator   ~0013850

If confirmed, this would be a blocker to releasing 3.6.14.

Could you try to narrow down the revision at which it appears?

niffiwan

2012-07-14 10:35

developer   ~0013858

I've tried reproducing this without success so far.

1) fsport, sm2-05a (Tenderizer)
2) fsport-str, str02 (More Than Meets The Eye)
3) freespace2, sm3-09 (Clash of the Titans II)

This using 3.6.13 r9010 Release, and using skipmemymissionyo to get to the relevant mission. A new pilot was created for each test. In each case the mission ended without any input from me and I got the 'incoming transmission' briefing for the next mission.

Am I testing this the correct way? I was basically testing the report from this forum, thread:
http://www.hard-light.net/forums/index.php?topic=81385.0

Black Wolf

2012-07-14 23:50

reporter   ~0013862

I'm currently away at work, will attempt to narrow down the revision number and provide some test missions when I get home on Tuesday. It looks like my bug is slightly different to the one in that thread though.

Black Wolf

2012-07-19 15:04

reporter   ~0013875

OK, testing this more thoroughly, the problem seems to relate to the amount of time it takes between pressing alt-J and starting the outside the ship warp animation. If it's longer than the delay, you red-alert just fine. If it's shorter (i.e. if your speed when you pressed alt-J was close to the warpout speed of your fighter) then it often triggers.

The thing is, I know that the missions I'm testing used to work flawlessly. Unfortunately, they're very, very old, and the change could have happened anywhere for the last several years. I will start trying some really old builds and see if I can find the old behaviour, but this might take awhile.

Goober5000

2012-07-21 23:32

administrator   ~0013877

The general principle hasn't changed, although there is now an ability to specify a warpout speed for your fighter. If none is specified, the speed is 40.

There is a margin of 2 m/s on either side of the speed. So for retail ships, when the speed accelerates to 38 or decelerates to 42, you jump out. The time to reach this speed will vary depending on how fast you are going when you hit Alt-J.

Interestingly, this ticket appears to cover two different issues. The three red-alerts that Niffiwan tested are all unconditional red-alerts, that is, they happen regardless of whether you press Alt-J or not. In the linked thread, it appears that the unconditional red-alert did not work for semmelbrot. This is distinct from the conditional (i.e. dependent on Alt-J) red-alert not working.

Goober5000

2012-08-18 06:28

administrator   ~0013917

I'm about ready to declare semmelbrot's issue "unable to reproduce", as I've added my testing to niffiwan's and everything worked fine.

Black Wolf, do you have any additional details on the time-until-warpout issue?

Black Wolf

2012-08-22 10:37

reporter  

TestCampaign.7z (2,944 bytes)

Black Wolf

2012-08-22 10:40

reporter   ~0013935

I've uploaded a test campaign to demonstrate the problem, which seems to have been introduced between r6832 and r6847. To demonstrate, grab those two builds and get your Myrmidon up to around 40 m/sec before jumping out. In 6832, you will start the jumpout sequence, and red-alert halfway through it. in 6847, the jumpout sequence will run its course, and you'll be dumped to a "No debriefing" debrief screen.
In both builds, though, if you're powering along at >100 m/sec, the red-alert will kick in _before_ the warpout sequence triggers at all, and all is well. This behaviour is fine, obviously, it's only the refusal to red-alert once the external ship view has started which is the problem.

Goober5000

2012-08-23 06:09

administrator   ~0013941

Egad. The problem is revision 6833, the Antipodes 7 merge with Swifty's HUD code. Unfortunately, that diff is 29,369 lines long...

Fortunately, I was able to use the debugging tool to avoid examining that whole thing. :) It turns out that red_alert_check_status() isn't being called once the player starts his warpout, which corresponds to when the camera changes and the HUD is turned off. This is because the HUD drawing code used to be called via the main game loop, whereas now it's called using whatever method Swifty uses.

This isn't a problem with Swifty's code, it's just Volition doing dumb things again, just like initializing waypoints in the AI code. All I need to do is split out the part of red_alert_check_status() that actually takes care of moving the player to a new mission, and call that code from the main game loop. And while I'm at it, I should probably check for a red-alert once the state changes from gameplay to debriefing, just in case the FREDder mis-timed the red-alert sexp.

Goober5000

2012-08-23 06:11

administrator   ~0013942

By the way, many thanks to Black Wolf's narrowing down the revision, as well as providing a sample test campaign. These were invaluable in helping me to track down the problem quickly. :)

Ask for actually fixing the problem, I think I'll do that tomorrow. Sleep now...

Goober5000

2012-08-24 03:59

administrator   ~0013945

Fixed in revision 9143.

Issue History

Date Modified Username Field Change
2012-07-09 09:54 Black Wolf New Issue
2012-07-12 06:58 Goober5000 Note Added: 0013850
2012-07-12 06:58 Goober5000 Assigned To => Goober5000
2012-07-12 06:58 Goober5000 Severity minor => block
2012-07-12 06:58 Goober5000 Status new => assigned
2012-07-12 06:58 Goober5000 Target Version => 3.6.14
2012-07-14 10:35 niffiwan Note Added: 0013858
2012-07-14 23:50 Black Wolf Note Added: 0013862
2012-07-19 15:04 Black Wolf Note Added: 0013875
2012-07-21 23:32 Goober5000 Note Added: 0013877
2012-08-18 06:28 Goober5000 Note Added: 0013917
2012-08-22 10:37 Black Wolf File Added: TestCampaign.7z
2012-08-22 10:40 Black Wolf Note Added: 0013935
2012-08-23 06:09 Goober5000 Note Added: 0013941
2012-08-23 06:11 Goober5000 Note Added: 0013942
2012-08-24 03:59 Goober5000 Note Added: 0013945
2012-08-24 03:59 Goober5000 Severity block => major
2012-08-24 03:59 Goober5000 Status assigned => resolved
2012-08-24 03:59 Goober5000 Resolution open => fixed
2012-08-24 03:59 Goober5000 Fixed in Version => 3.6.14
2013-05-30 00:35 Goober5000 Relationship added has duplicate 0002466