Commit Graph
286 Commits
Author SHA1 Message Date
Colin Snover 432fd522d2 ENGINES: Remove default1x scaler flag
This flag is removed for a few reasons:

* Engines universally set this flag to true for widths > 320,
  which made it redundant everywhere;
* This flag functioned primarily as a "force 1x scaler" flag,
  since its behaviour was almost completely undocumented and users
  would need to figure out that they'd need an explicit non-default
  scaler set to get a scaler to operate at widths > 320;
* (Most importantly) engines should not be in the business of
  deciding how the backend may choose to render its virtual screen.
  The choice of rendering behaviour belongs to the user, and the
  backend, in that order.

A nearby future commit restores the default1x scaler behaviour in
the SDL backend code for the moment, but in the future it is my
hope that there will be a better configuration UI to allow users
to specify how they want scaling to work for high resolutions.
2017-10-07 12:30:29 -05:00
Johannes Schickel b79c2156d0 KYRA: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
Torbjörn Andersson 238aa2be2a KYRA: Let the VQA decoder draw directly to the backend
As an alternative to using the Screen class's functions, we can let
the VQA decoder draw directly to the backend. This won't work if the
game uses "hi-res mode", but I don't think that's ever the case for
Malcolm's Revenge. I believe the KyraEngine_MR::playVQA() function
ensures that the screen is properly updated after the movie has
finished.

