Commit graph

175 commits

Author SHA1 Message Date
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
Julien Templier
5186ad9425
ASYLUM: Moved shared data to new structure
Some flags have a longer lifetime and should not be part of the scene instance.
Those are now part of the SharedData structure.
Also implements several actor::updateStatus methods, using the new shared data

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@548 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:19 +02:00
Julien Templier
8528b9d964
ASYLUM: Cleanup Pass 2
- Add proper init code for WorldStats
- Add some missing deletes in destructors (in particular Scene)
- Add const modifiers & casts in several places
- Fix some off-by-one array accesses
- Add checks for NULL in several classes

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@546 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:18 +02:00
Julien Templier
d38322ebca
ASYLUM: Cleanup Pass 1
- Add proper init code in some classes
- Add some missing deletes in destructors
- Add const modifiers in several places
- Switch tick variables (and several others) to uint32
- Update Polygon struct slightly (with count() method instead of variable)

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@545 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:18 +02:00
Arthur Blot
5bd13afb2b
ASYLUM: Fixed scene reloading, to get the good palette after showing intro & when exiting menu
Fixed some places where the added sound looping argument was not set, so it looped but shouldn't (in example, in menu)

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@534 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:17 +02:00
Julien Templier
ea952cc33d
ASYLUM: Implement Sound panning/adjustement methods
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@532 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:16 +02:00
Julien Templier
4d383def95
ASYLUM: Add support for shared sound resources
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@531 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:16 +02:00
Julien Templier
64786bb7f7
ASYLUM: Fix crash on exit
The objects were destructed in the wrong order
and the resource pack id wasn't calculated properly

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@524 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:15 +02:00
Julien Templier
b1c3d9d7e0
ASYLUM: Add some init code to Scene & Actor classes
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@519 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:14 +02:00
Julien Templier
2532fcd021
ASYLUM: Refactor game start and scene loading
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@514 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:14 +02:00
Julien Templier
d7c22354a6
ASYLUM: Add ResourceManager class
It will keep track of opened resource files and simplify handling of resource packs

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@513 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:13 +02:00
Julien Templier
ee438adbdc
ASYLUM: Introduce ResourcePackId
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@512 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:13 +02:00
Julien Templier
20754d9dd9
ASYLUM: Initialize scene before entering it
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@509 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:13 +02:00
Julien Templier
659a3e281e
ASYLUM: Reduce header inter-dependency
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@494 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:10 +02:00
Julien Templier
4b449a14c2
ASYLUM: Treat ResourceId as an unsigned int
This should hopefully fix the overflow warnings until we convert
all callers to use the enum.

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@493 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:10 +02:00
Julien Templier
9249130d59
ASYLUM: Check that a scene exists before trying to load it
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@489 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:10 +02:00
Julien Templier
582794ff12
ASYLUM: Implement special logic for chapters 1, parts of 2, 3, 4 and 6
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@488 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:10 +02:00
Julien Templier
ce330b1a45
ASYLUM: Rename Barrier to Object
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@486 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:09 +02:00
Alex Bevilacqua
3dfab1cc46
ASYLUM: fix more GCC warnings (overflow in implicit constant conversion)
- minor whitespace cleanup as well

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@482 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:09 +02:00
Julien Templier
051ea98d5e
ASYLUM: Update ConfigManager
- Added registration and loading/reading engine-related config options
- Make showing intro & scene loading config options

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@476 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:08 +02:00
Julien Templier
f0c46d5e7c
ASYLUM: Implement remaining opcodes
- Add relevant needed stubs in Actor/Sound/Scene/Screen/Engine classes
- Have Encounter & BlowUpPuzzle compile again

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@470 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:07 +02:00
Julien Templier
ffddfcd8db
ASYLUM: Use typed resource ID
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@468 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:06 +02:00