Commit Graph

251 Commits

Author SHA1 Message Date
johndoe123
eb054471e0 NEVERHOOD: Fix _drawRects in AsScene1002Door and SsCommonPressButton 2013-05-08 20:47:33 +02:00
johndoe123
47994441cd NEVERHOOD: Move setting of debug variables to the GameModule 2013-05-08 20:47:33 +02:00
johndoe123
5af2de503e NEVERHOOD: Rewrite GameModule::initMemoryPuzzle() to use NonRepeatingRandomNumbers
- Change NonRepeatingRandomNumbers
2013-05-08 20:47:33 +02:00
johndoe123
54c83924ce NEVERHOOD: Add class NonRepeatingRandomNumbers
- Simplify GameModule::initKeySlotsPuzzle()
2013-05-08 20:47:33 +02:00
johndoe123
8d97f26cef NEVERHOOD: Fix AsScene2402Door animation 2013-05-08 20:47:33 +02:00
johndoe123
f8ff1cc12f NEVERHOOD: Add CreditsScene to Module1300 and Module1800 (played after the game end and after jumping into the hole...) 2013-05-08 20:47:33 +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
c43253bd6a NEVERHOOD: Implement CreditsScene 2013-05-08 20:47:32 +02:00
johndoe123
2e32b32808 NEVERHOOD: Start with the MenuModule 2013-05-08 20:47:32 +02:00
johndoe123
ef8f0215cf NEVERHOOD: Add GameVars::dumpVars() for debugging 2013-05-08 20:47:32 +02:00
johndoe123
126a306c89 NEVERHOOD: Some cleanup:
- Remove _name field from Entity (wasn't really maintained by me and
  became useless)
- Remove obsolete TODOs
- Add STICK_LAST_FRAME constant for better readability
- Remove commented out callbackList TODOs (these were so far never
  used with over 90% of the game implemented)
2013-05-08 20:47:32 +02:00
johndoe123
533eb5d61d NEVERHOOD: Rename puzzle initialization methods and give them better names 2013-05-08 20:47:32 +02:00
johndoe123
9b7354dacb NEVERHOOD: Fix mouse cursor visibility by starting out invisible when the Mouse object is created and hiding the cursor when it's destroyed 2013-05-08 20:47:32 +02:00
johndoe123
c7ad09c685 NEVERHOOD: Remove BaseSurface::addDirtyRect() which is obsolete as well 2013-05-08 20:47:32 +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
4295991d19 NEVERHOOD: Use hardcoded values as width/height of several sprites (in the original the values were loaded from the entry's extData but since all values are constant anyway it shouldn't matter) 2013-05-08 20:47:31 +02:00
johndoe123
c09c0b8998 NEVERHOOD: Implement an experimental "render queue" to only draw and update what's actually changed; it works surprisingly well so far and only needs a few more changes here and there 2013-05-08 20:47:31 +02:00
johndoe123
692edf40c7 NEVERHOOD: Try to give the AsCommonCar identifiers better names
- Implement AsCommonCar::updateSound()
- Fix a bug in Scene1608 (the Klaymen animation got stuck when trying to get back into the car)
2013-05-08 20:47:31 +02:00
johndoe123
963b760076 NEVERHOOD: Remove TODOs concerning the original engine's debug code
- Add Scene1202 palette effect
- Add AsScene1405Tile sound panning
- Clean up some old comments
2013-05-08 20:47:31 +02:00
johndoe123
2c4f0b70fe NEVERHOOD: Add Entity::setSoundPan and use it in the DiskplayerScene 2013-05-08 20:47:31 +02:00
johndoe123
f5c7070ace NEVERHOOD: Add mouse cursor hiding/showing 2013-05-08 20:47:31 +02:00
johndoe123
682d15fce4 NEVERHOOD: Cleanup and fixes
- Implement GameModule::initScene2801Vars()
- Fix Scene1201::~Scene1201() which does some game logic stuff
- Rename some stuff
- Add more game variable constants
2013-05-08 20:47:07 +02:00
johndoe123
6df8fccf6b NEVERHOOD: Implement GameModule::createModuleByHash
This is used later when restoring savegames

