LILLIPUT: More renaming
This commit is contained in:
parent
91db7c5967
commit
85c802c9b7
4 changed files with 54 additions and 56 deletions
|
@ -674,7 +674,7 @@ void LilliputEngine::prepareGameArea() {
|
||||||
for (int posX = 0; posX < 8; posX++) {
|
for (int posX = 0; posX < 8; posX++) {
|
||||||
if (map[1] != 0xFF) {
|
if (map[1] != 0xFF) {
|
||||||
int var1 = map[1];
|
int var1 = map[1];
|
||||||
if ((_rulesChunk9[var1] & 128) != 0)
|
if ((_cubeFlags[var1] & 128) != 0)
|
||||||
var1 += _animationTick;
|
var1 += _animationTick;
|
||||||
displayIsometricBlock(_savedSurfaceGameArea1, var1, posX, posY, 1 << 8);
|
displayIsometricBlock(_savedSurfaceGameArea1, var1, posX, posY, 1 << 8);
|
||||||
}
|
}
|
||||||
|
@ -682,7 +682,7 @@ void LilliputEngine::prepareGameArea() {
|
||||||
|
|
||||||
if (map[2] != 0xFF) {
|
if (map[2] != 0xFF) {
|
||||||
int var1 = map[2];
|
int var1 = map[2];
|
||||||
if ((_rulesChunk9[var1] & 128) != 0)
|
if ((_cubeFlags[var1] & 128) != 0)
|
||||||
var1 += _animationTick;
|
var1 += _animationTick;
|
||||||
displayIsometricBlock(_savedSurfaceGameArea1, var1, posX, posY, 2 << 8);
|
displayIsometricBlock(_savedSurfaceGameArea1, var1, posX, posY, 2 << 8);
|
||||||
}
|
}
|
||||||
|
@ -1195,7 +1195,7 @@ void LilliputEngine::renderCharacters(byte *buf, Common::Point pos) {
|
||||||
|
|
||||||
if (buf[1] != 0xFF) {
|
if (buf[1] != 0xFF) {
|
||||||
int tmpIndex = buf[1];
|
int tmpIndex = buf[1];
|
||||||
if ((_rulesChunk9[tmpIndex] & 16) == 0)
|
if ((_cubeFlags[tmpIndex] & 16) == 0)
|
||||||
++_byte16552;
|
++_byte16552;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1422,7 +1422,7 @@ void LilliputEngine::homeInChooseDirection(int index) {
|
||||||
}
|
}
|
||||||
|
|
||||||
int tmpVal = ((_characterMobility[index] & 7) ^ 7);
|
int tmpVal = ((_characterMobility[index] & 7) ^ 7);
|
||||||
retVal = _rulesChunk9[_bufferIsoMap[mapIndex + mapIndexDiff]];
|
retVal = _cubeFlags[_bufferIsoMap[mapIndex + mapIndexDiff]];
|
||||||
tmpVal &= retVal;
|
tmpVal &= retVal;
|
||||||
if (tmpVal == 0)
|
if (tmpVal == 0)
|
||||||
continue;
|
continue;
|
||||||
|
@ -2118,7 +2118,7 @@ void LilliputEngine::checkCollision(int index, Common::Point pos, int direction)
|
||||||
var1 &= 7;
|
var1 &= 7;
|
||||||
var1 ^= 7;
|
var1 ^= 7;
|
||||||
|
|
||||||
if ((var1 & _rulesChunk9[_bufferIsoMap[mapIndex]]) != 0)
|
if ((var1 & _cubeFlags[_bufferIsoMap[mapIndex]]) != 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
_characterPos[index] = pos;
|
_characterPos[index] = pos;
|
||||||
|
@ -2147,7 +2147,7 @@ void LilliputEngine::signalDispatcher(byte type, byte index, int var4) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void LilliputEngine::sendMessageToCharacter(byte index, int var4) {
|
void LilliputEngine::sendMessageToCharacter(byte index, int var4) {
|
||||||
debugC(2, kDebugEngine, "sub17264(%d, %d)", index, var4);
|
debugC(2, kDebugEngine, "sendMessageToCharacter(%d, %d)", index, var4);
|
||||||
|
|
||||||
if (_characterSignals[index] != -1) {
|
if (_characterSignals[index] != -1) {
|
||||||
_signalArr[index] = var4;
|
_signalArr[index] = var4;
|
||||||
|
@ -2208,10 +2208,10 @@ void LilliputEngine::checkInterfaceActivationDelay() {
|
||||||
void LilliputEngine::displayHeroismIndicator() {
|
void LilliputEngine::displayHeroismIndicator() {
|
||||||
debugC(2, kDebugEngine, "displayHeroismIndicator()");
|
debugC(2, kDebugEngine, "displayHeroismIndicator()");
|
||||||
|
|
||||||
if (_scriptHandler->_savedBuffer215Ptr == NULL)
|
if (_scriptHandler->_barAttrPtr == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
int var1 = (_scriptHandler->_savedBuffer215Ptr[0] * 25) >> 8;
|
int var1 = (_scriptHandler->_barAttrPtr[0] * 25) >> 8;
|
||||||
|
|
||||||
if (var1 == _scriptHandler->_heroismLevel)
|
if (var1 == _scriptHandler->_heroismLevel)
|
||||||
return;
|
return;
|
||||||
|
@ -2230,7 +2230,6 @@ void LilliputEngine::displayHeroismIndicator() {
|
||||||
|
|
||||||
var2 = _scriptHandler->_heroismLevel & 0xFF;
|
var2 = _scriptHandler->_heroismLevel & 0xFF;
|
||||||
if (var2 != 0) {
|
if (var2 != 0) {
|
||||||
// sub16064(var1, _scriptHandler->_byte15FFA);
|
|
||||||
for (int i = 0; i < (var2 << 2); i++) {
|
for (int i = 0; i < (var2 << 2); i++) {
|
||||||
((byte *)_mainSurface->getPixels())[index] = var1;
|
((byte *)_mainSurface->getPixels())[index] = var1;
|
||||||
((byte *)_mainSurface->getPixels())[index + 1] = var1;
|
((byte *)_mainSurface->getPixels())[index + 1] = var1;
|
||||||
|
@ -2240,7 +2239,6 @@ void LilliputEngine::displayHeroismIndicator() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (25 - _scriptHandler->_heroismLevel != 0) {
|
if (25 - _scriptHandler->_heroismLevel != 0) {
|
||||||
// sub16064(23, 25 - _scriptHandler->_byte15FFA);
|
|
||||||
var2 = (25 - _scriptHandler->_heroismLevel) << 2;
|
var2 = (25 - _scriptHandler->_heroismLevel) << 2;
|
||||||
for (int i = 0; i < var2; i++) {
|
for (int i = 0; i < var2; i++) {
|
||||||
((byte *)_mainSurface->getPixels())[index] = 23;
|
((byte *)_mainSurface->getPixels())[index] = 23;
|
||||||
|
@ -2419,13 +2417,13 @@ void LilliputEngine::loadRules() {
|
||||||
|
|
||||||
_word10800_ERULES = f.readUint16LE();
|
_word10800_ERULES = f.readUint16LE();
|
||||||
|
|
||||||
// Chunk 1
|
// Chunk 1 : Sequences
|
||||||
int size = f.readUint16LE();
|
int size = f.readUint16LE();
|
||||||
_rulesChunk1 = (byte *)malloc(sizeof(byte) * size);
|
_sequencesArr = (byte *)malloc(sizeof(byte) * size);
|
||||||
for (int i = 0; i < size; ++i)
|
for (int i = 0; i < size; ++i)
|
||||||
_rulesChunk1[i] = f.readByte();
|
_sequencesArr[i] = f.readByte();
|
||||||
|
|
||||||
// Chunk 2
|
// Chunk 2 : Characters
|
||||||
_numCharacters = (f.readUint16LE() & 0xFF);
|
_numCharacters = (f.readUint16LE() & 0xFF);
|
||||||
assert(_numCharacters <= 40);
|
assert(_numCharacters <= 40);
|
||||||
|
|
||||||
|
@ -2500,25 +2498,25 @@ void LilliputEngine::loadRules() {
|
||||||
for (int i = 0; i < curWord; ++i)
|
for (int i = 0; i < curWord; ++i)
|
||||||
_arrayGameScripts[i] = f.readByte();
|
_arrayGameScripts[i] = f.readByte();
|
||||||
|
|
||||||
// Chunk 9
|
// Chunk 9 : Cube flags
|
||||||
for (int i = 0; i < 60; i++)
|
for (int i = 0; i < 60; i++)
|
||||||
_rulesChunk9[i] = f.readByte();
|
_cubeFlags[i] = f.readByte();
|
||||||
|
|
||||||
// Chunk 10 & 11
|
// Chunk 10 & 11 : Lists
|
||||||
_rulesChunk10_size = f.readByte();
|
_listNumb = f.readByte();
|
||||||
assert(_rulesChunk10_size <= 20);
|
assert(_listNumb <= 20);
|
||||||
|
|
||||||
if (_rulesChunk10_size != 0) {
|
if (_listNumb != 0) {
|
||||||
_rulesChunk10 = (int16 *)malloc(sizeof(int16) * _rulesChunk10_size);
|
_listIndex = (int16 *)malloc(sizeof(int16) * _listNumb);
|
||||||
int totalSize = 0;
|
int totalSize = 0;
|
||||||
for (int i = 0; i < _rulesChunk10_size; ++i) {
|
for (int i = 0; i < _listNumb; ++i) {
|
||||||
_rulesChunk10[i] = totalSize;
|
_listIndex[i] = totalSize;
|
||||||
totalSize += f.readByte();
|
totalSize += f.readByte();
|
||||||
}
|
}
|
||||||
if (totalSize != 0) {
|
if (totalSize != 0) {
|
||||||
_rulesChunk11 = (byte *)malloc(sizeof(byte) * totalSize);
|
_listArr = (byte *)malloc(sizeof(byte) * totalSize);
|
||||||
for (int i = 0; i < totalSize; i++)
|
for (int i = 0; i < totalSize; i++)
|
||||||
_rulesChunk11[i] = f.readByte();
|
_listArr[i] = f.readByte();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2534,7 +2532,7 @@ void LilliputEngine::loadRules() {
|
||||||
|
|
||||||
int16 tmpValY = (int16)f.readByte();
|
int16 tmpValY = (int16)f.readByte();
|
||||||
int16 tmpValX = (int16)f.readByte();
|
int16 tmpValX = (int16)f.readByte();
|
||||||
_rulesBuffer12Pos3[i] = Common::Point(tmpValX, tmpValY);
|
_keyPos[i] = Common::Point(tmpValX, tmpValY);
|
||||||
|
|
||||||
tmpValY = (int16)f.readByte();
|
tmpValY = (int16)f.readByte();
|
||||||
tmpValX = (int16)f.readByte();
|
tmpValX = (int16)f.readByte();
|
||||||
|
@ -2586,13 +2584,13 @@ void LilliputEngine::fixPaletteEntries(uint8 *palette, int num) {
|
||||||
debugC(1, kDebugEngine, "fixPaletteEntries(palette, %d)", num);
|
debugC(1, kDebugEngine, "fixPaletteEntries(palette, %d)", num);
|
||||||
// Color values are coded on 6bits (for old 6bits DAC)
|
// Color values are coded on 6bits (for old 6bits DAC)
|
||||||
for (int32 i = 0; i < num * 3; i++) {
|
for (int32 i = 0; i < num * 3; i++) {
|
||||||
int32 a = palette[i];
|
int32 col = palette[i];
|
||||||
assert(a < 64);
|
assert(col < 64);
|
||||||
|
|
||||||
a = (a << 2) | (a >> 4);
|
col = (col << 2) | (col >> 4);
|
||||||
if (a > 255)
|
if (col > 255)
|
||||||
a = 255;
|
col = 255;
|
||||||
palette[i] = a;
|
palette[i] = col;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -168,7 +168,7 @@ public:
|
||||||
int16 _signalArr[40];
|
int16 _signalArr[40];
|
||||||
int16 _signalArray[30];
|
int16 _signalArray[30];
|
||||||
|
|
||||||
byte *_rulesChunk1;
|
byte *_sequencesArr;
|
||||||
int16 _currentScriptCharacter;
|
int16 _currentScriptCharacter;
|
||||||
Common::Point _characterPos[40];
|
Common::Point _characterPos[40];
|
||||||
int8 _characterPosAltitude[40];
|
int8 _characterPosAltitude[40];
|
||||||
|
@ -195,14 +195,14 @@ public:
|
||||||
int *_arrayGameScriptIndex;
|
int *_arrayGameScriptIndex;
|
||||||
int _gameScriptIndexSize;
|
int _gameScriptIndexSize;
|
||||||
byte *_arrayGameScripts;
|
byte *_arrayGameScripts;
|
||||||
byte _rulesChunk9[60];
|
byte _cubeFlags[60];
|
||||||
byte _rulesChunk10_size;
|
byte _listNumb;
|
||||||
int16 *_rulesChunk10;
|
int16 *_listIndex;
|
||||||
byte *_rulesChunk11;
|
byte *_listArr;
|
||||||
int16 _rectNumb;
|
int16 _rectNumb;
|
||||||
MinMax _rectXMinMax[40];
|
MinMax _rectXMinMax[40];
|
||||||
MinMax _rectYMinMax[40];
|
MinMax _rectYMinMax[40];
|
||||||
Common::Point _rulesBuffer12Pos3[40];
|
Common::Point _keyPos[40];
|
||||||
Common::Point _portalPos[40];
|
Common::Point _portalPos[40];
|
||||||
int _interfaceHotspotNumb;
|
int _interfaceHotspotNumb;
|
||||||
byte _interfaceTwoStepAction[20];
|
byte _interfaceTwoStepAction[20];
|
||||||
|
|
|
@ -48,7 +48,7 @@ LilliputScript::LilliputScript(LilliputEngine *vm) : _vm(vm), _currScript(NULL)
|
||||||
_monitoredAttr[1] = 1;
|
_monitoredAttr[1] = 1;
|
||||||
_monitoredAttr[2] = 2;
|
_monitoredAttr[2] = 2;
|
||||||
_monitoredAttr[3] = 3;
|
_monitoredAttr[3] = 3;
|
||||||
_savedBuffer215Ptr = NULL;
|
_barAttrPtr = NULL;
|
||||||
_word1825E = Common::Point(0, 0);
|
_word1825E = Common::Point(0, 0);
|
||||||
|
|
||||||
for (int i = 0; i < 20; i++) {
|
for (int i = 0; i < 20; i++) {
|
||||||
|
@ -368,10 +368,10 @@ void LilliputScript::handleOpcodeType2(int curWord) {
|
||||||
OC_changeCurrentCharacterSprite();
|
OC_changeCurrentCharacterSprite();
|
||||||
break;
|
break;
|
||||||
case 0x29:
|
case 0x29:
|
||||||
OC_sub17E99();
|
OC_getList();
|
||||||
break;
|
break;
|
||||||
case 0x2A:
|
case 0x2A:
|
||||||
OC_sub17EC5();
|
OC_setList();
|
||||||
break;
|
break;
|
||||||
case 0x2B:
|
case 0x2B:
|
||||||
OC_setCharacterDirectionTowardsPos();
|
OC_setCharacterDirectionTowardsPos();
|
||||||
|
@ -652,8 +652,8 @@ static const OpCode opCodes2[] = {
|
||||||
/* 0x26 */ { "OC_setCurrentCharacterPos", 2, kImmediateValue, kgetPosFromScript, kNone, kNone, kNone },
|
/* 0x26 */ { "OC_setCurrentCharacterPos", 2, kImmediateValue, kgetPosFromScript, kNone, kNone, kNone },
|
||||||
/* 0x27 */ { "OC_setCurrentCharacterBehavior", 1, kImmediateValue, kNone, kNone, kNone, kNone },
|
/* 0x27 */ { "OC_setCurrentCharacterBehavior", 1, kImmediateValue, kNone, kNone, kNone, kNone },
|
||||||
/* 0x28 */ { "OC_changeCurrentCharacterSprite", 2, kImmediateValue, kImmediateValue, kNone, kNone, kNone },
|
/* 0x28 */ { "OC_changeCurrentCharacterSprite", 2, kImmediateValue, kImmediateValue, kNone, kNone, kNone },
|
||||||
/* 0x29 */ { "OC_sub17E99", 4, kImmediateValue, kImmediateValue, kImmediateValue, kImmediateValue, kNone },
|
/* 0x29 */ { "OC_getList", 4, kImmediateValue, kImmediateValue, kImmediateValue, kImmediateValue, kNone },
|
||||||
/* 0x2a */ { "OC_sub17EC5", 4, kImmediateValue, kImmediateValue, kImmediateValue, kImmediateValue, kNone },
|
/* 0x2a */ { "OC_setList", 4, kImmediateValue, kImmediateValue, kImmediateValue, kImmediateValue, kNone },
|
||||||
/* 0x2b */ { "OC_setCharacterDirectionTowardsPos", 1, kgetPosFromScript, kNone, kNone, kNone, kNone },
|
/* 0x2b */ { "OC_setCharacterDirectionTowardsPos", 1, kgetPosFromScript, kNone, kNone, kNone, kNone },
|
||||||
/* 0x2c */ { "OC_turnCharacterTowardsAnother", 1, kGetValue1, kNone, kNone, kNone, kNone },
|
/* 0x2c */ { "OC_turnCharacterTowardsAnother", 1, kGetValue1, kNone, kNone, kNone, kNone },
|
||||||
/* 0x2d */ { "OC_setSeek", 1, kGetValue1, kNone, kNone, kNone, kNone },
|
/* 0x2d */ { "OC_setSeek", 1, kGetValue1, kNone, kNone, kNone, kNone },
|
||||||
|
@ -1057,7 +1057,7 @@ void LilliputScript::setSequence(int charIdx, int8 seqIdx) {
|
||||||
assert(charIdx < 40);
|
assert(charIdx < 40);
|
||||||
_characterLastSequence[charIdx] = seqIdx;
|
_characterLastSequence[charIdx] = seqIdx;
|
||||||
|
|
||||||
byte *buf = _vm->_rulesChunk1;
|
byte *buf = _vm->_sequencesArr;
|
||||||
if (seqIdx != 0) {
|
if (seqIdx != 0) {
|
||||||
int count = 0;
|
int count = 0;
|
||||||
while (count < seqIdx) {
|
while (count < seqIdx) {
|
||||||
|
@ -1328,7 +1328,7 @@ Common::Point LilliputScript::getPosFromScript() {
|
||||||
case 0xF8: {
|
case 0xF8: {
|
||||||
int8 index = curWord & 0xFF;
|
int8 index = curWord & 0xFF;
|
||||||
assert((index >= 0) && (index < 40));
|
assert((index >= 0) && (index < 40));
|
||||||
return _vm->_rulesBuffer12Pos3[index];
|
return _vm->_keyPos[index];
|
||||||
}
|
}
|
||||||
case 0xF7: {
|
case 0xF7: {
|
||||||
int8 index = _vm->_currentCharacterAttributes[6];
|
int8 index = _vm->_currentCharacterAttributes[6];
|
||||||
|
@ -2571,8 +2571,8 @@ byte *LilliputScript::getCurrentCharacterVarFromScript() {
|
||||||
return &_vm->_currentCharacterAttributes[index];
|
return &_vm->_currentCharacterAttributes[index];
|
||||||
}
|
}
|
||||||
|
|
||||||
void LilliputScript::OC_sub17E99() {
|
void LilliputScript::OC_getList() {
|
||||||
debugC(1, kDebugScript, "OC_sub17E99()");
|
debugC(1, kDebugScript, "OC_getList()");
|
||||||
|
|
||||||
byte *compBuf = getCurrentCharacterVarFromScript();
|
byte *compBuf = getCurrentCharacterVarFromScript();
|
||||||
uint16 oper = _currScript->readUint16LE();
|
uint16 oper = _currScript->readUint16LE();
|
||||||
|
@ -2580,25 +2580,25 @@ void LilliputScript::OC_sub17E99() {
|
||||||
|
|
||||||
byte *buf = getCurrentCharacterVarFromScript();
|
byte *buf = getCurrentCharacterVarFromScript();
|
||||||
byte var1 = buf[0];
|
byte var1 = buf[0];
|
||||||
byte var3 = _vm->_rulesChunk11[var1 + _vm->_rulesChunk10[index]];
|
byte var3 = _vm->_listArr[var1 + _vm->_listIndex[index]];
|
||||||
|
|
||||||
computeOperation(compBuf, oper, var3);
|
computeOperation(compBuf, oper, var3);
|
||||||
}
|
}
|
||||||
|
|
||||||
void LilliputScript::OC_sub17EC5() {
|
void LilliputScript::OC_setList() {
|
||||||
debugC(1, kDebugScriptTBC, "OC_sub17EC5()");
|
debugC(1, kDebugScript, "OC_setList()");
|
||||||
|
|
||||||
int indexChunk10 = _currScript->readUint16LE();
|
int indexChunk10 = _currScript->readUint16LE();
|
||||||
|
|
||||||
byte *compBuf = getCurrentCharacterVarFromScript();
|
byte *compBuf = getCurrentCharacterVarFromScript();
|
||||||
int indexChunk11 = _vm->_rulesChunk10[indexChunk10] + compBuf[0];
|
int indexChunk11 = _vm->_listIndex[indexChunk10] + compBuf[0];
|
||||||
|
|
||||||
uint16 oper = _currScript->readUint16LE();
|
uint16 oper = _currScript->readUint16LE();
|
||||||
|
|
||||||
byte *tmpBuf = getCurrentCharacterVarFromScript();
|
byte *tmpBuf = getCurrentCharacterVarFromScript();
|
||||||
int16 var3 = tmpBuf[0];
|
int16 var3 = tmpBuf[0];
|
||||||
|
|
||||||
computeOperation(&_vm->_rulesChunk11[indexChunk11], oper, var3);
|
computeOperation(&_vm->_listArr[indexChunk11], oper, var3);
|
||||||
}
|
}
|
||||||
|
|
||||||
Common::Point LilliputScript::getCharacterTilePos(int index) {
|
Common::Point LilliputScript::getCharacterTilePos(int index) {
|
||||||
|
@ -3244,7 +3244,7 @@ void LilliputScript::OC_initSmallAnim() {
|
||||||
void LilliputScript::OC_setCharacterHeroismBar() {
|
void LilliputScript::OC_setCharacterHeroismBar() {
|
||||||
debugC(1, kDebugScript, "OC_setCharacterHeroismBar()");
|
debugC(1, kDebugScript, "OC_setCharacterHeroismBar()");
|
||||||
|
|
||||||
_savedBuffer215Ptr = getCharacterAttributesPtr();
|
_barAttrPtr = getCharacterAttributesPtr();
|
||||||
_heroismBarX = _currScript->readUint16LE();
|
_heroismBarX = _currScript->readUint16LE();
|
||||||
_heroismBarBottomY = _currScript->readUint16LE();
|
_heroismBarBottomY = _currScript->readUint16LE();
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,7 +83,7 @@ public:
|
||||||
byte _characterSeek[40];
|
byte _characterSeek[40];
|
||||||
int16 _interactions[40 * 40];
|
int16 _interactions[40 * 40];
|
||||||
|
|
||||||
byte *_savedBuffer215Ptr;
|
byte *_barAttrPtr;
|
||||||
|
|
||||||
Common::Point _viewportPos;
|
Common::Point _viewportPos;
|
||||||
int16 _viewportCharacterTarget;
|
int16 _viewportCharacterTarget;
|
||||||
|
@ -247,8 +247,8 @@ private:
|
||||||
void OC_setCurrentCharacterPos();
|
void OC_setCurrentCharacterPos();
|
||||||
void OC_setCurrentCharacterBehavior();
|
void OC_setCurrentCharacterBehavior();
|
||||||
void OC_changeCurrentCharacterSprite();
|
void OC_changeCurrentCharacterSprite();
|
||||||
void OC_sub17E99();
|
void OC_getList();
|
||||||
void OC_sub17EC5();
|
void OC_setList();
|
||||||
void OC_setCharacterDirectionTowardsPos();
|
void OC_setCharacterDirectionTowardsPos();
|
||||||
void OC_turnCharacterTowardsAnother();
|
void OC_turnCharacterTowardsAnother();
|
||||||
void OC_setSeek();
|
void OC_setSeek();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue