Commit Graph
117380 Commits
Author SHA1 Message Date
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