Commit graph

196 commits

Author SHA1 Message Date
Julien Templier
6b4f3435c0
ASYLUM: Remove Puzzle::reset() functions
- Recreate all puzzle instances on reset
- Clear shared data directly from the AsylumEngine::reset() function
2021-05-17 15:37:08 +02:00
Julien Templier
015c1cfb92
ASYLUM: Fix valgrind problems reported by eriktorbjorn
- malloc/free problem in screen.cpp
- uninitialized variables (screenUpdateCount and lastScreenUpdate) usage in actor.cpp
2021-05-17 15:37:06 +02:00
Julien Templier
5ca35ddd2f
ASYLUM: Fix playing of intro speech (wait until the sound is finished before showing the scene) 2021-05-17 15:37:06 +02:00
Alex Bevilacqua
ef730d52d9
ASYLUM: Add a TODO regarding a proper implentation of the intro speech 2021-05-17 15:37:06 +02:00
Julien Templier
519f4f86f2
ASYLUM: Implement Actor::updateAndDraw() 2021-05-17 15:36:59 +02:00
Julien Templier
1db67c5c88
ASYLUM: Remove SVN keywords 2021-05-17 15:36:57 +02:00
Julien Templier
836e1f43d8
ASYLUM: Process all events in the queue on each call of AsylumEngine::handleEvents() instead of just one
This should fix the slowness experienced in the menu on Linux as reported by eriktorbjorn
2021-05-17 15:36:55 +02:00
Alex Bevilacqua
57229d51ab
ASYLUM: fix compilation against current master 2021-05-17 15:36:52 +02:00
Filippos Karapetis
ebb7bc6673
ASYLUM: Sync with trunk
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@769 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:51 +02:00
Julien Templier
ea4745df71
ASYLUM: Puzzle 13 is really the clock puzzle
- Rename former clock puzzle to puzzle 11
- Implement proper clock puzzle

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@729 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:46 +02:00
Julien Templier
d145f93a7c
ASYLUM: Use switchScene() when switching scenes through the debugger
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@721 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:45 +02:00
Julien Templier
6bddbc6158
ASYLUM: Correct use of ARRAYSIZE
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@714 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:44 +02:00
Julien Templier
4e654d2dfb
ASYLUM: Load the proper scene when using the puzzle command
- Save the current scene and restore it when quitting the puzzle

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@708 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:43 +02:00
Julien Templier
359794ec5d
ASYLUM: Made several SharedData members public
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@700 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:42 +02:00
Julien Templier
e7366c3a91
ASYLUM: Rename MainMenu to Menu
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@683 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:39 +02:00
Julien Templier
ae4d75e6a0
ASYLUM: Convert Video to new event handling
- Change Text::LoadFont to return the previous font
- Fix AsylumEngine::processDelayedEvents not working properly for scenes
- Add two params to AsylumEvent (needed by video subtitle handling)

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@681 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:39 +02:00
Julien Templier
26eacef2fc
ASYLUM: Move Video class to views
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@680 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:38 +02:00
Julien Templier
46aa306513
ASYLUM: Implement loading of games
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@679 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:38 +02:00
Julien Templier
af09eeccee
ASYLUM: Implement saving of games
- Added stubs for saveLoadWithSerializer

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@678 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:38 +02:00
Julien Templier
54381ad846
ASYLUM: Implement most savegame handling (except actual write & read)
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@677 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:38 +02:00
Julien Templier
574abfd1b2
ASYLUM: Add stubs for puzzles
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@675 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:38 +02:00
Julien Templier
a91edc92eb
ASYLUM: Update Puzzle to new event handling
- Remove obsolete methods
- Add default key() event handler
- Stub VCR puzzle

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@673 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:38 +02:00
Julien Templier
701d31f34f
ASYLUM: Check for NULL event handler before calling methods
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@669 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:37 +02:00
Julien Templier
436a6f3ef2
ASYLUM: Rename puzzle classes
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@665 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:36 +02:00
Julien Templier
bde3c3d0d1
ASYLUM: Add back processing of delayed events
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@663 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:36 +02:00
Julien Templier
84dbd45ae0
ASYLUM: Add Game::reset() function
- Set game as started in the menu, making return to game work properly

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@643 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:33 +02:00
Julien Templier
7463acb772
ASYLUM: Implement Scene::enterLoad() and Scene::changePlayer()
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@642 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:33 +02:00
Julien Templier
7a8741e08a
ASYLUM: Implement sine/cosine table calculation on engine start
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@641 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:33 +02:00
Julien Templier
527a517e85
ASYLUM: Implement Scene::playerReaction
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@636 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:32 +02:00
Julien Templier
7877692768
ASYLUM: Implement cursor animation
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@635 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:32 +02:00
Julien Templier
4c7cb12983
ASYLUM: Update Scene::updateMouse() and Scene::updateAmbientSounds()
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@630 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:31 +02:00
Julien Templier
b115baf346
ASYLUM: Implement special Scene hit actions
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@628 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:31 +02:00
Julien Templier
51bf14d497
ASYLUM: Move Special and Speech instances to engine class
Also remove a couple of unused variables from Scene class

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@627 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:31 +02:00
Julien Templier
b729447782
ASYLUM: Rename ActionList to ScriptManager and move to engine class
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@626 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:31 +02:00
Julien Templier
26cb6c9857
ASYLUM: Implement Scene mouse events
- Implement clickDown & clickUp event handlers
- Add cursor state setup
- Add stub for player hit test

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@621 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:30 +02:00
Julien Templier
151e417b72
ASYLUM: Wait 10ms when handling events (reduces CPU usage a lot)
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@619 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:30 +02:00
Julien Templier
814ac99ac4
ASYLUM: Update scene event handling and preload
- Implement Scene init and activate events
- Add stubs for other events
- Update SceneTitle to use proper resource ids and draw methods
- Remove some unused variables from Scene class

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@611 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:28 +02:00
Julien Templier
e1d12045d0
ASYLUM: Refactor parts of Scene class
- Add stubs for event handlers
- Change WorldStats to take an engine pointer like all other classes
- Move copyToBackBufferClipped to screen class

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@610 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:28 +02:00
Julien Templier
2172d82d2e
ASYLUM: Implement rest of game startup
- Add stubs for game loading & setup
- Add stub for sin/cos table initialization

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@609 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:28 +02:00
Julien Templier
a326b61533
ASYLUM: Implement more menu click handling
- Add click handling to audio and keyboard settings
- Add proper sound sync between mixer and in-game values

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@605 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:28 +02:00
Julien Templier
8a6d76b65e
ASYLUM: Overhaul event handling
- Cleanup game initialization
- Update event loop to use the defined handler
- Menu is now the default event handler
- Implement eye direction update using existing Actor helper method
- Add stubs for all menu update & click event handlers

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@600 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:27 +02:00
Julien Templier
0047d10a67
ASYLUM: Add Savegame class
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@599 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:27 +02:00
Julien Templier
f4b1d284b1
ASYLUM: Convert MainMenu to implement EventHandler
- access to menu is disabled until the main event loop is converted
- update/key/mouse functions have not been converted yet

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@598 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:26 +02:00
Julien Templier
12057a04d2
ASYLUM: Use subtitle config option when playing movies
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@595 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:26 +02:00
Julien Templier
10615c7aed
ASYLUM: Init puzzle on first use (the background id is scene-dependent)
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@585 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:24 +02:00
Julien Templier
11a6152eae
ASYLUM: Update event handling
- Add initPuzzle to initialize the list of puzzle instances
- Update switchEventHandler to take a class instance (implementing EventHandler)

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@584 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:24 +02:00
Julien Templier
01b0ea4915
ASYLUM: Implement Encounter::messageHandler()
- Add Sound::getMusicVolume()
- Update AsylumEvent
- Add stubs for mouse, key, update and init events handlers

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@576 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:23 +02:00
Julien Templier
4cd87eaee2
ASYLUM: Implement AsylumEngine::switchMessageHandler()
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@573 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:23 +02:00
Julien Templier
15e46d466a
ASYLUM: Update event handling + encounter progress
- Add custom asylum event
- Implement parts of Encounter::run
- Correct parameters passed to encounter debug command

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@571 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:22 +02:00
Julien Templier
6a869e6171
ASYLUM: Rename Screen::clearScreen to Screen::clear
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@549 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:19 +02:00