Age | Commit message (Collapse) | Author |
|
|
|
Detects when end.of.loop + motions are used on the same screen
object at the same time, which would have resulted in flag
corruption in the original interpreter. We detect this
situation now, show a warning and disable the cycler in case
cycler was activated first.
This solves a new issue in kq1, when grabbing the eagle in room
22, that was previously hidden just like in the original AGI.
Fixes bug #7046
|
|
loop_flag was previously vt.parm1, which was shared for multiple
uses. Was split up during graphics rewrite in commit
8a595e7771aa89d06876e13d7ab6751e26da8982
Is indirectly part of bug #7046. Saving, restarting ScummVM and
restoring right after grabbing the eagle resulted in the glitch
not happening (which was of course an inaccuracy anyway). This
was caused by AGI currently not saving/restoring the loop_flag.
Needs to get further figured out what's exactly happening
internally and if this issue was just hidden by the shared
vt.parm1 in previous versions. If triggered, it would have
just set another pseudo-random flag on end-of-loop.
|
|
|
|
+ Disable hide.mouse for MH1 Apple IIgs
|
|
|
|
Solves the priority issues at the end, because the set.pri.base
call is now rejected by us. The IIgs interpreter seems to feature
177 kernel calls, but the last few are not what we expect them to
be. It seems set.pri.base was discard.sound for this interpreter.
It seems it was cleaned up for kq4. That one actually uses
dynamic priority bands and it's working properly.
Fixes bug #7034
|
|
|
|
For KQ3 the calls are currently blocked b/c interpreter version
For SQ2 they aren't, which causes a few priority issues at the end
|
|
Helps creating various saved games for Mixed Up Mother Goose
|
|
Instead of directly converting play time to VM timer vars,
we only adjust VM timer vars according to play time seconds delta.
This is needed for at least Mixed Up Mother Goose. The game
sets the VM "second" variable to 0 and then uses it for syncing
the text to the songs. We even adjust second calculation, so
that the timing should always be the same and not depend on
basically luck (seconds may wrap right after setting it, because
internal cycles counter is not changed).
|
|
- small fix (forgot to reset the hit counter)
- rename methods
- added more information about PQ1 in comment
|
|
And in that case poll events, delay for a few milliseconds and
update screen.
This somewhat worked before the graphics rewrite because of
a timer hack.
This one tries to detect actual inner loops.
Happens in at least Police Quest 1 when playing poker.
|
|
set.simple gets called when killing the witch + planting beans
Right after bowing to the king, ego faces away from him. This
issue was already present in 1.7.0. Could probably get solved
later via script patcher.
|
|
Available also in 2.425, then removed until 2.936, yada yada.
priorityToY-Glitch is definitely present in 2.425 as well.
|
|
Was available only in 2.425 and in 2.936+.
Fixing comment accordingly. Also allowing the command for 2.425.
|
|
|
|
- Fix saving/loading priority bands table. Now saving the actual raw
data
- Now also saving the flag, that defines if the priority table got
modified by scripts
- For older saved games it will try to figure out the state of that
flag
- Blocking set.pri.base for AGI below 2.936
- set.pri.base was actually introduced in 2.936 and not AGI3
- The set.pri.base bug was present in 2.936 as well
- Saved games created between the graphics rewrite and this
commit may have priority issues for games, that used AGI2.936+
|
|
Comment only
SQ1, right at the end of the asteroids
|
|
|
|
Useful to properly detect the most recent saved game
(that's done by the original save/restore dialogs)
|
|
|
|
|
|
Should somewhat fix bug #7026
Needs testing (although AGI games need to get tested for 1.8.0 anyway)
|
|
Also add a table for Apple IIgs games for music issues like in PQ1
intro, where the developers thought that loading a new room would
take X amount of time and they started loading before the music was
done. In our AGI music may get cut off because of this.
It of course also happens, when using the original interpreter,
as soon as you emulate a faster processor. Which means this
is also a workaround.
See bug #7026
|
|
|
|
|
|
|
|
Was already documented inside palette.h, but wasn't used yet
|
|
|
|
|
|
Fixes Mixed Up Mother Goose Apple IIgs save/restore prompt
|
|
|
|
|
|
And ignore sprites, that are placed outside of visual screen
Fixes memory corruption during intro of fan made Get Outta SQ game.
Original AGI did not do checks at all.
|
|
Required for games that add to many names or add names, that are
too long. The code needs to get adjusted anyway for different
platforms, so for now just cut the menu names instead
Required for at least the fan game Get Outta Space Quest
|
|
|
|
CID 1350104: regression from graphics rewrite in C64 picture drawing
CID 1350101: potential buffer overflow in set.simple command
CID 1350112: uninitialized variable in TextMgr
CID 1350113: false positive uninitialized variable in SystemUI
CID 1350114: potentially uninitialized variable in IIgsSample
CID 1350117: false positive uninitialized variable in InventoryMgr
CID 1350103: code bug in CGA rendering TextMgr::charAttrib_Set()
CID 1350109: false positive in GfxFont::loadFontAmigaPseudoTopaz()
CID 1350111: original AGI uninitialized memory issue
in SpritesMgr::showObject
|
|
Also loading view resources in case they are not loaded on set.view
Fixes crash in Larry 1 for Apple IIgs after getting beaten up
by taxi driver (was an original game bug). Even makes it work now.
Original interpreter closed down in this situation.
For setLoop() and setCel() error()s were added for this case
to avoid crashes.
Also: screenObj->viewData renamed to screenObj->viewResource
|
|
Also stop it from getting called by 2.440 AGI.
Was implemented for 2.425, removed in 2.440 and re-added
in 2.917.
The opcode is called after answering the phone at the store
(555-6969) in Apple IIgs Larry. It can't be automatic saving.
See script 22, line 678 in AGI Studio.
Stops automatic saving getting enabled for Larry 1 Apple IIgs.
Also added warning messages to other commands as well.
|
|
Original AGI did not do it and it would ruin the game speed of
at least Larry on Apple IIgs after dying.
|
|
Space at the end of the string was handled inaccurately
Fixes kq1 text scrolling bug #7021
Rewrite was done in commit efb65324688f20cc534a25312f558f9264125762
|
|
because of Police Quest 1 using Ctrl-D for calling dispatch.
Solves FR #395
|
|
|
|
But not actually using the GR palette, because it looks horrible.
|
|
...rendering
|
|
|
|
Palette + mouse cursor + box frame color only atm
Thanks to wjp for gamma correction
Not sure, if our current color adjustment is correct
Should be checked by using actual hardware
|
|
|
|
Original code wasn't accurate
|