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
Alex Bevilacqua
748960b9b6
ASYLUM: new debug level for barriers
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@438 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:02 +02:00
Alex Bevilacqua
bc43a2bfd5
ASYLUM: remove global_x/y (find a better way ... and actually finish it :P)
...
cleanup adjustScreen() a bit
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@434 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:01 +02:00
Alex Bevilacqua
da61880d8e
ASYLUM: This commit breaks A LOT of existing functionality. It also introduces a slew of new functions (namely hittests). For the time being, I'm disabling Menus, Encounters and BlowupPuzzles, as these were all implemented with incorrect cursor handling.
...
Feel free to revert to a previous version if you want to try something out, but for the next little while (as I get cursors working more accurately), these features will be unavailable.
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@427 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:00 +02:00
Alex Bevilacqua
878182c704
ASYLUM: starting to unwind Scene::updateAmbientSounds a bit further
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@408 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:57 +02:00
Alex Bevilacqua
cc43cc88a3
ASYLUM: Major overhaul of data casting. Converted all uint32 member variables and fields to int32 (and uint16 to int16) and update the associated reads. There may be regressions as a result, but so far everything seems to be working as expected.
...
Also combed through the source and silenced 99% of the warnings that GCC was generating.
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@404 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:57 +02:00
Alexandre Fontoura
817cdc8ce6
ASYLUM: * Implemented start New Game from MainMenu.
...
* Implemented MainMenu ReturnToGame screen when no game is loaded.
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@402 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:56 +02:00
Alexandre Fontoura
611e9e9582
ASYLUM: * Rework on game initially steps to build the real flow to start a new game. (Still missing SaveGame checks, New Game and Return to Game in main menu)
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@401 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:56 +02:00
Alexandre Fontoura
dcf0cce2c5
ASYLUM: * Fixed Sound::isPlaying buffered handle.
...
* Fixed Intro play and display
* ConfigurationManager Config.showMovieSubtitles is now from type VideoSubtitles.
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@400 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:56 +02:00
Alex Bevilacqua
9cc79d0cea
ASYLUM: remove "processing" flag and just check for flag 183
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@398 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:56 +02:00
Alex Bevilacqua
20184c8486
ASYLUM: Starting to implement proper actionlist processing using the scripts queue.
...
With this update, I've renamed all the structs within the actionlist, so be forewarned ;)
This update doesn't work 100% though, as the processing loop exits early when there is a kWaitForFrame command cycling. I'm checking this is so the rest of the team can see the direction (and hopefully fix these for me while I'm at work :P).
I've also removed the hard-setting of script indices within the actionlist in favour of pulling them from the script queue instead. This breaks console debugging compatibility for now, but can be easily re-instated by pushing a script into the queue, as opposed to just setting it directly.
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@395 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:55 +02:00
Alex Bevilacqua
d9aaf26c18
ASYLUM: Removed the actionarray class and rolled it into actionlist (which makes way more sense).
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@394 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:55 +02:00
Alex Bevilacqua
a33b9e677a
ASYLUM: Added the ActionArray type. Slowly working on implementing this, but it looks to be what ties the actionlist to the character.
...
Also started implementing more standardized music handling.
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@393 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:55 +02:00
Alex Bevilacqua
005cfdcf5a
ASYLUM: * changed some variable casting from uint32 to int
...
* force kDebugFlagScripts to be on by default (for now)
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@378 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:52 +02:00
Alex Bevilacqua
e60a1293cf
ASYLUM: created a configuration management singleton. I know I've made a few of these and then factored them out in the past, but I think common options are a good candidate for this pattern.
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@374 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:52 +02:00
Alex Bevilacqua
1ea346e064
ASYLUM: cleanup and comments
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@373 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:52 +02:00
Alex Bevilacqua
b439e33021
ASYLUM: Emulate the title loader. I'm calling this emulation because we're not buffering resources the same way as the original (we don't load all scene assests prior to initialization).
...
This can be toggled by commenting out the SHOW_SCENE_LOADING macro to faciliate development ;)
I also unified access to the Text* instance by moving it to the engine level and adding a getter.
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@372 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:51 +02:00
Filippos Karapetis
d6c4926344
ASYLUM: Sync with ScummVM revision #44266
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@367 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:51 +02:00
Alex Bevilacqua
ab44e5c66b
ASYLUM: Ran our engine through AStyle :P
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@366 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:51 +02:00
Alex Bevilacqua
52206f1189
ASYLUM: NEW SOUND SUBSYSTEM! This is still sort of WIP though because it's not a "true" implementation (direct from disassembly). It also doesn't really do anything with the new ambient sound queue, but the functionality's there for when we make more progress on the AmbientSoundItem initializations.
...
Also started to re-write updateBarriers(). The original is there as updateBarriers2() for the time being.
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@362 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:50 +02:00
Alex Bevilacqua
ddcb9beab2
ASYLUM: Removed Shared singleton. Moved getAngle() to actor class (only place it's used so far). Added screen() and scene() getters to the engine for classes that need the references.
...
Moved a couple methods from the barrier class to worldstats (makes a bit more sense)
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@355 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:49 +02:00
Alex Bevilacqua
72c1b3e398
ASYLUM: Removed Sound reference from Shared
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@354 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:49 +02:00
Alex Bevilacqua
9f39977ddd
ASYLUM: Removed Video reference from Shared
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@353 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:49 +02:00
Alex Bevilacqua
9868f8c40a
ASYLUM: oops (fixed: *** glibc detected *** /home/alex/workspaces/cpp/scummvm/scummvm: double free or corruption (out): 0x093a2668 ***)
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@352 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:49 +02:00
Alex Bevilacqua
badb49ed6d
ASYLUM: Moved the gameflags from SharedResources to the AsylumEngine. Also removed the OSystem member from the SharedResources (slowly phasing out the last singleton)
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@351 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:48 +02:00
Alex Bevilacqua
b4385f8e9e
ASYLUM: Removed the ScriptManager. The singleton functionality is rolled into the actionlist class (where it belongs)
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@348 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:48 +02:00
Alex Bevilacqua
2cb80c6d8d
ASYLUM: Removed sceneres. Scene resource loading is now handled in the scene constructor, and the parsing of worldstats, polygons and actions is farmed out to the relevant classes.
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@347 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:48 +02:00
Alex Bevilacqua
feb852bd8b
ASYLUM: Reworked the action list processor to use a function map as opposed to a switch tree. This is a cleaner solution, thought i'm not sure if there's a tradeoff as far as efficiency is concerned.
...
Also implemented the angle processing algorithm (and the associated lookup tables)
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@328 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:45 +02:00
Alexandre Fontoura
619f8f86f6
ASYLUM: Preparing draw barriers...
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@314 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:43 +02:00
Alexandre Fontoura
ff72e9b326
ASYLUM: Refactoring and clean up!
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@313 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:43 +02:00
Alexandre Fontoura
688356d898
ASYLUM: Some work on processing Barriers. (Still WIP). This will initiate a change in Scene Update function to make it like original game. Some functions are already declared but nothing was done yet.
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@308 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:42 +02:00
Alexandre Fontoura
d9348e1388
ASYLUM: Reorganization Flags under Shared for the upcoming work on Update routines. Start working on UpdateBarrier(incomplete)
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@302 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:41 +02:00
Alex Bevilacqua
7cef62988d
ASYLUM: * Added a console command to show the currently active game flags
...
* Tweaked the logic for the JumpIfFlagSet opcode
* Added the two flag registrations that would be set if the intro ran to the main engine (so we can disable the intro for now)
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@301 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:41 +02:00
Alex Bevilacqua
f48ab391ac
ASYLUM: Fixed a bug from the original game that caused the application to be locked (and occasionally crash) due to the fact that the application was locked in a while loop during the playing of the first sfx item after the intro video.
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@298 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:41 +02:00
Alexandre Fontoura
9e18edaee3
ASYLUM: Some work on PlayAnimation command. It will only work with a proper BarrierUpdate according with each flag type.
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@296 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:41 +02:00
Alex Bevilacqua
f75fea2be6
ASYLUM: formatting
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@294 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:40 +02:00
Alex Bevilacqua
26d456e5be
ASYLUM: Game startup sequence added, and some minor cleanups.
...
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@293 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:40 +02:00
Alex Bevilacqua
54682e1f44
ASYLUM: Utilities class renamed to Shared. All common resources bound to shared singleton so they can be used by all engine components without needing a direct reference back to the engine variables (Screen, Sound, Video, Scene).
...
Better Pathfinding (you can actually walk around now)
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@292 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:40 +02:00
Alex Bevilacqua
1769959bf8
ASYLUM: * A little work on Encounters (not much)
...
* The beginnings of actor pathfinding
* Created a new singleton called Utils (utilities.cpp/h). Need feedback as to whether or not we should use this as the common container for objects we only ever need to instantiate once (like screen, sound, video .. etc).
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@288 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:39 +02:00