209 Commits

Author SHA1 Message Date
Julien Templier
df58690e9c
ASYLUM: Move puzzle class to a separate puzzles directory
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@580 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:23 +02:00
Julien Templier
2d04087fc2
ASYLUM: Add stubs for two more graphic queue methods
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@567 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:22 +02:00
Julien Templier
351c466746
ASYLUM: Rename direction enum values
Also rename Actor::getDirection to Actor::direction and cleanup code

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@566 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:21 +02:00
Julien Templier
b3b0977555
ASYLUM: Implement more Actor::updateStatus* functions
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@565 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:21 +02:00
Julien Templier
23c559939b
ASYLUM: Implement a couple of small Actor helper functions
- Remove uses of _resources (replaced by ActorData)
- Add missing fields to ActorData struct (stubbed for now)
- Implement Actor::loadData()
- Rename Actor::update_40DE20() to Actor::updateAndDraw()

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@561 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:21 +02:00
Julien Templier
3c3c0a5a4e
ASYLUM: Fix compiler warnings (patch by DrMcCoy)
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@556 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:20 +02:00
Julien Templier
e812374b9f
ASYLUM: Add stubs for loading ActorData as part of the scene (and cleanup scene loading a bit)
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@554 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:20 +02:00
Julien Templier
a778f4e7a4
ASYLUM: Scene loading & actor logic
- Move ActionArea loading to its own method
- Add actor rect shared data
- Implement one more Actor::updateStatus function
- Add several Actor helper functions
- Make x, y, x1, y1, x2, y2 private and store as Common::Point

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@550 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:19 +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
3e6f065a91
ASYLUM: Cleanup Pass 3
- Add proper init code for Object & BlowUpPuzzle classes
- Use Common::Rational in a few more places
- Add casts & const modifiers in proper places

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@547 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:18 +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
Julien Templier
5ff3345115
ASYLUM: Fix Scene::hitTest() case for the main actor
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@543 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:18 +02:00
Julien Templier
7c64f717ec
ASYLUM: Add GraphicFrame helper functions
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@542 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:18 +02:00
Julien Templier
692ade2186
ASYLUM: Switch ActorDirection to an enumeration
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@541 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:18 +02:00
Julien Templier
b475ba03a8
ASYLUM: Implement special logic for chapter 8
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@537 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:17 +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
a40c1e7484
ASYLUM: Implement changeMusic
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@530 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:16 +02:00
Julien Templier
d5e3c4536c
ASYLUM: Remove checks for sound cache
All our files are on disk, so there is not need to check for cached music resources

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@529 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:16 +02:00
Julien Templier
2335f8f578
ASYLUM: Implement WorldStats::setWheelObjects() and Scene::playIntroSpeech()
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@523 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:15 +02:00
Julien Templier
10f0ac46ea
ASYLUM: Use the current scene pack id when trying to load music resources
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@521 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
25fac6195d
ASYLUM: Rename some methods of Text class
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@517 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:14 +02:00
Julien Templier
32f3eed36c
ASYLUM: Refactor Speech class
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@516 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
ef1ebc55da
ASYLUM: Extract SceneTitle to its own file
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@511 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
a821f1a583
ASYLUM: Fix ClearScreen opcode
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@499 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:11 +02:00
Julien Templier
eae999fed4
ASYLUM: Implement special logic for chapter 2 (remaining part), 5 & 9
- Fix graphic resource leak in Actor & Object
- Replace WorldStats targetX, targetY and following variables into
a coordinate array.

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@498 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
96878fef6e
ASYLUM: Implement special logic for Chapter 7
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@492 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:10 +02:00
Julien Templier
dd6afe7523
ASYLUM: Use subsystems access macros in ActionList
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@491 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
7170f10f7b
ASYLUM: even more GCC warnings silenced
- shadow declarations of x/y in actor class
- suggest parentheses around arithmetic in operand of ‘|’

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@483 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:09 +02:00
Julien Templier
c62108194e
ASYLUM: Implement Scene spec function for Chapter 1
- Implement parts of Barrier::playSounds

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@480 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:08 +02:00
Julien Templier
cf7c7ed9f6
ASYLUM: Cleanup Barrier::update
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@479 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:08 +02:00
Julien Templier
d569216ea4
ASYLUM: Implement processUpdateList
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@478 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:08 +02:00
Julien Templier
29d47c54cc
ASYLUM: Update scene drawing implementation
- Finish implementation of Actor::draw() & Barrier::draw()
- Add Scene::buildUpdateList
- Misc cleanup to Barrier functions

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@477 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:08 +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
1e04f736ed
ASYLUM: Refactor Barrier class
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@475 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:08 +02:00
Julien Templier
4d08eeae4d
ASYLUM: Implement Actor::updateStatusEnabled() && Actor::updateFinish()
- Fix uses of the global tick value

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@473 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:07 +02:00
Julien Templier
0f13d7dc3f
ASYLUM: Refactor and cleanup Actor class
- Reorganize methods
- Make most variables private
- Finish implementation of updateFromDirection, updateStatus

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@472 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:07 +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
df74fd7a7c
ASYLUM: Implement Set/Clear/JumpIfActionType opcodes
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@469 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:06 +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