- Rename V_RING5_PULLED to V_RADIO_ENABLED
- Implement Palette::fillBaseBlack and use it in Scene2803Small
- Fix Scene2802 (show disabled radio if it's not enabled)
2013-05-08 20:47:07 +02:00
johndoe123
9858705772 NEVERHOOD: Graphics related changes/fixes:
- Add BitmapFlags enum
- Merge unpackSpriteRle and unpackSpriteRleRepl
- Implement Y flipping in unpackSpriteRle
- Fix Y flipping in AsScene2804CrystalWaves
2013-05-08 20:47:07 +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
fa53c0cf83 NEVERHOOD: Work on the resource system:
- Remove unused stuff
- Shuffle some stuff around
2013-05-08 20:47:07 +02:00
johndoe123
a80ec8c89c NEVERHOOD: Implement Module2900, the teleporter
- Also fix a related bug in Module2000 (teleporter appearing animation didn't play)
2013-05-08 20:47:06 +02:00
johndoe123
b8d939a94b NEVERHOOD: Implement Scene2802 (radio tuning scene)
- Handle mouse button up events
- Use the SmackerDecoder's rewind
- Implement SmackerPlayer::gotoFrame (slow but better than nothing)
2013-05-08 20:47:06 +02:00
johndoe123
111b6d32c6 NEVERHOOD: Fix Smacker framerate bug after the video decoder changes
- React to the space key which can skip some videos and navigation transitions
- Minor renaming in SmackerScene
2013-05-08 20:47:06 +02:00
johndoe123
2e7d100a6f NEVERHOOD: Replace most of the literal digits in get/setSubVar with constants 2013-05-08 20:47:06 +02:00
Willem Jan Palenstijn
02c5cc75a7 Merge branch 'master'
Conflicts:
	configure
	base/plugins.cpp
2013-05-08 20:46:44 +02:00
johndoe123
1539023834 NEVERHOOD: Use constants for the numbers in get/setGlobalVar
Now the code is much more readable

- Still TODO is to do the same with get/setSubVar
2013-05-08 20:44:40 +02:00
johndoe123
97ee348c2a NEVERHOOD: Rename stuff in DiskplayerScene
- Add SmackerPlayer::isDone()
- Fix puzzle key variable handling
- Update globalvars.txt
2013-05-08 20:44:40 +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
59901c5d13 NEVERHOOD: Rename stuff in Module3000
- Also change Scene1609::testVars
- Update globalvars.txt
2013-05-08 20:44:40 +02:00
johndoe123
016638bd9e NEVERHOOD: Rename stuff in Module2700
- Also fix the clipRect in Scene2701
2013-05-08 20:44:40 +02:00
johndoe123
5aee04b127 NEVERHOOD: Work on Module2800:
- Rename KmScene2803b to KmScene2803Small; Scene2803b to Scene2803Small
- Rename lots of stuff
2013-05-08 20:44:40 +02:00
johndoe123
fcbab80507 NEVERHOOD: Rename stuff in Module2700 (also in Module2500 which uses some of it) 2013-05-08 20:44:40 +02:00
johndoe123
1da6b95af9 NEVERHOOD: Work on Module2500:
- Remove Class541 and Class542 and instead use AsCommonIdleCarLower and AsCommonIdleCarFull
- Some renaming
2013-05-08 20:44:39 +02:00
johndoe123
4c421a09c8 NEVERHOOD: Add clipRects to all Klayman subclasses
- Rename stuff in Module2400
- Move some temp sprites from class scope to local scope in the respective constructors
2013-05-08 20:44:39 +02:00
johndoe123
483d76d635 NEVERHOOD: Enable/fixup navigation scene sound update code in several modules
- Rename some NavigationScene stuff
2013-05-08 20:44:39 +02:00
johndoe123
9b7bb71dd9 NEVERHOOD: Simplify code and rename things
- Add Module::createStaticScene to simplify creation of static scenes
  (and use it in the relevant places)
- Rename Class545 to AsCommonKey and rename related variables
- Rename stuff in Module2200
2013-05-08 20:43:48 +02:00
johndoe123
15cfb9f787 NEVERHOOD: Implement clipping against multiple clipRects, used only in several scenes for the Klayman sprite.
Currently only implemented in KmScene2201 for testing.
2013-05-08 20:43:48 +02:00
johndoe123
8a9ca493b6 NEVERHOOD: Rename stuff in several modules 2013-05-08 20:43:48 +02:00
johndoe123
2fa76ccca1 NEVERHOOD: Work on Module1700:
- Rename stuff
- Add puzzle var initialization in Scene1705
2013-05-08 20:43:47 +02:00
johndoe123
b320c9f5a0 NEVERHOOD: Work on Module1600:
- Rename stuff (also in related files)
2013-05-08 20:43:47 +02:00
johndoe123
cb5ca83578 NEVERHOOD: Rename more stuff in Module1400; also fix some bugs
- Update globalvars.txt
2013-05-08 20:43:47 +02:00
johndoe123
39d1982e47 NEVERHOOD: Work on Module1400:
- Rename stuff
- Fix some bugs (mistyped message numbers...)
- More to come
2013-05-08 20:43:47 +02:00