Commit Graph

842 Commits

Author SHA1 Message Date
Eugene Sandulenko
756d5e2847 AGI: Fix valgrind warning
svn-id: r51312
2010-07-26 14:22:16 +00:00
Eugene Sandulenko
e4bc0c3a18 AGI: Fix crash on exit thanks to valgrind
svn-id: r51311
2010-07-26 14:21:59 +00:00
Eugene Sandulenko
aea09cb3a0 AGI: Fix spelling and formatting
svn-id: r51310
2010-07-26 14:21:18 +00:00
Eugene Sandulenko
afc872cba8 AGI: Fix bug #3017911
Bug #3017911: "AGI (Fan): SQ0 - Ego flickering". It is a regression from r49745,
as it appeared, some of the screen updates were too much.

svn-id: r51223
2010-07-23 21:11:56 +00:00
Max Horn
1d4c82885d DEBUGGER: Simplify how our console debugger works / is used
* Remove _isAttached member var and isAttached method
* Engines now always call the onFrame method; whether it does
  something is decided by the debugger class resp. its subclasses
* Make detach() protected instead of private, so that subclasses
  can invoke it
* Remove _detach_now member var (call detach() instead).
* Rename _frame_countdown to _frameCountdown and properly
  document it.
* Add more doxygen comments
* Cleanup

svn-id: r50963
2010-07-17 18:38:42 +00:00
Johannes Schickel
e75eee21e3 Use "true" instead of "1" in if statements to make clang a bit more happier with -Werror.
svn-id: r50943
2010-07-16 21:50:12 +00:00
Torbjörn Andersson
bde1cbd785 Cleanup.
svn-id: r50928
2010-07-16 03:34:25 +00:00
Matthew Hoops
6c22d599ec Fix non-PCSPK sound types in AGI.
svn-id: r50891
2010-07-14 17:04:53 +00:00
Filippos Karapetis
4304a414ab AGI: Removed the deprecated (and confusing) getGameId() function inside the AgiEngine class, and fixed a related bug, too
svn-id: r50607
2010-07-02 23:12:17 +00:00
Filippos Karapetis
188f8d9a11 AGI: Fixed bug #3017905 - "AGI: GR - Crash on start". A free() was done on an already freed reference
svn-id: r50606
2010-07-02 22:55:56 +00:00
Max Horn
bbad3f333a Patch #1956501: "GUI/LAUNCHER: Midi device selection"
svn-id: r50128
2010-06-21 21:36:36 +00:00
Max Horn
49448af6cb AGI: Turn some more AGI static functions into AgiEngine methods
svn-id: r50127
2010-06-21 21:34:06 +00:00
Max Horn
c7a9865a73 AGI: Change a static var to member var AgiEngine::_lastTickTimer
svn-id: r50126
2010-06-21 21:33:45 +00:00
Max Horn
e7da62763e AGI: Turn timerHack and curLogic into AgiEngine members; get rid of some #defines
svn-id: r50125
2010-06-21 21:33:22 +00:00
Max Horn
df569a6c82 AGI: Change AGI commands/opcodes to member methods
svn-id: r50124
2010-06-21 21:32:56 +00:00
Torbjörn Andersson
41990883bf Don't go into "menu input mode" unless the game currently allows the menus to
be displayed. I hope this is the correct fix to keep Police Quest 1 from
hanging if you press Escape while reading the newspaper in the briefing room.

svn-id: r50072
2010-06-20 09:51:11 +00:00
Max Horn
32668b553f AGI: Get rid of GID_SQ0
svn-id: r50049
2010-06-19 11:08:41 +00:00
Max Horn
0c93154eb9 AGI: Fix detection of AGI Tetris and Caitlyn's Destiny
svn-id: r50048
2010-06-19 11:08:16 +00:00
Max Horn
da28fde4c6 AGI: Change some #defines to enums
svn-id: r50033
2010-06-18 22:07:32 +00:00
Max Horn
7a8b8c88ae AGI: cleanup
svn-id: r50032
2010-06-18 22:06:56 +00:00
Max Horn
e5fcbc0c3a AGI: Fix serguei1/serguei2/sqx detection
svn-id: r50031
2010-06-18 22:06:31 +00:00
Torbjörn Andersson
93df097f39 Added the same quit/restart test to print() as we have in so many other places.
This makes it easier to quit the game during the text box in the King's Quest 3
into, and probably other places as well.

svn-id: r49881
2010-06-15 18:17:51 +00:00
Willem Jan Palenstijn
7c7054dbd1 Remove unnecessary svn:executable properties
svn-id: r49870
2010-06-15 17:14:38 +00:00
Max Horn
e62169c383 AGI: Specify bug reference for workaround
svn-id: r49845
2010-06-15 12:34:12 +00:00
Max Horn
651e2760a3 Fix spelling, cleanup
svn-id: r49843
2010-06-15 12:33:20 +00:00
Eugene Sandulenko
44a39ffbc6 AdvancedDetector: Add new parameter directoryGlobs.
Without this parameter mass detection gave tons of false alarms.
Use globbing for narrowing down the depth search.

svn-id: r49788
2010-06-15 10:59:23 +00:00
Eugene Sandulenko
2bcafcb02d Sound: add PCJR as a pseudodriver.
Since AGI distinguishes between PCSPK and PCJR/Tandy, make it as a
pseudodriver.

