Commit Graph

59 Commits

Author SHA1 Message Date
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
johndoe123
71da221507 NEVERHOOD: Implement Scene1004
- Module1000 is now almost complete
2013-05-08 20:38:48 +02:00
johndoe123
2647778935 NEVERHOOD: Fix crash/corruption in clipped sprite drawing 2013-05-08 20:38:47 +02:00
johndoe123
436f8952bb NEVERHOOD: More work on Scene1002, Klayman and the rest
- Add "heavy debug" output to Entity (display which update/message handler is called)
- Also add more debug output
- Error out when a StaticData resource could not be found
2013-05-08 20:38:47 +02:00
johndoe123
b611b65bf4 NEVERHOOD: Change addHitRect to use an explicit count
- This is since the alignment stuff didn't work and it's not worth it to investigate
- Add possibility to write out hardcoded message lists instead of reading from the exe for special lists
2013-05-08 20:38:47 +02:00
johndoe123
ffe024844b NEVERHOOD: More work on Scene1002 2013-05-08 20:38:47 +02:00
johndoe123
9f6e6c6f7f NEVERHOOD: Implement MouseCursorResource and Mouse433 mouse cursor 2013-05-08 20:38:47 +02:00