Commit Graph
3777 Commits
Author SHA1 Message Date
Paul Gilbert 1c3e7fb4e9 COMMON: Change Rect and Point to have int32 fields 2021-07-04 18:24:26 -07:00
Torbjörn Andersson a54269a594 COMMON: Fix documentation for grabOverlay().
It takes a surface now, not a buffer.
2021-06-30 18:59:34 +02:00
Eugene Sandulenko f6e33231bb COMMON: Add an optional parameter to tag2str() for printing non-printables
This time without variadic macros
2021-06-29 22:15:02 +02:00
Eugene Sandulenko 76c6bcef2b Revert "COMMON: Add an optional parameter to tag2str() for printing non-printables"
This reverts commit c11fedb47e.

It is a C++11 feature...
2021-06-29 22:12:25 +02:00
Eugene Sandulenko c11fedb47e COMMON: Add an optional parameter to tag2str() for printing non-printables 2021-06-29 20:42:40 +02:00
D G Turner e83f23f264 COMMON: Fix Development Tools Build
This is not the best solution as it removes the warning when this
code is used by devtools such as create_titanic, but getting this to
link would need inclusion of textconsole.o via shim and then still
breaks on g_system, so fastest solution to restore build.
2021-06-29 15:39:27 +01:00
Torbjörn Andersson a420aa9594 COMMON: Include textconsole.h in base-str.cpp
While it's not needed to build ScummVM, apparently some of the other
tools that use String do not include textconsole.h and complain that
warning() is undefined.
2021-06-29 15:12:20 +02:00
Torbjörn Andersson ab06f27d43 COMMON: Add warning when adding \0 to a String
Some engines do this, and it's not really known what should happen. We
need to decide on a behavior, and stick to that. This warning is to help
find where it happens.

From my own tests, it can happen in at least ADL, Avalanche, Chewy,
Director, Blazing Dragons, MacVenture, MADS, Prince, Stark, Startrek,
and Trecision. Only ADL is known to be broken by the current behavior.

The result of my test can be found at
http://www.update.uu.se/~d91tan/tmp/string.txt
2021-06-29 13:37:05 +02:00
Donovan Watteau 183e946ec8 ACHIEVEMENTS: Fix compilation when translations are disabled 2021-06-27 17:47:17 +02:00
Fiodar Stryzhniou 58b1c0cb5e COMMON: LUA: Fix warnings for header search failure.
WARNING: Can't find following headers in User or System Include Paths "luaconf.h" "lua.h" "lua.h"
2021-06-26 08:41:47 +03:00
Orgad Shaneh 780c4568c1 GUI: Fix compiler warning
../scummvm/gui/options.cpp: In member function 'virtual void GUI::OptionsDialog::apply()':
../scummvm/gui/options.cpp:647:82: warning: comparison of integer expressions of different signedness: 'uint' {aka 'unsigned int'} and 'int' [-Wsign-compare]
  647 |     else if (scalerPlugins[defaultScaler]->get<ScalerPluginObject>().getFactor() != g_system->getDefaultScaleFactor())
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2021-06-24 11:34:45 +03:00
Cameron Cawley da5d773924 BACKENDS: Add getDefaultScaler and getDefaultScaleFactor to OSystem 2021-06-23 21:29:53 +02:00
Cameron Cawley 0e6b9c2bb6 SDL: Begin refactoring the API for selecting scalers 2021-06-23 21:29:53 +02:00
lb_ii 6f8764b14c COMMON: Rewrite BASESTRING::contains() with algorithm from BASESTRING::find() 2021-06-21 02:29:05 +03:00
lb_ii b886c238fe COMMON: Fix BASESTRING::contains() 2021-06-21 02:29:05 +03:00
Cameron Cawley cba6f05d71 COMMON: Fix compilation with C++98 2021-06-19 17:22:26 +01:00
Martin Gerhardy adc2671449 COMMON: fixed endless loop in recordings with only one screenshot
the stream was read after its end and the err() state wasn't checked properly
2021-06-19 14:34:52 +02:00
Martin Gerhardy 5af1192580 BACKENDS: fixed segfault in EventRecorder with buffer out of bounds writes
==3124361== Invalid write of size 8
==3124361==    at 0x483F803: memmove (vg_replace_strmem.c:1270)
==3124361==    by 0x4DBF61: SurfaceSdlGraphicsManager::grabOverlay(void*, int) const (surfacesdl-graphics.cpp:1753)
==3124361==    by 0x482051: ModularGraphicsBackend::grabOverlay(void*, int) (modular-backend.cpp:215)
==3124361==    by 0x434EE1: GUI::ThemeEngine::clearAll() (ThemeEngine.cpp:376)
==3124361==    by 0x40128E: GUI::EventRecorder::preDrawOverlayGui() (EventRecorder.cpp:558)
==3124361==    by 0x481DB2: ModularGraphicsBackend::updateScreen() (modular-backend.cpp:173)
==3124361==    by 0x559967: Graphics::Screen::updateScreen() (screen.cpp:62)
==3124361==    by 0x55991C: Graphics::Screen::update() (screen.cpp:56)
==3124361==    by 0x38AFC7: TwinE::TwineScreen::update() (twine.cpp:126)
==3124361==    by 0x3B8759: TwinE::Screens::adjustPalette(unsigned char, unsigned char, unsigned char, unsigned int const*, int) (screens.cpp:150)
==3124361==    by 0x3B8A89: TwinE::Screens::fadeToPal(unsigned int const*) (screens.cpp:207)
==3124361==    by 0x3B8403: TwinE::Screens::loadImage(int, int, bool) (screens.cpp:80)
==3124361==  Address 0x31453050 is 16 bytes after a block of size 512,000 alloc'd
==3124361==    at 0x483AB65: calloc (vg_replace_malloc.c:760)
==3124361==    by 0x55B38C: Graphics::Surface::create(unsigned short, unsigned short, Graphics::PixelFormat const&) (surface.cpp:75)
==3124361==    by 0x551111: Graphics::ManagedSurface::create(unsigned short, unsigned short, Graphics::PixelFormat const&) (managed_surface.cpp:153)
==3124361==    by 0x4352D5: GUI::ThemeEngine::setGraphicsMode(GUI::ThemeEngine::GraphicsMode) (ThemeEngine.cpp:453)
==3124361==    by 0x434A52: GUI::ThemeEngine::init() (ThemeEngine.cpp:324)
==3124361==    by 0x43501B: GUI::ThemeEngine::refresh() (ThemeEngine.cpp:394)
==3124361==    by 0x405780: GUI::GuiManager::screenChange() (gui-manager.cpp:603)
==3124361==    by 0x405C6B: GUI::GuiManager::processEvent(Common::Event const&, GUI::Dialog*) (gui-manager.cpp:677)
==3124361==    by 0x404EBA: GUI::GuiManager::runLoop() (gui-manager.cpp:429)
==3124361==    by 0x3FD847: GUI::Dialog::runModal() (dialog.cpp:77)
==3124361==    by 0x36D747: launcherDialog() (main.cpp:106)
==3124361==    by 0x36FF92: scummvm_main (main.cpp:552)

