Commit Graph

1114 Commits

Author SHA1 Message Date
Eugene Sandulenko
9d087cb314 AGI: Null terminate string. CID 1003890 2013-04-27 08:46:24 +03:00
Eugene Sandulenko
4e7a117cd2 AGI: Null terminate string. CID 1003889 2013-04-27 08:44:20 +03:00
Eugene Sandulenko
b47c50a703 AGI: Null terminate string. CID 1003888 2013-04-27 08:43:06 +03:00
Willem Jan Palenstijn
b91da80756 AGI: Fix delete/delete[] 2013-04-21 15:34:22 +02:00
Eugene Sandulenko
4a17b91db2 AGI: Fix sound deinit. CID 1004128
We really left sound gen leaked with preagi games.
2013-04-21 14:12:13 +03:00
Max Horn
34aaac0a1e AGI: Silence another clang var
Reading an array without using the resulting value has no effect.
In any case, this code still looks like it may be broken, so somebody
who knows more about AGI should perhaps investigate this closer.
2013-04-18 23:50:21 +02:00
Max Horn
4fb289e346 AGI: Get rid of unused SoundMgr parameters 2013-04-18 23:50:19 +02:00
Willem Jan Palenstijn
e4a9717434 AGI: Fix typo in issetv opcode
This fixes bug #3611262
2013-04-18 14:53:34 +02:00
Johannes Schickel
b4d0a8ba66 JANITORIAL: Enforce "} // End of namespace" with a single space after }. 2013-01-26 19:38:02 +01:00
Johannes Schickel
fa967e92b7 AGI: Silence C++11 narrowing warning. 2013-01-09 07:24:37 +01:00
Filippos Karapetis
ffa5f637c8 AGI: Fix the Apple IIGS versions of Manhunter 1 and Gold Rush
Both games use an additional parameter for show.mouse and hide.mouse.
Ignoring these confused the script parser, which started parsing junk.
Fixes bugs #3577754 and #3426946.
2012-11-07 02:00:05 +02:00
Filippos Karapetis
05ff55e162 AGI: Some cleanup of the debug console
- Merge the two different room debug commands in Mickey
- Remove the "crc" stub console command
2012-11-06 20:44:09 +02:00
Johannes Schickel
89abab97e3 JANITORIAL: Remove trailing whitespaces.
Powered by:
git ls-files "*.cpp" "*.h" "*.m" "*.mm" | xargs sed -i -e 's/[ \t]*$//'
2012-09-26 04:17:55 +02:00
Alyssa Milburn
067db748e4 AGI: Replace detector printf usage with logMessage. 2012-08-15 09:51:55 +02:00
Johannes Schickel
49fafb48a7 GUI: Refactor default savegame description creation.
Formerly the GMM, AGI and SCI duplicated the logic for USE_SAVEGAME_TIMESTAMP.
Now I added a method to SaveLoadChooser instead, which takes care of this. This
might not be the best placement of such a functionality, thus I added a TODO
which talks about moving it to a better place.
2012-06-10 05:04:59 +02:00
Johannes Schickel
7c5cf1b400 GUI: Add helper to SaveLoadChooser, which uses the currently active target.
This reduces the code duplication in all client code, which formerly duplicated
the querying of the plugin, game id etc. and now simply calls the newly added
method runModalWithCurrentTarget() on a SaveLoadChooser object.
2012-06-10 04:53:17 +02:00
Johannes Schickel
15046a7529 GUI: Get rid of SaveLoadChooser::setSaveMode.
We already pass the title and process button name to the constructor of
SaveLoadChooser and then do not offer any way of changing it, thus changing
the edit mode of the chooser is kind of pointless and was never actually used.
Instead we pass the mode on SaveLoadChooser construction now.
2012-06-10 04:19:45 +02:00
Filippos Karapetis
d6bedc8a36 AGI: Proper handling of the cancel button when saving/loading 2012-05-03 01:20:06 +03:00
Filippos Karapetis
5e10737015 AGI: Add played time information to saved games 2012-03-27 00:50:29 +03:00
Filippos Karapetis
85ca13db4b AGI: Use the ScummVM dialogs for saving/loading
An option has been added to use the original ones, if needed
2012-03-27 00:21:50 +03:00
D G Turner
bbe686c507 AGI: Fix compilation on NDS, broken due to predictive text changes. 2012-03-26 01:09:15 +01:00
Oleksiy Kurochko
ec32ccb6d6 GUI: Move predictive dialog to common gui 2012-03-25 12:21:38 +03:00
Max Horn
215b41b244 COMMON: Move RenderMode and GUIOptions functionality into separate files 2012-02-26 15:19:31 +01:00
Johannes Schickel
442bcb7d3e ALL: Fix some signed/unsigned comparison warnings. 2012-02-22 20:20:55 +01: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
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
Tarek Soliman
921f602ab8 JANITORIAL: Fix whitespace in pointer template arg 2012-02-15 10:07:08 -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
beb1f5b316 AGI: Fix bug #3451122 - "AGI-FANMADE: Nick's Quest hangs ScummVM upon starting" 2012-01-07 18:56:23 +02:00
Willem Jan Palenstijn
d4a81009e4 AGI: Fix stuck next button when switching back to predictive mode 2012-01-06 23:38:41 +01:00
Willem Jan Palenstijn
8c7cd344c7 AGI: Clean up predictive matching
Specifically:
* Don't enable the 'next' button in predictive mode when we don't have a
  full match. Doing this didn't make sense since you'd iterate over a
  seemingly arbitrary set of completions instead of all possible ones.
