Commit Graph
1475 Commits
Author SHA1 Message Date
Filippos Karapetis 37b209dac1 SCI: Refresh remapping by percent whenever the screen palette changes 2012-07-24 22:55:34 +03:00
Filippos Karapetis fe3fb1873c SCI: Cleanup of the palette remapping code 2012-07-24 22:54:37 +03:00
Filippos Karapetis 6f35130204 SCI: More work on color remapping
More transparency/color mapping effects are now working (e.g. the
flashlight at the Gedde tomb in GK1, the rays of light at Schloss Ritter
in GK1, the torch in the QFG4 demo and the shadows in QFG4, PQ4 and KQ7)
2012-07-24 22:34:46 +03:00
Filippos Karapetis 3d395545cb SCI: Remove unused variables 2012-07-24 04:07:08 +03:00
Filippos Karapetis bd281928cb SCI: Initial implementation of kRemapColors(kRemapByPercent)
Fixes some graphics glitches in the QFG4 demo and the menus of QFG4, by
implementing one of the transparency effects used mainly in SCI32.
Many thanks to fuzzie for her debugging info on QFG4 demo and to wjp for
his great help on the dissassembly
2012-07-24 03:53:44 +03:00
Filippos Karapetis 1a90ca5ecd SCI: Handle all negative priority values. Fixes graphics in the SQ6 demo 2012-07-16 11:49:50 +03:00
Filippos Karapetis 10b3fdf247 SCI: Show information for correct file naming in the QFG4 import room
This information is shown in previous QFG versions, but it had to be
placed in a SCI32 graphics function in order to be shown in QFG4 too
2012-07-08 16:15:47 +03:00
Filippos Karapetis e4378d5bac SCI: Better handling for Phantasmagoria's odd screen size
Still not right, as the width isn't set
2012-07-06 13:17:04 +03:00
Filippos Karapetis 7513786296 SCI: Add a hack to handle the internal script resolution in Phantasmagoria 2012-07-06 12:11:50 +03:00
Filippos Karapetis 112f03390d SCI: Fix typo 2012-07-05 14:05:26 +03:00
Filippos Karapetis fb215929ef SCI: Some updates to SCI32 kernel graphics functions
- Added a stub for kSetScroll, which sets the target picture immediately
for now
- Added an initial stub of kPalCycle (doesn't work correctly yet)
- Adjusted the signatures of kUpdateLine and kDeleteLine for LSL6
- Unmapped kSetHotRectangles again, with updated information on how it
is used in Phantasmagoria
2012-07-05 13:58:41 +03:00
Filippos Karapetis 243ea1fa29 SCI: Add a check for invalid clip rectangles
Happens in QFG4, when starting a battle
2012-07-04 02:21:13 +03:00
Filippos Karapetis 5d3e22ae4f SCI: Some cleanup of the warnings in the SCI32 plane manipulation code 2012-07-04 02:21:11 +03:00
Filippos Karapetis d757b5b94a SCI: Update some version checks in kernelFrameout() to work with SCI3 too 2012-07-04 01:02:21 +03:00
Filippos Karapetis 547fdfe12a SCI: Further cleanup of the frame drawing code 2012-06-22 09:43:44 +03:00
Filippos Karapetis 0812439603 SCI: Simplify the SCI32 coordinate adjustment code 2012-06-22 09:31:51 +03:00
Johannes Schickel 4fb9bceabc Merge pull request #246 from lordhoto/osystem-void-buffers
OSYSTEM: Use void buffers for screen/overlay/mouse buffers and proper pitch values for overlay code
2012-06-20 08:02:26 -07:00
Filippos Karapetis ea42605297 SCI: Remove multibyte character processing code from SCI32
There are no Japanese/PC-98 SCI32 games, so this code is not needed
2012-06-20 10:55:24 +03:00
Filippos Karapetis 221ee34926 SCI: Don't attempt to draw line feed characters in SCI32
Fixes junk in the about dialogs in PQ4
2012-06-20 04:28:59 +03:00
Filippos Karapetis 2b50824133 SCI: Add setter/getter methods to reg_t's
No functionality change has been made with this commit. This avoids
setting and getting the reg_t members directly, and is the basis of any
future work on large SCI3 scripts (larger than 64KB)
2012-06-18 05:24:06 +03:00
Johannes Schickel 7b646e5c62 SCI: Get rid of casts on CursorManager::replaceCursor calls. 2012-06-16 03:28:43 +02:00
Johannes Schickel 084c1259fc SCI: Get rid of casts on OSystem::copyRectToScreen calls. 2012-06-16 02:39:00 +02:00
Filippos Karapetis 425926ed7e SCI: Limit floodfill hack to GK1
Fixes the intro of LSL7 and the inventory screen in PQ4
2012-06-15 12:24:12 +03:00
Filippos Karapetis dc11d223cd SCI: Initial implementation of AddLine, UpdateLine, DeleteLine 2012-06-09 15:36:36 +03:00
Filippos Karapetis 66af2cf1d7 SCI: Handle translucent text planes
Fixes the incorrect flood fill in the Rada Drums screen in GK1
2012-06-09 12:13:48 +03:00
Filippos Karapetis a643981a38 SCI: Handle resource ID -1 when setting the palVary resource
Fixes several wrong colors in SQ6
2012-06-08 11:57:43 +03:00
Filippos Karapetis de3f6a19ed SCI: Initial implementation of kScrollWindow, used in some SCI21 games
This is used in LSL6 hires and SQ6. This initial implementation is hackish
and only works in SQ6 (nothing is shown in LSL6)
2012-06-07 11:27:59 +03:00
Filippos Karapetis 6cda15ba8e SCI: Added two new debug commands, plane_list and plane_items
These can be used to debug drawn items in SCI32
2012-05-21 01:30:10 +03:00
Filippos Karapetis 6b38731d39 SCI: Implement savegame deletion functionality in SCI32
This is based on two kernel functions, kMakeSaveCatName and
kMakeSaveFileName
2012-05-14 11:04:58 +03:00
Filippos Karapetis 398d0ffcef SCI: Check for object visibility, if an object defines it
Fixes the inventory in GK1
2012-05-14 02:30:15 +03:00
Filippos Karapetis c424c22f19 SCI: Fix bug #3040625 - "SCI: ECOQUEST French/German: Speech balloon graphic glitch"
This bug is caused by the fact that the sprites in that scene and the
speech bubble share the same priority, so we compensate for that with a
workaround
2012-05-11 12:54:06 +03:00
Filippos Karapetis 24e57808aa SCI: Add a hack to fix the cursor colors in Longbow (bug #3489101) 2012-04-29 20:45:14 +03:00
Filippos Karapetis d801186185 SCI: Fix cursor coordinates for SCI01. Fixes a crash in KQ1 (bug #3503932) 2012-03-25 19:22:31 +03:00
Matthew Hoops 4516b5ea24 GRAPHICS: Convert PictDecoder to the ImageDecoder API 2012-03-20 01:06:48 +01:00
Christoph Mallon 75efdd2d84 JANITORIAL: Replace (x ? false : true) by !(x). 2012-03-13 15:43:36 +01:00
Matthew Hoops b71dffafbe SCI: Fix GK1 Mac text positioning
A regression from the text bitmap code addition
2012-03-08 10:07:58 -05:00
Filippos Karapetis 7e4c5dce4a SCI: Add a new configuration option for SQ4 CD, "silver_cursors"
This allows the user to choose the alternate set of silver mouse cursors
that is available in the game resources of the game, instead of the
original golden ones
2012-03-07 23:20:50 +02:00
Willem Jan Palenstijn 9ffe3e11d9 Merge pull request #182 from fingolfin/forbid-ctype
ALL: Avoid using is* macros from ctype.h
2012-02-21 11:33:32 -08:00
Max Horn 4f8665fc83 COMMON: Move isFoo functions to namespace Common, add doxygen comments 2012-02-20 16:18:27 +01:00
Filippos Karapetis c87657f066 SCI: Added some sanity checks by digitall
- Limit the LB1 cursor workaround to LB1 only (so that fanmade games
aren't affected)
- Error our when bad cursor hotspots are found
2012-02-17 21:54:50 +02:00
Filippos Karapetis b21f956790 SCI: Fix and cleanup the monochrome cursor code
This makes the code like FreeSCI again, which is the correct way to fix
bug #3487088.
2012-02-17 21:09:59 +02:00
Filippos Karapetis c48ad37244 SCI: Fix bug #3487088 - "SCI: LB1: Missing Wait cursor" 2012-02-17 10:53:42 +02: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
Max Horn 658080deed ALL: Avoid using is* macros from ctype.h
On some systems, passing signed chars to macros like isspace() etc. lead
to a runtime error. Hence, mark these macros as forbidden by default,
and introduce otherwise equivalent alternatives for them.
2012-02-15 16:51:37 +01:00
Filippos Karapetis 7da29858e7 SCI: Fix the order of diagonal roll transitions in the old lookup table
This fixes several inverted transitions (like in SQ3, ICEMAN, Hoyle 1 etc) - bug #3485194
2012-02-13 12:06:35 +02:00
Filippos Karapetis fbb51fcd88 SCI: Fix bug #3487092: "SCI: LB1: Magnifying glass cursor is grey" 2012-02-13 04:03:05 +02:00
Filippos Karapetis 099b2e9249 SCI: Properly handle negative coordinates in drawTextBitmap()
This fixes occasional crashes when going to the map in GK1. Many thanks
to digitall for finding this through Valgrind
2012-01-15 23:00:23 +02:00
Filippos Karapetis 0f39a43675 SCI: Plug loads of memory leaks in the SCI32 graphics code
Many thanks to digitall for finding these
2012-01-15 18:35:33 +02:00
Filippos Karapetis bf6c42d816 SCI: Don't clip the plane rectangle in kernelDeletePlane()
The actual cause for this clipping has been fixed
2012-01-14 16:37:07 +02:00
Filippos Karapetis 20bcb0545e SCI: When deleting a plane, also delete the items in it
This fixes a crash in GK1 day 2, after using the thermostat outside
Mosely's office
2012-01-14 14:22:54 +02:00