It looks like the _videoMode.overlayHeight in SurfaceSdlGraphicsManager::grabOverlay and ThemeEngine::_backBuffer::h are somehow out of sync after
starting the game in a different resolution as the gui was started with. So the overlayHeight is updated - but the backbuffer (Surface) is not resized.

This is with event recorder being active - right after starting the game and switching the resolution.
2021-06-19 14:34:52 +02:00
lb_ii 9eef2c954d COMMON: Support Farsi at convertBiDiString(input, lang, dir) 2021-06-18 23:03:36 +03:00
lb_ii dce92c8e41 COMMON: Introduce BiDi paragraph direction types 2021-06-18 23:03:36 +03:00
lb_ii 9cd8bbafa9 COMMON: Remove unused UnicodeBiDiText constructor 2021-06-18 23:03:36 +03:00
Martin Gerhardy dfd6b6a9a4 COMMON: moved AchievementDescriptionList into Common namespace
getAchievementsInfo is also moved into the MetaEngine to reduce code duplication
2021-06-16 00:25:14 +03:00
sluicebox f2f28c4549 COMMON: Rename DebugManager methods, update comments 2021-06-14 12:42:38 -05:00
sluicebox efd4f9ff9d COMMON: Remove DebugManager::debugFlagsClear() 2021-06-14 12:42:38 -05:00
sluicebox fa247d13de COMMON: Rename DebugManager global/member names 2021-06-14 12:42:38 -05:00
lb_ii 0975ab0eaf COMMON: Rename "Persian (Iran)" to "Persian", since there are no other regions in the list 2021-06-13 00:25:53 +03:00
Le Philousophe 3b61377f6b ACHIEVEMENTS: Remove C++11 constructs 2021-06-12 17:06:31 +02:00
lb_ii 8aa6911cca ACHIEVEMENTS: Fix codacy issues 2021-06-10 01:56:23 +03:00
lb_ii a556ccf894 ACHIEVEMENTS: Use TransMan to decide which achievements language to use 2021-06-10 01:56:23 +03:00
lb_ii fa018b4b84 ACHIEVEMENTS: Check VERSION at achievements.dat 2021-06-10 01:56:23 +03:00
lb_ii dea2085eb2 ACHIEVEMENTS: Add API to get stats and achivements descriptions 2021-06-10 01:56:23 +03:00
lb_ii 629e5c2783 ACHIEVEMENTS: Load achivements descriptions from achievements.dat 2021-06-10 01:56:23 +03:00
trembyle 30dfb37623 COMMON: Add Pippin platform for Director engine
Differences with Mac platform include disc authentication and the
presence of Mac System 7 files on disc.
2021-06-09 21:49:28 +02:00
Martin Gerhardy 6772dabd9a COMMON: replaced NULL with nullptr in wrapCompressedReadStream 2021-06-07 01:36:30 +03:00
Martin Gerhardy b259e168a4 COMMON: fixed invalid read in zlib read stream
==1313424== Conditional jump or move depends on uninitialised value(s)
==1313424==    at 0x682225: Common::wrapCompressedReadStream(Common::SeekableReadStream*, unsigned int) (zlib.cpp:498)
==1313424==    by 0x46CDB9: DefaultSaveFileManager::openForLoading(Common::String const&) (default-saves.cpp:134)
==1313424==    by 0x68334D: Common::PlaybackFile::openRead(Common::String const&) (recorderfile.cpp:74)
==1313424==    by 0x444558: GUI::RecorderDialog::updateList() (recorderdialog.cpp:206)
==1313424==    by 0x4446BD: GUI::RecorderDialog::runModal(Common::String&) (recorderdialog.cpp:218)
==1313424==    by 0x3DF0E5: GUI::LauncherDialog::recordGame(int) (launcher.cpp:461)
==1313424==    by 0x3E0397: GUI::LauncherDialog::handleCommand(GUI::CommandSender*, unsigned int, unsigned int) (launcher.cpp:671)
==1313424==    by 0x400BF8: GUI::CommandSender::sendCommand(unsigned int, unsigned int) (object.h:55)
==1313424==    by 0x42DAB8: GUI::DropdownButtonWidget::handleMouseUp(int, int, int, int) (widget.cpp:497)
==1313424==    by 0x3D3A37: GUI::Dialog::handleMouseUp(int, int, int, int) (dialog.cpp:228)
==1313424==    by 0x3DB72C: GUI::GuiManager::processEvent(Common::Event const&, GUI::Dialog*) (gui-manager.cpp:668)
==1313424==    by 0x3DA9EA: GUI::GuiManager::runLoop() (gui-manager.cpp:429)

