Commit Graph

48 Commits

Author SHA1 Message Date
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
johndoe123
ed863b65b5 NEVERHOOD: More work on Scene1001/Klayman
- The button can now be used, but looking at the open window doesn't work yet since game variables aren't implemented yet.
2013-05-08 20:38:46 +02:00
johndoe123
222cd4a651 NEVERHOOD: More work on Scene1001 and Klayman
- Fix a bug in Klayman's walking
- The lever can now be used
- Other stuff is still missing
- Remove entity.cpp since it's not needed
2013-05-08 20:38:46 +02:00
johndoe123
5c69ae21dd NEVERHOOD: More work on Klayman (still eye cancerous code)
- Start to implement KmScene1001
- Implement queryPositionSprite and queryPositionRectList
- Implement message list related code (setting and running them)
- Access to message params now with accessors (so compatible types can be converted)
2013-05-08 20:38:46 +02:00
johndoe123
c694ce8505 NEVERHOOD: More work on Klayman
- Rename Scene::_playerSprite to _klayman
- Send mouse clicks to the scene object (has not effect yet)
2013-05-08 20:30:59 +02:00
johndoe123
056b69f0c8 NEVERHOOD: Module1000 and Scene1001 skeletons
- Implement BaseSurface::drawSpriteResourceEx
- Use CollisionMan in Scene
- Some cleanup
2013-05-08 20:30:58 +02:00
johndoe123
21eb88053c NEVERHOOD: Implement SmackerScene, SmackerPlayer and related stuff
- The intro video after the logo screens is now played (still needs better sync)
2013-05-08 20:30:58 +02:00
johndoe123
1285b37b32 NEVERHOOD: Start with the Background and DirtyBackground classes
- Also make related changes in other code
- Call the game module's draw method in the main loop
- Add some more debug output in resource load functions
2013-05-08 20:30:58 +02:00
johndoe123
44ab81eab8 NEVERHOOD: Start with the Screen class, also
- Move common headers used in modules to module.h so they don't have to be explicitly #included in each module header
- Clean up #includes
2013-05-08 20:30:58 +02:00
johndoe123
aded2a104b NEVERHOOD: Start with Scene and Sprite classes 2013-05-08 20:30:57 +02:00