svn-id: r49782
2010-06-15 10:55:31 +00:00
Eugene Sandulenko
eef983c2c6 AGI: enable MIDI in options since now there are ways to play it.
svn-id: r49781
2010-06-15 10:55:07 +00:00
Eugene Sandulenko
09b776ad1f AGI: Made proper Tandy emulator default for PC games.
svn-id: r49760
2010-06-15 10:45:14 +00:00
Eugene Sandulenko
db6673c408 AGI: rearranged class methods a bit and cleanup.
svn-id: r49758
2010-06-15 10:38:39 +00:00
Eugene Sandulenko
ceb2909e0a AGI: Split all sound generators into separate modules.
Now the sound subsystem of the engine finally is possible to grasp.
Also now it is obvious why CoCo3 sounds are not functioning.

svn-id: r49757
2010-06-15 10:36:54 +00:00
Eugene Sandulenko
6903fc7a07 AGI: Implement FR #2813133.
FR #2813133: "AGI: Proper Tandy 3-Voice/IBM PCjr Sound Support".
Add proper Tandy music. Heavily based on NAGI source, thus attached
its X11 license.

To run it now use -e pcjr. Old one is still default for adlib but
most likely will be changed in the future.

Also lied ground for further separation of different sound generators.

svn-id: r49755
2010-06-15 10:36:10 +00:00
Eugene Sandulenko
85d8b4f5d8 AGI: Make sure that sound variable is reset once music is stopped.
svn-id: r49754
2010-06-15 10:35:42 +00:00
Eugene Sandulenko
c7e9b620ee AGI: properly setup Sound var.
svn-id: r49752
2010-06-15 10:35:10 +00:00
Eugene Sandulenko
0a1a919406 AGI: Implement FR #1913900.
FR #1913900: "AGI: MIDI support".
Currently it gets selected when Adlib is chosen. Finding a better
way to do it is a todo.

Also default instrument mapping is plain.

Based on original code by Jens. Christian Restemeier.

svn-id: r49751
2010-06-15 10:34:45 +00:00
Eugene Sandulenko
38ef876d5b AGI: Split out IIgs sound emulator into separate files.
svn-id: r49749
2010-06-15 10:33:57 +00:00
Eugene Sandulenko
71917dc52d AGI: Implement FR #1881179.
FR #1881179: "AGI detecting agi mouse". Always run ScummVM in
AGIMOUSE compatibility mode, thus no detection for it is
needed.

svn-id: r49748
2010-06-15 10:33:26 +00:00
Eugene Sandulenko
f7c830af26 AGI: Fix walking for some versions of KQ4.
svn-id: r49747
2010-06-15 10:33:07 +00:00
Eugene Sandulenko
81870dba58 AGI: Fix bug #2825273.
Bug #2825273: "AGI: KQ4: Dwarf sequence". Always allow ESC to work
in KQ4.

svn-id: r49746
2010-06-15 10:32:44 +00:00
Eugene Sandulenko
88421532aa AGI: Implemented immediate update for most of gfx to match original.
This fixes many subtle effects as in many cases there were no
special pausing and engine relied only on the slowliness of the
machine.

svn-id: r49745
2010-06-15 10:32:25 +00:00
Eugene Sandulenko
462d1afed8 AGI: Fix bug #1875842.
Bug #1875842: "AGI: Character loses final walking position".
Do not reset ADJ_EGO_XY if non-directional keys were pressed.

svn-id: r49744
2010-06-15 10:32:01 +00:00
Eugene Sandulenko
83053ecc27 AGI: Fix bug #2825278.
Bug #2825278: "AGI: KQ4: Swimming on land". Our drawing code was
not picture perfect, and thus priority screen was trashed by one
of Fills, i.e. the color leaked and took whole screen.

svn-id: r49743
2010-06-15 10:31:39 +00:00
Eugene Sandulenko
ffc390e64c AGI: Fix bug #1945716.
Bug #1945716: "AGI: Fan(Kings Quest 2 1/4) - Sprite not erased".
Added a workaround, since it is design flaw of our rendering
system.

svn-id: r49742
2010-06-15 10:31:18 +00:00
Eugene Sandulenko
7034d071b6 AGI: proper fix for sprite leftover-related bugs. Removed workarounds.
svn-id: r49741
2010-06-15 10:30:54 +00:00
Eugene Sandulenko
295edafdc4 AGI: improve script-related debug output.
svn-id: r49740
2010-06-15 10:30:26 +00:00
Eugene Sandulenko
409fe0bd56 AGI: made sprite-related debug output more informative
svn-id: r49739
2010-06-15 10:30:01 +00:00
Eugene Sandulenko
341fba383e AGI: Fix bug #2862508.
Bug #2862508: "AGI: Black cauldron save through GMM". BC does not
have input line, and that was used for determining that user
can save. Added special case for BC, so it is always allowed to
save. In fact, original does not allow saving in some rare
occasions, but that will require analysing of variables, which
is a gross hack.

svn-id: r49738
2010-06-15 10:29:43 +00:00
Eugene Sandulenko
25948606c4 AGI: Fix bug #2960557.
Bug #2960557: "AGI: (Fan) SQ0 - Sprite (Ego) not erased".
Added a workaround. Actually root cause is not yet clear.

svn-id: r49737
2010-06-15 10:29:20 +00:00
Eugene Sandulenko
a993e2fb45 AGI: Fix bug #2960563.
Bug #2960563: "AGI: (Fan) SQ0: Text input field overdraws Text window".
Now our text wrapping code matches original.

svn-id: r49736
2010-06-15 10:28:58 +00:00
Eugene Sandulenko
4dddfd44ce AGI: Fix bug #2960584.
Bug #2960584: "AGI: (Fan) SQ0: Music lost on saving (and loading)".
Actually music did not loop at all. Our looping code was broken.

svn-id: r49735
2010-06-15 10:28:40 +00:00