Commit Graph
65 Commits
Author SHA1 Message Date
Vladimir Serbinenko 5d6ba18008 NEVERHOOD: Support subtitles for sprites 2022-12-31 20:47:10 +01:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh 9dab832214 NEVERHOOD: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
D G Turner 2050ae13b6 NEVERHOOD: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-12-05 22:37:54 +00:00
Ori Avtalion 21753098e1 NEVERHOOD: Reduce audio header dependencies 2016-05-21 13:44:27 +03:00
Johannes Schickel daa8d57a86 ALL: Rename Debugger::DebugPrintf to Debugger::debugPrintf. 2014-05-27 02:04:07 +02:00
Johannes Schickel 6563171e7b NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
Filippos Karapetis 962e2fd550 NEVERHOOD: Change more message values to enums 2013-12-25 17:10:42 +02:00
Filippos Karapetis 8d7b10f7c3 NEVERHOOD: Add names to some message IDs 2013-12-23 21:03:35 +02: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 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 7625ae6718 NEVERHOOD: Move StaticScene into scene.h/.cpp 2013-09-14 12:39:57 +03: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
Sven Hesse 989ea7cb56 JANITORIAL: Remove trailing whitespace 2013-07-14 19:01:47 +02:00
johndoe123 f449268380 NEVERHOOD: Fix Smacker errors in Scene1317 (bug #3613666) 2013-06-17 09:21:16 +02:00
Filippos Karapetis d00f5c0aa7 NEVERHOOD: Add a console command to display the current surfaces 2013-06-09 17:13:23 +03:00
johndoe123 32c21754e2 NEVERHOOD: Fix member var initializations 2013-05-08 21:02:00 +02:00
johndoe123 4389d32974 NEVERHOOD: Rename "Klayman" to "Klaymen" (the correct name of the game's hero) 2013-05-08 20:47:41 +02:00
johndoe123 ac1dc3e4db NEVERHOOD: Fix Module1300::createScene 2013-05-08 20:47:41 +02:00
johndoe123 e51bea9b4e NEVERHOOD: Don't load a DataResource if the same data is already loaded; this fixes a nasty bug in several scenes which use message lists from a DataResource 2013-05-08 20:47:40 +02:00
johndoe123 5bf8fb3e96 NEVERHOOD: Remove more old TODOs 2013-05-08 20:47:40 +02:00
johndoe123 df43b8bd68 NEVERHOOD: Move Scene2804::initCrystalColors() to GameModule::initCrystalColorsPuzzle()
- Add Scene::isMessageList2, only used in Scene2101
2013-05-08 20:47:40 +02:00
johndoe123 a98d9aa58a NEVERHOOD: Clean up DiskplayerScene
- Enable return to launcher
- Remove obsolete comments
- Remove braces in single-line statements
- Remove unused non-transparent drawing code in BaseSurface::copyFrom
- Clean up mouse cursor insertion code in Scene class
2013-05-08 20:47:39 +02:00
johndoe123 9963ce41ea NEVERHOOD: Merge CollisionMan into Scene class 2013-05-08 20:47:39 +02:00
johndoe123 4b7ad48ca8 NEVERHOOD: Rename some CollisionMan methods/fields
- Remove fallback detector (I think it's not needed)
- Rename Scene insertMouse methods
2013-05-08 20:47:39 +02:00
johndoe123 fec1d7816a NEVERHOOD: Implement resource cache purging and purge it after each scene 2013-05-08 20:47:39 +02:00
johndoe123 1904e944c5 NEVERHOOD: Add initCubeSymbolsPuzzle
- Add microtiles to the screen update to eliminate overdraw
  (microtiles code taken from the Toltecs engine)
- Fix sprite dimensions in AsScene1402PuzzleBox which caused a crash
- Fix screen shaking in Scene1402
  (the puzzle box and bridge parts now shake along :)
- Use addSoundItem/addMusicItem in the SoundMan instead of
  directly using push_back on the resp. arrays
- Remove old code and comments
2013-05-08 20:47:37 +02:00
johndoe123 6be5c11713 NEVERHOOD: More work on the menu system:
- Add handling of ascii and system key input
- Fix TextSurface::drawChar()
- Pause audio when entering the menu, resume it again afterwards
- Add TextEditWidget
- Add SaveGameMenu (doesn't actually save anything yet and needs more work)
2013-05-08 20:47:37 +02:00
johndoe123 5ba8f2e9c8 NEVERHOOD: Add making of video to the main menu
- Clear render queue at each scene initiailization
- Fix mouse cursor visibility (again :)
- Fix SmackerScene screen clearing
2013-05-08 20:47:33 +02:00
johndoe123 a6e9475a3f NEVERHOOD: Remove Scene::_surfaceFlag which also is obsolete now 2013-05-08 20:47:32 +02:00
johndoe123 a238f57805 NEVERHOOD: Remove DirtyBackground which became obsolete after the renderqueue stuff 2013-05-08 20:47:31 +02:00
johndoe123 676c7569f6 NEVERHOOD: Fix a very stupid bug in Scene::insertMouse433 2013-05-08 20:47:07 +02:00
johndoe123 a724e603da NEVERHOOD: Use CursorMan
- Only update entities according to the current frame rate but run the actual game loop at a faster rate so the mouse cursor movement doesn't get choppy
2013-05-08 20:47:07 +02:00
johndoe123 fd13b546a7 NEVERHOOD: Rename stuff in the Scene class and clean up a little
- Try to stay close to the actual frame rate
- Also use the Smacker frame rate when a video is playing to
  keep videos in sync with the audio
2013-05-08 20:44:40 +02:00
johndoe123 81667d492a NEVERHOOD: Remove SsScene1002LadderArch and Class599 and turn them into static sprites; the classes were only used to set the sprite surface priority with a message, which is now handled in the scene 2013-05-08 20:43:46 +02:00
johndoe123 fc0e40db30 NEVERHOOD: Implement the actual audio code
Sounds and music play now in some scenes
(I didn't change the comments to code in all modules yet)

- Fix calcHash to ignore non-alphanumeric characters, this fixes at least
  one animation glitch (when inserting tapes into the player)
- Move SoundResource to sound.cpp
2013-05-08 20:43:42 +02:00
johndoe123 bbb23cdf27 NEVERHOOD: Start with Module2500
- Implement Scene2501
- Add Scene::removeSprite
2013-05-08 20:43:40 +02:00
johndoe123 0683ed9eee NEVERHOOD: Rename SetSpriteCallback to SetSpriteUpdate
- Started replace message numbers with constants
- Add NRect::contains
- Some cleanup
2013-05-08 20:43:38 +02:00
johndoe123 236ca705e8 NEVERHOOD: Add Module1600 and Scene1608 (stuff will be renamed later) 2013-05-08 20:39:41 +02:00
johndoe123 47f1fe141b NEVERHOOD: Add Scene1109
- Also fix some bugs regarding a missing parameter to setMessageList in various scenes
2013-05-08 20:39:40 +02:00
johndoe123 abf78e07ee NEVERHOOD: Replace InsertKlayman macros with template functions (still weird but nicer) 2013-05-08 20:39:40 +02:00
johndoe123 2f670690bc NEVERHOOD: Add Scene::setPalette for simpled palette creation and use it 2013-05-08 20:39:40 +02:00
johndoe123 0ec039c5b0 NEVERHOOD: Merge the three mouse classes into Mouse, introduce insertMouse433 etc. methods and use them 2013-05-08 20:39:39 +02:00
johndoe123 b757e22f88 NEVERHOOD: Multiple changes to make the game logic code cleaner (hopefully :)
- Introduce Scene::insertStaticSprite to create static sprites instead of the old "addSprite(new StaticSprite" (not used everywhere yet)
- Introduce macro InsertKlayman to create the Klayman object
- Change sendMessage semantics from "receiver->sendMessage(num,arg,sender)" to "sendMessage(receiver,num,arg)", the sender is always the sending object ("this")
- Similar changes using macros will follow
- And fixed a bug in the elevator
2013-05-08 20:39:38 +02:00
johndoe123 9b151cefc3 NEVERHOOD: Implement HallOfRecordsScene (and all HoR scenes) and Scene2247
- Load SceneInfo140 from neverhood.dat
- Some renaming
2013-05-08 20:39:36 +02:00
johndoe123 eb8c44b54c NEVERHOOD: Implement Scene2201
- Implement DataResource::getHitRectList, DataResource::getMessageListAtPos and related stuff in scene.cpp
2013-05-08 20:39:35 +02:00
johndoe123 d88836596d NEVERHOOD: More work on Module3000 and Scene3009 (incomplete) 2013-05-08 20:39:34 +02:00
johndoe123 d7dd4b4356 NEVERHOOD: Implement Scene1403, Scene1404 and Scene1405 (memory minigame)
- Move GameModule::startup call into engine instead of the game module constructor
- Reduce debug output
2013-05-08 20:39:34 +02:00
johndoe123 bfd71cff6e NEVERHOOD: New modules Module1200, Module1400, Module1700 and Module1800
- Implement CollisionMan::removeSprite
2013-05-08 20:39:34 +02:00
johndoe123 720050bec1 NEVERHOOD: Start with Module1200/Scene1201 (not complete yet)
- Fix an odd bug with the game variables (index of newly added subvar was sometimes -1)
2013-05-08 20:38:48 +02:00