Commit Graph

489 Commits

Author SHA1 Message Date
D G Turner
aa947c9474 BUILD: Split configure.engines down to a single file per engine.
This is the first part of allowing engines to be added dynamically.
They are placed into a folder in engines/ which must contain a file
named "configure.engine" to add the engine, which is pulled into the
top level configure script automatically.
2013-11-24 00:45:38 +00:00
Filippos Karapetis
4b1f426103 NEVERHOOD: Fix Klaymen's idle blinking animation in the teleporter
The wrong animation hash was used in stSitIdleTeleporterBlinkSecond()
2013-11-03 04:19:17 +02:00
Filippos Karapetis
bee9e1bfd7 NEVERHOOD: Remove unused method drawShadowSurface() 2013-11-03 04:18:20 +02:00
Filippos Karapetis
5510a285ed NEVERHOOD: Move some Klaymen animations specific to scene 1002
Also, reorganize some of the functions in modules/module1000_sprites.cpp
2013-11-02 16:38:58 +02:00
Filippos Karapetis
1a59030b71 NEVERHOOD: Really stop the radio music during the radio tower cutscene 2013-11-02 16:21:36 +02:00
Filippos Karapetis
20e5bf1017 NEVERHOOD: Fix bug #3615124 - "NEVERHOOD: Music from Credits continues to play" 2013-10-31 08:38:17 +02:00
Filippos Karapetis
1a40387d0d NEVERHOOD: Add an option to skip the Hall of Records storyboard scenes
Quoting from the Neverhood wiki: "The Hall of Records is considered to
be one of the longest and most tedious elements of the Neverhood, and
takes approximately nine to ten minutes to walk through".

