ValveSoftware / halflife

Half-Life 1 engine based games
Other
3.71k stars 626 forks source link

Half-Life 1: Save corruption in Lambda Core, unable to progress? #2068

Open ghost opened 11 years ago

ghost commented 11 years ago

In Lambda Core, I died shortly after activating pump 1. When loading the previous save, the pump was still active and all previously killed monsters stayed dead. Health and ammo was back to saved values. I went on to activate pump 2, and then entered the aux reactor to open the valves at the bottom. Problem is that while pump 2's valve's light was green and could be activated, pump 1's valve's light was red. I went back to pump 1 to check, and it was still running and I couldn't restart it. Then I quit Half-Life, restarted it, and loaded an earlier save again -- now BOTH pumps are still running, neither can be restarted, and both valve lights in the reactor are red (so valves do nothing when turned). All lights on the pump/tank overview is green. (This all happened today. I started from that earlier save, before starting any pumps, right before getting the beam weapon.)

System info:

Processor Information:
    Vendor:  GenuineIntel
    Speed: 2794 Mhz
    4 logical processors
    4 physical processors
    HyperThreading:  Unsupported
    FCMOV:  Supported
    SSE2:  Supported
    SSE3:  Supported
    SSSE3:  Supported
    SSE4a:  Unsupported
    SSE41:  Supported
    SSE42:  Supported

Network Information:
    Network Speed:  

Operating System Version:
    Ubuntu 12.10 (64 bit)
    Kernel Name:  Linux
    Kernel Version:  3.5.0-23-generic
    X Server vendor:  The X.Org Foundation
    X Server release:  11300000

Video Card:
    Driver:  NVIDIA Corporation GeForce GTX 460/PCIe/SSE2

    Driver Version:  4.3.0 NVIDIA 310.14
    Desktop Color Depth: 24 bits per pixel
    Monitor Refresh Rate: 60 Hz
    VendorID:  0x10de
    DeviceID:  0xe22
    Number of Monitors:  1
    Number of Logical Video Cards:  1
    Primary Display Resolution:  1920 x 1080
    Desktop Resolution: 1920 x 1080
    Primary Display Size: 20,04" x 11,26"  (22,95" diag)
                                            50,9cm x 28,6cm  (58,3cm diag)
    Primary Bus: PCI Express 16x
    Primary VRAM: 767 MB
    Supported MSAA Modes:  2x 4x 8x 16x 

Sound card:
    Audio device: Realtek ALC889

Memory:
    RAM:  7981 Mb

Miscellaneous:
    UI Language:  English
    LANG:  nb_NO.UTF-8
    Microphone:  Not set
    Total Hard Disk Space Available:  2816683 Mb
    Largest Free Hard Disk Block:  1338596 Mb

Installed software:

Recent Failure Reports:
alfred-valve commented 11 years ago

Please post a link to an archive of your ~/.local/share/steam/SteamApps/common/Half-Life/valve/SAVE folder.

ghost commented 11 years ago

Ok, here you are: http://ubuntuone.com/4hYMX84PC9WyKUzfkewwS4

(The latest autosave and manual save from today (feb 9 at 15:00, Half-Life-043.sav) is after turning on the first pump, dying, and then turning on the second pump. The latest manual save from yesterday (feb 8 at 16:04, Half-Life-042.sav) is before entering that area for the first time, but loading that still has both pumps enabled and lit green when you enter.)

Also, I should probably mention that when the save location changed and old saves "disappeared" earlier this week, I moved saves from Half-Life/SAVE and copied from Half-Life/valve_hd/SAVE into Half-Life/valve/SAVE to bring them back (in that order). That was on thursday (it's why saves 24-33 have the same timestamp). I played for several hours since then and didn't notice any problems until today, but thought I should mention it.

alfred-valve commented 11 years ago

Your saves look technically fine (phew), it looks like you have hit a long existing game bug (see http://forums.steampowered.com/forums/showthread.php?t=1723508).

ghost commented 11 years ago

Thanks, but I don't think that's it (or if it is, it manifests in a different way). First of all, it doesn't explain why all of the monsters are dead, specially since I couldn't have killed them at the time of that feb 8th save. I mean, the elevator is a one way trip down.

Also, in the reactor, there's a light next to each valve that is red if the associated pump/tank is disabled, and green if it's running. When I load that feb 8th save and go down the elevator, both pumps are running (they make sounds, their pools are full, and the handle to enable them can't be interacted with), and the lights on the overview map to the right when you exit the elevator are all green from the start ( screenshot: http://i.imgur.com/rhHDDsC.jpg ), yet the light next to the valves in the reactor are red ( http://i.imgur.com/jfOSKpT.jpg ), and turning a valve with a red light does nothing. It's not a matter of waiting for the water to rise, since the water doesn't rise at all.

That's with the feb 8th save -- with the feb 9th save, pump 2's reactor valve actually has a green light and works, but pump 1's reactor valve is still red. That was the save where I enabled pump 1, died, saw pump 1 was still enabled, and then enabled pump 2 (and saved). If I go back to pump 1 in this save, there's still two monsters alive there, that are dead in the earlier feb 8th save.

Since the saves themselves are fine, does that mean that the monsters are still alive and the pumps not running when you load my feb 8th save and go down the elevator? What happens in the feb 9th one?

Anyway, since it's not the saves, what else could be causing this? Are there any other configuration settings somewhere that could interfere? Do you think I should completely uninstall/remove the game, reinstall, and copy over the saves, or do you want me to test this more? (I don't mind.)

edit: I verified the cache integrity of Half-Life in Steam, and it told me 37 files failed to validate and replaced those. The problem still occurs after doing that though.

abundantmind commented 11 years ago

Yeah, this sounds like something very similar to what I've experienced. Basically, I lost the Gauss gun because I didn't save before I started Surface Tension...and the helicopter made quick work of me. Upon Quick Load, back in the previous level, the Gauss Gun was NOT THERE to be picked up, all the monsters were dead, and it made continuing very unpleasant indeed. Basically, you can't kill the helo without the Gauss.

That was my first "thread" through the game. I was watching Mmac's walkthroughs after each level to make sure I didn't miss anything. That's the only way I knew I was missing the Gauss gun...and what it was used for in later missions.

So I started a "new" thread, all the way back to the beginning of the game. This time, apparently because I already had Blast Pit game saved (or two), when I entered Blast Pit on this second thread...once again...all monsters dead, no cart at the track control booth....no fun, no finish!

I put this on a closed thread as a suggestion, worth saying twice...imho. There should be a variable that is incremented ONLY when a player hits the New Game button. Then that variable's value (1,2,3,4,5,etc) should be stored with the "thread" of levels the player intends. The state of that variable should be pervasive after death in order to compare with the players new choice of game-threads. This should prevent (at least) the user from making the wrong choice of which thread they wanted to replay/continue.

Finally, an aside question, since I'm new to half life on Ubuntu 12.10....Are these bugs in the other platforms, or are these unique to the Steam on Linux (Beta) experience?

Great work, btw!