Commit Graph

1338 Commits

Author SHA1 Message Date
alxpnv
e3af0aa2d1 ASYLUM: add missing va_end
CID 1453214
2021-09-20 14:10:48 +03:00
alxpnv
f1012335f7 ASYLUM: fix uninitialized variable
CID 1453219
2021-09-20 12:22:37 +03:00
alxpnv
eed6789af2 ASYLUM: fix buffer overrun
CID 1453215
2021-09-20 12:15:35 +03:00
alxpnv
377ffb92be ASYLUM: add support for loading during startup 2021-09-20 12:03:40 +03:00
alxpnv
0fbe223f8a ASYLUM: disable saving in demo versions 2021-09-20 11:14:54 +03:00
trembyle
42875d9104 ASYLUM: Add detection for alternate demo
Found on PC Gamer covermount March 1998.

It uses AVI files (Cinepak 24-bit) instead of SMK.
2021-09-19 14:52:46 +02:00
alxpnv
98adf0273d ASYLUM: reset game flags when using 'scene' debug command 2021-09-17 13:21:43 +03:00
alxpnv
b49f9e755b ASYLUM: append metadata to the saves made via the game menu 2021-09-17 13:21:43 +03:00
alxpnv
3c4159cfe1 ASYLUM: make .movies file target-specific 2021-09-17 13:21:43 +03:00
alxpnv
1dc17b7475 ASYLUM: use const references where possible 2021-09-17 13:21:43 +03:00
alxpnv
0d1e2da0b0 ASYLUM: implement saving/loading via the GMM 2021-09-16 15:47:54 +03:00
alxpnv
5708f630f7 ASYLUM: patch Chapter 2 Lockout bug 2021-09-14 12:43:56 +03:00
alxpnv
c39383ffde ASYLUM: rework OGV playback 2021-09-14 12:43:55 +03:00
alxpnv
a92db2a843 ASYLUM: add more entries to the respack patch list 2021-09-10 12:37:40 +03:00
alxpnv
b77b24487d ASYLUM: update namespace comment 2021-09-09 11:06:11 +03:00
alxpnv
d4fe0dd11d ASYLUM: add initial support for alternate demo 2021-09-08 15:46:37 +03:00
alxpnv
7914b4acb1 ASYLUM: (MorgueDoor puzzle) minor fixes 2021-09-08 15:46:37 +03:00
alxpnv
23dd283457 ASYLUM: (BoardKeyHidesTo puzzle) fix French data 2021-09-06 14:55:42 +03:00
alxpnv
164353c5ff ASYLUM: add support for the Russian version 2021-09-06 14:55:42 +03:00
alxpnv
4746126d8e ASYLUM: (Board puzzles) add support for French text 2021-09-02 15:26:53 +03:00
alxpnv
ab285832b6 ASYLUM: (Board puzzles) add support for German text 2021-09-02 13:30:20 +03:00
alxpnv
3e4a77553c ASYLUM: add detection entry for French GOG version 2021-09-02 12:53:32 +03:00
alxpnv
3ea3147c46 ASYLUM: (Writings puzzle) add support for German and French texts 2021-09-01 15:11:38 +03:00
alxpnv
4a306cf391 ASYLUM: fix encounter keywords in non-English Steam versions 2021-09-01 13:06:45 +03:00
alxpnv
58cdbeab45 ASYLUM: add detection entry for French Steam version 2021-09-01 13:04:10 +03:00
alxpnv
8c3b3f5efa ASYLUM: fix paths for Steam versions 2021-09-01 10:23:56 +03:00
Lothar Serra Mari
a2b40f5327 ASYLUM: Add detection entry for German Steam version 2021-09-01 10:23:56 +03:00
alxpnv
2fd785c12c ASYLUM: add support for Sanitarium Demo 2021-08-30 15:50:15 +03:00
alxpnv
33cbf3b082 ASYLUM: fix calculation of object's sound source coordinates 2021-08-18 14:26:34 +03:00
alxpnv
477cae38bc ASYLUM: add support for Steam achievements 2021-08-16 14:49:53 +03:00
alxpnv
3046bcb38c ASYLUM: (VCR puzzle) fix transition to video 2021-08-13 14:56:50 +03:00
alxpnv
68b204b9ef ASYLUM: add preliminary support for the Steam version 2021-08-13 14:56:49 +03:00
Max Horn
2f1f8f502e DEVTOOLS: move credits from devtools/credits.pl to engines
This employs a "lazy" approach: the "format" for the credits stays
exactly as it was, i.e., perl code. Of course one may want to change
this to another format (e.g. YAML, JSON, XML; or also shell script or
AWK, like `configure.engine` uses). But I deliberately kept it simple,
to get a minimal change that is easy to verify. Any further changes to
e.g. the format can be layered atop this.
2021-08-05 00:01:46 +02:00
alxpnv
5cdeb8d66d ASYLUM: don't detect the Steam version as the GOG version
Requested in #12661
2021-08-02 14:00:35 +03:00
alxpnv
eb1e2f9c56 ASYLUM: add workaround for combined resource packs 2021-08-02 14:00:35 +03:00
alxpnv
0f812498a1 ASYLUM: avoid C++11 features 2021-08-02 14:00:35 +03:00
alxpnv
261dee4424 ASYLUM: make sure the cursor is visible at puzzle start 2021-06-21 14:58:59 +03:00
alxpnv
f67fc64460 ASYLUM: switch 'Keyboard Config' menu screen to using Keymapper 2021-06-18 14:09:46 +03:00
alxpnv
da95daf727 ASYLUM: remove Screen::takeScreenshot() 2021-06-17 15:40:10 +03:00
alxpnv
670d8d85f4 ASYLUM: use Common::sort() for sorting graphics queue items 2021-06-17 15:40:10 +03:00
alxpnv
cbb0d9ca95 ASYLUM: (Lock puzzle) set the initial state to all '-' 2021-06-16 15:41:14 +03:00
alxpnv
4f7fbe66bc ASYLUM: fix cursor visibility
This makes sure that the cursor is not shown on scene title screen
and when animation is playing
2021-06-16 15:41:14 +03:00
alxpnv
a4af39dcf9 ASYLUM: convert some warning() calls to debugC() 2021-06-16 15:41:14 +03:00
alxpnv
685e11d346 ASYLUM: fix setting global flags in PlaySpeechScene2 opcode 2021-06-15 16:00:11 +03:00
alxpnv
def627e510 ASYLUM: fix GCC warnings 2021-06-15 16:00:11 +03:00
alxpnv
de5c31fb5e ASYLUM: fix graphics glitches caused by a bug in Screen::blitMasked() 2021-06-15 15:05:21 +03:00
sluicebox
8e1d90f8e4 ALL: Remove clearAllDebugChannels() from Engine dtors 2021-06-14 12:42:38 -05:00
ysj1173886760
7af3a3f84c ENGINES: introduce ADDectedGameExtraInfo to ADGameDetector, add extra info as parameter for fallback detect. 2021-06-13 14:15:45 +02:00
alxpnv
71f3d82c81 ASYLUM: rename Scene::pointIntersectsRect() to pointBelowLine() 2021-06-11 13:29:31 +03:00
alxpnv
75c1b820ea ASYLUM: rename two ActorStatus values and related opcodes
kActorStatusPickupItem -> kActorStatusStoppedInteracting
kActorStatus20 -> kActorStatusStoppedHitting