This option allows the player to just skip past all of these tedious
storyboard scenes
2013-10-31 08:24:03 +02:00
Eugene Sandulenko
4c3972d68a NEVERHOOD: Fixes for museum walls in Russian version 2013-10-19 23:48:36 +03:00
Eugene Sandulenko
6b9abcc2ec NEVERHOOD: Another fix for Russian version 2013-10-17 23:54:50 +03:00
Eugene Sandulenko
0fd67fb0d9 NEVERHOOD: Fixes for Russian versions 2013-10-10 13:48:12 +03:00
Filippos Karapetis
3d8a4d23dd NEVERHOOD: Correctly disable input when Klaymen drinks the wrong potion 2013-10-07 02:05:39 +03:00
Filippos Karapetis
0fffbac36b NEVERHOOD: Move more scene-specific Klaymen animations to their scenes 2013-10-06 18:57:44 +03:00
Filippos Karapetis
fa51ef214c NEVERHOOD: Move more scene-specific Klaymen animations to their scenes 2013-10-06 18:29:10 +03:00
Filippos Karapetis
d5ebc69de0 NEVERHOOD: Move more scene-specific Klaymen animations to their scenes 2013-10-06 18:08:19 +03:00
Filippos Karapetis
f35298f9ee NEVERHOOD: Move module-specific Klaymen code to its respective module 2013-10-06 04:56:41 +03:00
Filippos Karapetis
cb01f16007 NEVERHOOD: Move specialized Klaymen code for modules 1000 and 1100 2013-10-05 22:18:59 +03:00
Filippos Karapetis
4cfb9ee82b NEVERHOOD: Clean up some includes 2013-10-05 22:06:47 +03:00
Filippos Karapetis
8d1f601518 NEVERHOOD: Split sprites from their scenes in modules 1000 and 1100 2013-10-05 21:50:33 +03:00
Filippos Karapetis
55a8e7a2de NEVERHOOD: Split sprites from their scenes in module 1200 2013-10-05 21:30:48 +03:00
Filippos Karapetis
bf96d305b5 NEVERHOOD: Split sprites from their scenes in modules 1300 and 1400 2013-10-05 21:30:48 +03:00
Filippos Karapetis
b408b94bf1 NEVERHOOD: Split sprites from their scenes in module 1600 2013-10-05 14:52:48 +03:00
Filippos Karapetis
b963fcbfa8 NEVERHOOD: Split sprites from their scenes in modules 1700 and 1800
This also reduces inter-header dependencies
2013-10-05 14:41:02 +03:00
Filippos Karapetis
9715318932 NEVERHOOD: Split sprites from their scenes in modules 2100 and 2200
This also reduces inter-header dependencies
2013-10-05 14:21:53 +03:00
Filippos Karapetis
d798a4f12a NEVERHOOD: Split some more sprites from their respective scenes
This splits modules 2400, 2500 and 2600
2013-10-01 01:24:56 +03:00
Filippos Karapetis
c977561b46 NEVERHOOD: Split some more sprites from their respective scenes
This splits modules 2700, 2900 and 3000
2013-10-01 00:55:46 +03:00
Filippos Karapetis
2369f60a42 NEVERHOOD: Fix uninitialized member of the TextEditWidget class - CID 1022333 2013-09-27 01:38:17 +03:00
Filippos Karapetis
78d9aea198 NEVERHOOD: Fix uninitialized variable in Scene1303 - CID 1022323 2013-09-27 01:38:17 +03:00
Filippos Karapetis
ba30e961b9 NEVERHOOD: Remove unused variable - CID 1022328 2013-09-27 01:38:16 +03:00
Filippos Karapetis
802abdcc34 NEVERHOOD: Fix uninitialized variable in AsScene1002OutsideDoorBackground - CID 1022329 2013-09-27 01:38:16 +03:00
Filippos Karapetis
e925f8a9d8 NEVERHOOD: Fix uninitialized variable in AsScene2810Rope - CID 1022310 2013-09-27 01:38:16 +03:00
Filippos Karapetis
cfa6974d29 NEVERHOOD: Fix uninitialized members of the Palette class - CID 1022303, 1022304, 1022305, 1022306 2013-09-27 01:38:16 +03:00
Filippos Karapetis
16b419847f NEVERHOOD: Fix uninitialized members of the Scene class and remove dead code - CID 1022300 2013-09-27 01:38:15 +03:00
Filippos Karapetis
871b4a83e2 NEVERHOOD: Fix uninitialized members of the Screen class - CID 1022299 2013-09-27 01:38:15 +03:00
Filippos Karapetis
b94165abe3 NEVERHOOD: Fix uninitialized members of the AudioResourceManMusicItem class - CID 1022298 2013-09-27 01:38:15 +03:00
Filippos Karapetis
f05e43fae6 NEVERHOOD: Fix uninitialized members of the SoundMan class - CID 1022297 2013-09-27 01:38:14 +03:00
Filippos Karapetis
40f1f3e0b1 NEVERHOOD: Fix uninitialized class members in AnimatedSprite - CID 1022296 2013-09-26 11:31:08 +03:00
Filippos Karapetis
9396958536 NEVERHOOD: Add a patch system for broken resources in Russian versions
Some translated resources in Russian versions have incorrect unpacked
resource sizes. The original didn't perform checks for these, but we
do, thus we'll need to patch the unpacked resource sizes for each case
2013-09-26 10:54:30 +03:00
Filippos Karapetis
a5691e8dc8 NEVERHOOD: Expand the error thrown for broken resources in BLB archives
The Russian translated versions of Neverhood have invalid unpacked
sizes for some compressed resources. This helps in identifying their
resource parameters more easily
2013-09-26 10:43:53 +03:00
Filippos Karapetis
cca0bbfe43 NEVERHOOD: Document two resources used in game menus 2013-09-21 14:54:09 +03:00
Filippos Karapetis
f5b2d86d13 NEVERHOOD: Split the sprites in module 2800 into a separate file 2013-09-21 14:54:08 +03:00
Filippos Karapetis
9534ee0152 NEVERHOOD: Slight cleanup in Module2800::updateScene() 2013-09-17 11:48:18 +03:00
Filippos Karapetis
783aa9977c NEVERHOOD: Implement the music toggle menu button 2013-09-17 03:27:12 +03:00
Filippos Karapetis
c1226b7d4a NEVERHOOD: Split the code that stops all music and sound effects 2013-09-17 03:27:11 +03:00
Filippos Karapetis
1f7780bef5 NEVERHOOD: Rename the "room" command to "scene" and enhance it
The naming has been changed from "room" to "scene", in order to keep it
consistent with the rest of the engine. The scene command now also
displays resource information about the current scene when invoked
without parameters
2013-09-14 12:39:58 +03:00
Filippos Karapetis
cdeb55777d NEVERHOOD: Add console commands to handle resources 2013-09-14 12:39:58 +03:00
Filippos Karapetis
7625ae6718 NEVERHOOD: Move StaticScene into scene.h/.cpp 2013-09-14 12:39:57 +03:00
Johannes Schickel
378387c903 I18N: Move specification of engine specific files to enginedir/POTFILES.
This allows to keep the engines to specfiy the files for translation close to
the engine sources itself.

