Commit Graph
211 Commits
Author SHA1 Message Date
Paul Gilbert 2e726fa214 AGS: Removed deprecated globals 2022-05-30 15:23:20 -07:00
Paul Gilbert 97c12e8435 AGS: Merged Character and ObjectCache structs, and hid in draw.cpp
From upstream 753d47d975b10666702c47a22cbc4e68847787f1
2022-05-05 22:41:09 -07:00
Paul Gilbert 6482e38803 AGS: CharacterExtras and MoveLists are stored in std::vector
From upstream 0c81cfefb788c0dcfdb2cad914f939f28110edca
2022-05-05 22:41:08 -07:00
Paul Gilbert d3f9f299dd * Engine: moved unsupported scStartRecording, get rid of a h/cpp pair
From upstream 8e8e498776fec5392cbc6d6b4d36c83cce7cf4d0
2022-04-23 22:19:18 -07:00
Paul Gilbert 17bac5b1ef AGS: Removed redundant function domouse(int what)
From upstream 3dfda41382bdd10e3b2b78f797fade8b5dcc1efa
2022-04-23 18:15:02 -07:00
Paul Gilbert 62574f8eda AGS: Use outlined width/height when arranging text on GUI
From upstream 8fd4b1b55dc08949e70d295afb4be91d1a26da5c
2022-04-22 20:54:00 -07:00
Paul Gilbert 5060848b48 AGS: Support requesting particular audio driver
From upstream 076e675a3d031cd0a9d162f914e6d94c93a10d71
2022-04-21 21:20:58 -07:00
D G Turner ad7450d5ce AGS: Fix GCC Compiler Warnings 2022-04-19 11:42:26 +01:00
Paul Gilbert b2d8bcad75 AGS: Refactor RunTextScript* functions for the purpose of clarity
From upstream 17af6ca2cb1fba310900f5189da788fa52ef7dab
2022-04-18 19:10:39 -07:00
Paul Gilbert 2e24e08d5b AGS: Brought few "run script" functions to similar arg list
From upstream 78163a07400353013dd939ca86f5513f3196394a
2022-04-18 19:10:39 -07:00
Paul Gilbert 27ad60df72 AGS: Unify video flags in VideoPlayer, convert in script functions
From upstream e5c8293a8c8350c38a8df338f56e3806fdc4f119
Plus changes to local video player implementation to reflect changes
2022-04-12 22:27:56 -07:00
Paul Gilbert 84a54f5e8e AGS: Remade OPT_FONTLOADLOGIC into individual font's flags
From upstream 54c5303c5e0ed98609397d9e5df4114f128fb4a2
2022-03-27 13:37:14 -07:00
Paul Gilbert ca4c91031b AGS: Configurable font init mode, for backward compatibility
From upstream 9a11a1d4334aef99b8b516a13d5a5bcc0284fde7
2022-03-23 20:09:46 -07:00
Paul Gilbert d42b639142 AGS: Always precalculate and save font linespacing (as outlined)
From upstream 8ba3a77e38a6dc8ace6d6393042730d73292a1a7
2022-03-22 22:30:14 -07:00
Paul Gilbert df29806aec AGS: Replaced the remaining wgettextheight() with get_font_height()
From upstream d9c4a0306a6718cb03ccd6e84c1e63d093d9a64a
2022-03-22 22:30:13 -07:00
Paul Gilbert dc3ce9f70a AGS: Renamed few font functions for consistent naming style
From upstream 9c355da410b734edc79212009a5e1be0b502c3b0
2022-03-22 22:30:13 -07:00
Paul Gilbert 16b89bd8ea AGS: tidy SOUNDCLIP's fields (volume, panning) and methods
From upstream 66514167d3463f8191b10ec13898df136e8e33ee
2022-03-19 21:25:08 -07:00
Paul Gilbert a4bf82bd35 AGS: Removed "volume" param out of load clip factory functions
From upstream 903c4d7d69bf0400447b099cbd0b2818f3c1f7c7
2022-03-19 21:25:08 -07:00
Paul Gilbert c25b08448d AGS: Removed AudioChannelsLock as it's no longer needed
From upstream 43f9320f66bb881920e6f812d1c642e793b134b6
2022-03-18 21:29:56 -07:00
Paul Gilbert a3dda03cf1 AGS: Store Views in std::vector
From upstream 095db88ae0f1acceb298f793a2e1b81dbe06fcff
2022-03-18 21:29:56 -07:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh a386075217 AGS: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Paul Gilbert e1cb9afb4e AGS: AGSParallax plugin fix, workaround for Stargate Adventures 2021-09-21 21:09:51 -07:00
Paul Gilbert b7c9f5259f AGS: Hack to fix rain display in IA KQ3
The ags_snowrain plugin seems to have logic in it to transparently
translate 320x200 based coordinates when the game is run in
640x400 mode. Since the current plugin code is a recreation rather
than a reimplementation, I wasn't sure where to do the fixes,
so for now simply put a hack in the set baseline script, which was
all that was needed for KQ3
2021-09-11 14:39:18 -07:00
Paul Gilbert aae048203f AGS: Remove commented out debug code from plugins 2021-09-11 14:39:18 -07:00
Paul Gilbert 83f4b713bc AGS: Fix turning off flashlight in Maniac Mansion Deluxe 2021-09-09 21:47:59 -07:00
Paul Gilbert 5f3004b94e AGS: Fix loading standalone AGS Maniac Mansion Deluxe saves
It seems the older version of AGSFlashlight didn't persist
it's fields in the savegame like the latest version does.
I decided against trying to explicitly figure out which
version of AGSFlashlight different games used, and instead
simply have fallback handling if the savegame doesn't
have the data.

