Age | Commit message (Collapse) | Author |
|
|
|
versions
In addition some routines (e.g. the gfx ones) that are even used in v1.
|
|
|
|
In contrast to the comment in o_beginOverride() VAR(VAR_OVERRIDE) is not set in the disassembly. In addition the cutscene stack-pointer is always 0 as this feature is not used in v0. This makes o_beginOverride() work the same way o2_beginOverride() and so it is not needed anymore.
Note that fetchScriptWord() was changed to ScummEngine::fetchScriptWord() in o2_beginOverride() as ScummEngine_v0::fetchScriptWord() only fetches a byte.
As we need two bytes here we have to use ScummEngine::fetchScriptWord().
|
|
understand code
|
|
Reading the manuscript will be fixed by this.
|
|
Some object functions allow actor IDs and object IDs as parameters. They are easily distinguishable in engines > 0 as actor IDs are < _numActors and object IDs are bigger. In v0 this is not the case as there are objects with IDs like 3 and 5 (e.g. the hamster). So object ID handling was unified for v0 and the other engines by introducing objIsActor(), objToActor() and ActorToObj().
|
|
Shorten the timer delay does not work as escaping with a second kid is not possible too. Instead decrease engine speed during script execution.
|
|
Escaping with only one kid should not be possible anymore.
|
|
- MM C64 uses command stack (SentenceTab, doSentence()) now
- _cmdObject... added for current SentenceTab. The _active... variables are only used to build a sentence in the inventory but never by a script.
-> many routines are not needed anymore and are removed
|
|
- removed complicated and unnecessary _v0ObjectIndex, _v0ObjectInInventory, _v0ObjectFlag vars
- started to merge object id and type into one object value (type<<8|id)
- verb preposition ids do not dependent on language -> remove from VerbSettings
Note:
- objects with type=0 are foreground objects. They have a state, an owner and a bg overlay image.
- objects with type=1 are bg objects. They do not have a state or owner and are already contained in the bg image. The do not have an entry in objectState/OwnerTable
|
|
|
|
_activeObject(2)/_activeObject(2)Type
Note: the transition is not completed yet. The code compiles but is probably not runnable as not every occurrence of _activeInventory has been properly replaced.
The usage of _v0ObjectIndex and _v0ObjectInInventory should be revised too and both variables should be replaced by another mechanism (maybe by using a single variable "obj = (type << 8) | id").
- moved v0 only vars _activeInventory, _activeObject, _activeVerb from ScummEngine_v2 to ScummEngine_v0
- removed _activeActor, _activeInvExecute, _activeObject2Inv and _activeInventory. They are handled by _activeObject/_activeObjectType and _activeObject2/_activeObject2Type now.
- removed _activeObject(2)Index as they only bloat the code without any benefit (?)
- merge prep-name tables from ScummEngine_v2::drawPreposition() and ScummEngine_v0::drawSentenceWord() by introducing ScummEngine_v2::drawPreposition()
- rename ObjectData.flags -> obj_type (quick-fix only, needs review! Maybe obj_nr and obj_type can be merged into one var: obj_nr = (obj_type << 8) | obj_nr)
- o_unknown2 is negation of o_ifActiveObject (o_ifNotEqualActiveObject2)
- renamed o_ifActiveObject -> o_ifEqualActiveObject2 as it acts only on _activeObject2
- renamed ScummEngine_v0::drawSentenceWord() -> ScummEngine_v0::getObjectName()
|
|
Maniac Mansion.
|
|
both
|
|
|
|
|
|
svn-id: r55809
|
|
svn-id: r54730
|
|
svn-id: r53806
|
|
This has been tested and verified as much as I can, but has a small
risk of leading to (easily fixable) regressions.
svn-id: r52130
|
|
svn-id: r48957
|
|
svn-id: r40899
|
|
and v2 opcodes
svn-id: r40025
|
|
highest SCUMM version to implement these opcodes. Actually, our code was bugged in so far as we only ever invoked o5_saveLoadGame in V3 games, never in V4 games (but this properly never mattered ;)
svn-id: r40014
|
|
svn-id: r40010
|
|
svn-id: r40008
|
|
svn-id: r39956
|
|
svn-id: r39567
|
|
svn-id: r30667
|
|
been updated.
svn-id: r28966
|
|
HTTPS and hence through proxies&firewalls :)
svn-id: r28877
|
|
formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
|
|
It is a period of bug fixing. Rebel
developers, coding from a public
project, have won their umpteenth victory
against the evil Actor Walk Bugs.
During the debugging, programmers
used secret plans to the LucasArts'
ultimate tool, the SCUMM engine, an
extensible scripting system with enough
power to create an entire adventure.
Pursued by ensuing sinister regressions,
High King Fingolfin gleefully jumps up
and down, making use of the hotkey
that can save his games and restore
them back again later....
[With apologies to George Lucas. Good
riddance to bugs #751662, #771483, #959001,
#1329457, #1329498, #1329529, #1527672,
#1538260, #1571701, #1571705, #1571740,
and a warm welcome to the regressions
this change will cause. :-) ]
svn-id: r26090
|
|
svn-id: r25848
|
|
svn-id: r25846
|
|
svn-id: r25693
|
|
svn-id: r25601
|
|
character coordinates internally, not pixel coordinates. This should fix some walk bugs, but also might cause some regressions. Watch out
svn-id: r25370
|
|
* Added default params to Actor::putActor()
* Removed Actor::getActorXYPos
svn-id: r24742
|
|
svn-id: r24576
|
|
checked in runScriptNested(), when restarting script in SCUMM 1/2.
svn-id: r24575
|
|
corresponding opcodes here and in descumm to make reading script dumps easier)
svn-id: r24566
|
|
easier to find spots where we convert between C64-style coordinates and pixel coordinates (but beware, this probably doesnt't cover all relevant instances)
svn-id: r24384
|
|
svn-id: r24383
|
|
ScummEngine_v2:_sentenceBuf
svn-id: r24324
|
|
favor of the latter
svn-id: r24115
|
|
Gdi::copyVirtScreenBuffers to ScummEngine_v70he::restoreBackgroundHE
svn-id: r23925
|
|
heap (i.e. _res is a pointer now)
svn-id: r23922
|
|
order of parameters, and (b) removes lots of useless duplicate information in error messages
svn-id: r23885
|