Thanks to criezy for his suggestion on this approach.
2013-08-12 17:54:31 +02:00
Filippos Karapetis
976b4167f1 Merge pull request #369 from fingolfin/fix-neverhood
NEVERHOOD: Remove NRect constructor
2013-08-08 16:47:53 -07:00
Max Horn
a993b8dc30 NEVERHOOD: Remove NRect constructor
Otherwise, every global variable of type NRect requires a constructor to be
run, which can cause portability issue.
2013-08-05 11:49:03 +02:00
Johannes Schickel
2c629803a2 NEVERHOOD: Take advantage of Surface::getPixels. 2013-08-03 04:02:51 +02:00
Johannes Schickel
82b96d33ad NEVERHOOD: Prefer getBasePtr over direct Surface::pixels access. 2013-08-03 02:52:33 +02:00
D G Turner
d81f6450c9 NEVERHOOD: Silence noisy compiler warning.
This is due to NULL being used. Switching to nullptr which is equivalent
i.e. 0 should silence this.
2013-07-30 21:18:01 +01:00
Sven Hesse
989ea7cb56 JANITORIAL: Remove trailing whitespace 2013-07-14 19:01:47 +02:00
Filippos Karapetis
37ebaa3763 NEVERHOOD: Fix incorrect sound heard when pressing the ladder button
When the ladder is down, pressing the ladder button shouldn't do
anything
2013-07-09 06:28:41 +03:00
Filippos Karapetis
2b980e86e3 NEVERHOOD: Move the TODO into our wiki
It can now be found at http://wiki.scummvm.org/index.php/Neverhood/TODO
2013-07-04 13:28:41 +03:00
Filippos Karapetis
e457fc2a26 NEVERHOOD: Add a new console command, "playsound" 2013-07-03 05:49:25 +03:00
Filippos Karapetis
0146b00148 NEVERHOOD: Fix typo in variable name 2013-07-03 05:48:55 +03:00
Filippos Karapetis
b60b3bbecd NEVERHOOD: Fix save slot selection
My initial suggestion to fix the issue was made in 163023a, which broke
the save slot selection logic. The actual save slot selection problem
was fixed in commit 2ca36ab
2013-07-03 04:41:52 +03:00
Filippos Karapetis
1b7681e9e2 NEVERHOOD: Fix cursor glitch before looking down the lowered bridge
The navigation scene type used was wrong, resulting in cursor glitches
when moving the mouse cursor at the screen edges
2013-07-01 12:46:01 +03:00
Filippos Karapetis
7804c9cc7f NEVERHOOD: Fix mouse cursor in the statue screen with the ladder button
The mouse cursor resource hash used in that scene was incorrect,
resulting in broken palette
2013-07-01 12:34:47 +03:00
Filippos Karapetis
318200cd86 NEVERHOOD: Fix sound effect heard when the castle elevator door opens
The condition where the elevator door opening sound is heard is
triggered twice. Now, we prevent it being triggered a second time.
2013-07-01 05:07:14 +03:00
Filippos Karapetis
5de6a876a9 NEVERHOOD: Fix display of the dynamites on shelves in the dynamite room 2013-07-01 04:42:13 +03:00
Filippos Karapetis
507e8ec8f3 NEVERHOOD: Slight cleanup to the navigation scene code 2013-07-01 04:25:51 +03:00
Filippos Karapetis
04dc01109f NEVERHOOD: Fix the second tape sprite in the whale room
The second tape is now correctly faced to the right
2013-07-01 04:25:50 +03:00
Torbjörn Andersson
7c18021c52 NEVERHOOD: Handle invalid save_slot more gracefully on startup
If the specificed savegame doesn't exist, start the game from the
beginning. Before, it would just hang. The error handling is still
quite primitive, though.
2013-06-28 19:32:59 +02:00
Filippos Karapetis
0658a88737 NEVERHOOD: Fix incorrect checks for the waterfall sounds
Some of the "wall broken" checks were inverse, resulting in the waterfall
sound being incorrectly heard when the wall was broken. Also,
simplified some of the "wall broken" checks
2013-06-28 18:09:35 +03:00
Filippos Karapetis
9f7033120b NEVERHOOD: Use the ScummVM dialogs for saving/loading
An option has been added to use the original ones, if needed
2013-06-28 15:37:48 +03:00
Filippos Karapetis
5a8aa67e50 NEVERHOOD: Remove superfluous description from a console command 2013-06-28 15:33:37 +03:00
Filippos Karapetis
02f11ec76f NEVERHOOD: Add missing music when entering the Hall of Records building
The "Everybody Way Oh" theme should be played in both of the first two
rooms of the Hall of Records building
2013-06-28 13:48:16 +03:00
Filippos Karapetis
7564be51d7 NEVERHOOD: Fix graphics glitch when opening the menu 2013-06-28 13:23:18 +03:00
Filippos Karapetis
63624f8bfa NEVERHOOD: Fix scene entrance when restoring in the Aqua (music) house
This looks to be a logic error in the constructor of module 2400, since
all the other modules do not create scenes with the global entrance
number when they are instantiated without an entrance (i.e. when
loading). With that logic error, all the code that handled Kleymen's
entrance to a scene after restoring was incorrectly skipped
2013-06-28 11:20:40 +03:00
Filippos Karapetis
3d373281b4 NEVERHOOD: Stop sound updates while the main menu is active 2013-06-26 12:42:10 +03:00
johndoe123
0634f51696 NEVERHOOD: Fix bug in Module 1100, scene 2 which made the "Klayman, up here" scene was unreachable. Sound bug still present, though. 2013-06-25 22:49:01 +02:00
Eugene Sandulenko
726ae06d44 NEVERHOOD: Fix warning 2013-06-22 11:19:44 -04:00
johndoe123
f449268380 NEVERHOOD: Fix Smacker errors in Scene1317 (bug #3613666) 2013-06-17 09:21:16 +02:00
Filippos Karapetis
2ca36ab53a NEVERHOOD: Fix 2 off-by-one errors in the savegame slot selection box 2013-06-15 15:07:01 +03:00
Filippos Karapetis
4c13725a55 NEVERHOOD: Hook the dump vars debug code into a command, "dumpvars"
Also, did some minor cleanup of the console commands
(alphabetical reordering)
2013-06-12 11:35:48 +03:00
Filippos Karapetis
09b235e2bd NEVERHOOD: Fix a slight glitch with the symbols cheat command
Now, the countdown to show the next symbol is properly reset when the
command is used
2013-06-12 11:35:48 +03:00
Filippos Karapetis
6bdc262c07 NEVERHOOD: Move some more cheat code to the cheat console command 2013-06-12 11:35:48 +03:00
Filippos Karapetis
323fe8c45b NEVERHOOD: Stop all sounds before restoring / restarting
This fixes the static heard when loading a saved game to a scene with
music, when the current scene also has music
2013-06-12 11:35:47 +03:00
Filippos Karapetis
9d489e82ce NEVERHOOD: Remove or silence by default some more debug output 2013-06-12 11:35:47 +03:00
Torbjörn Andersson
72e2fbc1ae NEVERHOOD: Fix GCC warnings about shadowed variables 2013-06-11 18:26:26 +02:00
Filippos Karapetis
974e7e80a8 NEVERHOOD: Remove cheat debug code, and introduce a new command, "cheat" 2013-06-11 18:57:14 +03:00
johndoe123
d4f3f6baa4 NEVERHOOD: Fix warning about shadowed variable 2013-06-11 11:39:28 +02:00
johndoe123
add321c930 NEVERHOOD: Try to fix the Smacker issues inside of SmackerPlayer only (instead the numerous classes using it)
SmackerPlayer now creates a surface in the constructor and deletes it in the destructor. There will be only this surface during the lifetime of the player, so there shouldn't be any issues any more when the player is reused for different Smacker files. This is imo nicer than to remove/add the surface.
I kept the several openSmacker since it wraps some code which is nice.
2013-06-11 11:33:05 +02:00
Filippos Karapetis
19e92a09fc NEVERHOOD: Fix crashes in scene 3009 (cannon scene), and add a FIXME 2013-06-11 11:47:50 +03:00
Filippos Karapetis
8fee784965 NEVERHOOD: Cleanup, merge some duplicate code 2013-06-11 11:47:50 +03:00
Filippos Karapetis
0d3902b345 NEVERHOOD: Change the debuglevel of the scene changing debug output
These are shown on each scene change, but should no longer be needed
to be enabled by default, since we can now use the debugger to check
and change the current scene
2013-06-10 10:33:31 +03:00
Filippos Karapetis
a01b8a5174 NEVERHOOD: Fix crash when viewing videos in the video viewer
The crash was caused by stale pointers, exactly the same as in commit
2e4f64066d
2013-06-10 03:42:44 +03:00
Filippos Karapetis
d00f5c0aa7 NEVERHOOD: Add a console command to display the current surfaces 2013-06-09 17:13:23 +03:00
Filippos Karapetis
9e0c843c9f NEVERHOOD: Remove superfluous check 2013-06-09 17:11:24 +03:00
Filippos Karapetis
f2d0f76939 NEVERHOOD: Fix a memory leak when changing modules 2013-06-09 16:08:40 +03:00
Filippos Karapetis
a14cb193a9 NEVERHOOD: Add a debug console, together with a command to change rooms 2013-06-09 16:07:45 +03:00
Torbjörn Andersson
52be12830b NEVERHOOD: Fix crash in scene 1105 (teddy bear panel)
Leaving the panel in scene 1105 only worked if the panel was open.
If the panel was closed, nothing would happen on the first click,
and on the second it would crash. If I understood this correctly,
it was because trying to leave while the panel was closed would
(incorrectly) mark it as open, and then it would crash when trying
to remove the objects behind the panel from the scene.
2013-06-02 10:54:37 +02:00
Torbjörn Andersson
251b760b99 NEVERHOOD: Removed debug (?) code that bypassed puzzle
The effect of the removed code was to bypass the potion-mixing
puzzle while shrunken. The puzzle works fine for me, so there's
no reason to keep this bypass. Also, it caused a dead code
warning, CID 1022345.
2013-06-01 16:47:56 +02:00
Torbjörn Andersson
f7099c57d1 NEVERHOOD: Made multi-line function-line macros safer
Wrapped the code in the SetUpdateHandler(), SetMessageHandler(),
SetSpriteUpdate(), SetFilterX(), SetFilterY() and NextState()
macros in "do { ... } while (0)". Otherwise you may fool yourself
because in "if (condition) macro();" the "if" will only cover the
first statement of the macro.

CID 1022340, 1022341, 1022342, 1022343
2013-05-31 19:30:36 +02:00
D G Turner
d11a1eea94 NEVERHOOD: Silence two compiler warnings about set but unused variables. 2013-05-28 02:07:02 +01:00
Filippos Karapetis
907edb50b6 NEVERHOOD: Don't show mouse cursor on game startup
This makes sure that the mouse cursor isn't visible during the intro
2013-05-28 02:43:49 +03:00
johndoe123
753d5e8922 Merge pull request #334 from salty-horse/neverhood
NEVERHOOD: Fix incorrect dark palette in Scene2206
2013-05-27 02:52:07 -07:00
Torbjörn Andersson
2e4f64066d NEVERHOOD: Fix invalid memory access in navigation scenes
When a new Smacker is opened, the old Smacker surface is deleted
and a new one is created. Therefore, it has to be removed from the
scene and the new one has to be added.
2013-05-27 06:48:23 +02:00