Commit Graph

56 Commits

Author SHA1 Message Date
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
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
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
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
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
2aa6e6b89c NEVERHOOD: Implement Scene2809
- Fix some setMessageList parameters
- Add scene 10 in Module2800
2013-05-08 20:43:39 +02:00
johndoe123
c2f91e39ba NEVERHOOD: Implement Scene2806 (Class469 TODO) 2013-05-08 20:43:39 +02:00
johndoe123
ee7bd2fc6c NEVERHOOD: Implement Scene2803b
- Also some more Klayman stuff used by that scene
2013-05-08 20:43:38 +02:00
johndoe123
6467904898 NEVERHOOD: Implement Scene2805 2013-05-08 20:43:38 +02:00
johndoe123
2e94464a8a NEVERHOOD: Start with Module2800 and add Scene2801 2013-05-08 20:40:04 +02:00
Filippos Karapetis
5465e6fe64 NEVERHOOD: Pack the KlaymanIdleTableItem struct 2013-05-08 20:40:03 +02:00
johndoe123
adb02a9f38 NEVERHOOD: More renaming 2013-05-08 20:40:03 +02:00
johndoe123
dac95f3f73 NEVERHOOD: More renaming (mostly in Klayman and AnimatedSprite) 2013-05-08 20:40:03 +02:00
johndoe123
9cf2c83e5e NEVERHOOD: Major renaming:
- Give better names to animation callback functions/vars
- Give better names to animation functions (previously known as subXXXX - not completed yet)
- Add dumpAllResources (which is a lie, since it only dumps animations for now)
- More renaming to come
2013-05-08 20:39:43 +02:00
johndoe123
21ebcf2af2 NEVERHOOD: Add Module2100 and Scene2101 (not complete yet) 2013-05-08 20:39:41 +02:00
johndoe123
7a0a0c4b65 NEVERHOOD: Add Module1900 and Scene1901, Scene1907
(Scene1908 is actually only used in another module...)
2013-05-08 20:39:41 +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
fad64afa44 NEVERHOOD: Remove unused resource preloading stuff (probably resource preloading is not needed since the original game ran off slow double/quad-speed cd drives and preloading reduced stuttering while playing back then)
- Add Klayman animation speedup
2013-05-08 20:39:39 +02:00
johndoe123
4a88ce37dd NEVERHOOD: Use InsertKlayman 2013-05-08 20:39:38 +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
3e122b002c NEVERHOOD: Add Scene1308 (renaming of stuff todo) 2013-05-08 20:39:38 +02:00
johndoe123
30ff790a07 NEVERHOOD: Add Scene1306 2013-05-08 20:39:38 +02:00
johndoe123
a6cb31c9c3 NEVERHOOD: Add Scene1305 2013-05-08 20:39:38 +02:00
johndoe123
086879a4aa NEVERHOOD: Add Scene1304 2013-05-08 20:39:37 +02:00
johndoe123
9d6e3b9575 NEVERHOOD: Add Scene1303 2013-05-08 20:39:37 +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
9133d17cdf NEVERHOOD: Implement Scene2242 2013-05-08 20:39:36 +02:00
johndoe123
41f8749bd0 NEVERHOOD: Implement Scene2207 (not complete yet) 2013-05-08 20:39:36 +02:00
johndoe123
f29619f655 NEVERHOOD: Implement Scene2206 2013-05-08 20:39:36 +02:00
johndoe123
e177dcf911 NEVERHOOD: Implement Scene2205 2013-05-08 20:39:35 +02:00
johndoe123
31457e11aa NEVERHOOD: Implement Scene2203 2013-05-08 20:39:35 +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
5fcc3af23b NEVERHOOD: Implement Module2000 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
f162516f25 NEVERHOOD: More work on Scene1201 2013-05-08 20:38:48 +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
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
92e08f21ed NEVERHOOD: Start with Scene1002 (a lot incomplete) 2013-05-08 20:38:47 +02:00