Alexander
80583b079b
ASYLUM: Pipes puzzle: add spiders
2021-05-17 15:37:04 +02:00
Alex Bevilacqua
7828f300fa
ASYLUM: Silence GCC Warning
...
Class 'Scene' has virtual method 'handleEvent' but non-virtual destructor
2021-05-17 15:37:04 +02:00
Julien Templier
9d54c6b5fc
ASYLUM: Rename several Actor methods
2021-05-17 15:37:03 +02:00
Julien Templier
b15b5cb473
ASYLUM: Identify transparency field for Actor and Object
...
- Rename related script opcode and function
2021-05-17 15:37:03 +02:00
Julien Templier
81c6898fa6
ASYLUM: Simplify handling of transparency tables
...
The original uses an optimization to be able to hold the transparency table address + offset into a single register by clearing the lower 16 bits of the address. Not doing so simplifies the code and saves an allocation of 65536 bytes.
2021-05-17 15:37:03 +02:00
Julien Templier
62d576eae5
ASYLUM: Add debug drawing of zoomed mask
...
- Update blit functions parameters
2021-05-17 15:37:03 +02:00
Julien Templier
9bc78f83db
ASYLUM: Update ScriptManager
...
- Rename several opcodes
- Add enumeration for script Opcodes
- Rename some called actor methods
2021-05-17 15:37:03 +02:00
Julien Templier
48f733baf0
ASYLUM: Remove unused ActorResources enumeration
2021-05-17 15:37:03 +02:00
Julien Templier
9fef446809
ASYLUM: Adjust flag array size
2021-05-17 15:37:02 +02:00
Julien Templier
0c36e2755a
ASYLUM: Fix checking of flags when processing action areas
...
This fixes the player being stuck in place at the beginning (the area has a flag and the player can't move until that flag is set by scripts)
Also add an optional highlight for the current polygon to aid debugging
2021-05-17 15:37:02 +02:00
Julien Templier
5b3efe8192
ASYLUM: Cleanup polygon class
2021-05-17 15:37:02 +02:00
Julien Templier
def09b8c20
ASYLUM: Rename some movement-related Actor methods
2021-05-17 15:37:02 +02:00
Julien Templier
3727e9a820
ASYLUM: Add option to draw the scene rects
2021-05-17 15:37:02 +02:00
Julien Templier
082789c8f2
ASYLUM: Rename Polygons helper function
2021-05-17 15:37:02 +02:00
Julien Templier
a5e03e18a1
ASYLUM: Implement Screen::blitCrossfade()
...
- Update parameters to some blit functions for consistency
- Revert changes to Screen::clip (our clipRect is different from the original)
2021-05-17 15:37:02 +02:00
Julien Templier
9805f4cebd
ASYLUM: Add some bound checking to ScriptManager::process()
2021-05-17 15:37:01 +02:00
Julien Templier
9be6905934
ASYLUM: Mark demo version as "Demo"
2021-05-17 15:37:01 +02:00
Julien Templier
018ca6a4b2
ASYLUM: Add console command to modify actor coordinates
2021-05-17 15:37:01 +02:00
Julien Templier
e44da6e34a
ASYLUM: Update Screen::blitTranstable()
2021-05-17 15:37:01 +02:00
Julien Templier
faaa1c1426
ASYLUM: Correct Screen::clip() and check for valid source rectangle in Screen::draw()
...
This fixes the crash in the credits screen (although there is still some memory and graphic corruption with transparency table blits)
2021-05-17 15:37:01 +02:00
Julien Templier
c727c909a6
ASYLUM: Implement some missing parts of Screen::blitMasked()
2021-05-17 15:37:01 +02:00
Julien Templier
f011d86920
ASYLUM: Properly check for object flags when drawing
...
This fixes the actor appearing on top of the bed at the beginning
2021-05-17 15:37:01 +02:00
Julien Templier
492eb8a30c
ASYLUM: Cleanup Scene::processUpdateList() and Scene::pointIntersectsRect()
2021-05-17 15:37:00 +02:00
Julien Templier
c9d39ce3c2
ASYLUM: Add drawing rects and mask visualization
2021-05-17 15:37:00 +02:00
Julien Templier
2a4cf12823
ASYLUM: Fix showing of debug regions
2021-05-17 15:37:00 +02:00
Julien Templier
010fd87b59
ASYLUM: Implement Actor::processAction* helper functions
2021-05-17 15:37:00 +02:00
Julien Templier
345d0cf909
ASYLUM: Merge getDistanceForFrame() and getDistance()
2021-05-17 15:37:00 +02:00
Julien Templier
78681cf803
ASYLUM: Correct usage and implementation of Actor::getDistance()
2021-05-17 15:37:00 +02:00
Julien Templier
6b20fdb4e4
ASYLUM: Rename arrays holding the distances for each actor frame index
2021-05-17 15:36:59 +02:00
Julien Templier
cae5eaa927
ASYLUM: Implement Actor::checkPath()
2021-05-17 15:36:59 +02:00
Julien Templier
8596b8f213
ASYLUM: Update use of shared data in Actor::updateStatus12_Chapter2()
2021-05-17 15:36:59 +02:00
Julien Templier
d2eabdf880
ASYLUM: Replace Actor::clearFields() by sane version
2021-05-17 15:36:59 +02:00
Julien Templier
4e3a6d51dc
ASYLUM: Update ActorData structure (it is holding a set of points and directions for pathfinding)
2021-05-17 15:36:59 +02:00
Julien Templier
986176b445
ASYLUM: Finish implementation of Actor::update()
2021-05-17 15:36:59 +02:00
Julien Templier
519f4f86f2
ASYLUM: Implement Actor::updateAndDraw()
2021-05-17 15:36:59 +02:00
Julien Templier
18e85a5efa
ASYLUM: Implement part of Actor::updateStatus12_Chapter2()
...
- Update ActorData structure
2021-05-17 15:36:58 +02:00
Julien Templier
5b5cf905fa
ASYLUM: Implement Screen::blitTranstable() and Screen::blitTranstableMirrored()
2021-05-17 15:36:58 +02:00
Julien Templier
5987db75f0
ASYLUM: Implement Screen::blitMasked() and some helper methods
...
- Fix mask rectangles calculation and check
2021-05-17 15:36:58 +02:00
Julien Templier
4325184d2a
ASYLUM: Implement the rest of Screen::blit() and add stubs for all the helper blit functions
2021-05-17 15:36:58 +02:00
Julien Templier
c920613363
ASYLUM: Remove colorkey parameter to blt* functions and use _useColorKey member instead
2021-05-17 15:36:58 +02:00
Julien Templier
ee89b3837a
ASYLUM: Implement Screen::addGraphicToQueueCrossfade() and add stub for Screen::blitCrossfade()
2021-05-17 15:36:58 +02:00
Julien Templier
b9eb9f91ec
ASYLUM: Screen::blitFast() does not need flags
2021-05-17 15:36:58 +02:00
Julien Templier
3ddd300f10
ASYLUM: Update Screen::draw() with mask source and destination rectangles calculation and add stub for Screen::blitMasked()
2021-05-17 15:36:57 +02:00
Julien Templier
e212e20a6b
ASYLUM: Fix ResourceEntry::getData()
2021-05-17 15:36:57 +02:00
Julien Templier
958b7f1041
ASYLUM: Fix GCC warning on undefined operation in Actor::playSounds()
...
Reported by: eriktorbjorn
2021-05-17 15:36:57 +02:00
Julien Templier
4cb90f4023
ASYLUM: Fix Scene::rectIntersect() and cleanup part of Scene::processUpdateList()
2021-05-17 15:36:57 +02:00
Julien Templier
b3a4c7fc9f
ASYLUM: Fix mirrored blit
2021-05-17 15:36:57 +02:00
Alex Bevilacqua
a64de0c34b
ASYLUM: silence warnings about shadowed variable declarations
2021-05-17 15:36:57 +02:00
Julien Templier
1db67c5c88
ASYLUM: Remove SVN keywords
2021-05-17 15:36:57 +02:00
Julien Templier
9979c06421
ASYLUM: Implement pipes puzzle
...
Original patch by midstream
2021-05-17 15:36:56 +02:00