Commit Graph

13038 Commits

Author SHA1 Message Date
Johannes Schickel
d0bc425da6 Remove obsolete comment.
svn-id: r44625
2009-10-04 18:00:11 +00:00
Johannes Schickel
eaca55ee50 Some fixes to comply with our coding guidelines.
svn-id: r44624
2009-10-04 17:54:08 +00:00
Johannes Schickel
41e4a1ddb6 LoL PC98: Fix thumbnail creation for quick saves and autosave.
svn-id: r44623
2009-10-04 17:38:15 +00:00
Johannes Schickel
fc4d7b7d1d LoL PC98: Fix thumbnail generation via ingame menu.
svn-id: r44622
2009-10-04 17:37:46 +00:00
Martin Kiewitz
975f1b75ea SCI/gui: final rename commit
svn-id: r44621
2009-10-04 16:41:53 +00:00
Martin Kiewitz
01fca745fd SCI/gui: more renaming...
svn-id: r44620
2009-10-04 16:39:46 +00:00
Martin Kiewitz
4a9804a044 SCI/gui: renaming...
svn-id: r44619
2009-10-04 16:37:02 +00:00
Martin Kiewitz
ec526ca461 SCI/gui: renaming...
svn-id: r44618
2009-10-04 16:35:02 +00:00
Johannes Schickel
da70060943 Make "_picRect" local to gui_windowmgr.cpp and mark it as const.
svn-id: r44617
2009-10-04 16:26:43 +00:00
Johannes Schickel
b8e740c167 Attempt to fix wince compilation.
svn-id: r44616
2009-10-04 16:22:49 +00:00
Johannes Schickel
d134eb73ce Add missing PACKED_STRUCT attribute to FrameHeader.
svn-id: r44614
2009-10-04 15:49:40 +00:00
Willem Jan Palenstijn
62c951c031 SCI/newgui: turn sciWnd into subclass of sciPort
svn-id: r44613
2009-10-04 15:44:32 +00:00
Willem Jan Palenstijn
76854f0b86 SCI/newgui: more descriptive names.
svn-id: r44612
2009-10-04 15:44:10 +00:00
Martin Kiewitz
3deae94473 SCI/newgui: getCellRect() getLoopInfo() implemented, cleanup
svn-id: r44611
2009-10-04 15:34:43 +00:00
Martin Kiewitz
1572e622a3 SCI/newgui: UpdateWindow() -> rect1 instead of rect0 typo
svn-id: r44610
2009-10-04 15:20:43 +00:00
Martin Kiewitz
b05493af04 SCI/newgui: windowMgr cleanup, UpdateWindow() ported over
svn-id: r44609
2009-10-04 15:14:28 +00:00
Florian Kagerer
ae737ca2c2 LOL/PC-98: fixed save menu
svn-id: r44608
2009-10-04 15:12:05 +00:00
Martin Kiewitz
49a78bfb3e SCI/newgui: accidentally changed Draw_Horiz and Draw_Vert, reverted
svn-id: r44607
2009-10-04 15:06:50 +00:00
Martin Kiewitz
4957ec3505 SCI: kAddToPic, kAnimate and kSetNowSeen transferred to SciGUI32, not yet implemented in newgui
svn-id: r44606
2009-10-04 14:59:51 +00:00
Filippos Karapetis
3aadeaa018 Removed unused enum
svn-id: r44605
2009-10-04 13:29:35 +00:00
Max Horn
a1e2ba1ba5 SCI: Fixing a bunch of warnings; change 'intencity' -> 'intensity';
properly init a sciPalette via memset

svn-id: r44604
2009-10-04 11:59:29 +00:00
Max Horn
696fd7af20 Reduce usage of Common::String::emptyString
svn-id: r44603
2009-10-04 11:58:52 +00:00
Florian Kagerer
f8e8e764ce LOL/PC-98: some more work on sjis font support for the text displayer
svn-id: r44602
2009-10-04 11:42:26 +00:00
Martin Kiewitz
14c322ceb7 SCI/newgui: font constructor change (again... what happened here?)
svn-id: r44601
2009-10-04 11:32:29 +00:00
Martin Kiewitz
594527fe4b SCI/newgui: restoration of constructor
svn-id: r44600
2009-10-04 11:26:09 +00:00
Martin Kiewitz
306c9d1db6 SCI/newgui: SciGUIfont workaround for lsl1sci
svn-id: r44599
2009-10-04 11:23:28 +00:00
Filippos Karapetis
837cde96f3 Removed unused references to OSystem
svn-id: r44598
2009-10-04 11:14:38 +00:00
Martin Kiewitz
a139ddd840 SCI: kReadNumber crash fix for lsl1
svn-id: r44597
2009-10-04 11:05:38 +00:00
Martin Kiewitz
e2cc953a9f SCI: removing unused variables from onControl
svn-id: r44596
2009-10-04 10:48:49 +00:00
Martin Kiewitz
3dbf54267b SCI: onControl now uses gui classes
svn-id: r44595
2009-10-04 10:47:10 +00:00
Martin Kiewitz
a015e5f967 SCI/newgui: onControl implemented
svn-id: r44594
2009-10-04 10:46:25 +00:00
Martin Kiewitz
772cb33651 SCI/oldgui: onControl code moved
svn-id: r44593
2009-10-04 10:42:18 +00:00
Martin Kiewitz
bb7a728a99 SCI/newgui: TextColors and TextFonts implemented (for sq5)
svn-id: r44592
2009-10-04 09:38:57 +00:00
Robert Špalek
42ee5350c3 Hack Game::_shouldExitLoop.
Immediate exit needed when loading a savegame hurts waiting in an inner
(strange) loop inside a GPL program, because animations don't progress at
all.  Reverted to the previous behavior and kept the immediate exit as a
hack for loading the game.

