Commit Graph

480 Commits

Author SHA1 Message Date
johndoe123
9b6d813d41 NEVERHOOD: Update todo.txt 2013-05-08 20:47:43 +02:00
johndoe123
9ca3973e6f NEVERHOOD: Work on the save/load/delete menus
- Rename WidgetScene to GameStateMenu
- Merge common code from the save/load/delete into GameStateMenu
2013-05-08 20:47:43 +02:00
johndoe123
8749efdea8 NEVERHOOD: Add game-internal savegame delete menu
- Rename Widget::addSprite to Widget::initialize
2013-05-08 20:47:43 +02:00
johndoe123
a03879963f NEVERHOOD: Changed the save/load menu to allow gaps in saved games to simplify game deletion 2013-05-08 20:47:43 +02:00
johndoe123
2a571d71b0 NEVERHOOD: Fix GUI options and game copyright 2013-05-08 20:47:43 +02:00
johndoe123
a80bafeb2e NEVERHOOD: Support game loading from launcher/command line 2013-05-08 20:47:43 +02:00
johndoe123
dc459b5f67 NEVERHOOD: Merge some code in the save/load menus 2013-05-08 20:47:43 +02:00
johndoe123
bdac28929f NEVERHOOD: Add Y-flipping to unpackSpriteNormal 2013-05-08 20:47:43 +02:00
johndoe123
70fdfd9d57 NEVERHOOD: Delete all sound/music items on exit
- Minor cleanup
2013-05-08 20:47:43 +02:00
johndoe123
c96d2475b1 NEVERHOOD: Add Screen::saveParams and Screen::restoreParams, called when etnering/leaving the menu 2013-05-08 20:47:42 +02:00
johndoe123
53a81d11b8 NEVERHOOD: Don't allow main menu until _canRequestMainMenu is set
- Clean up GameModule
2013-05-08 20:47:42 +02:00
johndoe123
65c6984635 NEVERHOOD: Implement game-internal savegame overwrite query screen
- Rename and reorder fields in the Klaymen class
2013-05-08 20:47:42 +02:00
johndoe123
9ae1888593 NEVERHOOD: Change Klaymen idle callbacks from method pointers to integers and evaluate these in a new method enterIdleAnimation 2013-05-08 20:47:42 +02:00
johndoe123
1383c5f395 NEVERHOOD: Rename stuff in the Klaymen class 2013-05-08 20:47:42 +02:00
johndoe123
c218cb46e0 NEVERHOOD: Remove unneeded braces 2013-05-08 20:47:42 +02:00
johndoe123
4c6e82fc05 NEVERHOOD: Remove objectPriority and surfacePriority parameters from the Klaymen class constructor since they always have the same value (1000) 2013-05-08 20:47:42 +02:00
johndoe123
379a8cbbe0 NEVERHOOD: Add support for loading/saving games with the game's own menu
- Add LoadGameMenu class
2013-05-08 20:47:42 +02:00
johndoe123
490d447ed1 NEVERHOOD: Implement restart functionality (from both main menu and game logic)
- Some minor cleanup
2013-05-08 20:47:42 +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
5ff11f0041 NEVERHOOD: Rework the sound system
- Move code from the manager classes to the sound/music classes
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
eea9dbe2da NEVERHOOD: Minor renaming and cleanup 2013-05-08 20:47:40 +02:00
johndoe123
51979c4f3f NEVERHOOD: Rename SceneInfo2700 to TrackInfo 2013-05-08 20:47:40 +02:00
johndoe123
5bf8fb3e96 NEVERHOOD: Remove more old TODOs 2013-05-08 20:47:40 +02:00
johndoe123
18ce1acc12 NEVERHOOD: Rework the car track scenes in Module2500 and Module2700
- Move findClosestTrack code from several scenes to new Tracks::findTrackPoint
- Remove const kScene2706 arrays and use it from the dat instead
2013-05-08 20:47:40 +02:00
johndoe123
e43184f4f2 NEVERHOOD: Remove obsolete 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
f945448c7b NEVERHOOD: Change graphic resource draw method to get a Surface instead of separate pixels/pitch
- Merge SpriteResource::load and load2
2013-05-08 20:47:40 +02:00
johndoe123
57497817e1 NEVERHOOD: Add enum for the resource types 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
6ddedc955a NEVERHOOD: Merge TextSurface into FontSurface 2013-05-08 20:47:39 +02:00
johndoe123
fa205be892 NEVERHOOD: Remove some obsolete TODOs 2013-05-08 20:47:39 +02:00
johndoe123
b875696fc7 NEVERHOOD: Update todo.txt 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
30178e46e5 NEVERHOOD: Implement savegame loading via GMM (in-game saving/loading still TODO) 2013-05-08 20:47:39 +02:00
johndoe123
a35cd088e5 NEVERHOOD: Remove obsolete _keyState 2013-05-08 20:47:39 +02:00
johndoe123
0f1aa64fd0 NEVERHOOD: Add support for the demo version
- Remove debug resource dumping code
- Fix Scene1501 (pictures without sound weren't displayed/too fast)
- Move main loop to mainLoop method
2013-05-08 20:47:38 +02:00
johndoe123
060287a4f8 NEVERHOOD: Improve frame-exact seeking for Scene2802
Thanks to clone2727 for his help!
2013-05-08 20:47:38 +02:00
johndoe123
99e15e4005 NEVERHOOD: More work on saveload, saving works, loading not yet (from the GMM, in-game isn't finished yet) 2013-05-08 20:47:38 +02:00
johndoe123
c182688e44 NEVERHOOD: Add saveload skeleton (doesn't actually do anything yet) 2013-05-08 20:47:38 +02:00
johndoe123
9a1d9883ad NEVERHOOD: Fix AsCommonCar turning 2013-05-08 20:47:38 +02:00
johndoe123
b2934eb166 NEVERHOOD: Fix Klaymen "grow" animation after drinking the potion
- Remove static sprite 0x50C027A8 Scene2803/Scene2803Small because the resource doesn't exist!
- Remove some old comments
- Fix resource extData handling which fixes some crashes
- Enable reusing deleted sound/music slots in SoundMan (was disabled for debugging)
2013-05-08 20:47:38 +02:00
johndoe123
cc015e3d24 NEVERHOOD: Simplify resource loading
- Renamne and clean up
2013-05-08 20:47:38 +02:00
johndoe123
1b9807b312 NEVERHOOD: Remove more old comments
- Add the remaining idle stuff to Klayman
2013-05-08 20:47:38 +02:00
johndoe123
370f00e808 NEVERHOOD: New _sceneNum in Module2800
- Very slightly improved the speed in SmackerPlayer::gotoFrame()
2013-05-08 20:47:38 +02:00
johndoe123
325c85fc41 NEVERHOOD: Fix Klaymen in Scene1403 (*facepalm*) 2013-05-08 20:47:38 +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
685ce4e312 NEVERHOOD: Add initCodeSymbolsPuzzle 2013-05-08 20:47:37 +02:00
johndoe123
73e0372cef NEVERHOOD: A little more work on the menu stuff 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
0022c57858 NEVERHOOD: Add SavegameListBox 2013-05-08 20:47:37 +02:00
johndoe123
eecd9b8b2a NEVERHOOD: Add TextLabelWidget (still doesn't do anything) 2013-05-08 20:47:37 +02:00
johndoe123
228d9264c8 NEVERHOOD: Start with menu widget stuff (doesn't do anything yet!) 2013-05-08 20:47:37 +02:00
johndoe123
4df22cf979 NEVERHOOD: Remove track rectList code because none of the tracks has a rectList 2013-05-08 20:47:36 +02:00
johndoe123
c539060460 NEVERHOOD: Clean up Module2700 (like the ones before)
- Add Scene2703 and Scene2732
2013-05-08 20:47:36 +02:00
johndoe123
36204f573d NEVERHOOD: Clean up Module2600 (like the ones before) 2013-05-08 20:47:35 +02:00
johndoe123
28e613c68b NEVERHOOD: Clean up Module2500 (like the ones before) 2013-05-08 20:47:35 +02:00
johndoe123
38df3c0d62 NEVERHOOD: Clean up Module2400 (like the ones before)
- Fix Klayman::stTurnToFront()
2013-05-08 20:47:35 +02:00
johndoe123
61e2a6f81d NEVERHOOD: Clean up Module2300 (like the ones before)
- Also fix previous modules (oops)
2013-05-08 20:47:35 +02:00
johndoe123
1993d4165a NEVERHOOD: Clean up Module2200 (like the ones before)
- Rename SceneInfo140 to HallOfRecordsInfo
2013-05-08 20:47:35 +02:00
johndoe123
0dd4995af3 NEVERHOOD: Clean up Module2100 (like the ones before) 2013-05-08 20:47:35 +02:00
johndoe123
9d987a97d3 NEVERHOOD: Clean up Module2000 (like the ones before) 2013-05-08 20:47:35 +02:00
johndoe123
2fbfd673ad NEVERHOOD: Clean up Module1900 (like the ones before) 2013-05-08 20:47:35 +02:00
johndoe123
dd26512c0d NEVERHOOD: Clean up Module1800 (like the ones before) 2013-05-08 20:47:35 +02:00
johndoe123
904d9430bf NEVERHOOD: Clean up Module1700 (like the ones before) 2013-05-08 20:47:35 +02:00
johndoe123
e2b696b891 NEVERHOOD: Clean up Module1600 (like the ones before)
- Remove AsScene1608Door because the corresponding animation resource didn't exist!
2013-05-08 20:47:34 +02:00
johndoe123
f51140490d NEVERHOOD: Clean up Module1500 (like the ones before) 2013-05-08 20:47:34 +02:00
johndoe123
af37a2200e NEVERHOOD: Clean up Module1400 (like the ones before) 2013-05-08 20:47:34 +02:00
johndoe123
ee7d47cb18 NEVERHOOD: Clean up Module1300 (like the ones before) 2013-05-08 20:47:34 +02:00
johndoe123
097f1f27bb NEVERHOOD: Clean up Module1200 (like the ones before) 2013-05-08 20:47:34 +02:00
johndoe123
f744e60e0e NEVERHOOD: Clean up Module1100:
- Rename stuff
- Remove superfluous braces
- Add a comment to the "which" code in each scene
- Use a seperate _sceneNum instead of _vm->gameState().sceneNum
2013-05-08 20:47:34 +02:00
johndoe123
4d7610f69d NEVERHOOD: Clean up Module1000:
- Rename stuff
- Remove superfluous braces
- Add a comment to the "which" code in each scene
- Use a seperate _sceneNum instead of _vm->gameState().sceneNum
- Remove code related to unused resource preloading and debug messages
2013-05-08 20:47:34 +02:00
johndoe123
1589e4fe7d NEVERHOOD: Add new method StaticSprite::loadSprite and use it instead of setting stuff "manually" 2013-05-08 20:47:34 +02:00
johndoe123
bf1371c9d4 NEVERHOOD: Rename and clean up fields in AnimFrameInfo 2013-05-08 20:47:34 +02:00
johndoe123
f24a6769c2 NEVERHOOD: Make use of NDrawRect::set 2013-05-08 20:47:33 +02:00
johndoe123
9ba7a7f1a1 NEVERHOOD: Rename stuff in Sprite:
- processDelta() to updateBounds()
- getRect() to getCollisionBounds()
- _drawRect to _drawOffset
- _rect to _collisionBounds
- _deltaRect to _collisionBoundsOffset
2013-05-08 20:47:33 +02:00
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
johndoe123
eefa175a2f NEVERHOOD: Update todo.txt 2013-05-08 20:43:47 +02:00
johndoe123
106ec42124 NEVERHOOD: Work on Module1300:
- Remove Class595, only used for setting the surface priority via a message
- Rename stuff and fix some errors
2013-05-08 20:43:47 +02:00
johndoe123
7b0b3000a7 NEVERHOOD: Rename stuff in Module1200
- Remove unused countdowns/code in AsScene1201Creature
- Fix AudioResourceMan::isSoundPlaying
2013-05-08 20:43:47 +02:00
johndoe123
f77b12cf96 NEVERHOOD: Rename stuff in Module1200
- Fix Scene1201 (tnt man, match)
2013-05-08 20:43:47 +02:00
johndoe123
5e08ab3e3f NEVERHOOD: Rename Class426 to SsCommonPressButton 2013-05-08 20:43:47 +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
c88fdc34dd NEVERHOOD: Rename Class152 to StaticScene 2013-05-08 20:43:46 +02:00
johndoe123
bb4bda7404 NEVERHOOD: More minor Klayman changes:
- Normalize the calling order of the Set... macros
- Actually use _walkResumeFrameIncr, change stStartWalkingResume
2013-05-08 20:43:46 +02:00
johndoe123
debc7e953d NEVERHOOD: More changes to the Klayman class:
- Rename some stuff
- Reorder methods (in the Klayman header only until I'm happy with it :)
2013-05-08 20:43:46 +02:00
johndoe123
3ef691f1af NEVERHOOD: Rename
- Also fix compilation (oops)
2013-05-08 20:43:46 +02:00
johndoe123
4fef1ac9f2 NEVERHOOD: Some more merging and renaming in the Klayman class 2013-05-08 20:43:46 +02:00
johndoe123
22cfd04b12 NEVERHOOD: Rename handleMessage41D640 2013-05-08 20:43:46 +02:00
johndoe123
7e4faf3505 NEVERHOOD: More Klayman merging
- Also clean up parameter list of two Klayman subclass constructors and send a message to the parent class instead of operating on the entities inside the Klayman class
2013-05-08 20:43:46 +02:00
johndoe123
e97bd30682 NEVERHOOD: Change sound stuff in Klayman
- Also merge some more code into the Klayman class
- Rename hmInsertDiskSide to hmInsertKey (also related code)
2013-05-08 20:43:46 +02:00
johndoe123
acdc0256bb NEVERHOOD: Change sound stuff in DiskplayerScene 2013-05-08 20:43:45 +02:00
johndoe123
1b3a686cac NEVERHOOD: Fix AsScene3011Symbol 2013-05-08 20:43:45 +02:00
johndoe123
45da15adce NEVERHOOD: Change sound stuff in Module3000 (dirty, TODO) 2013-05-08 20:43:45 +02:00
johndoe123
eca881bd3e NEVERHOOD: Change sound stuff in Module2800 2013-05-08 20:43:45 +02:00
johndoe123
73f4e4bcac NEVERHOOD: Change sound stuff in Module2700 2013-05-08 20:43:45 +02:00
johndoe123
26188a3a69 NEVERHOOD: Change sound stuff in Module2600 2013-05-08 20:43:45 +02:00
johndoe123
fb9d9c30e6 NEVERHOOD: Change sound stuff in Module2500 2013-05-08 20:43:45 +02:00
johndoe123
0c5a5b3c62 NEVERHOOD: Change sound stuff in Module2400 2013-05-08 20:43:45 +02:00
johndoe123
3651d982c4 NEVERHOOD: Change sound stuff in Module2200
- Add Entity::stopSound
2013-05-08 20:43:45 +02:00
johndoe123
78df19c648 NEVERHOOD: Change sound stuff in Module2100 2013-05-08 20:43:45 +02:00
johndoe123
a8dda6c5b6 NEVERHOOD: Change sound stuff in Module1900 2013-05-08 20:43:44 +02:00
johndoe123
0a1a228a88 NEVERHOOD: Change sound stuff in Module1700
- Add Entity::setSoundVolume
2013-05-08 20:43:44 +02:00
johndoe123
0c272631df NEVERHOOD: Change sound stuff in Module1600 2013-05-08 20:43:44 +02:00
johndoe123
2df0a0a2e1 NEVERHOOD: Change sound stuff in Module1500 2013-05-08 20:43:44 +02:00
johndoe123
b119efd5ed NEVERHOOD: Change sound stuff in Module1400 2013-05-08 20:43:44 +02:00
johndoe123
5ab4eb6555 NEVERHOOD: Change sound stuff in Module1300
- Also fix a very stupid bug in AsScene1307Key which messed up the key moving animation
2013-05-08 20:43:44 +02:00
johndoe123
fc359abd08 NEVERHOOD: Change sound stuff in Module1200 2013-05-08 20:43:44 +02:00
johndoe123
7adc1d312e NEVERHOOD: Change sound stuff in Module1100
- Implement Entity::isSoundPlaying
2013-05-08 20:43:44 +02:00
johndoe123
0f04a01338 NEVERHOOD: Change sound playing
Sounds can now be loaded/played by an entity without declaring/initializing a SoundResource which is a little nicer. I implemented this so far for Module1000 only, rest will follow.
2013-05-08 20:43:44 +02:00
johndoe123
6160ee3cf2 NEVERHOOD: Move code from entity.h to new entity.cpp 2013-05-08 20:43:44 +02:00
johndoe123
e1943c1e2b NEVERHOOD: Move more into the Klayman base class
- Fix header from previous commit
2013-05-08 20:43:44 +02:00
johndoe123
d1927ef8e6 NEVERHOOD: Move Klayman teleporter appear/disappear animation code from the several subclasses to the base Klayman class; the code was equal except for the animation hashes 2013-05-08 20:43:43 +02:00
johndoe123
cce19001fd NEVERHOOD: Rename more Klayman stuff (not much left :) 2013-05-08 20:43:43 +02:00
johndoe123
a5986fd722 NEVERHOOD: Fix resource file reading by introducing SafeMutexedSeekableSubReadStream which locks a mutex during reads and also lock the same mutex in BlbArchive::load; loading resources while music is playing shouldn't mess up the file position now
- Fix loading of non-existent resources (not elegant and not checked everywhere yet, the resource system is subject to a minor rewrite anyway)
- Rename more Klayman stuff
2013-05-08 20:43:43 +02:00
johndoe123
8bdddfdb02 NEVERHOOD: Rename many Klayman functions/variables 2013-05-08 20:43:43 +02:00
johndoe123
21d1372d7e NEVERHOOD: Some work on the Klayman "idle" code (when the user doesn't do something for a certain time)
- Fix startIdleAnimation and the Klayman update code which calls the idle code
- Rename related variables/methods
2013-05-08 20:43:43 +02:00
johndoe123
2ba49676ea NEVERHOOD: Add destructor to AsScene2804BeamCoil 2013-05-08 20:43:43 +02:00
johndoe123
ba991fe702 NEVERHOOD: Fix addSound in AsScene2609Water and add a destructor 2013-05-08 20:43:42 +02:00
johndoe123
a2bc192912 NEVERHOOD: Add sound lists to all modules which have them 2013-05-08 20:43:42 +02:00
johndoe123
f5a8c9d90d NEVERHOOD: Add most SoundMan remaining calls
Except for those which need a sound hash array (later)
2013-05-08 20:43:42 +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
0bb70c39f0 NEVERHOOD: More work on the SoundMan
- Also changed all sound related function calls which are still TODO to the new names
2013-05-08 20:43:42 +02:00
johndoe123
65afa25c9f NEVERHOOD: Implement the SoundMan; no sound is played yet since the important code doesn't exist yet 2013-05-08 20:43:42 +02:00
johndoe123
96153bfe04 NEVERHOOD: Implement TextSurface, used in the save/load menus 2013-05-08 20:43:42 +02:00
johndoe123
d1d1596fd1 NEVERHOOD: Add support for shadow sprites, used only for the shadow of the car/vehicle thing 2013-05-08 20:43:41 +02:00
johndoe123
ee36d5d5e3 NEVERHOOD: Add remaining scenes in Module2400 2013-05-08 20:43:41 +02:00
johndoe123
1a581543a7 NEVERHOOD: Implement Scene2403 2013-05-08 20:43:41 +02:00
johndoe123
93614a17a8 NEVERHOOD: Implement Scene2406 2013-05-08 20:43:41 +02:00
johndoe123
7c2aa2a225 NEVERHOOD: Implement Scene2402 2013-05-08 20:43:41 +02:00
johndoe123
402f4bd275 NEVERHOOD: Start with Module2400
- Implement Scene2401
2013-05-08 20:43:41 +02:00
johndoe123
bd3dac9781 NEVERHOOD: Add commented out code (which is TODO) to Module2500 so I don't forget it later 2013-05-08 20:43:41 +02:00
johndoe123
86c75922fe NEVERHOOD: Implement Scene2504 and add all car track scenes 2013-05-08 20:43:40 +02:00
johndoe123
bbb23cdf27 NEVERHOOD: Start with Module2500
- Implement Scene2501
- Add Scene::removeSprite
2013-05-08 20:43:40 +02:00
johndoe123
43362dfbd1 NEVERHOOD: Implement Scene2803
- Also add "empty" constructor to DirtyBackground (used by that scene)
2013-05-08 20:43:40 +02:00
johndoe123
93a074e9ad NEVERHOOD: Implement Scene2812 2013-05-08 20:43:40 +02:00
johndoe123
0388fb496d NEVERHOOD: Implement Scene2822 2013-05-08 20:43:40 +02:00
johndoe123
99ebd0eca3 NEVERHOOD: Implement Scene2810
- Also add globalvars.txt, a (currently almost empty) list of global game variables with descriptions
2013-05-08 20:43:40 +02:00
johndoe123
6f003399c8 NEVERHOOD: Implement Scene2807 2013-05-08 20:43:39 +02:00
johndoe123
0962c594bd NEVERHOOD: Rename wrongly named stuff 2013-05-08 20:43:39 +02:00
johndoe123
4f1e8b2070 NEVERHOOD: Implement Scene2804
- Fix dispenser in Scene2808 (wasn't clickable)
- Add Palette::fillBaseWhite
- Minor renaming in Module2800
2013-05-08 20:43:39 +02:00
johndoe123
2aa6e6b89c NEVERHOOD: Implement Scene2809
- Fix some setMessageList parameters
- Add scene 10 in Module2800
2013-05-08 20:43:39 +02:00
johndoe123
1cb1e66c10 NEVERHOOD: Implement Class488 (renaming TODO) 2013-05-08 20:43:39 +02:00
johndoe123
12bb3f23f3 NEVERHOOD: Implement Scene2808 2013-05-08 20:43:39 +02:00
johndoe123
404aaaad94 NEVERHOOD: Implement Class469 2013-05-08 20:43:39 +02:00
johndoe123
c2f91e39ba NEVERHOOD: Implement Scene2806 (Class469 TODO) 2013-05-08 20:43:39 +02:00
johndoe123
f3d98e6275 NEVERHOOD: Add scene 28/05 2013-05-08 20:43:38 +02:00
johndoe123
ee7bd2fc6c NEVERHOOD: Implement Scene2803b
- Also some more Klayman stuff used by that scene
2013-05-08 20:43:38 +02:00