Happens when you start with the event recorder compiled into scummvm and open the dialog to start
a new record.
2021-06-07 01:36:30 +03:00
SupSuper fa5149e3ac COMMON: Fix old GCC compilation 2021-06-03 03:50:51 +01:00
SupSuper e3d082df65 MSVC: Add compiler printf validation 2021-06-02 08:35:31 +03:00
lb_ii b9f4e1a6bd ACHIEVEMENTS: Mark const methods as const 2021-06-02 01:21:37 +03:00
lb_ii 9c699358ea ACHIEVEMENTS: Make getStatRaw() const 2021-06-01 02:20:53 +03:00
lb_ii e11ef2f21e ACHIEVEMENTS: Add more traces 2021-06-01 02:20:53 +03:00
lb_ii 2cfbc9bd43 ACHIEVEMENTS: Add API for getting raw string value for stats 2021-06-01 02:20:53 +03:00
lb_ii ea18561650 ACHIEVEMENTS: Extend AchievementsInfo, set stats initial value 2021-06-01 02:20:53 +03:00
SupSuper 721b7376bb COMMON: Clean up ReadStream::readString 2021-05-31 23:04:06 +01:00
SupSuper 48b9f54bfc COMMON: Add support for fixed-size strings in ReadStream::readString 2021-05-31 06:40:05 +01:00
SupSuper 5daeab2e76 COMMON: Add floating-point functions to ReadStreamEndian 2021-05-31 06:40:03 +01:00
lb_ii 6513bab7af ACHIEVEMENTS: Add an API to store platform-specific special strings like ClientSecret 2021-05-30 20:15:55 +03:00
Filippos Karapetis 6c47cb0ec5 COMMON: Add serializers for float and double types 2021-05-29 21:23:20 +01:00
SupSuper 8bc861cb1a VIDEO: Added dirty rects to SmackerDecoder
This emulates the "slow" render mode of the Smacker lib,
which returns the blocks changed each frame instead of full frames.
Nightlong relies on this to correctly refresh its screen buffer.
2021-05-29 21:22:58 +01:00
lb_ii 65a8943624 ACHIEVEMENTS: add average rate statistics API 2021-05-29 22:40:05 +03:00
lb_ii 3fe4d8fc0f ACHIEVEMENTS: Remove old API methods 2021-05-28 21:07:08 +03:00