Commit graph

105 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
Torbjörn Andersson
14525bb412 JANITORIAL: Silence some GCC 7 warnings
We have lots and lots of -Wimplicit-fallthrough warnings, and I
don't know if it's worth fixing them or not. But if we want to,
this is how it can be done.
2017-08-06 11:48:14 +02:00
Eugene Sandulenko
159d993f8e AGI: More class initialization 2016-06-05 23:11:10 +02:00
Torbjörn Andersson
85e55d0c6e JANITORIAL: Remove unnecessary semicolons 2016-05-25 05:37:07 +02:00
Martin Kiewitz
018828ba90 AGI: Fix invalid read (/crash), when shaking screen
Was a regression caused by commit
e1c36a52b5
(upscaling + hercules font support)
Thanks to salty-horse for reporting this issue
2016-05-22 22:52:11 +02:00
Martin Kiewitz
7a169c90f6 AGI: Hercules rendering for game screen 2016-02-28 11:23:31 +01:00
Martin Kiewitz
e1c36a52b5 AGI: Add support for upscaling and Hercules hires font
- User option to force Hercules hires font for any rendering mode
- Also change mouse cursor hotspots from 1,1 to 0,0
- Fix inaccuracy in mouse controlled game menu
- Change render_Block(), drawBox(), drawDisplayRect() to use
  upper Y instead of lower Y. Original AGI uses lower Y, but
  upper Y makes upscaling way easier.
2016-02-27 21:44:21 +01:00
Martin Kiewitz
e24fbf7d6e AGI: Fix another comment about dynamic priority table
Available also in 2.425, then removed until 2.936, yada yada.
priorityToY-Glitch is definitely present in 2.425 as well.
2016-02-14 02:06:50 +01:00
Martin Kiewitz
b727e8da08 AGI: Fix new createDefaultPriorityTable() code 2016-02-13 21:16:32 +01:00
Martin Kiewitz
9f59b5ed7c AGI: Fix priority band handling
- Fix saving/loading priority bands table. Now saving the actual raw
  data
- Now also saving the flag, that defines if the priority table got
  modified by scripts
- For older saved games it will try to figure out the state of that
  flag
- Blocking set.pri.base for AGI below 2.936
- set.pri.base was actually introduced in 2.936 and not AGI3
- The set.pri.base bug was present in 2.936 as well
- Saved games created between the graphics rewrite and this
  commit may have priority issues for games, that used AGI2.936+
2016-02-13 20:42:30 +01:00
Martin Kiewitz
808d622ed5 AGI: Remove unused method 2016-02-10 20:14:02 +01:00
Martin Kiewitz
ccf328d725 AGI: Cleanup 2016-02-10 19:54:03 +01:00
Martin Kiewitz
fb90140bee AGI: Use special Apple IIgs SQ1 palette for SQ1
Was already documented inside palette.h, but wasn't used yet
2016-02-09 22:58:28 +01:00
Martin Kiewitz
bb9052bf6f AGI: Switch to CLUT3 for Macintosh as default 2016-02-06 00:03:17 +01:00
Martin Kiewitz
088c4d118c AGI: Adding Macintosh palettes for GR+SQ2
But not actually using the GR palette, because it looks horrible.
2016-02-05 23:53:26 +01:00
Martin Kiewitz
a7ffda3ba1 AGI: fix build powf() -> pow() 2016-02-05 17:03:38 +01:00
Martin Kiewitz
f09a15f276 AGI: Render mode Macintosh added
Palette + mouse cursor + box frame color only atm
Thanks to wjp for gamma correction
Not sure, if our current color adjustment is correct
Should be checked by using actual hardware
2016-02-05 16:41:02 +01:00
Martin Kiewitz
f954603f8d AGI: GfxMgr::drawBox now using kRenderMacintosh 2016-02-05 14:23:23 +01:00
Martin Kiewitz
9f7ff8351b AGI: Fix mouse code for transitions
Do not show mouse cursor after transition, when it's currently
switched to hidden. Do the same for hide/show.mouse opcodes.
2016-02-04 21:21:52 +01:00
Martin Kiewitz
c17cd72bae AGI: Add Amiga system UI buttons
Also adjust window frames for Amiga. Amiga also uses hi-res ones.
2016-02-04 13:38:18 +01:00
Martin Kiewitz
dbdf77660e AGI: Fix disabled look to work properly in menus 2016-02-04 00:55:53 +01:00
Martin Kiewitz
f6c9cffa26 AGI: Add different window frames for Macintosh
Also work on drawCharacter code for SystemUI usage
2016-02-03 22:47:58 +01:00
Martin Kiewitz
0f026c7766 AGI: Add different window frames for Apple IIgs
Only slightly different than on PC
2016-02-03 22:25:52 +01:00
Martin Kiewitz
920bea0fd9 AGI: add drawCharacterOnDisplay() 2016-02-02 23:27:13 +01:00
Johannes Schickel
6778175f6d AGI: Fix formatting.
This mostly enforces tabs for indentation and spaces for formatting. But also
fixes spaces on empty lines, some extra/missing spaces.

