Time Not Saved: Difference between revisions

From The Elite Wiki
Jump to: navigation, search
m (added Runway to list of Time Not Saved advantaged stages)
m (Removed prior update adding Runway to list of advantaged Time Not Saved stages. Misunderstood the claim)
 
Line 5: Line 5:
=== NTSC Advantage ===
=== NTSC Advantage ===


NTSC-U certainly gives an extra frame to complete on [[Runway]] / [[Facility]] / [[Frigate]] / [[Control]], others are still just 'yeah probably'<ref>{{cite web | url=https://forums.the-elite.net/index.php?topic=18518.msg472722#msg472722|title=the-elite Goldeneye facts topic post on Time Not Saved NTSC advantage|author=Whiteted|access-date=July 18, 2021}}</ref>.
NTSC-U certainly gives an extra frame to complete on [[Facility]] / [[Frigate]] / [[Control]], others are still just 'yeah probably'<ref>{{cite web | url=https://forums.the-elite.net/index.php?topic=18518.msg472722#msg472722|title=the-elite Goldeneye facts topic post on Time Not Saved NTSC advantage|author=Whiteted|access-date=July 18, 2021}}</ref>.


Goldeneye's [[scripts]] are split into two types:
Goldeneye's [[scripts]] are split into two types:

Latest revision as of 15:56, 13 April 2022

Time Not Saved is a glitch that can occur in GoldenEye 007 where an objective completes on the last possible frame but the end screen time is not saved to the game cartridge.

Technical Details

NTSC Advantage

NTSC-U certainly gives an extra frame to complete on Facility / Frigate / Control, others are still just 'yeah probably'[1].

Goldeneye's scripts are split into two types:

  • 10XX or level scripts - these run every frame and control things like you pressing buttons, guards spawning, and ending the level
  • 04XX or actor scripts - these are attached to guards / NPCs, and control their behaviour

Each frame, on all 3 versions, the level scripts are called before any actor scripts. So on the very last frame, the appropriate level script calls 'end level' but actor scripts run after that, one last time. These actor scripts can set flags indicating that an objective is complete (i.e. if a hostage escapes). Also the level scripts run in a loop, so later level scripts can also run after it's been decided to exit without a cinema.

The level script controlling the end of a level generally has the same pattern:

[wait for some end condition]
[fade to black]
if (all objectives complete)
{
  play final cinema
} else {
  exit level
}

It seems likely that the TNS is happening on NTSC-U when some actor script completes the objective on its final frame, but this isn't actually certain at this point because there could be a frame delay between the flags being set and the objectives being recognized as complete.

So rather than peer at it further, I was lazy and made a frigate setup which completes A on this final frame, and put it into the 3 versions.

Sure enough,

  • U - completes
  • J - fails
  • P - fails

So NTSC-U definitely gives an extra frame on:

  • Facility for meeting up with Trev (Trev running 0414[2])
  • Frigate for objective A (Hostage running 0404[3])
  • Nat on train SA / 00A (Nat running 0415[4])
  • Control for Nat completing (Nat running 0404[5])

These others are not entirely confirmed as being U advantaged, since they aren't actually completed by a script, but it's still likely that U gets a frame extra:

  • Runway blowing stuff up (this can TNS I think?)
  • Bunker 1 throwing the key (you could just learn to do it properly of course)
  • Depot blowing stuff up

References

  1. Whiteted. "the-elite Goldeneye facts topic post on Time Not Saved NTSC advantage". Retrieved July 18, 2021.
  2. Ryan Dwyer. "Goldeneye and Perfect Dark function explorer:Trev running 0414". Retrieved July 18, 2021.
  3. Ryan Dwyer. "Goldeneye and Perfect Dark function explorer:Hostage running 0404". Retrieved July 18, 2021.
  4. Ryan Dwyer. "Goldeneye and Perfect Dark function explorer:Nat running 0415". Retrieved July 18, 2021.
  5. Ryan Dwyer. "Goldeneye and Perfect Dark function explorer:Nat running 0404". Retrieved July 18, 2021.