39 Commits

Author SHA1 Message Date
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
Johannes Schickel
6563171e7b NEVERHOOD: Make GPL headers consisten in themselves. 2014-02-18 02:39:36 +01:00
Filippos Karapetis
9396958536 NEVERHOOD: Add a patch system for broken resources in Russian versions
Some translated resources in Russian versions have incorrect unpacked
resource sizes. The original didn't perform checks for these, but we
do, thus we'll need to patch the unpacked resource sizes for each case
2013-09-26 10:54:30 +03:00
Johannes Schickel
2c629803a2 NEVERHOOD: Take advantage of Surface::getPixels. 2013-08-03 04:02:51 +02:00
Johannes Schickel
82b96d33ad NEVERHOOD: Prefer getBasePtr over direct Surface::pixels access. 2013-08-03 02:52:33 +02:00
Sven Hesse
989ea7cb56 JANITORIAL: Remove trailing whitespace 2013-07-14 19:01:47 +02:00
johndoe123
fb0332d884 NEVERHOOD: Fix deletes in SpriteResource::unload() and ResourceMan::purgeResources() 2013-05-08 21:02:00 +02:00
johndoe123
583f9abaf9 NEVERHOOD: Fix some logic bugs and minor changes
- Fix video speed in the very last scene (Scene1317)
- Fix back door not opening in Scene1401
- Fix projector not moving in Scene1402
- Fix projector not appearing in Scene1403
- Fix wrong Klaymen walking in Scene2205
- Fix wrong scene change in Module2300
- Fix symbols not appearing in Scene3011
- Define out some remaining logic debug code
- Remove some obsolete comments
- Reduce debug output
- Use a List instead of an Array when building the microtiles rectangles
2013-05-08 20:47:43 +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
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
e43184f4f2 NEVERHOOD: Remove obsolete TODOs 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
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
bf1371c9d4 NEVERHOOD: Rename and clean up fields in AnimFrameInfo 2013-05-08 20:47:34 +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
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
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
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
9de3cf5675 NEVERHOOD: Some minor cleanup, add a TODO about some palette issues (I couldn't find any apparent causes yet) 2013-05-08 20:43:38 +02:00
johndoe123
aa789ee02b NEVERHOOD: More work in Module2700 2013-05-08 20:39:42 +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
bfd71cff6e NEVERHOOD: New modules Module1200, Module1400, Module1700 and Module1800
- Implement CollisionMan::removeSprite
2013-05-08 20:39:34 +02:00
johndoe123
438b6bb53c NEVERHOOD: Implement Module2300 (just a bunch of NavigationScenes)
- Fix Smacker player by using a SafeSubReadStream
- Fix NavigationMouse (cursors in type 1 were swapped)
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
a23b694c94 NEVERHOOD: Implement Scene1005
- Add FontSurface
- Add DataResource
- Fix NavigationScene, only accept input when interactive
2013-05-08 20:38:48 +02:00
johndoe123
8a5c4a84d0 NEVERHOOD: Implement color replace in AnimatedSprite
(used to disable a color in 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
9f6e6c6f7f NEVERHOOD: Implement MouseCursorResource and Mouse433 mouse cursor 2013-05-08 20:38:47 +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
97f319c945 NEVERHOOD: More work on Scene1001, implement Class509 (yes, will be renamed later) and AnimResource related stuff 2013-05-08 20:30:58 +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
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
f01f9343c8 NEVERHOOD: Start with AnimatedSprite and AnimResource 2013-05-08 20:30:57 +02:00
johndoe123
aded2a104b NEVERHOOD: Start with Scene and Sprite classes 2013-05-08 20:30:57 +02:00
johndoe123
eb5ab30ce0 NEVERHOOD: More work on the Palette class 2013-05-08 20:30:57 +02:00
johndoe123
108368e9b5 NEVERHOOD: Add more
- SpriteResource and PaletteResource resource classes
- Extend BaseSurface to be able to draw SpriteResources onto it
- Implement Entity base class (this may need some work concerning the update/message callbacks later since I'm not sure if the way it's done now is portable)
2013-05-08 20:30:57 +02:00