Commit Graph
58 Commits
Author SHA1 Message Date
AndywinXp 83fb0dc7f0 SCUMM: COMI: Fix debug message appearing in the wrong channel 2022-09-14 23:10:17 +02:00
AndywinXp a952852d8c SCUMM: Properly sync options between original and ScummVM GUIs
This also changes the talk delay to be the inverse value (which means the text speed),
like for the original games. This particular change has been tested to be working on all
SCUMM games in my possession, so we should not have any regressions and it accounts
for work already done for future original GUIs.
2022-08-06 13:33:56 +02:00
AndywinXp 5b58afff61 SCUMM: COMI: Fix texts/objects glitch when exiting through main menu 2022-08-06 13:33:56 +02:00
AndywinXp fb2fcbf30e SCUMM: COMI: Implement savegame thumbnails 2022-08-06 13:33:56 +02:00
AndywinXp 759ae2e47e SCUMM: COMI: Set keyScript parameters in case they are missing at loading 2022-08-06 13:33:56 +02:00
AndywinXp fabaeb4b83 SCUMM: COMI: Implement original GUI 2022-08-06 13:33:56 +02:00
AndywinXp 1e9d51c28a SCUMM: COMI: Implement the original main menu
Every functionality has been implemented (audio options, text options, saving and loading).
The only thing currently missing from the menu is the thumbnail handling.
2022-08-06 13:33:56 +02:00
AndywinXp a3f1285dc9 SCUMM: COMI: Implement o8_cameraOps
It had remained stubbed for who knows how long :) This fixes a class of bugs in which
the game requested the camera to be frozen, like for example while the inventory box is shown.
2022-06-03 19:27:18 +02:00
athrxx acb665c109 SCUMM: (SCUMM7/8) - cleanup (text) verb drawing and Hebrew right-to-left drawing
(SCUMM7/8 only)
2022-04-08 19:53:44 +02:00
athrxx 78835f0318 SCUMM: (SCUMM7/8) - start cleaning up text verb drawing
(this commit actually makes more of a mess than it cleans up anything and it also kills Hebrew, but it's easier for me not to squash this)
2022-04-08 19:53:44 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Andrea Boscarino f731cfd648 SCUMM: DiMUSE: New Digital iMUSE Engine (#3368)
SCUMM: DiMUSE: Add new implementation of the engine
2021-11-16 00:05:18 +01:00
Andrea Boscarino 5dfe57d230 SCUMM: COMI: Attempt at a proper fix to getStringWidth 2021-08-16 17:46:09 +02:00
Andrea Boscarino 4f98ab5789 SCUMM: COMI: Fix getStringWidth behavior 2021-08-16 17:46:09 +02:00
Orgad Shaneh c8fc484c37 SCUMM: Fix X-range of selection for Hebrew on scumm<7
curRect.left is assigned in the script, and it is not modified. right is
assigned with the screen width - original left.

This results in bad highlighting of the verbs all over the line width,
instead of being limited to the actual string.

Due to that, sometimes the selection range of the up/down arrows overlaps
with some of the verbs, and then these verbs cannot be selected.

Solve by storing the original left value, and using it as initial x
position for the string (the actual right-to-left manipulation is done in
drawString()), and modify the value of curRect.left to match the string
that was actually drawn.

This bug is similar to the one that was fixed in 58e921eb87, but the
solution that was done there for v7 and v8 cannot work here, because the
string logic is much more complicated.
2021-04-26 21:26:41 +03:00
Orgad Shaneh 58e921eb87 SCUMM: Fix wrong rect for verbs on Hebrew
The value of left is applied from the script all the time, and was
replaced in drawVerb.

The problem with this approach is that redrawVerbs maps the mouse
location to verb index *before* calling drawVerb, so the rectangles it
compares against are invalid in X-axis (right is always _screenWidth -
1, and left is always 5).

This caused several bugs:
* Each verb was clickable all over the screen's width, although it was
  not highlighted.
* If the mouse was between 2 verbs, long above short, the Y-axis has 6
  overlapping pixels (e.g. 1: 330-360, 2: 354-384). Scanning is done
  bottom-up, so 1 was highlighted, but 2 was selected because of the
  previous bullet.
* The text on Hebrew was aligned to the right without any padding. Other
  languages have left = 5.

Fixed by setting right instead of left when applying the script, and
adjusting left in drawVerb. Other languages are not affected.

Another issue, unrelated to language selection: A verb that was split to
2 lines was clickable all over the screen's width. That's because
curRect.right was set beyond the _screenWidth, and it was not trimmed to
the first (longer) line's length. On Hebrew, curRect.left became
negative. This is also fixed in this commit.
2021-03-08 11:57:30 +02:00
sluicebox 93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02:00
Johannes Schickel 3847465163 SCUMM: Make GPL headers consistent in themselves. 2014-02-18 02:39:38 +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
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn 42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00
Max Horn a7248a0601 ENGINES: Replace many printfs by warning/debug/debugN
svn-id: r54031
2010-11-01 21:37:47 +00:00
Max Horn 99df028d35 SCUMM: Got rid of o6_invalid
svn-id: r39957
2009-04-16 09:27:02 +00:00
Max Horn 432e7917a5 SCUMM: Switched opcode tables to use Common::Functor0 (a bit like Kyra does it)
svn-id: r39956
2009-04-16 09:26:37 +00:00
Max Horn 6f4b567124 SCUMM: Split intern.h into multiple headers
svn-id: r39567
2009-03-20 16:33:58 +00:00
Travis Howell 501b321532 Revert talkspeed changes, while still only using the game specific talkspeed setting (if it exists). And clarify the talkspeed differences between games in the README.
svn-id: r36299
2009-02-13 10:04:17 +00:00
Travis Howell 954a1d27d8 Fix talkspeed settings again.
svn-id: r35821
2009-01-11 06:51:17 +00:00
Max Horn d4853dd9e8 Patch #2060517: SCUMM: engine sets incorrect talkspeed value
svn-id: r34596
2008-09-17 18:56:13 +00:00
Christopher Page e9c6b03fc7 SCUMM works with new GMM implementation
svn-id: r33001
2008-07-11 01:22:37 +00:00
Max Horn 5fb7f7a4d6 Commited updated version of my own patch #1868402: Basic savestate plugin API
svn-id: r30786
2008-02-04 10:15:21 +00:00
Jordi Vilalta Prat d6c34bdc4b Fixed the spaces before tabs.
svn-id: r30667
2008-01-28 00:14:17 +00:00
Nicola Mettifogo 258901bab9 Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
svn-id: r28966
2007-09-19 08:40:12 +00:00
Max Horn 218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00
Gregory Montoir 642fa67da9 Added code for decodeParseString.SO_PRINT_WRAP and rewrote the CHARSET_1 function in order to match the original V8 interpreter. This should fix bugs #1036707 and #1662610 (subtitles word wrapping issues).
svn-id: r26516
2007-04-15 20:36:44 +00:00
Gregory Montoir 15e2af8e9d 'fixed' o_blastText and updated a comment
svn-id: r25396
2007-02-05 22:47:22 +00:00
Max Horn c32c50122a oops, no idea how that happened
svn-id: r25206
2007-01-26 20:42:35 +00:00
Max Horn 78380da9e8 removed unused var, added comment to SO_CHARSET_COLOR case
svn-id: r25200
2007-01-26 13:08:22 +00:00
Travis Howell cbd16b110f SO_CHARSET_COLOR is a no-op in the original COMI disasm.
svn-id: r25197
2007-01-26 09:26:20 +00:00
Travis Howell 5424198c82 Allow load of saved game from original COMI load/save screens
svn-id: r24835
2006-12-11 06:12:12 +00:00
Max Horn c210aff40c * Made Actor::_pos protected, added public Actor::getPos() method
* Added default params to Actor::putActor()
* Removed Actor::getActorXYPos

svn-id: r24742
2006-11-19 00:39:48 +00:00
Max Horn db1fc75012 SCUMM cleanup
svn-id: r24612
2006-11-04 22:59:56 +00:00
Max Horn 5e9041b1b5 SCUMM: ArrayHeader related cleanup
svn-id: r24395
2006-10-20 19:44:27 +00:00
Max Horn 84874caf06 Got rid of ScummEngine::_confirmExit, and some other minor cleanup
svn-id: r24319
2006-10-15 00:50:22 +00:00
Paweł Kołodziejski e85ab4b10f now SmushPlayer is class created once same as SmushMixer while scumm engine creation. this allow finish play smush audio track finished to the end instead immediately stopped as it was happen before
svn-id: r24263
2006-10-10 12:16:21 +00:00
Max Horn 51017cf1b2 Renamed ScummEngine::res to _res and allocate the ResourceManager on the heap (i.e. _res is a pointer now)
svn-id: r23922
2006-09-17 20:36:48 +00:00
Max Horn 8c0b0c0120 Changed ScummEngine::gdi to _gdi and allocate the Gdi object on the heap (i.e. _gdi is a pointer now)
svn-id: r23921
2006-09-17 20:22:47 +00:00
Max Horn b860f002b2 Replaced checkRange by assertRange, which has (a) an (IMO) more logical order of parameters, and (b) removes lots of useless duplicate information in error messages
svn-id: r23885
2006-09-16 13:38:43 +00:00
Travis Howell fc26d9b413 Update talkspeed config setting, when set by game scripts
svn-id: r22854
2006-06-03 04:10:14 +00:00
Travis Howell 93a91f9c6d Update talkspeed config setting, when set by game scripts
svn-id: r22853
2006-06-03 03:51:17 +00:00
Travis Howell 61e9bc72e4 Correct setting of VAR_CHARINC in several functions, the value should only be reversed when using keyboard shortcuts (Due to the scrollbar)
svn-id: r22850
2006-06-03 03:04:19 +00:00