* Do only a single binary search.
* Fix the width of the mode button for mouse press detections.
2012-01-06 23:28:45 +01:00
Willem Jan Palenstijn
43e2fde7a9 AGI: Fix ignoring some exact matches in predictive input
The matcher now always tries an exact match before trying an inexact one.
Together with 41ba2433f, this fixes bug #3470080.
2012-01-06 11:22:06 +01:00
Willem Jan Palenstijn
41ba2433f5 AGI: Fix predictive input binary search
Note that there are still issues with this input mode. If the binary
search hits a prefix match before finding the full match, it won't
recognize the full match. (Example: typing "buy" will show "buz"
because it's aiming for "buzzard" without realizing "buy" exists.)
2012-01-06 09:45:11 +01:00
David Turner
538d834080 Merge pull request #131 from digitall/goto_considered_harmful
Goto Considered Harmful...

The following commits should improve the ScummVM code structure by reducing the number of gotos used in various engine code.

They should implement identical functionality, but without using goto and without the result being less readable/maintainable than the version with goto.
2011-12-18 18:29:05 -08:00
Filippos Karapetis
d6ee5988d2 Merge pull request #137 from fingolfin/various-cleanup
Various cleanup
2011-12-13 03:12:43 -08:00
Eugene Sandulenko
22d3118aff AGI: Fix bug #3095169: AGI inventory items 2011-12-13 00:39:50 +00:00
Max Horn
00e6ab43f8 AGI: Add FIXME to cmdCallV1 2011-12-12 17:24:06 +01:00
Max Horn
6310cce74e AGI: Remove two unused pure virtual methods
This avoid warnings, as these methods were being hidden by methods in subclasses
with differing signatures.
2011-12-12 17:17:49 +01:00
D G Turner
f722542cee AGI: Replace usage of 'goto'. 2011-12-10 20:12:35 +00:00
Christoph Mallon
a78b2d777d JANITORIAL: Remove extra semicolons. 2011-11-27 12:54:22 +01:00
Strangerke
bab4b6f729 LAUNCHER: Introduce GUIO0() in order to replace GUIO1(GUIO_NONE) 2011-11-16 22:38:58 +01:00
Johannes Schickel
c5ff6b431b AGI: Change two local SharedPtr uses to ScopedPtr.
I took the opportunity to add two CHECKMEs to the code, which seems to load a
file into memory for no real apparent reason.
2011-11-16 20:31:22 +01:00
Filippos Karapetis
d3858c359f AGI: Commented out if statements that always evaluate to true 2011-11-03 22:55:22 +02:00
Filippos Karapetis
056c3992eb AGI: Commented out if statements that always evaluate to true 2011-11-03 22:36:34 +02:00
Eugene Sandulenko
d0bb81f566 AGI: Fix warnings 2011-11-02 22:20:40 +00:00
Eugene Sandulenko
f6a9c6727d AGI: Fix buffer overflow 2011-11-02 22:20:27 +00:00
Eugene Sandulenko
32972a5ffb AD: Switched rest of the engines to new GUIO 2011-10-23 17:53:13 +01:00
Filippos Karapetis
dbd5ffaf34 AGI: Refine commit #69c705a to always pick the longest matching phrase
Thanks to wjp for his observation in the original commit
2011-10-16 14:36:38 +03:00
Filippos Karapetis
69c705a019 AGI: Fixed bug #3424066 - "LSL1 AGI: Password Glitch"
We should not stop looking when a partial sentence match is found, as a
better match might exist later on. In this case, there were two matching
sentences, "Ken" (which is wrong in this case) and "Ken sent me" (which
is correct, but was never reached as the partial match was returned
first)
2011-10-16 01:11:15 +03:00
Filippos Karapetis
97eb354672 AGI: Fixed bug #3420859 - "AGI: SQ0 - Scummvm Crash"
The length requested in this case is 250, which overflows a char variable
2011-10-10 02:12:48 +03:00
Filippos Karapetis
3fb2973ed5 AGI: Fixed several incorrect substitutions of "game" with "_game" 2011-09-26 15:42:31 +03:00
Willem Jan Palenstijn
bff2e73dc1 AGI: Fix style 2011-09-26 14:31:04 +02:00
Filippos Karapetis
91e51dc510 AGI: Removed leftover dead code 2011-09-26 15:27:05 +03:00
Filippos Karapetis
420c9f5550 AGI: Fixed invalid memory writes in wordWrapString() 2011-09-26 15:22:48 +03:00
Filippos Karapetis
686a328b48 AGI: Fixed the line changing code, and added EOL checks
The extra checks make sure that there isn't an extra line added at the
end of the string. They're added as a precautionary measure
2011-09-26 15:21:04 +03:00
Filippos Karapetis
397b4968d9 AGI: Rewrote cmdVersion() to use Common::String
This simplifies the code and avoids heap corruption because of the long
version string
2011-09-26 15:15:39 +03:00
Filippos Karapetis
cf071732b1 AGI: Cleanup, added some comments, removed an obsolete FIXME 2011-09-26 12:11:55 +03:00
Willem Jan Palenstijn
7d8bba26eb AGI: Add FIXME for wordwrap buffer overflow 2011-09-26 10:45:31 +02:00
Willem Jan Palenstijn
c442295b9f AGI: Clean up save/load String usage 2011-09-26 09:27:15 +02:00
Filippos Karapetis
3eb8c9f123 AGI: Fixed the description of KQ2 Amiga (bug #3191496) 2011-09-26 05:38:18 +03:00
Filippos Karapetis
2be8db90ee AGI: Fixed bug #3196882 - "KQ3: PCSpeaker affects render mode" 2011-09-26 05:23:42 +03:00
Filippos Karapetis
5dbb51db6d AGI: Marked 4070342 as a workaround 2011-09-26 04:29:41 +03:00
Filippos Karapetis
40703426c9 AGI: Fix for bug #3018770 - "AGI: PQ1: Flickering newspaper" 2011-09-26 04:23:03 +03:00
Filippos Karapetis
62c8d82560 AGI: Fixed the actual cause of bug #3295652, and partially fixed bug #3080415 2011-09-26 03:50:58 +03:00
Filippos Karapetis
ba7d71d553 AGI: doUpdate() already calls updateScreen() 2011-09-26 01:43:14 +03:00
Filippos Karapetis
81fdf2c103 AGI: Fixed bug #3074570 - "AGI LSL1: TAB stops working after restart"
Applied eriktorbjorn's patch from that bug tracker item (slightly
modified), which is what NAGI does, and which fixes restarting in LSL1
and PQ1 (bug #2823762), and other AGI games that do not reset the
controller keys when restarting.
2011-09-26 00:56:10 +03:00
Filippos Karapetis
bd6a05bdd4 AGI: Fix bug #3080041 - "AGI Mother Goose: White bar in intro" 2011-09-26 00:11:45 +03:00
Filippos Karapetis
310fe0a546 AGI: Fix compilation 2011-09-25 22:23:22 +03:00
Filippos Karapetis
453fab3de1 SCI: Added a workaround for bug #3295652 - "AGI: (Fan) SQ0: Animation overdraws some of the text window" and removed some duplicate code 2011-09-25 21:27:12 +03:00
Filippos Karapetis
0e4b35a8e8 AGI: Switched to Common::String in the save/load code 2011-09-25 21:25:25 +03:00
Filippos Karapetis
c8777b774f AGI: Rewrite getSavegameFilename() so that it doesn't try to return a pointer to a local variable 2011-09-25 19:33:01 +03:00
Filippos Karapetis
b56c5cc370 AGI: Fixed EOF in text.cpp 2011-09-25 18:47:17 +03:00
Filippos Karapetis
bc3c68c508 AGI: Fixed bug #3292784 - "AGI: SQ2: Name forgotten after game restart"
The string buffer should not be cleared on game restart, as game scripts
depend on it being maintained unchanged during restart.
2011-09-25 18:39:22 +03:00
Filippos Karapetis
0779018484 AGI: Bugfix for script bug #3116541 - "AGI FAN Beyond the Titanic 2: Crash on Item Viewing" 2011-09-25 18:37:37 +03:00
Filippos Karapetis
c02603fce2 AGI: Replaced odd usage of sprintf() with strcpy()
Fixes an odd bug with savegame names being truncated in MSVC
2011-09-25 18:36:33 +03:00
Filippos Karapetis
18a0214672 AGI: Resolved an old FIXME concerning OOB access 2011-09-25 18:35:37 +03:00
Filippos Karapetis
a1c4aa6d89 AGI: Fixed typo in restart dialog 2011-09-25 18:34:35 +03:00
Filippos Karapetis
85213cdb32 AGI: Cleanup of some detection entries 2011-09-25 18:15:30 +03:00
Filippos Karapetis
cfa262b1b7 AGI: Add some comments regarding save slot 0, and use the default SaveStateDescriptor constructor 2011-09-25 15:10:43 +03:00
Filippos Karapetis
d01d228ee8 AGI/COMMON: Fixed bug #3407308 - "AGI: SQ2: Saving allowed in autosave slot 0 from scummvmmenu"
The save/load dialog code was not polling for meta info for empty slots
2011-09-25 15:03:02 +03:00
Eugene Sandulenko
4e83a49b0f AGI: Fix bug #3398171: AGI: SQ1/SQ2: problem entering name
Was introduced during refactoring to SCI-like opcode handling.
Also restored original comments about opcode parameter differences
between AGI versions.
2011-08-27 23:43:46 +01:00
Matthew Hoops
6f83052b40 AGI: Cleanup PreAGI console code 2011-08-15 22:24:42 -04:00
Matthew Hoops
62aabc57e4 AGI: Reorganize the PreAGI code a bit 2011-08-15 11:55:03 -04:00
Matthew Hoops
6a9d4b3e5b AGI: Make Troll inherit from PreAgiEngine 2011-08-15 11:55:03 -04:00
Matthew Hoops
cb43e9694b AGI: Make Mickey inherit from PreAgiEngine 2011-08-15 11:55:03 -04:00
Matthew Hoops
fcd0cda9a9 AGI: Make Winnie inherit from PreAgiEngine 2011-08-15 11:55:01 -04:00
Eugene Sandulenko
b83cf61bfb Checked V1 instructions till 0x42 2011-08-14 21:40:07 +01:00
Eugene Sandulenko
273e37f726 AGI: Renamed some #defines to our code conventions and moved them to enums 2011-08-14 18:48:59 +01:00
Matthew Hoops
40f40303ef AGI: Enable sound support for Winnie DOS 2011-08-14 13:14:37 -04:00
Matthew Hoops
de6390dddb AGI: Make the sound code use AgiBase instead of AgiEngine
In preparation of using the sound code with Winnie
2011-08-14 13:10:43 -04:00
Eugene Sandulenko
46354d5772 AGI: Switched booters detection to AD 2011-08-13 23:27:34 +01:00
Eugene Sandulenko
3cb41b5dfc AGI: Checked V1 instructions till 0x2c 2011-08-13 23:27:32 +01:00
Eugene Sandulenko
be9c5c0427 AGI: Checked V1 instructions till 0x20 2011-08-13 23:27:29 +01:00
Eugene Sandulenko
3fb50b815e AGI: Further work on v1 opcode difference 2011-08-13 23:27:27 +01:00
Jussi Pitkanen
af691e46c4 AGI: Updates to V1 instruction table, plus an outcommented experiment
The experiment tries to implement the program control of the V1 interpreter.
Maybe it is better to add another method for doing that once the workings of
it are more clear.
2011-08-13 23:27:24 +01:00
Jussi Pitkanen
1dbe5bfccf AGI: Implement loader for V1 "object" file 2011-08-13 23:27:22 +01:00
Jussi Pitkanen
d2f9087f20 AGI: Fix warning messages about undefined opcodes 2011-08-13 23:27:20 +01:00
Jussi Pitkanen
e4a1193d22 AGI: Add last undefined V1 test command that tests if a bit of var is set
Also fix skipInstruction() for V1.
2011-08-13 23:27:17 +01:00
Jussi Pitkanen
2289ba88b6 AGI: Rename cmd_what_ever to cmdWhatEver 2011-08-13 23:27:15 +01:00