Neverhood
Neverhood | ||
---|---|---|
Engine developer | johndoe, md5 | |
Companies that used it | The Neverhood, Inc. | |
Games that use it | The Neverhood | |
Date added to ScummVM | 2013-05-15 | |
First release containing it | None |
Resources
- Neverhood TODO: TODO Page
Differences in ScummVM
The following is a list of differences between ScummVM and the original interpreter. These are not errors, and thus won't be fixed. They have been implemented this way to provide a more unified experience between the different game engines.
- In ScummVM, saved games are saved per slot, not as a list. This means that you are allowed to have several different saved games with the same name, which wasn't possible in the original
- In ScummVM, saved games are sorted from newest to oldest. Saves are sorted alphabetically in the original interpreter.
- In ScummVM, you can't type the name of a saved game to load it. Since you are allowed to have different save slots with the same name, this (somewhat confusing) feature is not available in ScummVM
Known issues
Valgrind warnings / code logic
- Uninitialised variables in the sound code, as indicated by Valgrind. These both happen in the navigation scene outside of the starting building, and may be at least partly related to playTwoSounds():
==26398== Conditional jump or move depends on uninitialised value(s) ==26398== at 0x88DBBBB: Neverhood::SoundItem::update() (sound.cpp:235) ==26398== by 0x88DC2F7: Neverhood::SoundMan::update() (sound.cpp:352) ==26398== by 0x88D695F: Neverhood::NeverhoodEngine::mainLoop() (neverhood.cpp:175) ==26398== by 0x88D66AF: Neverhood::NeverhoodEngine::run() (neverhood.cpp:120) ==26398== by 0x805084A: runGame(PluginSubclass<MetaEngine> const*, OSystem&, Common::String const&) (main.cpp:226) ==26398== by 0x8051489: scummvm_main (main.cpp:452) ==26398== by 0x804F5DF: main (posix-main.cpp:45) ==26398== Conditional jump or move depends on uninitialised value(s) ==26398== at 0x88DBBC7: Neverhood::SoundItem::update() (sound.cpp:236) ==26398== by 0x88DC2F7: Neverhood::SoundMan::update() (sound.cpp:352) ==26398== by 0x88D695F: Neverhood::NeverhoodEngine::mainLoop() (neverhood.cpp:175) ==26398== by 0x88D66AF: Neverhood::NeverhoodEngine::run() (neverhood.cpp:120) ==26398== by 0x805084A: runGame(PluginSubclass<MetaEngine> const*, OSystem&, Common::String const&) (main.cpp:226) ==26398== by 0x8051489: scummvm_main (main.cpp:452) ==26398== by 0x804F5DF: main (posix-main.cpp:45)
Menus and save / load screens
- The "Toggle music" menu option is not functioning - unimplemented, relevant TODOs are inside menumodule.cpp
Game logic
- On the first cart ride, on the screen where you see the edge of the world, the cart doesn't enter the screen without another click. There are similar glitches in the other cart rides. Just check every cart scene enter is correct - module 2500, scene 0.
- Plenty of bugs with the lever in the basement of the Hall of Records. Firstly, releasing the lever should stop the animation. Clicking the lever while holding the lever results in weirdness. Clicking the lever immediately after walking onto the elevator from the bottom sometimes results in teleportation - module 2200, scene 6.
- When you get the liquid mixing wrong, you shouldn't be able to interrupt the "yuck" animation - module 2800, scene 7 and module 2800, scene 10.
- Willie doesn't call "Klaymen! Up here!" After you walk through the tunnel towards the bear controls - module 1100, scene 2.
Sounds / Music
- Music that fades out should fade back at the position it was at at the end oft the fade, not always back at the start of the music. On loading a save, reset the position of all music.
- Sounds loop badly. This is most noticeable with the elevator in the Hall of Records - module 2200, scene 6.
- Sounds play over movie scenes that shouldn't. For example the music from the radio over the radio tower rotation. And ambient sounds play over the bear control stuff - module 2800, scene 1 and module 1100, scene 3.
- Ambient sounds play doubly as much as they should in the Robot Bil area - module 1100, scene 3.
Graphical glitches
- When Klaymen is up on the balcony in Nursery scene 2, his shadow should be invisible - module 1000, scene 1
- The cursor is glitched on the movie scene after walking straight as far as you can go after crossing the bridge - module 3000, scene 3.
- Klaymen blinks really awkwardly while sitting on the teleporter - module 1300, scene 5 or module 2000, scene 0 or module 2800, scene 4.