astyle + manual fixup
2016-02-02 20:15:18 +01:00
Martin Kiewitz
fd9c46831d AGI: remove timer hack, implement in game timer
in game timer is now updated, when scripts read in game timer
VM variables and during main loop. ScummVM total play time feature
is used for it. Game cycle syncing is done at the same time.
2016-01-31 20:53:36 +01:00
Martin Kiewitz
0f15ec2ce8 AGI: use Common::RenderMode instead of its own
AppleIIgs + Atari ST weren't available back then in the enum.
They now are, so I can use the Common one.
2016-01-29 15:43:45 +01:00
Martin Kiewitz
ccfd870c81 AGI: adjust mouse pos using render start Y
instead of having it hardcoded.
2016-01-29 14:03:47 +01:00
Martin Kiewitz
8a595e7771 AGI: graphics rewrite + cleanup
- graphics code fully rewritten
- Apple IIgs font support
- Amiga Topaz support
- Word parser rewritten
- menu code rewritten
- removed forced 2 second delay on all room changes
  replaced with heuristic to detect situations, where it's required
- lots of naming cleanup
- new console commands show_map, screenobj, vmvars and vmflags
- all sorts of hacks/workarounds removed
- added SCI wait mouse cursor
- added Apple IIgs mouse cursor
- added Atari ST mouse cursor
- added Amiga/Apple IIgs transition
- added Atari ST transition
- user can select another render mode and
  use Apple IIgs palette + transition for PC versions
- inventory screen rewritten
- SetSimple command now properly implemented
- PreAGI Mickey: Sierra logo now shown
- saved games: now saving controller key mapping
  also saving automatic save data (SetSimple command)
- fixed invalid memory access when saving games (31 bytes were saved
  using Common::String c_ptr()

Special Thanks to:
- fuzzie for helping out with the Apple IIgs font + valgrind
- eriktorbjorn for helping out with valgrind
- LordHoto for figuring out the code, that caused invalid memory
  access in the original code, when saving a game
- sev for help out with reversing the Amiga transition

currently missing:
- mouse support for menu
- mouse support for system dialogs
- predictive dialog support
2016-01-29 13:22:22 +01:00
Johannes Schickel
29ade784e4 AGI: Give a nicer error message on invalid render mode. 2016-01-21 23:41:30 +01:00
Max Horn
fad3b425b9 AGI: Disable unused palettes for compilation 2015-07-19 17:13:38 +02:00
Martin Kiewitz
a709596b48 AGI: implement original sierra font, fix bug #6405
custom font is still used for fanmade games
i cannot test preAGI games, because I don't own
those.
2015-05-19 12:39:39 +02:00
Filippos Karapetis
b3e45ccc68 AGI: Disable/remove unused code
This is code that isn't used currently. Thanks to fingolfin for
pointing out these parts of the code
2014-12-07 15:33:11 +02:00
Filippos Karapetis
6ec077e1b9 AGI: Set the correct palette to use for each Amiga game
The Amiga palettes were added in 16529e58e6, but were never used.
A new game-specific option has been added for the old Amiga palette
2014-12-07 14:40:53 +02:00
Johannes Schickel
6aac905dfd AGI: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Eugene Sandulenko
d0bb81f566 AGI: Fix warnings 2011-11-02 22:20:40 +00:00
Filippos Karapetis
ba7d71d553 AGI: doUpdate() already calls updateScreen() 2011-09-26 01:43:14 +03:00
Matthew Hoops
eea482fa43 ALL: behaviour -> behavior 2011-05-25 10:50:46 -04:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +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
Max Horn
84184aabc0 ALL: colour -> color 2011-04-14 14:12:35 +02:00
Johannes Schickel
bb2daae936 AGI: Remove leftover RGBA reference in comments. 2011-02-20 21:39:29 +01:00
Johannes Schickel
021ecca3b0 AGI: Adapt to setPalette RGBA->RGB change. 2011-02-14 17:08:31 +01:00
Max Horn
ab039812e7 COMMON: OSystem now has a PaletteManager
svn-id: r55806
2011-02-07 17:52:38 +00:00
Torbjörn Andersson
c4106653a8 Fixed bug #2924968, "AGI: Can't click "cancel" in Save/Restore Game Menu". This
regression was probably introduced with r45260, "AGI: cleanup
GfxMgr::testButton".

svn-id: r47030
2010-01-05 18:52:39 +00:00
Max Horn
3fe7363d40 AGI: cleanup GfxMgr::testButton
svn-id: r45260
2009-10-20 11:13:22 +00:00
Max Horn
50435d6bae AGI: Turn g_tickTimer & g_mouse into members of class AgiEngine resp. AgiBase
svn-id: r45259
2009-10-20 11:13:00 +00:00
Kari Salminen
3a3b71622a Remove ioFailed() usage from AGI engine.
svn-id: r42495
2009-07-14 23:03:40 +00:00
Eugene Sandulenko
1a321a2064 Cleanup
svn-id: r41254
2009-06-06 17:45:52 +00:00
Eugene Sandulenko
a5d762c029 Fix bug #1745954: "GR: Intro "jumpy" in parts (Amiga version)"
svn-id: r41244
2009-06-06 17:41:29 +00:00