The only minor disadvantage is that this means that whilst
savegames are portable from standalone AGS to ScummVM for
the game, it won't in the other direction. But I don't
think that's too major an issue, since it's only for the
few games that do use the old AGSFlashlight
2021-09-09 20:14:27 -07:00
antoniou79 d474ee3003 AGS: Change a few char variables to int8
In order to specify that they should be treated as signed

Some ports may treat an (unspecified) "char" as unsigned by default. Android does this for its ARM architectures and while we did fix this by enforcing -fsigned-char to its compiler, the issue may come up for other ports. Also it should be better to clarify in the engine when a variable is not actually storing string characters.

I've spotted and changed the most "safe" cases I could find for this. As far as I can tell, out of these, only the Outline field and fontoutline array could potentially be assigned valid negative values which would cause bugs for ports treating chars as unsigned.
2021-09-09 19:27:49 -07:00
Matthew Duggan 129b517cca AGS: Fix build when DEBUG is defined 2021-09-04 22:03:20 +09:00
Thierry Crozat 7f886d51e1 AGS: Add warning about playing overlapping sounds in ags_wave
This is currently not implemented, and is not trivial to implement
with the current way we implemented the plugin.

Playing overlapping sound is for example used when moving the cursor
over the buttons in the options or quit dialogs in Strangeland.
2021-08-21 19:17:44 +01:00
Thierry Crozat 0b307e46a4 AGS: Fix music not looping in Strangeland 2021-08-21 19:17:44 +01:00
Thierry Crozat d9cf6e626a AGS: Fix music and sfx being stopped when changing room in Strangeland
The original is unloading sounds that had already stopped, but is not
stopping the ones still playing.
2021-08-21 19:17:44 +01:00
Thierry Crozat 4e70c7e687 AGS: Fix playing the same sound again and again in ags_wave
In Strangeland, it seems to start the same sound again and again
(multiple times per second, the sound itself is 45s long). In
ScummVM we were stopping and restarting the sound each time. It
seams the original was only starting the sound if it was not
already playing.

This fixes noise (as we played again and again the first few ms
of the same sound) when starting Strangeland. And this means we
can now hear the music!
2021-08-21 19:17:44 +01:00
Paul Gilbert db783e1734 AGS: Mark GUI for redraw when a plugin font is set
From upstream dfb82a2e36ea16e21a557afd9dffdbd7035ca527
2021-08-20 21:49:38 -07:00
Paul Gilbert 93396cdcc1 AGS: Fix formatting of delete[] calls 2021-08-17 21:31:56 -07:00
Paul Gilbert 3370b6917c AGS: Revert AGSFlashlight to more closely match original
The plugin previously had a bunch of hacks since the
AGS engine was rendering the screen at 32-bits rather than
16-bits the original was designed for. But with more recent
engine changes, the screen is 16-bits again. So I was able
to revert the hacks and return to the original code
2021-08-07 19:11:52 -07:00
Thierry Crozat 5fa3232bcf AGS: Fix undefined behavior in initialization of AGSSnowRain
Due to the declaration order of the member variables, the _screenWidth
and _screenHeight where used before being initialized to initialize
the _snow and _rain variables. This could then lead to a division by
zero.

This fixes bug #12771: AGS King's Quest 3 VGA from IA crashes on startup
2021-08-05 12:55:04 +01:00
mausimus 601696ab1e AGS: recognize alternative name of shell plugin
There is a circulating version of AGS Shell plugin as agsshell.dll
used by some games (Rosewater). Internally it's the same
ags_shell.dll so simply an alias will allow these games to run.
2021-07-28 19:20:29 -07:00
Paul Gilbert 5ccb07acf9 AGS: implemented bool Room.Exists(int room)
From upstream d676baaea0860ef1737019452d8e97b4aee12526
2021-07-27 22:03:36 -07:00
Paul Gilbert 13f605e18d AGS: Implement music playback in AGSWaves, SFX simplification
I was havbing a bunch of troubles trying to get the SFX loading
to work like the original, particularly when to free audio streams.
In the end, I decided to load sound effects from scratch each time
they're needed.
2021-07-24 17:32:11 -07:00
Paul Gilbert e2320808ed AGS: Added AGSTouch plugin implementation 2021-07-23 22:07:27 -07:00
Paul Gilbert 862b7cd831 AGS: Remove plugin structures for unknown plugins during startup 2021-07-23 22:07:26 -07:00
Paul Gilbert c2dc7c9e86 AGS: Fixes to playing sound effects in AGSWaves 2021-07-23 20:08:21 -07:00
Paul Gilbert 2702b13768 AGS: Built-in script methods were being added to wrong import list 2021-07-23 20:08:21 -07:00
Paul Gilbert 8f69f9c055 AGS: Fix missing File::Open script stub 2021-07-21 18:19:37 -07:00
Le Philousophe f9ece38aec AGS: Fix build when Vorbis is not available 2021-07-21 12:15:18 +02:00
Le Philousophe b477db94b3 AGS: Fix int/int32 build failures 2021-07-21 12:14:52 +02:00
D G Turner 0e8d0bc76f AGS: Fix GCC Warnings in AGS Waves Plugin Code 2021-07-21 05:36:40 +01:00
Paul Gilbert f9bc18c58a AGS: Fix loading sound effects in AGSWaves 2021-07-20 21:17:41 -07:00
Paul Gilbert 3c616e3edc AGS: Fix bitmap access in AGSWaves 2021-07-20 21:17:41 -07:00