[Scummvm-cvs-logs] SF.net SVN: scummvm:[35940] scummvm/trunk/engines/kyra/script_lol.cpp
lordhoto at users.sourceforge.net
lordhoto at users.sourceforge.net
Tue Jan 20 10:30:21 CET 2009
Revision: 35940
http://scummvm.svn.sourceforge.net/scummvm/?rev=35940&view=rev
Author: lordhoto
Date: 2009-01-20 09:30:20 +0000 (Tue, 20 Jan 2009)
Log Message:
-----------
- Fixed formatting
- Added FIXME about falling through case blocks
Modified Paths:
--------------
scummvm/trunk/engines/kyra/script_lol.cpp
Modified: scummvm/trunk/engines/kyra/script_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_lol.cpp 2009-01-20 09:30:14 UTC (rev 35939)
+++ scummvm/trunk/engines/kyra/script_lol.cpp 2009-01-20 09:30:20 UTC (rev 35940)
@@ -144,7 +144,7 @@
int LoLEngine::olol_allocItemPropertiesBuffer(EMCState *script) {
debugC(3, kDebugLevelScriptFuncs, "LoLEngine::olol_allocItemPropertiesBuffer(%p) (%d)", (const void *)script, stackPos(0));
- delete []_itemProperties;
+ delete[] _itemProperties;
_itemProperties = new ItemProperty[stackPos(0)];
return 1;
}
@@ -178,43 +178,43 @@
ItemInPlay *i = &_itemsInPlay[stackPos(0)];
ItemProperty *p = &_itemProperties[i->itemPropertyIndex];
- switch(stackPos(1)) {
- case 0:
- return i->blockPropertyIndex;
- case 1:
- return i->unk7;
- case 2:
- return i->anonymous_4;
- case 3:
- return i->level;
- case 4:
- return i->itemPropertyIndex;
- case 5:
- return i->shpCurFrame_flg;
- case 6:
- return p->nameStringId;
- case 7:
- break;
- case 8:
- return p->shpIndex;
- case 9:
- return p->unk5;
- case 10:
- return p->itemScriptFunc;
- case 11:
- case 12:
- case 13:
- return p[stackPos(1)].unkB & 0x0f;
- case 14:
- return p->unkB;
- case 15:
- return i->shpCurFrame_flg & 0x1fff;
- case 16:
- return p->flags;
- case 17:
- return (p->unk9 << 8) | p->unk8;
- default:
- break;
+ switch (stackPos(1)) {
+ case 0:
+ return i->blockPropertyIndex;
+ case 1:
+ return i->unk7;
+ case 2:
+ return i->anonymous_4;
+ case 3:
+ return i->level;
+ case 4:
+ return i->itemPropertyIndex;
+ case 5:
+ return i->shpCurFrame_flg;
+ case 6:
+ return p->nameStringId;
+ case 7:
+ break;
+ case 8:
+ return p->shpIndex;
+ case 9:
+ return p->unk5;
+ case 10:
+ return p->itemScriptFunc;
+ case 11:
+ case 12:
+ case 13:
+ return p[stackPos(1)].unkB & 0x0f;
+ case 14:
+ return p->unkB;
+ case 15:
+ return i->shpCurFrame_flg & 0x1fff;
+ case 16:
+ return p->flags;
+ case 17:
+ return (p->unk9 << 8) | p->unk8;
+ default:
+ break;
}
return -1;
@@ -225,38 +225,38 @@
LoLCharacter *c = &_characters[stackPos(0)];
int d = stackPos(2);
- switch(stackPos(1)) {
- case 0:
- return c->flags;
- case 1:
- return c->raceClassSex;
- case 2:
- case 3:
- case 4:
- default:
- break;
- case 5:
- return c->hitPointsCur;
- case 6:
- return c->hitPointsMax;
- case 7:
- return c->magicPointsCur;
- case 8:
- return c->magicPointsMax;
- case 9:
- return c->field_37;
- case 10:
- return c->items[d];
- case 11:
- return c->field_66[d] + c->field_69[d];
- case 12:
- return c->field_27[d];
- case 13:
- return (d & 0x80) ? c->field_25 : c->field_17[d];
- case 14:
- return c->field_69[d];
- case 15:
- return c->id;
+ switch (stackPos(1)) {
+ case 0:
+ return c->flags;
+ case 1:
+ return c->raceClassSex;
+ case 2:
+ case 3:
+ case 4:
+ default:
+ break;
+ case 5:
+ return c->hitPointsCur;
+ case 6:
+ return c->hitPointsMax;
+ case 7:
+ return c->magicPointsCur;
+ case 8:
+ return c->magicPointsMax;
+ case 9:
+ return c->field_37;
+ case 10:
+ return c->items[d];
+ case 11:
+ return c->field_66[d] + c->field_69[d];
+ case 12:
+ return c->field_27[d];
+ case 13:
+ return (d & 0x80) ? c->field_25 : c->field_17[d];
+ case 14:
+ return c->field_69[d];
+ case 15:
+ return c->id;
}
return 0;
@@ -268,41 +268,47 @@
int d = stackPos(2);
int e = stackPos(3);
- switch(stackPos(1)) {
- case 0:
- c->flags = e;
- case 1:
- c->raceClassSex = e & 0x0f;
- case 2:
- case 3:
- case 4:
- default:
- break;
- case 5:
- //// TODO
- break;
- case 6:
- c->hitPointsMax = e;
- case 7:
- //// TODO
- break;
- case 8:
- c->magicPointsMax = e;
- case 9:
- c->field_37 = e;
- case 10:
- c->items[d] = 0;
- case 11:
- c->field_66[d] = e;
- case 12:
- c->field_27[d] = e;
- case 13:
- if (d & 0x80)
- c->field_25 = e;
- else
- c->field_17[d] = e;
- case 14:
- c->field_69[d] = e;
+ // FIXME: This looks really strange, especially why for example
+ // case 8 should fall through till case 10. case 8 seems to handle
+ // max magic points settings, while case 10 seems to remove an
+ // item from the inventory of a character. If it should really
+ // fall through please add "// fall throught" at the end of the
+ // case.
+ switch (stackPos(1)) {
+ case 0:
+ c->flags = e;
+ case 1:
+ c->raceClassSex = e & 0x0f;
+ case 2:
+ case 3:
+ case 4:
+ default:
+ break;
+ case 5:
+ //// TODO
+ break;
+ case 6:
+ c->hitPointsMax = e;
+ case 7:
+ //// TODO
+ break;
+ case 8:
+ c->magicPointsMax = e;
+ case 9:
+ c->field_37 = e;
+ case 10:
+ c->items[d] = 0;
+ case 11:
+ c->field_66[d] = e;
+ case 12:
+ c->field_27[d] = e;
+ case 13:
+ if (d & 0x80)
+ c->field_25 = e;
+ else
+ c->field_17[d] = e;
+ case 14:
+ c->field_69[d] = e;
}
return 0;
@@ -326,10 +332,10 @@
_screen->loadBitmap(stackPosString(0), 3, 3, 0);
const uint8 *p = _screen->getCPagePtr(2);
if (_doorShapes[0])
- delete []_doorShapes[0];
+ delete[] _doorShapes[0];
_doorShapes[0] = _screen->makeShapeCopy(p, stackPos(1));
if (_doorShapes[1])
- delete []_doorShapes[1];
+ delete[] _doorShapes[1];
_doorShapes[1] = _screen->makeShapeCopy(p, stackPos(2));
for (int i = 0; i < 20; i++) {
@@ -374,49 +380,49 @@
uint16 b = stackPos(2);
switch (stackPos(0)) {
- case 0:
- _currentBlock = b;
- setLF1(_unkCmzU1, _unkCmzU2, _currentBlock, 0x80, 0x80);
- setLF2(_currentBlock);
- break;
- case 1:
- _currentDirection = b;
- break;
- case 2:
- _currentLevel = b & 0xff;
- break;
- case 3:
- break;
- case 4:
- _brightness = b & 0xff;
- break;
- case 5:
- _credits = b;
- break;
- case 6:
- //TODO
- break;
- case 7:
- break;
- case 8:
- _charFlagUnk = b;
- //TODO
- break;
- case 9:
- _lampStatusUnk = b & 0xff;
- break;
- case 10:
- _loadLevelFlag2 = b & 0xff;
- //TODO
- break;
- case 11:
- //TODO
- break;
- case 12:
- //TODO
- break;
- default:
- break;
+ case 0:
+ _currentBlock = b;
+ setLF1(_unkCmzU1, _unkCmzU2, _currentBlock, 0x80, 0x80);
+ setLF2(_currentBlock);
+ break;
+ case 1:
+ _currentDirection = b;
+ break;
+ case 2:
+ _currentLevel = b & 0xff;
+ break;
+ case 3:
+ break;
+ case 4:
+ _brightness = b & 0xff;
+ break;
+ case 5:
+ _credits = b;
+ break;
+ case 6:
+ //TODO
+ break;
+ case 7:
+ break;
+ case 8:
+ _charFlagUnk = b;
+ //TODO
+ break;
+ case 9:
+ _lampStatusUnk = b & 0xff;
+ break;
+ case 10:
+ _loadLevelFlag2 = b & 0xff;
+ //TODO
+ break;
+ case 11:
+ //TODO
+ break;
+ case 12:
+ //TODO
+ break;
+ default:
+ break;
}
return 1;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list