aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics/ports.cpp
AgeCommit message (Collapse)Author
2014-11-09SCI: some more work on 480x300 mac supportMartin Kiewitz
2014-05-27ALL: Rename Debugger::DebugPrintf to Debugger::debugPrintf.Johannes Schickel
2014-02-18SCI: Make GPL headers consistent in themselves.Johannes Schickel
2014-01-15ALL: Remove optimization unstable code on checking for null after new.D G Turner
These issues were identified by the STACK tool. By default, the C++ new operator will throw an exception on allocation failure, rather than returning a null pointer. The result is that testing the returned pointer for null is redundant and _may_ be removed by the compiler. This is thus optimization unstable and may result in incorrect behaviour at runtime. However, we do not use exceptions as they are not supported by all compilers and may be disabled. To make this stable without removing the null check, you could qualify the new operator call with std::nothrow to indicate that this should return a null, rather than throwing an exception. However, using (std::nothrow) was not desirable due to the Symbian toolchain lacking a <new> header. A global solution to this was also not easy by redefining "new" as "new (std::nothrow)" due to custom constructors in NDS toolchain and various common classes. Also, this would then need explicit checks for OOM adding to all new usages as per C malloc which is untidy. For now to remove this optimisation unstable code is best as it is likely to not be present anyway, and OOM will cause a system library exception instead, even without exceptions enabled in the application code.
2013-06-21SCI: Avoid using g_sci for usesOldGfxFunctions() in the GfxPorts classFilippos Karapetis
2013-04-15SCI: Fix hunk entry leakWillem Jan Palenstijn
2012-10-08SCI: Add a workaround for the large text boxes in Freddy Pharkas CDFilippos Karapetis
Fixes bug #3575276 - "SCI: Freddy Pharkas: Text sometimes drawn/erased incorrectly"
2011-06-20ALL: Remove trailing whitespacesMax Horn
This tries to make our code a bit more compliant with our code formatting conventions. For future use, this is the command I used: git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-03-20SCI: Moved the engine hunk pointer processing code inside the GfxPorts classmd5
This allows us make _windowList private again
2011-03-20SCI: Added a new console command "window_list" or "wl"md5
This can be used to see a list of the currently open windows. Also, added a sanity check for the "al" command and performed some minor cleanup
2011-03-13SCI: Fixed the flashing icon bar in the Mac version of Castle of Dr. Brainmd5
Thanks to waltervn for his work and help on this
2011-03-02SCI: Always add new windows to back of list up to SCI_1_EGA_ONLY.Willem Jan Palenstijn
Confirmed this behaviour in KQ1sci, KQ4, Iceman and QfG2. Hoyle3-demo remains an exception.
2011-03-02SCI: Call Graph(RedrawBox) from EndUpdate for SCI0/01Willem Jan Palenstijn
Confirmed this behaviour in KQ1sci, KQ4, Iceman, and that it isn't present in QfG2 and KQ5CD. This fixes the graphics glitch in KQ4 when falling down the stairs in room 61 (#3039775).
2011-03-02SCI: Fix variable nameWillem Jan Palenstijn
2011-03-02SCI: Change workaround for hoyle3-demo's rendering orderWillem Jan Palenstijn
This behaviour much more closely matches SSCI.
2011-02-28SCI: Skip Ports when iterating over Windows in GCWillem Jan Palenstijn
2011-02-27SCI: Fix negative window origin alignment.Willem Jan Palenstijn
SSCI does a shr 1; shl 1 here in SetOrigin. This fixes a crash in the ending scene of SQ3 (#3194199).
2011-02-18SCI: Fix window height for some Mac SCI1/1.1 gamesMatthew Hoops
Some games have removed the menu bar from the screen. This also fixes King's Quest V's icon bar.
2011-01-09SCI: Changed the bShow parameter of GfxText16:Box() into a boolFilippos Karapetis
svn-id: r55179
2010-12-20SCI: Fixed bug #3041153 - "SCI Fanmade Games: Message window glitch"Filippos Karapetis
The left window dimension adjustment (rev #48772) has been moved from GfxPorts::setOrigin() into GfxPorts::addWindow(), as the updated dimension is later used when filling the contents of the window (apparent in some fan made games) svn-id: r54976
2010-11-01SCI: saving/restoring script created windows nowMartin Kiewitz
fixes "GfxPorts::kernelSetActive" error based on code by [md5] svn-id: r54012
2010-09-18JANITORIAL: Removed most punctuation at end of warning() and error()Torbjörn Andersson
Our warning() and error() functions always add an exclamation mark to the end of the message anyway. svn-id: r52791
2010-08-23SCI: multiple changes for mother goose vgaMartin Kiewitz
which is sci1 and sci1.1 fixes bug #3051145 - separating this mother goose from ega and sci2.1 - adding workaround when restoring saved games in these games, games try to calculate restored savedgameid instead of looking it up, we patch this code out and also set the global to the current savedgameid - adding workaround for scripts checking savedgameid to be below 13 (our savedgameids begin at 100 now) - changing official range for savedgameids from 1000->1999 to 100->199, otherwise mother goose would have required much larger patches and this range should be fine even if we replace savedgame dialogs later svn-id: r52301
2010-08-20Reverting r52224, as it was incorrect - fanmade games use the same ↵Filippos Karapetis
interpreter as normal ones, so this doesn't make sense. Added a FIXME with a description about the graphics glitch in fanmade games svn-id: r52225
2010-08-20SCI: Fixed bug #3041153 - "SCI Fanmade Games: Message window glitch"Filippos Karapetis
svn-id: r52224
2010-08-14SCI: now reusing window ids on kNewWindowMartin Kiewitz
sq4cd recreates the inventory window several times, but also reuses old window ids, causing kernelSetActive errors. fixes bug #3044757 svn-id: r52079
2010-08-14SCI: adding workaround for camelot during endingMartin Kiewitz
fixes bug #3044734 also fixing heap corruption during the ending svn-id: r52077
2010-08-13SCI: extending life of port for sq4 gum wrapperMartin Kiewitz
fixes bug #3044507 svn-id: r52068
2010-08-08SCI: kDisposeWindow changesMartin Kiewitz
kDisposeWindow doesn't free windows immediately anymore. We free them after some calls to kSetPort, so the handle will be valid for a short time. Fixes sq4cd and hoyle 4 (commented out patching of script for hoyle 4) svn-id: r51932
2010-08-06SCI: adding script patchingMartin Kiewitz
including a patch for hoyle 4 and commenting out the workaround code inside kDisposeWindow svn-id: r51795
2010-08-05SCI: actually enable hoyle 4 workaroundMartin Kiewitz
and adding additional comment svn-id: r51754
2010-08-05SCI: changing hoyle 4 workaroundMartin Kiewitz
fixing hoyle 4 detection entry (not a demo) adding direct selector fix, maybe we should replace this later with a script patch adding detailed comment about the issue svn-id: r51753
2010-08-04SCI: Fixed an off-by-one error in GfxPorts::getPortById() and moved the ↵Filippos Karapetis
error checking code outside the function. Also fixed script bug #3039305 - "HOYLE4: segfault" svn-id: r51733
2010-08-03SCI: reset ports when restoringMartin Kiewitz
fixes qfg3/fairy tales restoring (bug #3035626) also fixes ScummVM menu restoring while a window is shown (e.g. sq5) svn-id: r51712
2010-08-02SCI: adding offTop = 0 for mother goose sci1.1Martin Kiewitz
fixes graphics in that game svn-id: r51643
2010-07-27SCI: sci1.1 priority bands now changing in kDrawPicMartin Kiewitz
fixes qfg3: right guard on top of the palace having wrong priority fixes sq5 and all sorts of sci1.1 games: when loading wrong priority for some actors that fixed itself after one frame svn-id: r51397
2010-07-26SCI: Some cosmetic changes to the warning thrown when fixing invalid windowsFilippos Karapetis
svn-id: r51306
2010-07-23SCI: fixing kNewWindow (SCI1.1)Martin Kiewitz
check differently for null restoreRect, fixes pq3 some windows not getting fully removed calling showBits on actual dims and not on restoreRect, fixes lb2 about window issues (and possible qfg1vga window issues as well) svn-id: r51204
2010-06-28SCI: added comment - lsl5 also has too large windowsMartin Kiewitz
svn-id: r50450
2010-06-27Silenced a false positive in MSVC about a potentially uninitialized variableFilippos Karapetis
svn-id: r50392
2010-06-25SCI: Introduce SciGameId enumMax Horn
svn-id: r50273
2010-06-23SCI: cnick-laurabow & cnick-kq are called with -Nw 0 0...Martin Kiewitz
svn-id: r50187
2010-06-22SCI: reversing r50168, demo is using the same offTop as well (demo.bat)Martin Kiewitz
svn-id: r50169
2010-06-22SCI: demo of fairy tales uses regular offTopMartin Kiewitz
svn-id: r50168
2010-06-22SCI: set offTop to 26 for mixed up fairy tales to fix all sorts of ↵Martin Kiewitz
non-fully-removed windows svn-id: r50166
2010-06-21Fix the Hoyle 4 (Hoyle Classic) demo's top offset. It currently errors out ↵Matthew Hoops
later from lacking a selector (static selector problem). svn-id: r50118
2010-06-17Strict mode: Changed several warnings due to logic bugs into errors. If an ↵Filippos Karapetis
error pops up from these ones, please add the game where it occurred and the steps to reproduce the error before turning it into a warning svn-id: r49973
2010-06-17SCI: Change SciEngine's 'char *getGameID()' to 'Common::String getGameId()'Max Horn
svn-id: r49968
2010-06-17SCI: dont subtract offTop on wmgrPort when using old gfx functions - fixes ↵Martin Kiewitz
about window in pq2 svn-id: r49947