Commit Graph
137148 Commits
Author SHA1 Message Date
Julien Templier ec55db7494 ASYLUM: Fix some invalid array accesses, a missing array delete and a potential NULL pointer use
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@770 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:52 +02:00
Filippos Karapetis ebb7bc6673 ASYLUM: Sync with trunk
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@769 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:51 +02:00
Julien Templier 98e29bbe0e ASYLUM: Implement mouseLeftDown() function for KeyHidesTo and Youth board puzzles
- Add new shared function PuzzleBoard::checkSlots()

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@768 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:51 +02:00
Julien Templier 6a5257f0ce ASYLUM: Implement PuzzleBoardSalvation::mouseLeftDown()
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@767 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:51 +02:00
Julien Templier 62f092c54d ASYLUM: Add missing check in PuzzleBoard::update()
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@766 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:51 +02:00
Julien Templier aefb29447f ASYLUM: Implement PuzzleBoard::init()
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@765 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:51 +02:00
Julien Templier 5632921ca5 ASYLUM: Implement PuzzleBoard::updateCursor()
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@764 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:51 +02:00
Julien Templier dce22936ad ASYLUM: Implement shared Board puzzle methods
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@763 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:51 +02:00
Julien Templier 365ceb1b4f ASYLUM: Add base PuzzleBoard class for Board puzzles
- Move reset() and activate() methods to base class
- Add stopSound() helper function

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@762 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:50 +02:00
Julien Templier 148b5608b7 ASYLUM: Add character maps for Board puzzles
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@761 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:50 +02:00
Julien Templier f5994d02a8 ASYLUM: Add stubs for Board puzzles
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@760 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:50 +02:00
Julien Templier 4cfedb290d ASYLUM: Implement some of the Hive puzzles methods
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@759 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:50 +02:00
Julien Templier 2b8aea3835 ASYLUM: Add stubs for Hive puzzles
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@758 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:50 +02:00
Julien Templier 925c146a61 ASYLUM: Implement PuzzlePipes::updateCursor()
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@757 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:50 +02:00
Julien Templier 35db68fb7c ASYLUM: Implement Actor::updatePlayerChapter9()
Also update shared data in Actor::enableActorsChapter2()

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@756 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:50 +02:00
Julien Templier 22f77dd05c ASYLUM: Overhaul script processing
This fixes the following issues:
- screen freeze when examining objects
- infinite loop when playing some animations
- infinite loop when starting dialogs

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@755 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:49 +02:00
Julien Templier 6186775f36 ASYLUM: Add stubs for Pipes puzzle
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@754 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:49 +02:00
Julien Templier 424c02a6af ASYLUM: Fix warning in TimeMachine puzzle
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@753 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:49 +02:00
Julien Templier 265d18ee14 ASYLUM: Implement proper Scene::hitTestPixel()
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@752 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:49 +02:00
Julien Templier fc53180f5f ASYLUM: Implement Lock puzzle
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@751 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:49 +02:00
Julien Templier fa0705770b ASYLUM: Implement parts of Writings puzzle
The original draws to a surface on initialization and then uses that surface when updating the screen.
It also uses masked drawing which we do not implement yet.

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@750 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:49 +02:00
Julien Templier 26eae3bd44 ASYLUM: Fix a typo in Text::draw and add some comments
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@749 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:48 +02:00
Julien Templier cb86e1b524 ASYLUM: Finish implementation of Wheel puzzle
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@748 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:48 +02:00
Julien Templier 8f0b6e04ba ASYLUM: Make sure we don't use negative modulo with unsigned int values in PuzzleTimeMachine
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@747 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:48 +02:00
Julien Templier 76e623a681 ASYLUM: Rename rain frame index
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@746 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:48 +02:00
Julien Templier 55a1bca99c ASYLUM: Fix regression with use of evt.mouse in puzzles updateCursor functions
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@745 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:48 +02:00
Julien Templier 5acbe01dd8 ASYLUM: Rename special Scene chapter 5 function to drawRain
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@744 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:48 +02:00
Alex Bevilacqua beb8ef9da9 ASYLUM: fix linux compile
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@743 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:48 +02:00
Filippos Karapetis a9ca52abef ASYLUM: Fixed compilation after the latest trunk changes
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@742 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:47 +02:00
Julien Templier 09fd8412f4 ASYLUM: Implement Wheel puzzle helper functions
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@741 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:47 +02:00
Julien Templier 25df731c64 ASYLUM: Implement Wheel puzzle initialization
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@740 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:47 +02:00
Julien Templier 8b02d1b6c6 ASYLUM: Revert back to previous Puzzle::key() implementation
- Add new keyExit() method for other puzzles

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@739 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:47 +02:00
Julien Templier b52bed63d8 ASYLUM: Refactor puzzle event handling
- Change default key method to switch back to the scene on right click
- Pass current event to all event handling methods
- Implement mouseLeftDown, mouseLeftUp, mouseRightDown and/or mouseRighUp instead of a single mouse method
- Remove most uses of Cursor::position()

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@738 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:47 +02:00
Julien Templier 9284925835 ASYLUM: Use local _point for coordinates in PuzzleTimeMachine
Those coordinates are updated from the existing points values

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@737 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:47 +02:00
Julien Templier 81a1d389b1 ASYLUM: Cleanup Screen::clip() and fix wrong sign in Screen::blt()
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@736 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:47 +02:00
Julien Templier ecdfe4532b ASYLUM: Implement frame indexes updates in PuzzleTimeMachine
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@735 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:46 +02:00
Julien Templier 2dbec0c5e1 ASYLUM: Add reset() method to PuzzleMorgueDoor
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@734 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:46 +02:00
Julien Templier 05fc5ab399 ASYLUM: Updated chapter 11 name (kResourcePackMorgueAndCemetery)
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@733 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:46 +02:00
Julien Templier aed293bdea ASYLUM: Implement beginning of TimeMachine puzzle
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@732 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:46 +02:00
Julien Templier 254366a3ee ASYLUM: Implement parts of puzzle 11
This does not seem to reference valid graphic resources.
It might be unfinished logic code that was left there and
never used in the game

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@731 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:46 +02:00
Julien Templier d7650f0409 ASYLUM: Do not try to load kResourceNone resources in GraphicResource::load()
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@730 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:46 +02:00
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 7e9d838945 ASYLUM: Implement rest of PuzzleMorgueDoor::updateState()
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@728 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:45 +02:00
Julien Templier 2af4710142 ASYLUM: Implement parts of PuzzleMorgueDoor::updateState()
- Add enum for puzzle objects

git-svn-id: http://asylumengine.googlecode.com/svn/trunk@727 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:45 +02:00
Julien Templier c6b1ad3dae ASYLUM: Implement PuzzleMorgueDoor::updateCursor()
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@726 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:45 +02:00
Julien Templier 1ec34182d6 ASYLUM: Implement first part of Morgue Door puzzle
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@725 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:45 +02:00
Julien Templier f5796088c0 ASYLUM: Implement rest of Fisherman puzzle
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@724 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:45 +02:00
Julien Templier ec57d4bca7 ASYLUM: Implement parts of Fisherman puzzle
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@723 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:45 +02:00
Julien Templier 2ec06b5da7 ASYLUM: Use per-entry current line in script manager
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@722 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:45 +02:00
Julien Templier d145f93a7c ASYLUM: Use switchScene() when switching scenes through the debugger
git-svn-id: http://asylumengine.googlecode.com/svn/trunk@721 0bfb4aae-4ea4-11de-8d8d-752d95cf3e3c
2021-05-17 15:36:45 +02:00