Interact -> WalkToActor
UpdateActor -> Interact
2021-06-11 13:29:30 +03:00
alxpnv
de625e4f53 ASYLUM: rename more Actor methods
Also removed Actor::compare()
2021-06-10 13:34:27 +03:00
alxpnv
7df4708049 ASYLUM: rename Actor::updateStatus1*() methods 2021-06-10 13:34:27 +03:00
alxpnv
abc56853eb ASYLUM: fix a race in UpdateActor opcode
This unblocks the odd state in Chapter 3 found by digitall
2021-06-07 15:29:29 +03:00
Eugene Sandulenko
057cd171ed
ASYLUM: Fix warning 2021-06-07 00:28:23 +02:00
Eugene Sandulenko
d7f82b83aa
ASYLUM: Added override keywords 2021-06-07 00:28:23 +02:00
D G Turner
a3f1211f42 ASYLUM: Fix Various GCC Compiler Warnings 2021-06-05 01:51:24 +01:00
alxpnv
8ba3df6821 ASYLUM: refactor inventory 2021-06-04 12:53:52 +03:00
alxpnv
0dbc280f1c ASYLUM: add vertex check to Polygon::contains()
This resolves an issue with auto-walking to a towel in Chapter 1
2021-06-02 14:45:04 +03:00
alxpnv
5232b84877 ASYLUM: disable used keywords in dialogs 2021-06-01 11:38:38 +03:00
Alex Bevilacqua
4e3c5e2530 ASYLUM: rename detection_table.h
All engines use the plural "detection_tables.h"
2021-05-31 18:24:52 +03:00
alxpnv
d053c8b494 ASYLUM: fix save slot index out of range 2021-05-31 15:02:59 +03:00
alxpnv
0d3bd282f0 ASYLUM: fix caret position 2021-05-28 13:39:37 +03:00
alxpnv
1a01580955 ASYLUM: allow using all printable characters in savegame names 2021-05-28 13:39:37 +03:00
alxpnv
c8fb754319 ASYLUM: fix screen not going completely black when counting in H&S game 2021-05-26 14:23:50 +03:00
alxpnv
1746134db6 ASYLUM: prevent Armed Max from going to idle state 2021-05-24 15:58:18 +03:00
alxpnv
bdbb14823d ASYLUM: fix the scary music not playing in chapter 2 2021-05-24 15:58:17 +03:00
alxpnv
24aec76a30 ASYLUM: fix the GMM not showing up on the game menu screen 2021-05-24 15:58:17 +03:00
Le Philousophe
ec7c5bec6d ASYLUM: Use smaller include
Whole asylum.h is not needed and contains C++11 constructs. Detection
fails to build with older compilers in this case.
2021-05-22 13:44:19 +02:00
ysj1173886760
6dfe6ad51a ASYLUM: move debugchannels to metaEngineDetection 2021-05-22 01:34:57 +02:00
alxpnv
1068a9ee03 ASYLUM: make 'kill_script' use correct queue slot 2021-05-21 15:08:32 +03:00
alxpnv
9473dfef9f ASYLUM: fix updating global flags 2021-05-21 15:08:32 +03:00
alxpnv
007ab8c9ff ASYLUM: implement fade to grayscale 2021-05-20 15:36:11 +03:00
alxpnv
c33604a765 ASYLUM: make actors face each other when interacting 2021-05-20 15:36:11 +03:00
D G Turner
d84d002212 ASYLUM: Fix for Correct MetaEngine Feature API
This was previously showing the Launcher Load button as active, but
with no saves present as most of the API was not implemented.

