Commit Graph
265 Commits
Author SHA1 Message Date
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
Julien Templier 744b1c1a80 ASYLUM: Introduce GameFlag enumeration
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@465 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:06 +02:00
Julien Templier 4a3e37e814 ASYLUM: Finish implementing kPlaySpeech opcode
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@462 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:05 +02:00
Julien Templier 44b58d8437 ASYLUM: Refactor Asylum engine class
- Properly register Debugger
- Change constructor to take an ADGameDescription* parameter
- Reduce header interdependencies
- Cleanup members variables and methods
- Add engine namespace description

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@460 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:05 +02:00
Julien Templier 36d4208beb ASYLUM: Refactor ActionList class
- Construct script opcode array at runtime
- Make all opcode functions methods of the ActionList class
- Rename _actionFlag to _skipProcessing (and update opcode name)
- Make class variables private and add a couple accessors
- Remove debug opcode return code

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@459 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:05 +02:00
Alex Bevilacqua afb4a6a3b5 ASYLUM: re-organize trunk
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@456 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:05 +02:00
Alex Bevilacqua 5d48974ebd ASYLUM: reimplement main menu
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@455 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:05 +02:00
Alex Bevilacqua 6119be865d ASYLUM: change isAttached to isActive for console debugger check
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@453 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:04 +02:00
Alex Bevilacqua 53a233697d ASYLUM: pass actor index to updateActor (as opposed to just grabbing the default actor each time)
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@452 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:04 +02:00
Filippos Karapetis e5beddf490 ASYLUM: Fixed compilation
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@448 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:04 +02:00
Joseph Davies 362cce9b63 ASYLUM: Changes for Debug Manager in trunk.
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@447 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:03 +02:00