Commit Graph
103 Commits
Author SHA1 Message Date
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 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 1d1ae9eea1 ASYLUM: Add debug command to start a puzzle
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@703 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:42 +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 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 7a8de08efb ASYLUM: Add palette and draw debug commands
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@670 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:37 +02:00
Julien Templier 361b117283 ASYLUM: Implement Encounter::update()
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@652 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:34 +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 98a98a8486 ASYLUM: Fix GCC compilation and warnings
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@593 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:26 +02:00
Julien Templier 7c179d025e ASYLUM: Enhance actions debug command slightly
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@582 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:24 +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 307af404cf ASYLUM: Implement "script" debug command
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@569 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:22 +02:00
Julien Templier e96fe9c8d3 ASYLUM: Add console command to run an encounter
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@568 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 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
Alex Bevilacqua d849243840 ASYLUM: added a 'world' console command to show a worldstats summary
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@525 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:15 +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
Alex Bevilacqua fdb53b6b13 ASYLUM: expand Actor::toString to show a more detailed view when examining a particular actor
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@508 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:13 +02:00
Julien Templier 51b9a95e51 ASYLUM: Get rid of numActors/Objects/Actions
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@506 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:12 +02:00
Julien Templier 9b7e72932d ASYLUM: Fix object debug command
- Remove debug output in Object::toString()
- Added pack id & resource index to full output

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@503 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:12 +02:00
Alex Bevilacqua e10ad80b88 ASYLUM: added 'object' console command and an onscreen param for 'objects'
Inspecting a particular object is now done via the 'object' console command. Also, listing all objects is done by using 'objects *'.

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@497 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:11 +02:00
Alex Bevilacqua d8457b0bc2 ASYLUM: enhance "objects" console command
this command now takes a format option of "idx" or "id" so you can look up an object entry by its internal id as well as it's physical location within the objects array.

Also enhanced Objects::toString with an optional formatting parameter that displays a short dump or a long dump.

sample usage:

objects idx 51   // summary view of object at array index 51
objects id 1258  // detail view of object with id of 1258
objects          // show all objects (summary list)

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@496 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:11 +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 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
Julien Templier 0eb39da884 ASYLUM: Enhance Debug console
- Add actors & objects debug commands for showing Actor and Object info (only name & id for now)
- Add ls command to list the engine files
- Add option to show only set/unset flags
- Add option to show action per index
- Add better help output
- Check validity of video index in video command

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@485 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:09 +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 3935d274fa ASYLUM: Cleanup ActionList and implement more opcodes
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@467 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 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
Alexandre Fontoura 5b36ee78b5 ASYLUM: * Fixed scene/barriers drawing positions. We can now see all Barriers active in scene.
* Add mouse scrolling debug be activated in Console (still have a bug in barriers positions while scrolling)
(CAREFUL: while scrolling in debug, the engine could crash due to incomplete code)

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@413 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:58 +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
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 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 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 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
Alex Bevilacqua d6d90b7e3a ASYLUM: Add command "dump_action". This currently just prints out a list of ALL available actionAreas within the current scene resource. The logic to print out a single actionArea will come once the getActionAreaById (or index) is implemented.
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@307 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:42 +02:00
Alex Bevilacqua 08d786e46e ASYLUM: * Add a reference to the scene resource's actor[0] to the mainActor instance (this is an interim hack until we refactor the actor class to include ALL actor data)
* Add a toggle_flag command to the console
* Clear flag 183 when the current action has been processessed

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@303 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 44e189d2d9 ASYLUM: * printf -> debugC
* added bounds check to scene switch console command
* fixed crash when switching scenes

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@244 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:32 +02:00
Alex Bevilacqua 16ea284ef6 ASYLUM: * re-enabled script debugging
* added kDebugScripts debugC calls back to processActionList()
* cleanup

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@242 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:32 +02:00
Alex Bevilacqua 3cfa2cbb4c ASYLUM: Reworked the interpreter into a singleton ScriptManager. This will allow scripts to be run without needing access to an engine variable, and will allow us to remove some of the scene processing hacks.
Scripts are now being run on click events. This is pretty buggy, but it's to be expected at this point :)

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@240 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:32 +02:00
Alex Bevilacqua f43b5843c8 ASYLUM: Since the game polygons list doesn't cover ALL interactive regions (hotspots), I added a method to draw active barriers as well. Though these have a polyIdx property, it's always zero, so I'm going based off the bounding box.
Also added a variable to the console to manage this, and renamed debugpolygons to "showpolygons"

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@239 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:35:32 +02:00