This almost limits the VQA rewrite to vqa.cpp and vqa.h. Whether it's
better this way than changing the Screen functions to take a 'pitch'
parameter...? I don't know. But it's an alternative.
2014-01-18 03:18:40 +01:00
Torbjörn Andersson 19cb3499f5 KYRA: Rewrite the VQA decoder, using the VideoDecoder classes
There isn't really a lot of benefit to this, but I think it's nicer
if all our video decoders at least try to use the same infrastructure.
2014-01-18 03:18:40 +01:00
Johannes Schickel 160c5f4345 KYRA: Fix palette glitch when quitting while viewing the family album in Kyra3.
Thanks to eriktorbjorn for noticing.
2013-08-12 04:58:27 +02:00
Johannes Schickel b1dcd252b3 KYRA: Fix (a few) font checks for systems with unsigend char.
Thanks to wjp for reporting those. This only affects games with SJIS font use.
2013-07-01 15:10:06 +02:00
athrxx 0b38615a43 KYRA: (LOL/FM-TOWNS) - adjust sjis font settings, spacing, etc. 2013-01-09 20:29:19 +01:00
Johannes Schickel 8d5b4b75d4 KYRA: Make all hex constants use uppercase letters.
Done with:
git ls-files "*.cpp" *".h" | xargs sed -i -e 's/0x\([0-9a-f]*\)/0x\U\1/g'
2013-01-09 06:01:28 +01:00
athrxx 93eb6ec64a KYRA: (EOB) - implement simplified EGA dithering for EOB II 2012-11-18 00:03:23 +01:00
athrxx c8a73d30cf KYRA: (EOB) - cleaning up CGA/EGA graphics code
- fix some glitches in CGA rendering mode
- revert most of 66da4777d4 (instead of having lots of EGA dithering routines throughout the whole EOB code we're going to implement some post-processing code in updateScreen())
2012-11-18 00:03:22 +01:00
Johannes Schickel b2ba37a039 KYRA: Get rid of unused private class members.
Thanks to salty-horse for pointing at these.
2012-07-03 17:44:37 +02:00
Johannes Schickel 34c5751948 KYRA: Reduce amount of updateScreen calls.
This fixes some slowdowns in Kyra2 with the OpenGL backend for me. Most of the
updateScreen calls saved were introduced by us implementing the original
behavior of hiding the mouse before drawing onto the screen and showing it
again afterwards, since the mouse cursor is not drawn on the game screen in our
implementation (and unlike in the original) this is not necessary.
2012-06-13 04:13:16 +02:00
Johannes Schickel cc1ae7b190 KYRA: Fix crahes in Kyra 1-3 and LoL when EGA/CGA graphics mode is selected.
This is a regression from 86a817beb5.

Formerly Kyra always queried the render_mode and initializes its Screen
functionality accordingly, even when the game actually only supported VGA.
While in the "Edit game..." options only VGA was selectable, the global options
still allowed for example EGA to be selected and thus messing up the internal
state. I only check the render_mode setting for EoB 1 and 2 now, which are
the only games which support the setting inside Screen.
2012-04-24 01:11:53 +02:00
athrxx ecd1a9f943 KYRA: (EOB) - cleanup CGA/EGA code a bit 2012-02-24 18:09:37 +01:00
athrxx 66da4777d4 KYRA: (EOB) - implement EGA mode (hi res dithering) for EOB II
(also fix various thing connected to CGA/EGA modes)
2012-02-21 21:48:46 +01:00
athrxx df9b1bd2e4 KYRA: (EOB) - implement EGA graphics mode for EOB1 2012-02-21 21:48:43 +01:00
athrxx 151d314912 KYRA: (EOB) - complete CGA graphics mode implementation 2012-02-21 21:48:41 +01:00
athrxx 86a817beb5 KYRA: (EOB) - start work on CGA and EGA graphics modes 2012-02-21 21:48:39 +01:00
Tarek Soliman a4798602d7 JANITORIAL: Fix missing whitespace in pointer cast
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g'

This seems to have caught some params as well which is not undesirable IMO.
It also caught some strings containing this which is undesirable so I
excluded them manually. (engines/sci/engine/kernel_tables.h)
2012-02-15 10:07:10 -06:00
Tarek Soliman edc5249772 JANITORIAL: Fix template definition whitespace 2012-02-10 21:17:27 -06:00
athrxx d0be9c0a58 KYRA: (EOB) - fix some valgrind warnings
(overlapping source/dest)
2011-12-29 19:12:34 +01:00
Johannes Schickel 463aa52ac6 KYRA: Cleanup va_arg use in drawShape.
Thanks to wjp for noticing this.
2011-12-26 19:32:05 +01:00
Johannes Schickel 487e73bd21 KYRA: Merge Screen_Rpg with Screen (for now).
This should(!) fix ARM compilation issues due to virtual inheritance.
2011-12-26 19:32:05 +01:00
Johannes Schickel 6ca8d9ffe3 KYRA: Remove unused/obsolete function. 2011-12-26 17:56:50 +01:00
athrxx 53e1bf21ec KYRA: (EOB) - get rid of loadVGAPalette7bit()
(slightly change VGA palette loader to accomodate EOB1 palettes)
2011-12-26 16:18:17 +01:00
athrxx 692f9ee6d5 KYRA: whitespace cleanup 2011-12-26 16:18:17 +01:00
athrxx 4c6302943b KYRA: implement Screen::decodeFrame1()
(required for decoding some EGA bitmaps in EOB1)
2011-12-26 16:18:16 +01:00
athrxx 1cbd566930 KYRA: (EOB) - fix invalid string access
(also fix several cpp-check warnings)
2011-12-26 16:18:15 +01:00
athrxx 68ed8b9598 KYRA: (EOB) - fix some valgrind warnings 2011-12-26 16:18:15 +01:00
athrxx bac0caeb0f KYRA: (EOB) - lots of fixes towards EOB1 playability
also implement some new code (EOB1 portals, burning hands spell, etc.)
2011-12-26 16:18:13 +01:00
athrxx 540d081a6f KYRA: (EOB) - initial code base commit 2011-12-26 16:18:10 +01:00
Christoph Mallon 23a0f5318c JANITORIAL: Remove trailing empty lines. 2011-08-07 13:53:33 +02:00
Johannes Schickel 933ee5b156 GRAPHICS: Remove default values from FontSJIS::drawChar.
drawChar is overloaded in FontSJIS. One takes a "Surface &" as first
parameter another one "void *", they furthermore have the exact same
number of required parameters. The one "void *" just had a few extra
parameters with default values. This resulted in a bug in SCUMM, where
"VirtScreen *" (a subclass of Surface) was passed instead of "VirtScreen &"
and thus the method taking "void *" was incorrectly used.

To make it easier to spot such bugs in the future I just removed the default
values and thus disallow such calls.
2011-07-01 05:42:54 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Johannes Schickel 7d03da14cb KYRA: Clean up of header includes. 2011-04-28 15:39:57 +02:00
Ori Avtalion 9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Johannes Schickel f4dde64406 KYRA: Slight cleanup. 2011-04-07 00:11:36 +02:00
Johannes Schickel 16be240ab1 KYRA: Fix regression in Screen::setInterfacePalette.
This fixes an out of bounds write introduced with 9216c7e.
2011-02-20 21:37:39 +01:00
Johannes Schickel 9216c7e3de KYRA: Adapt to setPalette/grabPalette RGBA->RGB changes. 2011-02-14 17:08:32 +01:00
Max Horn ab039812e7 COMMON: OSystem now has a PaletteManager
svn-id: r55806
2011-02-07 17:52:38 +00:00
Max Horn 2180b2d6b5 COMMON: Split common/stream.h into several headers
svn-id: r54385
2010-11-19 17:03:07 +00:00
Florian Kagerer 1d87f434a2 SCUMM/FM-TOWNS JAPANESE: implement flipped text
(used in the MI1 circus scene after Guybrush gets shot out of the cannon)

svn-id: r53616
2010-10-19 16:58:27 +00:00
Florian Kagerer c841c3fb7c SCUMM/FM-TOWNS: more improvements to japanese font drawing
- made use of LordHotos graphics/sjis code to reduce code duplication
- japanese mode for version 3 and 5 works fine now with few exceptions (some line spacing glitches in MI1 intro etc.)

svn-id: r53554
2010-10-17 13:08:00 +00:00
Torbjörn Andersson 54b2a8c98d JANITORIAL: Cleanup (mostly whitespace)
svn-id: r53161
2010-10-12 04:19:58 +00:00
Torbjörn Andersson c91a07229a JANITORIAL: Removed most punctuation at end of warning() and error()
Our warning() and error() functions always add an exclamation mark
to the end of the message anyway.

svn-id: r52791
2010-09-18 10:55:16 +00:00
Johannes Schickel feff6fecdf KYRA: Cleanup.
svn-id: r52340
2010-08-24 13:41:24 +00:00
Johannes Schickel f48cb3cbb5 KYRA: Remove superfluous palette update on quit.
svn-id: r51169
2010-07-22 21:45:12 +00:00
Johannes Schickel 0fe2ba6a0d Some more enforcement of our formatting conventions in KYRA too.
svn-id: r49069
2010-05-17 23:29:44 +00:00
Max Horn b3e404109c Move initGraphics and initCommonGFX from to new header.
These functions are only used internally be Engine subclasses, and
by moving them to a separate header we can reduce indirect header
dependencies.

svn-id: r48934
2010-05-04 11:58:12 +00:00
Johannes Schickel b928da4418 Setup and destroy a dummy cursor and palette in the Engine class.
The idea behind this is exactly the same as behind r48620,
but it affects all engines, thus engine authors can now use
CursorMan.replaceCursor without having to worry about possible
memory leaks or the like.

svn-id: r48626
2010-04-11 18:30:42 +00:00