This corrects that so that the various Advanced Engine / MetaEngine
APIs for loading / saving from launcher and command line may be
implemented in future.
2021-05-19 22:46:45 +01:00
alxpnv
e69a814f88 ASYLUM: allow using mapped keys while editing savegame name 2021-05-19 13:44:20 +03:00
Cameron Cawley
57dc4a08d1 ASYLUM: Fix compilation on AmigaOS 4 2021-05-17 19:56:18 +01:00
Eugene Sandulenko
22e949035b
ASYLUM: Comment out unused variables 2021-05-17 16:19:35 +02:00
Eugene Sandulenko
df1109a22f
ASYLUM: Added POTFILES 2021-05-17 16:07:37 +02:00
alxpnv
ba2ccee701
ASYLUM: fix Quick Load/Quick Save 2021-05-17 15:37:58 +02:00
alxpnv
b7130bab21
ASYLUM: fix savegame overwriting
Bug reported by digitall
2021-05-17 15:37:58 +02:00
alxpnv
a2d2495588
ASYLUM: add Keymapper support 2021-05-17 15:37:58 +02:00
alxpnv
c81c046450
ASYLUM: clean up destructors 2021-05-17 15:37:58 +02:00
alxpnv
ca1d780730
ASYLUM: clean up metaengine.cpp 2021-05-17 15:37:57 +02:00
alxpnv
cf550f5ce2
ASYLUM: convert AsylumEngine::_gameFlags to uint32 2021-05-17 15:37:57 +02:00
alxpnv
179627fab4
ASYLUM: add some missing updateScreen() calls
Suggested by sev-
2021-05-17 15:37:57 +02:00
alxpnv
0d71da53a6
ASYLUM: remove a useless ifdef
Spotted by sev-
2021-05-17 15:37:57 +02:00
alxpnv
aac8cee532
ASYLUM: optimizations to the board puzzles
Suggested by sev-
2021-05-17 15:37:57 +02:00
alxpnv
cf0049c23b
ASYLUM: (Pipes puzzle) use the engine-level random source 2021-05-17 15:37:56 +02:00
alxpnv
77a35a5c75
ASYLUM: get rid of global constructors 2021-05-17 15:37:56 +02:00
alxpnv
ec5b6935f8
ASYLUM: change return type of PuzzleBoard::updateScreen() to void 2021-05-17 15:37:56 +02:00
alxpnv
139d15347f
ASYLUM: remove an unused puzzle (Puzzle 11) 2021-05-17 15:37:56 +02:00
alxpnv
bf7755aa29
ASYLUM: fix integer overflow in Screen::graphicsSelectionSort() 2021-05-17 15:37:56 +02:00
alxpnv
408a85436a
ASYLUM: (Hive Machine puzzle) get rid of the polygons previously used for hit testing
Requested by sev-
2021-05-17 15:37:55 +02:00
alxpnv
c524688f77
ASYLUM: simplify inventory voice system
Suggested by sev-
2021-05-17 15:37:55 +02:00
alxpnv
c78293e4ce
ASYLUM: simplify computation of inventory ring points 2021-05-17 15:37:55 +02:00
D G Turner
b4a0418525
ASYLUM: Fix Uninitialized Variable Accesses Identified by Valgrind 2021-05-17 15:37:55 +02:00
alxpnv
93f08cc43d
ASYLUM: fixes to the detection tables
Suggested by sev-
2021-05-17 15:37:55 +02:00
alxpnv
ac43968c47
ASYLUM: formatting 2021-05-17 15:37:55 +02:00
alxpnv
48e164b2d7
ASYLUM: clean up includes 2021-05-17 15:37:54 +02:00
alxpnv
c6ab0e8503
ASYLUM: remove getDebugger() declaration 2021-05-17 15:37:54 +02:00
alxpnv
06ebca09c3
ASYLUM: fix signed/unsigned comparison warnings 2021-05-17 15:37:54 +02:00
alxpnv
7c53e7560d
ASYLUM: add const qualifier to silence a warning 2021-05-17 15:37:54 +02:00
alxpnv
b905953e5f
ASYLUM: make FrameSoundItem::frameIndex unsigned 2021-05-17 15:37:53 +02:00
alxpnv
ce59904eff
ASYLUM: rework monster status update 2021-05-17 15:37:53 +02:00
alxpnv
15bb6fd728
ASYLUM: replace 'Fallback to next case' comments with 'fallthrough' 2021-05-17 15:37:53 +02:00
alxpnv
263e20c004
ASYLUM: replace sprintf() with snprintf() 2021-05-17 15:37:53 +02:00
alxpnv
7c82553e8a
ASYLUM: mark AsylumEngine::getSinCosValues() as const 2021-05-17 15:37:53 +02:00
alxpnv
c8e9fe33a7
ASYLUM: mark the engine as highres 2021-05-17 15:37:53 +02:00
alxpnv
c2b1207e23
ASYLUM: always play intro 2021-05-17 15:37:52 +02:00
alxpnv
72a3f0c365
ASYLUM: replace spaces in indentation with tabs 2021-05-17 15:37:52 +02:00
alxpnv
410e8dc2a2
ASYLUM: remove .gitignore 2021-05-17 15:37:52 +02:00
alxpnv
5b32634e45
ASYLUM: remove superfluous returns 2021-05-17 15:37:52 +02:00
alxpnv
5eed18bbc1
ASYLUM: fix showing of player's facial expressions 2021-05-17 15:37:52 +02:00
alxpnv
d15af0f4b0
ASYLUM: fix segfault in PuzzleHiveControl::hitTest1() 2021-05-17 15:37:51 +02:00
alxpnv
1379ce64ad
ASYLUM: fix multiple inventory voices playing at the same time 2021-05-17 15:37:51 +02:00
alxpnv
94088dc756
ASYLUM: fix music won't play after moving to the next chapter 2021-05-17 15:37:51 +02:00
alxpnv
f1c0563024
ASYLUM: prevent actors from getting stuck when standing close to each other 2021-05-17 15:37:51 +02:00
alxpnv
ff5a232343
ASYLUM: fix out of mixer slots in chapter 8 2021-05-17 15:37:51 +02:00
alxpnv
a6140c4944
ASYLUM: minor fixes (mostly formatting) 2021-05-17 15:37:51 +02:00
alxpnv
380950a300
ASYLUM: show all actors at scene enter 2021-05-17 15:37:50 +02:00
alxpnv
9d14df2602
ASYLUM: fix dstPitch 2021-05-17 15:37:50 +02:00
alxpnv
7ac489e077
ASYLUM: fix music playback in chapter 4 2021-05-17 15:37:50 +02:00
alxpnv
efcae39518
ASYLUM: fixes to Actor::canInteract() 2021-05-17 15:37:50 +02:00
alxpnv
8d1c397c48
ASYLUM: fix object 30's frameIndex ouf of range 2021-05-17 15:37:50 +02:00
alxpnv
e11f8232cb
ASYLUM: fix a few bugs in reflection positioning 2021-05-17 15:37:50 +02:00
alxpnv
e6f2916eea
ASYLUM: access chapter 2 data using a single array 2021-05-17 15:37:49 +02:00
alxpnv
b96cc26bd0
ASYLUM: add Special::chance() 2021-05-17 15:37:49 +02:00
alxpnv
7654475f3d
ASYLUM: finish implementation of Object::playSounds() 2021-05-17 15:37:49 +02:00
alxpnv
b2a9192793
ASYLUM: make AsylumEngine::getRandom() generate a number from [0; max) to match the original 2021-05-17 15:37:49 +02:00
alxpnv
530b4d51f6
ASYLUM: fix music changing 2021-05-17 15:37:49 +02:00
alxpnv
2d5d820c93
ASYLUM: add a missing else 2021-05-17 15:37:48 +02:00
alxpnv
b754af14d6
ASYLUM: fix tentacle's status update 2021-05-17 15:37:48 +02:00
alxpnv
8eb94fc95e
ASYLUM: restart chapter 11 properly 2021-05-17 15:37:48 +02:00
alxpnv
c5547820fe
ASYLUM: fixes to chapter 11's hard-coded logic 2021-05-17 15:37:48 +02:00
alxpnv
74f1691ca1
ASYLUM: fix inventory ring drawing 2021-05-17 15:37:48 +02:00
alxpnv
bc3ebf36db
ASYLUM: implement Special::chapter11() 2021-05-17 15:37:48 +02:00
alxpnv
56df11e356
ASYLUM: implement Special::chapter13() 2021-05-17 15:37:47 +02:00
alxpnv
c3a3d999b5
ASYLUM: implement Special::chapter12() 2021-05-17 15:37:47 +02:00
alxpnv
f94c11658a
ASYLUM: fix background drawing in some of the puzzles 2021-05-17 15:37:47 +02:00
alxpnv
f23be0119e
ASYLUM: fix saving 2021-05-17 15:37:47 +02:00
alxpnv
840f84bc84
ASYLUM: fix right bound of cursor.x 2021-05-17 15:37:47 +02:00
alxpnv
fe40af0f44
ASYLUM: check if object exists
On level 13, the game tries to set transparency of an object which doesn't exist (id 4562)
2021-05-17 15:37:46 +02:00
alxpnv
cc41cfb459
ASYLUM: original loops through the objects in reverse 2021-05-17 15:37:46 +02:00
alxpnv
982bd7c359
ASYLUM: set a game flag when Hive Machine puzzle is solved 2021-05-17 15:37:46 +02:00
alxpnv
ffb8df69d7
ASYLUM: implement wheels update 2021-05-17 15:37:46 +02:00
alxpnv
4a1d644b84
ASYLUM: fixes to Special::checkFlags() 2021-05-17 15:37:46 +02:00
alxpnv
a3c7fc6e10
ASYLUM: skip non-existent objects 2021-05-17 15:37:45 +02:00
alxpnv
5649a0e257
ASYLUM: fix 'zoom' out of bounds 2021-05-17 15:37:45 +02:00
alxpnv
413960ac6b
ASYLUM: strict weak ordering is '<' 2021-05-17 15:37:45 +02:00
alxpnv
ee37960ac4
ASYLUM: make actors interactable 2021-05-17 15:37:45 +02:00