svn-id: r44590
2009-10-04 09:33:07 +00:00
Filippos Karapetis
decdc5771a Applied patch #2872409 "MADE engine fixes" by agent-q, with one small modification (initialized _soundStarted in the ScriptFunctions constructor)
svn-id: r44589
2009-10-04 09:31:37 +00:00
Robert Špalek
1ed6a2668b Load inventory items properly after loading the game.
This solution is quite hacky, but so is the rest of the code, before a
future refactoring done one day.

svn-id: r44588
2009-10-04 09:13:15 +00:00
Martin Kiewitz
06f5393ed4 SCI: fixed crash in sq5/german (umlauts)
svn-id: r44587
2009-10-04 06:39:07 +00:00
Robert Špalek
df14027c41 Implemented rudimentary game loading/saving.
Fixed many bugs in the boilerplate.  Saving (only) things that really need to
be saved.  Loading seems to work modulo dialogs and (possibly) inventory.

svn-id: r44586
2009-10-04 05:44:23 +00:00
Martin Kiewitz
bf408b0dbe SCI/newgui: unfinished TextColors/TextFonts support/setting default palette mapping for kq5
svn-id: r44585
2009-10-04 05:22:49 +00:00
Martin Kiewitz
10d70ec742 SCI/newgui: cleanup
svn-id: r44584
2009-10-04 05:20:56 +00:00
Robert Špalek
b6d7da6927 Implement all boilerplate concerning Global Main Menu.
All currently defined featues will be supported.  I have implemented 
everything boilerplatish, except for the actual game saving/loading (which
will come in the next commit), getting volumes from the configuration
(because we don't play sounds yet), and changing subtitles.

svn-id: r44583
2009-10-04 03:50:10 +00:00
Florian Kagerer
b8e02a03c1 LOL: fixed minor bugs in text displayer
svn-id: r44582
2009-10-04 01:05:27 +00:00
Willem Jan Palenstijn
0ed87062ed SCI: Add hack to gui to fix loading
svn-id: r44581
2009-10-03 23:56:49 +00:00
Willem Jan Palenstijn
a8c4d70d3e SCI: attempt to fix wii/dc build error
svn-id: r44579
2009-10-03 23:01:22 +00:00
Willem Jan Palenstijn
f61bf4f97a SCI: Fix parse error in parse_reg_t
svn-id: r44578
2009-10-03 22:44:16 +00:00
Florian Kagerer
0e5836bb34 LOL/PC-98: add keyboard support for menus
svn-id: r44577
2009-10-03 22:39:46 +00:00
Willem Jan Palenstijn
bce248cab6 SCI: Redraw edit controls when they change.
svn-id: r44576
2009-10-03 22:10:45 +00:00
Robert Špalek
3035ca2fd3 Let Ctrl-Left click behave like Right lick in Dragon History.
Also, started implementing Advanced Engine Features:
- pause support
- RTL support

svn-id: r44575
2009-10-03 22:07:18 +00:00
Martin Kiewitz
c0773975f5 SCI/newgui: removed duplicate unused code
svn-id: r44574
2009-10-03 21:49:09 +00:00
Martin Kiewitz
93c3d07e2b SCI/newgui: constant 0xFFFF -> -1
svn-id: r44573
2009-10-03 21:30:36 +00:00
Willem Jan Palenstijn
75de46e9ab SCI: Fix sign issue in stringfrags
svn-id: r44572
2009-10-03 21:27:01 +00:00
Martin Kiewitz
cfb7632a77 SCI/newgui: Removed SciGUIpicture::drawPalette11
svn-id: r44571
2009-10-03 21:27:00 +00:00
Martin Kiewitz
204b975e7f SCI/newgui: initializer fixup
svn-id: r44570
2009-10-03 21:23:21 +00:00
Martin Kiewitz
4cb0359670 SCI/newgui: cellCount changed to uint16
svn-id: r44569
2009-10-03 21:16:11 +00:00
Martin Kiewitz
742d70204e SCI/newgui: virtual warnings fixed
svn-id: r44568
2009-10-03 21:14:52 +00:00
Martin Kiewitz
79b12939a8 SCI/newgui: set title on newWindow
svn-id: r44567
2009-10-03 21:06:45 +00:00
Willem Jan Palenstijn
b9cdb1abb7 SCI: Merge new GUI code written by m_kiewitz.
This is a major rewrite of the graphics code. A slightly adapted
version of the old code is still available and currently the default.
The new code is selectable in sci.cpp, but is not yet finished.

svn-id: r44565
2009-10-03 20:49:18 +00:00
Florian Kagerer
f6de0b4ec9 LOL/PC-98: add keyboard support
svn-id: r44564
2009-10-03 20:42:26 +00:00
Martin Kiewitz
a3fc7230eb fixed addMenu isspace() issue on umlauts
svn-id: r44563
2009-10-03 20:35:13 +00:00
Willem Jan Palenstijn
95959a88ef SCI: Fix typo
svn-id: r44561
2009-10-03 20:25:27 +00:00
Andre Heider
bbb3cc8086 If make*Stream failed, the file needs to be closed to prevent an assert on a consecutive open().
svn-id: r44557
2009-10-03 19:29:14 +00:00
Florian Kagerer
e515b57b67 LOL/PC-98: fixed automap
svn-id: r44554
2009-10-03 13:42:24 +00:00
Arnaud Boutonné
66233031d7 revert r44542: the fix reopens another previous bug
svn-id: r44553
2009-10-03 13:40:55 +00:00
Paul Gilbert
5d7caf3ca9 Added a +1 for dirty rectangle calculation so final column of changed area is included
svn-id: r44551
2009-10-03 08:59:11 +00:00
Robert Špalek
43f84746bf Fixed positioning and update of the title under the mouse pointer.
Clamping on the border of the screen works precisely.  When switched to the
inventory, titles of game items are displayed instead of a (sticky) title of
the last object before entering the inventory.  Put some const's where
appropriate.

svn-id: r44550
2009-10-03 05:16:19 +00:00
Florian Kagerer
548d139b48 LOL: cleanup
svn-id: r44549
2009-10-02 23:13:47 +00:00
Florian Kagerer
14d6b33e4f LOL/PC-98: fixed death menu, live/magic bar colors and money box
svn-id: r44548
2009-10-02 22:13:39 +00:00
Florian Kagerer
e5aae67e39 LOL/PC-98: - some more fixes for level graphics (shapes are still not quite right)
- fixed heal spell

svn-id: r44547
2009-10-02 21:27:10 +00:00
Max Horn
bfec2debe6 SCI: Fix parse_reg_t, it no longer modified the const string passed to it
svn-id: r44545
2009-10-02 20:20:45 +00:00
Torbjörn Andersson
41adc39d2d Fixed cppcheck warnings about mismatching allocation/deallocation.
svn-id: r44543
2009-10-02 18:38:52 +00:00
Arnaud Boutonné
f915a46e1f Fix for bug ref#2867294 (hopefully)
svn-id: r44542
2009-10-02 17:50:56 +00:00
Willem Jan Palenstijn
cbcd53f1f3 Fix cppcheck issue reported by salty-horse
svn-id: r44541
2009-10-02 15:02:57 +00:00
Max Horn
01176782ea Fix some cppcheck warnings reported by salty-horse
svn-id: r44538
2009-10-02 14:32:54 +00:00
Paul Gilbert
78578a042f Bugfix for dirty rects getting lost during room fade-ins
svn-id: r44536
2009-10-02 13:13:47 +00:00
Max Horn
908e13fa73 SCI: Remove PRINT_STK macro; cleanup
svn-id: r44533
2009-10-02 12:53:04 +00:00
Willem Jan Palenstijn
0fe40b5053 SCI: Use String::printf instead of temporary buffer
svn-id: r44532
2009-10-02 12:44:12 +00:00
Max Horn
292640b14e SCI: Make NULL_REG & SIGNAL_REG const; change validate_property so that its callers cannot modify NULL_REG accidentally anymore
svn-id: r44531
2009-10-02 11:04:36 +00:00
Max Horn
523f0b34fb SCI: Remove dead code
svn-id: r44530
2009-10-02 07:44:55 +00:00
Willem Jan Palenstijn
876a28d261 SCI: cleanup
svn-id: r44528
2009-10-01 17:30:10 +00:00
Robert Špalek
4a7cea6813 Fixed event handling. ValGrind fixups.
My yesterday's fix on handling 1 event per call caused the game to be
unbearably slow on Linux.  The old way was much faster.  I have solved too
fast a succession of mouse button down and up by not clearing the mouse flag
when the button goes up instead.

Fixed a memory leak and uninitialized variable after my refactoring of game
location changes; found by ValGrind.

svn-id: r44525
2009-10-01 16:47:34 +00:00
Scott Thomas
2fa7fbc1a5 T7G: Proper fix for #2847539 - remove ambiguity in multi-byte script reads.
svn-id: r44524
2009-10-01 15:58:15 +00:00
Filippos Karapetis
6697f46922 Rewrote weird-looking code, which might lead to undefined behavior, according to GNU
svn-id: r44523
2009-10-01 15:33:38 +00:00
Filippos Karapetis
6e462c9002 Removed the STRICT_SEND, STRICT_READ and ASSERT_ARITHMETIC defines
svn-id: r44519
2009-10-01 12:41:21 +00:00
Arnaud Boutonné
d90c60e879 Fix a regression in the first part of the intro (gitches when the paper and the rat are moving).
svn-id: r44518
2009-10-01 12:19:01 +00:00
Paul Gilbert
aba45bfd5f Reworked of code line in changeExtension that was giving a cppcheck warning
svn-id: r44517
2009-10-01 12:12:07 +00:00
Filippos Karapetis
04493d139e Fixed some potential memory leaks, reported by salty-horse
svn-id: r44516
2009-10-01 12:09:02 +00:00
Paul Gilbert
e67b0ef08c Replaced delete operator with delete[]
svn-id: r44514
2009-10-01 12:03:12 +00:00
Willem Jan Palenstijn
7d6848dfa3 SCI: Add some fixmes noted by salty-horse.
svn-id: r44513
2009-10-01 11:06:38 +00:00
Willem Jan Palenstijn
5a8b81119b Fix free/delete/delete[] mismatches. Patch by salty-horse
svn-id: r44512
2009-10-01 11:02:23 +00:00
Filippos Karapetis
7d40dde96f - Removed the toggle for "weak" validations, as there are cases where they fail (e.g. in Longbow), so there is no point in having strict validations
- Removed the invalid toggle from kernel signatures - we now never error out on invalid object references, but throw a warning instead
- Simplified determine_reg_type()

svn-id: r44511
2009-10-01 10:57:59 +00:00
Willem Jan Palenstijn
168257df24 SCI: Remove outdated debugging hack.
In the past, a negative selector value was used to identify a callk
stack frame. Currently a type of EXEC_STACK_TYPE_KERNEL already does that.

svn-id: r44510
2009-10-01 08:53:10 +00:00
Robert Špalek
24d649b972 Clean up room changing code and support returning from the map.
Completely changed the interface, removing unused methods and attributes,
renaming other ones to reflect what they do, and moving some methods into the
private section.  Code changing the location, originally scattered over many
pieces of code, has been unified into one place.  Remember the previous room
when entering the map so that one can return there.

Also, the event handler processes one event at a time, preventing lost clicks
on touchpads.

svn-id: r44508
2009-10-01 08:32:35 +00:00
Filippos Karapetis
2d29625f0e Removed an old (and now obsolete) workaround for KQ5
svn-id: r44507
2009-09-30 23:27:00 +00:00
Filippos Karapetis
9efc90c8af Fixed the warning message shown when dummy functions are invoked
svn-id: r44506
2009-09-30 23:13:46 +00:00
Filippos Karapetis
30084d72a5 Added a new special reg_t, SIGNAL_REG, for signaling when an error occurs (usually), or to signal success in some special occasions
svn-id: r44505
2009-09-30 23:00:03 +00:00
Arnaud Boutonné
96a40e7712 Fascination - Suppress some warnings
svn-id: r44504
2009-09-30 22:54:30 +00:00
Filippos Karapetis
86016e4dc5 Changed the list sanity checks to return warnings instead of errors in case of failure - apparently, this can occur in some games, e.g. Longbow and QFG1
svn-id: r44503
2009-09-30 22:54:00 +00:00
Filippos Karapetis
bbb2274a7d - Removed some leftover 16/32bpp color code, as we're always using palette mode now
- Simplified the mouse cursor manipulation code

svn-id: r44502
2009-09-30 22:43:29 +00:00
Florian Kagerer
598056ead0 LOL/PC-98: - fixed TIM dialogue button text colors
- fixed menu text alignment

svn-id: r44501
2009-09-30 21:46:00 +00:00
Max Horn
aa368806d9 oops
svn-id: r44500
2009-09-30 21:12:38 +00:00
Robert Špalek
5ad13a3dff Fix 2 ValGrind warnings.
svn-id: r44499
2009-09-30 21:07:04 +00:00
Florian Kagerer
94572773d0 LOL/PC-98: - fix spell effect colors
- fix some font color glitches

svn-id: r44498
2009-09-30 20:42:58 +00:00
Willem Jan Palenstijn
a5d1094dab SCI: Make kFile error messages slightly more verbose
svn-id: r44497
2009-09-30 19:44:03 +00:00
Arnaud Boutonné
f1c76e2dcb Fascination - Fix a regression in intro (fix of R42171)
svn-id: r44496
2009-09-30 19:14:46 +00:00
Max Horn
8ba75fc522 Fix code formatting (esp. 'if(' -> 'if (' etc., but also indention and other things)
svn-id: r44495
2009-09-30 16:16:53 +00:00
Max Horn
25dde91c7c SCI: Some palette code cleanup
svn-id: r44494
2009-09-30 16:06:04 +00:00
Max Horn
cc54ad650d Remove trailing whitespaces
svn-id: r44493
2009-09-30 16:04:21 +00:00
Max Horn
27026f6565 SCI: Replace magic '-42' by an enum
svn-id: r44492
2009-09-30 16:00:44 +00:00
Filippos Karapetis
c76041d46d Fixed a crash in KQ1SCI, when the user types something wrong - the game tries to open a file with an empty file name, and an odd file mode
svn-id: r44491
2009-09-30 15:43:28 +00:00
Filippos Karapetis
1497f9845a Fixed regression in r44417, found by waltervn. The score in KQ1SCI should be diplayed correctly again
svn-id: r44490
2009-09-30 15:21:44 +00:00
Johannes Schickel
2240886315 Got rid of old workaround, which was only needed because our SJIS font did not feature any ASCII chars.
svn-id: r44489
2009-09-30 14:54:18 +00:00
Johannes Schickel
438244a016 Adapt KYRA engine to use the ASCII and half-width katakana support of the SJIS font. (required for LoL PC98)
svn-id: r44488
2009-09-30 14:53:57 +00:00
Johannes Schickel
b8c7237d12 Cleanup: got rid of Screen::ShadeType.
svn-id: r44487
2009-09-30 14:53:34 +00:00
Johannes Schickel
03a26923c9 Implemented support for drawing 8x16 chars from our custom SJIS font.
svn-id: r44486
2009-09-30 14:53:07 +00:00
Nicola Mettifogo
9be8a6e4f6 Simplified inventory handling (too much information hiding will kill you).
svn-id: r44485
2009-09-30 13:41:19 +00:00
Filippos Karapetis
fa077237c1 Fixed a crash when starting KQ1SCI
svn-id: r44484
2009-09-30 13:09:18 +00:00
Filippos Karapetis
fd21bb2611 - Moved the list of synonyms and parser nodes inside the vocabulary class
- Added a convenience member inside the EngineState struct to access the instance of the Vocabulary class

svn-id: r44481
2009-09-30 12:17:38 +00:00
Johannes Schickel
c9ca057ae2 - Adapt parts of the Draci code to match our code formatting guidelines
- Remove use of tabs for formatting, now in nearly all cases tabs are only used for indentation
- Use "uint" instead of "unsigned int" in the whole engine for consistency's sake
- Strip some trailing tabs and leading whitespaces

svn-id: r44478
2009-09-30 10:45:14 +00:00
Filippos Karapetis
4477f41903 Converted _color_equals() into respective equality operators within the gfx_color_t structure
svn-id: r44477
2009-09-30 08:23:12 +00:00
Nicola Mettifogo
eb5beef6a1 * Added secondary inventories for BRA.
* Added comments where code must be added/updated to support multiple inventories.

svn-id: r44476
2009-09-30 07:47:58 +00:00
Nicola Mettifogo
e660f31ed8 Provide only the data that is strictly needed when creating a new Inventory.
svn-id: r44475
2009-09-30 07:09:07 +00:00
Robert Špalek
76a0bcb6c4 Implemented the map room, entered when 'm' is pressed.
svn-id: r44474
2009-09-30 04:33:52 +00:00
Willem Jan Palenstijn
77bd8d0bfb SCI: Add callk stackframe directly in run_vm
svn-id: r44473
2009-09-30 00:13:59 +00:00
Arnaud Boutonné
ff70b554ea Playtoons - implement some functions related to hotspot texts
Fascination - initial version of several 'Fascination Window' functions, proper naming of most of fascination OPCODEDRAW and OPCODEGOB functions

svn-id: r44472
2009-09-29 22:43:30 +00:00
Torbjörn Andersson
c857369131 Fixed Valgrind warnings about invalid memory access. Hopefully without breaking
anything, but modifying a data structure while traversing it can be a bit
tricky...

svn-id: r44469
2009-09-29 19:51:37 +00:00
Arnaud Boutonné
f6aaafae7c Gob - Silence a Valgrind warning by initializing a variable
svn-id: r44467
2009-09-29 16:56:30 +00:00
Filippos Karapetis
6f6b699390 Added a FIXME comment for the removed functionality in the script debugger
svn-id: r44466
2009-09-29 15:51:45 +00:00
Johannes Schickel
270104fc70 Remove unused variable.
svn-id: r44464
2009-09-29 14:37:09 +00:00
Johannes Schickel
70f7c46f42 Add newline after "Available debug channels" in Cmd_Debug, now all debug channels will be listed in separate lines.
svn-id: r44463
2009-09-29 14:36:46 +00:00
Filippos Karapetis
2c2cf614c8 Oops - don't attempt to print the sought kernel function name when its empty
svn-id: r44462
2009-09-29 14:28:37 +00:00
Filippos Karapetis
f9296a6445 - Changed the unimplemented debug SCI kernel functions (InspectObj, ShowSends, ShowObjs, ShowFree, StackUsage and Profiler) to be dummy functions - we have our own debugger, and don't use these functions for debugging
- Removed the function number parameter from all kernel functions, as it's no longer needed, and removed the FAKE_FUNCT_NR hack
- Removed kUnknown() and kStub()
- Dummy/unknown kernel functions are no longer invoked, and a warning is shown instead, with the paremeters passed to them

Note: there is an evil hack used for debugging scripts in invoke_selector(), which probably no longer works now

svn-id: r44461
2009-09-29 14:24:07 +00:00
Benjamin Haisch
af4c6c5f5b Fixed bug #2868938
svn-id: r44459
2009-09-29 08:18:40 +00:00
Filippos Karapetis
f78428384e QFG3 clears clones with underbits set, so disable the warning for this behavior
svn-id: r44458
2009-09-29 07:40:04 +00:00
Robert Špalek
4be9e6cda0 Rewrite from scratch drawReScaled() and cropping now works well.
I left draw() as is for now, although it could also be similarly simplified.
Also, one could easily completely get rid of columnIndices[], but I was too
tired for the time being.

svn-id: r44457
2009-09-29 06:36:39 +00:00
Robert Špalek
00a733f7cf Clean up and unify positioning dragon's animations
svn-id: r44456
2009-09-29 05:54:59 +00:00
Denis Kasak
635769bd5d draci:
* Added const to some methods of Game.
* Removed some code cruft from Game::walkHero() (duplicate calculations and variables).
* Fixed small bug which prevented talking text from being centered above the dragon.

svn-id: r44455
2009-09-29 00:03:09 +00:00
Denis Kasak
137c44013c draci: Inverted a logical check to make it more obvious.
svn-id: r44454
2009-09-28 23:32:16 +00:00
Denis Kasak
0c0135e0ed draci: Added methods Game::positionAnimAsHero(), Game::getHeroX() and Game::getHeroY() and implemented correct positioning of all dragon animations. Fixed exiting the inventory by right-clicking outside it.
svn-id: r44453
2009-09-28 23:10:08 +00:00
Denis Kasak
a8d6e8774c Made AnimationManager::sortAnimations() do multiple passes, if necessary, and added some animation debug info.
svn-id: r44452
2009-09-28 23:02:39 +00:00
Johannes Schickel
95cd669efb Fix for bug #2868581 "KYRA1: Invisible Brandon".
svn-id: r44450
2009-09-28 21:58:48 +00:00
Willem Jan Palenstijn
88a9099949 SCI: Remove unsafe unmarkDeleted function.
It did not undo all effects of a script being deleted (specifically its
superclasses remain unlocked), causing an inconsistent
state. Also removed EcoQuest CD hack that worked around a specific
instance of this problem.

svn-id: r44449
2009-09-28 20:21:09 +00:00
Willem Jan Palenstijn
f413356bed SCI: When merging palettes, map all unused colours to index 0.
This fixes the boots/belt of the hero sprite in QfG3 character generation.

svn-id: r44448
2009-09-28 19:39:17 +00:00
Robert Špalek
ccc737a714 Fix a memory leak
svn-id: r44447
2009-09-28 11:28:09 +00:00
Paul Gilbert
770cca79d0 Script workaround for partially off-screen text in DW1 GRA
svn-id: r44445
2009-09-28 09:56:05 +00:00
Filippos Karapetis
033b587bd2 Added topString to the list of static selectors, for commit #44429
svn-id: r44443
2009-09-28 09:09:15 +00:00
Benjamin Haisch
0335a37b05 Fixed clipping-related bug (bug #2826036)
svn-id: r44439
2009-09-28 07:28:20 +00:00
Robert Špalek
359d374dc6 Added const's to getPalette() and several uses of getObject()
svn-id: r44434
2009-09-28 04:09:03 +00:00
Robert Špalek
8a78e96838 Make getFile() return a const pointer and clean-up all uses of it.
svn-id: r44433
2009-09-28 03:51:23 +00:00
Robert Špalek
7ef17ba73e get rid of static Common::String's
svn-id: r44432
2009-09-28 03:06:43 +00:00
Robert Špalek
42e3c63b11 get rid of static Common::String's
svn-id: r44431
2009-09-28 02:54:38 +00:00
Robert Špalek
d0db596311 Fix rounding coordinates at the edge of the screen.
svn-id: r44430
2009-09-27 23:57:39 +00:00
Walter van Niftrik
725377f090 SCI: Fix scrolling in SCI1 list controls.
svn-id: r44429
2009-09-27 23:06:39 +00:00
Willem Jan Palenstijn
bec07b42a0 SCI: Remove directory prefix added by QfG3's char import
svn-id: r44423
2009-09-27 21:52:14 +00:00
Robert Špalek
a04881072a Reduce code duplication when cleaning animations
svn-id: r44422
2009-09-27 21:25:34 +00:00
Willem Jan Palenstijn
7971d77dd6 SCI: Adjust isValidOffset to match changes from r44396,
and make maxSize report the valid space starting at offset.

svn-id: r44421
2009-09-27 21:00:45 +00:00
Robert Špalek
caa3b6707e Improved the interface of Sprite and Animation concerning relative coordinates and scaling.
It is no longer needed to modify the underlying animations when drawing them
on the screen or testing pixels in them.  Read access is enough, because
the displacement of the object is passed as a parameter.

Added some more const's where they logically belong.

svn-id: r44419
2009-09-27 20:49:59 +00:00
Max Horn
460d7b269b Simplify kFormat slightly
svn-id: r44417
2009-09-27 19:24:18 +00:00
Max Horn
4edecad9db TINSEL: cleanup
svn-id: r44416
2009-09-27 19:23:44 +00:00
Robert Špalek
cf1031fc63 Fix renumbering of animation indexes
svn-id: r44414
2009-09-27 18:51:07 +00:00
Robert Špalek
fc2bb50600 Remove memory leak in animation manager. Get rid of 1 non-const reference parameter.
svn-id: r44413
2009-09-27 18:11:06 +00:00
Willem Jan Palenstijn
8c8b996f56 SCI: Add workaround for file mask used by QfG3
svn-id: r44411
2009-09-27 16:33:59 +00:00
Willem Jan Palenstijn
33e9b0baf9 SCI: turn assert into warning, as it used in QfG2 char import
svn-id: r44400
2009-09-27 14:18:21 +00:00
Vladimir Menshakov
1f8a06a0b8 added missing sound
svn-id: r44399
2009-09-27 13:48:51 +00:00
Willem Jan Palenstijn
4d31d0d725 SCI: Fix crash when opening menu's
svn-id: r44398
2009-09-27 13:08:56 +00:00
Willem Jan Palenstijn
08e4d96a7d SCI: clear strcpy's dest string if src is invalid.
This fixes moving the plank at the start of KQ6 in Text mode.

svn-id: r44397
2009-09-27 13:05:50 +00:00
Willem Jan Palenstijn
77751a0455 SCI: change segment offsets in reg segments to be in half reg_t.
This makes offsets in raw and reg segments consistent, which
fixes string addressing in savegame dialogs.

svn-id: r44396
2009-09-27 12:23:14 +00:00
Willem Jan Palenstijn
56e2e32268 SCI: clean up kStrAt
svn-id: r44394
2009-09-27 11:14:01 +00:00
Gregory Montoir
0f564aad81 TUCKER: add clipping for text drawing
svn-id: r44393
2009-09-27 10:36:45 +00:00
Gregory Montoir
1b1471e8da TUCKER: add missing compressed file close when version doesn't match
svn-id: r44392
2009-09-27 10:36:30 +00:00
Vladimir Menshakov
6ecf67b96f replace spaces with tabs
svn-id: r44390
2009-09-27 05:24:45 +00:00
Vladimir Menshakov
2f40ea11e6 added save()'s where needed
svn-id: r44389
2009-09-27 05:17:00 +00:00
Willem Jan Palenstijn
d3c1916384 SCI: Major string handling update.
All string access to segments should now work with both raw and non-raw
(reg_t) segments, using the new utility functions in segMan.

There will likely be regressions.

svn-id: r44388
2009-09-27 01:50:26 +00:00
Willem Jan Palenstijn
5d2d8c580a SCI: Add utility functions for copying data between raw/non-raw segments
svn-id: r44387
2009-09-27 01:49:56 +00:00
Willem Jan Palenstijn
933bdcf829 SCI: Add warning when dereferencing non-aligned stack pointer
svn-id: r44386
2009-09-27 01:49:35 +00:00
Willem Jan Palenstijn
f7d7140876 SCI: Ignore size argument to FILEIO_WRITE_STRING.
This matches LSL5's expectations when saving the password.

svn-id: r44385
2009-09-26 23:43:45 +00:00
Willem Jan Palenstijn
c12a78eaa8 SCI: Fix compile error with DEBUG_AVOIDPATH
svn-id: r44384
2009-09-26 22:56:15 +00:00
Willem Jan Palenstijn
be0b1e060b SCI: Fix regression in r44081 breaking walking in QfG2
svn-id: r44383
2009-09-26 22:55:24 +00:00
Willem Jan Palenstijn
a49da8381b SCI: Fix copy/paste error
svn-id: r44382
2009-09-26 22:50:35 +00:00
Florian Kagerer
00504a893b LOL/PC-98: fix menu colors
svn-id: r44381
2009-09-26 21:17:47 +00:00
Florian Kagerer
5d17bae120 LOL/PC-98: more fixes for text displayer and character inventory
svn-id: r44380
2009-09-26 18:25:36 +00:00
Martin Kiewitz
eb24b8e455 FLAC support had a typo in detection, fixed
svn-id: r44379
2009-09-26 16:03:16 +00:00
Vladimir Menshakov
7242428a04 commented out walkbox debug code.
svn-id: r44378
2009-09-26 15:05:47 +00:00
Vladimir Menshakov
605b6fd885 removed packed structs/direct read/writes, so the game should work on big-endian archs.
svn-id: r44377
2009-09-26 15:04:09 +00:00
Denis Kasak
27a638fa82 draci: Fixed bug in Surface::centerOn{X,Y}() which made it return a negative coordinate for strings that are too long. Resolves the crash caused by the English data files containing strings which are improperly line-breaked. Ideally, the engine should do the line-breaking itself when the string does not fit.
svn-id: r44376
2009-09-26 13:47:32 +00:00
Florian Kagerer
84accad507 LOL/PC-98: start fixing sequences (like broken arms inn and king richard getting poisoned)
svn-id: r44375
2009-09-26 13:17:11 +00:00
Paweł Kołodziejski
e46029e8c6 added option to allow control digital imuse tempo callback. it's related to volume fading, lip sync quality and platform resource costs.
svn-id: r44374
2009-09-26 09:31:05 +00:00
Paul Gilbert
a5df07f56a Bugfix for the dirty rects for drawn sprites when the sprite is partially off-screen
svn-id: r44372
2009-09-26 04:37:19 +00:00
Paul Gilbert
7f1b50f300 Dirty rects fix for pixels remaining on screen changes
svn-id: r44371
2009-09-26 04:13:44 +00:00
Florian Kagerer
73a4b7857f LOL/PC-98: fixed gui colors (money stash, live and magic bars, scroll)
svn-id: r44370
2009-09-25 22:07:34 +00:00
Florian Kagerer
77a27acf83 LOL/PC-98: fixed dialoge box sizes
svn-id: r44369
2009-09-25 21:33:00 +00:00
Florian Kagerer
229aee065c LOL/PC-98: start fixing text displayer
svn-id: r44363
2009-09-25 18:56:53 +00:00
Robert Špalek
431780297e Added some more const's to the interface of Dragon History
svn-id: r44362
2009-09-25 17:33:00 +00:00
Filippos Karapetis
180b3f1247 Create a define for the special "signal" offset used throughout the engine, and fixed the arbitrary 0 values from commit #44294, set when some math functions do invalid calculations
svn-id: r44359
2009-09-25 16:15:57 +00:00
Max Horn
2fe6b32968 SCI: Remove EngineState::game_version, it was only used for saving anyway. Also remove syncCStr()
svn-id: r44358
2009-09-25 13:02:11 +00:00
Max Horn
78d2ea9fcf SCI: Fix a memory leak
svn-id: r44357
2009-09-25 13:01:50 +00:00
Max Horn
4221773f6a SCI: Pedantic cleanup
svn-id: r44356
2009-09-25 13:01:35 +00:00
Max Horn
f91f4d4186 Patch #2858137 and fix for bug #2855359: fmt_fnt.rom font loading failure is ignored
svn-id: r44346
2009-09-25 11:39:22 +00:00
Filippos Karapetis
d72ad75c52 Reverted commit #44316, as colors show up correctly now without dithering. Dithering is now off again for SCI0 by default, an can optionally be turned on
svn-id: r44339
2009-09-25 10:11:31 +00:00
Filippos Karapetis
e296cef9be Created a macro for lround(), for non-C99 compilers, and used that in places where lround() is used
svn-id: r44337
2009-09-25 09:48:43 +00:00
Max Horn
adaf3ec8b4 SCUMM: Rename _bitDepth to _bytesPerPixel
svn-id: r44336
2009-09-25 09:13:33 +00:00
Robert Špalek
f51c81f344 Add const's to many interfaces of engines/draci/
svn-id: r44331
2009-09-25 08:13:39 +00:00
Filippos Karapetis
a74a9c6c01 Silenced some warnings
svn-id: r44329
2009-09-25 07:06:55 +00:00
Filippos Karapetis
7106caca81 Replaced the C99 lround() with floor(), to get draci to compile under non-C99 compilers (e.g. VS)
svn-id: r44328
2009-09-25 07:05:26 +00:00
Robert Špalek
edd338b229 Make engines/draci/ compilable after merging from a branch
svn-id: r44327
2009-09-25 06:43:33 +00:00
Robert Špalek
94b823fcc7 MERGE branch gsoc2009-draci 41388:44325 into trunk
svn-id: r44326
2009-09-25 06:22:54 +00:00
Johannes Schickel
902e0699b1 Add comment about why r44322 was needed.
svn-id: r44323
2009-09-25 01:00:34 +00:00
Johannes Schickel
ec040488b7 Implement proper overflow handling in Gdi::writeRoomColor for Indy4 Amiga as described in #1294513 "FOA/Amiga: Palette problem (Regression)".
svn-id: r44322
2009-09-25 00:50:51 +00:00
Johannes Schickel
506fceeb9d Attempt to fix bug #2838205 "MONKEY: Palette glitches in Amiga version" as described on the tracker item.
svn-id: r44321
2009-09-25 00:31:46 +00:00
Willem Jan Palenstijn
10b6349291 SCI: When setting global palette, map all unused colours to index 0.
This fixes white artifacts outside the bar in the SQ4CD intro,
but might cause regressions elsewhere.

svn-id: r44320
2009-09-24 23:54:48 +00:00
Willem Jan Palenstijn
825421108b SCI: Delete unused function declaration
svn-id: r44319
2009-09-24 23:54:30 +00:00
Max Horn
881eee8105 SCI: Fix spelling
svn-id: r44318
2009-09-24 22:10:39 +00:00
Willem Jan Palenstijn
e183222df3 SCI: Fix flat dithering by permuting the blended palette so that the EGA colours are the first 16 entries
svn-id: r44317
2009-09-24 21:37:54 +00:00
Filippos Karapetis
842602ee8c Set dithering to the FreeSCI "enhanced" style by default for SCI0 games, as disabling dithering makes some colors not show up correctly (e.g. the trees in Iceman and LSL3). Dithering can still be disabled on a per-game basis by using the "dither_mode" option
svn-id: r44316
2009-09-24 19:38:02 +00:00
Filippos Karapetis
7820605450 Oops, DoNextFrame() is supposed to return a value
svn-id: r44315
2009-09-24 17:59:19 +00:00
Filippos Karapetis
b4f1960318 Reverted parts of revisions #44298, #44299 and #44300, to prevent warnings and issues in compilers which don't support NORETURN
svn-id: r44314
2009-09-24 17:52:53 +00:00
Johannes Schickel
0ea3cde160 Turn an error into a warning.
svn-id: r44313
2009-09-24 17:28:14 +00:00
Filippos Karapetis
a983c88e37 Reverted parts of revisions #44292, #44293, #44295 and #44296, to prevent warnings and issues in compilers which don't support NORETURN
svn-id: r44312
2009-09-24 17:24:42 +00:00
Filippos Karapetis
5028d5a68b Reverted my commit #44290 - apparently, it was a bad idea, as g_engine is a hack
svn-id: r44311
2009-09-24 17:07:27 +00:00
Johannes Schickel
9ab801bec6 Fixed bug in Engine::flipMute, whiched prevent the game from being muted the first time flipMute is called, when there's no "mute" config entry.
svn-id: r44308
2009-09-24 16:17:52 +00:00
Johannes Schickel
e56dbf68be Changed some code to follow our guidelines.
svn-id: r44307
2009-09-24 16:17:25 +00:00
Johannes Schickel
f2a07d7ae9 Fix what looks like a typo in the condition, which checks for a divide by zero.
svn-id: r44306
2009-09-24 14:07:02 +00:00
Johannes Schickel
b2817fdb7d Add the "FIXME" comment at "g_engine" from engine.cpp to "g_engine" in engine.h too.
svn-id: r44305
2009-09-24 14:02:05 +00:00
Johannes Schickel
ade3204b56 Fix warnings.
svn-id: r44304
2009-09-24 13:59:09 +00:00
Filippos Karapetis
2dbd096dd5 Changed _script to be a pointer, in order to control its creation/destruction, like the rest of the groovie engine parts, and resolve a potential issue that Microsoft claims to be severe (warning C4355, read more here: http://msdn.microsoft.com/en-us/library/3c594ae3.aspx)
svn-id: r44303
2009-09-24 10:58:00 +00:00
Filippos Karapetis
1cc326dda0 Changed make_reg to accept the same type of parameters as a reg_t does - i.e. 16-bit integers, instead of 32-bit ones
svn-id: r44302
2009-09-24 10:30:05 +00:00
Filippos Karapetis
f2c4bd514f Changed createResFileEntry() to error out again
svn-id: r44301
2009-09-24 10:24:12 +00:00
Filippos Karapetis
6b79910bcb Fixed some more warnings about unreachable code
svn-id: r44300
2009-09-24 10:15:50 +00:00
Filippos Karapetis
16d7d9ba23 Fixed some more warnings about unreachable code
svn-id: r44299
2009-09-24 10:02:13 +00:00
Filippos Karapetis
9026b63503 AGOS: Fixed some warnings about unreachable code
svn-id: r44298
2009-09-24 09:53:51 +00:00
Filippos Karapetis
c91f5759b9 MADE: Fixed some warnings about unreachable code
svn-id: r44296
2009-09-24 09:51:26 +00:00
Filippos Karapetis
3a976bfb6f TINSEL: Fixed some warnings about unreachable code
svn-id: r44295
2009-09-24 09:50:22 +00:00
Filippos Karapetis
fbe1586abc The maximum value that a signed 16-bit integer can hold is 32767, not 32768 (0x8000)
svn-id: r44294
2009-09-24 09:41:11 +00:00
Filippos Karapetis
db63b401a6 CRUISE: Fixed some warnings about unreachable code
svn-id: r44293
2009-09-24 09:40:12 +00:00
Filippos Karapetis
fe7a64d467 Removed some warnings about unreachable code
svn-id: r44292
2009-09-24 09:01:33 +00:00
Filippos Karapetis
c6d2190d2d Add "demo" to the extras field of the fallback detector for demos
svn-id: r44291
2009-09-24 07:18:38 +00:00
Filippos Karapetis
a70351e5ea Changed some references from LureEngine to the global g_engine (e.g. calls to shouldQuit()), to minimize places where LureEngine is referenced
svn-id: r44290
2009-09-24 06:53:03 +00:00
Travis Howell
f6cdfde2f7 Add VGA script code differences in DIMP.
svn-id: r44288
2009-09-24 04:14:41 +00:00
Travis Howell
f9692d47cf Correct tags.
svn-id: r44286
2009-09-24 03:53:06 +00:00
Travis Howell
48cce58ab5 Split the script opcode table for DIMP, since it doesn't match(ie timers) other Puzzle Pack games.
svn-id: r44285
2009-09-24 03:41:45 +00:00
Filippos Karapetis
2c438b4304 Commented out unused variable
svn-id: r44284
2009-09-24 02:56:37 +00:00
Travis Howell
c4f6d91777 Fix bug #2865191 - NoPatience hangs after undo.
svn-id: r44281
2009-09-24 00:38:29 +00:00
Paweł Kołodziejski
227e4e65df fix for bug #2820389
svn-id: r44274
2009-09-23 13:22:12 +00:00
Johannes Schickel
c05c5fca03 Commit modified patch from bug report #2849084 "AGI: Crash when saving fallback-matched game" to fix that bug.
svn-id: r44273
2009-09-23 13:17:08 +00:00
Paweł Kołodziejski
e6580be475 not need continue checks after found
svn-id: r44272
2009-09-23 13:04:51 +00:00
Max Horn
ba0bd938e4 SCI: Rename _sciVersion to s_sciVersion and made it local to resource.cpp (i.e. follow CFG and achieve code/data isolation)
svn-id: r44271
2009-09-23 12:12:37 +00:00
Paul Gilbert
92e75a768a Removed redundant offset from dirty rect calculation logic
svn-id: r44270
2009-09-23 10:58:17 +00:00
Filippos Karapetis
13ad217cdd - Moved the SCI version in a global variable
- Changed all the SCI version checks to use getSciVersion()
- Also made getSciVersionDesc a global function (removes some ugly accessing of the SCI engine)

The fallback detector should work correctly now

svn-id: r44269
2009-09-23 10:55:35 +00:00
Paweł Kołodziejski
63208a20fd ops, remove some ancient change
svn-id: r44268
2009-09-23 10:49:18 +00:00
Paweł Kołodziejski
66df660e2a this should fix bug #2820389
svn-id: r44267
2009-09-23 10:40:13 +00:00
Johannes Schickel
c50940bbf4 Got rid of Common::File::addDefaultDirectory, instead implemented the solution proposed in "Case agnostic handling for directories (and files)" on -devel.
svn-id: r44266
2009-09-23 00:15:00 +00:00