use our standard cast style
svn-id: r8824
This commit is contained in:
parent
3dca18c935
commit
41912bc685
10 changed files with 58 additions and 58 deletions
|
@ -29,7 +29,7 @@
|
||||||
SkyAutoRoute::SkyAutoRoute(SkyGrid *pGrid) {
|
SkyAutoRoute::SkyAutoRoute(SkyGrid *pGrid) {
|
||||||
|
|
||||||
_grid = pGrid;
|
_grid = pGrid;
|
||||||
_routeGrid = (uint16*)malloc(ROUTE_GRID_SIZE);
|
_routeGrid = (uint16 *)malloc(ROUTE_GRID_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
SkyAutoRoute::~SkyAutoRoute(void) {
|
SkyAutoRoute::~SkyAutoRoute(void) {
|
||||||
|
@ -63,7 +63,7 @@ uint16 SkyAutoRoute::autoRoute(Compact *cpt, uint16 **pSaveRoute) {
|
||||||
|
|
||||||
if (!cpt->extCompact)
|
if (!cpt->extCompact)
|
||||||
error("SkyAutoRoute::autoRoute: fatal error. cpt->extCompact == NULL!\n");
|
error("SkyAutoRoute::autoRoute: fatal error. cpt->extCompact == NULL!\n");
|
||||||
uint16* routeData = (uint16*)cpt->extCompact->animScratch;
|
uint16* routeData = (uint16 *)cpt->extCompact->animScratch;
|
||||||
uint8* screenGrid = _grid->giveGrid(cpt->screen);
|
uint8* screenGrid = _grid->giveGrid(cpt->screen);
|
||||||
screenGrid += GRID_SIZE-4; // all arrays are processed from behind, so make
|
screenGrid += GRID_SIZE-4; // all arrays are processed from behind, so make
|
||||||
// screenGrid point to the last element of our grid.
|
// screenGrid point to the last element of our grid.
|
||||||
|
|
|
@ -546,7 +546,7 @@ void patchFor288(void) {
|
||||||
((Compact *)SkyCompact::data_3[280])->baseSub = 0x30BD; // globe
|
((Compact *)SkyCompact::data_3[280])->baseSub = 0x30BD; // globe
|
||||||
((Compact *)SkyCompact::data_3[283])->baseSub = 0x3094; // inner_reich_door
|
((Compact *)SkyCompact::data_3[283])->baseSub = 0x3094; // inner_reich_door
|
||||||
((Compact *)SkyCompact::data_3[286])->baseSub = 0x310B; // glass_slot
|
((Compact *)SkyCompact::data_3[286])->baseSub = 0x310B; // glass_slot
|
||||||
((uint16*)SkyCompact::data_3[13])[13] = 0x3138; // rs_lamb_28
|
((uint16 *)SkyCompact::data_3[13])[13] = 0x3138; // rs_lamb_28
|
||||||
((Compact *)SkyCompact::data_3[300])->actionScript = 0x3140; // cable_29
|
((Compact *)SkyCompact::data_3[300])->actionScript = 0x3140; // cable_29
|
||||||
((Compact *)SkyCompact::data_3[313])->actionScript = 0x3018; // cable_fall
|
((Compact *)SkyCompact::data_3[313])->actionScript = 0x3018; // cable_fall
|
||||||
((Compact *)SkyCompact::data_3[313])->baseSub = 0x3014;
|
((Compact *)SkyCompact::data_3[313])->baseSub = 0x3014;
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
|
|
||||||
SkyConResource::SkyConResource(void *pSpData, uint32 pNSprites, uint32 pCurSprite, uint16 pX, uint16 pY, uint32 pText, uint8 pOnClick, OSystem *system, uint8 *screen) {
|
SkyConResource::SkyConResource(void *pSpData, uint32 pNSprites, uint32 pCurSprite, uint16 pX, uint16 pY, uint32 pText, uint8 pOnClick, OSystem *system, uint8 *screen) {
|
||||||
|
|
||||||
_spriteData = (dataFileHeader*)pSpData;
|
_spriteData = (dataFileHeader *)pSpData;
|
||||||
_numSprites = pNSprites;
|
_numSprites = pNSprites;
|
||||||
_curSprite = pCurSprite;
|
_curSprite = pCurSprite;
|
||||||
_x = pX;
|
_x = pX;
|
||||||
|
@ -52,7 +52,7 @@ void SkyConResource::drawToScreen(bool doMask) {
|
||||||
uint8 *updatePos = screenPos;
|
uint8 *updatePos = screenPos;
|
||||||
|
|
||||||
if (!_spriteData) return;
|
if (!_spriteData) return;
|
||||||
uint8 *spriteData = ((uint8*)_spriteData) + sizeof(dataFileHeader);
|
uint8 *spriteData = ((uint8 *)_spriteData) + sizeof(dataFileHeader);
|
||||||
spriteData += _spriteData->s_sp_size * _curSprite;
|
spriteData += _spriteData->s_sp_size * _curSprite;
|
||||||
if (doMask) {
|
if (doMask) {
|
||||||
for (uint16 cnty = 0; cnty < _spriteData->s_height; cnty++) {
|
for (uint16 cnty = 0; cnty < _spriteData->s_height; cnty++) {
|
||||||
|
@ -74,7 +74,7 @@ void SkyConResource::drawToScreen(bool doMask) {
|
||||||
|
|
||||||
SkyTextResource::SkyTextResource(void *pSpData, uint32 pNSprites, uint32 pCurSprite, uint16 pX, uint16 pY, uint32 pText, uint8 pOnClick, OSystem *system, uint8 *screen) :
|
SkyTextResource::SkyTextResource(void *pSpData, uint32 pNSprites, uint32 pCurSprite, uint16 pX, uint16 pY, uint32 pText, uint8 pOnClick, OSystem *system, uint8 *screen) :
|
||||||
SkyConResource(pSpData, pNSprites, pCurSprite, pX, pY, pText, pOnClick, system, screen) {
|
SkyConResource(pSpData, pNSprites, pCurSprite, pX, pY, pText, pOnClick, system, screen) {
|
||||||
_oldScreen = (uint8*)malloc(PAN_CHAR_HEIGHT * 3 * PAN_LINE_WIDTH);
|
_oldScreen = (uint8 *)malloc(PAN_CHAR_HEIGHT * 3 * PAN_LINE_WIDTH);
|
||||||
_oldY = 0;
|
_oldY = 0;
|
||||||
_oldX = GAME_SCREEN_WIDTH;
|
_oldX = GAME_SCREEN_WIDTH;
|
||||||
}
|
}
|
||||||
|
@ -125,7 +125,7 @@ void SkyTextResource::drawToScreen(bool doMask) {
|
||||||
cpHeight = PAN_CHAR_HEIGHT;
|
cpHeight = PAN_CHAR_HEIGHT;
|
||||||
uint8 *screenPos = _screen + _y * GAME_SCREEN_WIDTH + _x;
|
uint8 *screenPos = _screen + _y * GAME_SCREEN_WIDTH + _x;
|
||||||
uint8 *copyDest = _oldScreen;
|
uint8 *copyDest = _oldScreen;
|
||||||
uint8 *copySrc = ((uint8*)_spriteData) + sizeof(dataFileHeader);
|
uint8 *copySrc = ((uint8 *)_spriteData) + sizeof(dataFileHeader);
|
||||||
for (cnty = 0; cnty < cpHeight; cnty++) {
|
for (cnty = 0; cnty < cpHeight; cnty++) {
|
||||||
memcpy(copyDest, screenPos, cpWidth);
|
memcpy(copyDest, screenPos, cpWidth);
|
||||||
for (cntx = 0; cntx < PAN_LINE_WIDTH; cntx++)
|
for (cntx = 0; cntx < PAN_LINE_WIDTH; cntx++)
|
||||||
|
@ -159,7 +159,7 @@ void SkyControlStatus::setToText(const char *newText) {
|
||||||
free(_textData);
|
free(_textData);
|
||||||
}
|
}
|
||||||
displayText_t disText = _skyText->displayText(tmpLine, NULL, true, STATUS_WIDTH, 255);
|
displayText_t disText = _skyText->displayText(tmpLine, NULL, true, STATUS_WIDTH, 255);
|
||||||
_textData = (dataFileHeader*)disText.textData;
|
_textData = (dataFileHeader *)disText.textData;
|
||||||
_statusText->setSprite(_textData);
|
_statusText->setSprite(_textData);
|
||||||
_statusText->drawToScreen(WITH_MASK);
|
_statusText->drawToScreen(WITH_MASK);
|
||||||
}
|
}
|
||||||
|
@ -169,7 +169,7 @@ void SkyControlStatus::setToText(uint16 textNum) {
|
||||||
if (_textData)
|
if (_textData)
|
||||||
free(_textData);
|
free(_textData);
|
||||||
displayText_t disText = _skyText->displayText(NULL, true, STATUS_WIDTH, 255);
|
displayText_t disText = _skyText->displayText(NULL, true, STATUS_WIDTH, 255);
|
||||||
_textData = (dataFileHeader*)disText.textData;
|
_textData = (dataFileHeader *)disText.textData;
|
||||||
_statusText->setSprite(_textData);
|
_statusText->setSprite(_textData);
|
||||||
_statusText->drawToScreen(WITH_MASK);
|
_statusText->drawToScreen(WITH_MASK);
|
||||||
}
|
}
|
||||||
|
@ -226,7 +226,7 @@ void SkyControl::removePanel(void) {
|
||||||
|
|
||||||
void SkyControl::initPanel(void) {
|
void SkyControl::initPanel(void) {
|
||||||
|
|
||||||
_screenBuf = (uint8*)malloc(GAME_SCREEN_WIDTH * FULL_SCREEN_HEIGHT);
|
_screenBuf = (uint8 *)malloc(GAME_SCREEN_WIDTH * FULL_SCREEN_HEIGHT);
|
||||||
memset(_screenBuf, 0, GAME_SCREEN_WIDTH * FULL_SCREEN_HEIGHT);
|
memset(_screenBuf, 0, GAME_SCREEN_WIDTH * FULL_SCREEN_HEIGHT);
|
||||||
|
|
||||||
uint16 volY = (127 - _skyMusic->giveVolume()) / 4 + 59 - MPNL_Y; // volume slider's Y coordinate
|
uint16 volY = (127 - _skyMusic->giveVolume()) / 4 + 59 - MPNL_Y; // volume slider's Y coordinate
|
||||||
|
@ -319,7 +319,7 @@ void SkyControl::buttonControl(SkyConResource *pButton) {
|
||||||
_skyText->getText(pButton->_text);
|
_skyText->getText(pButton->_text);
|
||||||
displayText_t textRes;
|
displayText_t textRes;
|
||||||
textRes = _skyText->displayText(NULL, false, PAN_LINE_WIDTH, 255);
|
textRes = _skyText->displayText(NULL, false, PAN_LINE_WIDTH, 255);
|
||||||
_textSprite = (dataFileHeader*)textRes.textData;
|
_textSprite = (dataFileHeader *)textRes.textData;
|
||||||
_text->setSprite(_textSprite);
|
_text->setSprite(_textSprite);
|
||||||
} else _text->setSprite(NULL);
|
} else _text->setSprite(NULL);
|
||||||
}
|
}
|
||||||
|
@ -398,7 +398,7 @@ void SkyControl::restartGame(void) {
|
||||||
/*parseSaveData(_restartData);
|
/*parseSaveData(_restartData);
|
||||||
|
|
||||||
_skyScreen->forceRefresh();
|
_skyScreen->forceRefresh();
|
||||||
_skyScreen->setPalette((uint8*)SkyState::fetchCompact(SkyState::_systemVars.currentPalette));
|
_skyScreen->setPalette((uint8 *)SkyState::fetchCompact(SkyState::_systemVars.currentPalette));
|
||||||
_skyMouse->spriteMouse(_savedMouse, 0, 0);
|
_skyMouse->spriteMouse(_savedMouse, 0, 0);
|
||||||
SkyState::_systemVars.pastIntro = true;*/
|
SkyState::_systemVars.pastIntro = true;*/
|
||||||
}
|
}
|
||||||
|
@ -425,7 +425,7 @@ void SkyControl::doLoadSavePanel(void) {
|
||||||
_system->copy_rect(_screenBuf, GAME_SCREEN_WIDTH, 0, 0, GAME_SCREEN_WIDTH, FULL_SCREEN_HEIGHT);
|
_system->copy_rect(_screenBuf, GAME_SCREEN_WIDTH, 0, 0, GAME_SCREEN_WIDTH, FULL_SCREEN_HEIGHT);
|
||||||
_system->update_screen();
|
_system->update_screen();
|
||||||
_skyScreen->forceRefresh();
|
_skyScreen->forceRefresh();
|
||||||
_skyScreen->setPalette((uint8*)SkyState::fetchCompact(SkyState::_systemVars.currentPalette));
|
_skyScreen->setPalette((uint8 *)SkyState::fetchCompact(SkyState::_systemVars.currentPalette));
|
||||||
removePanel();
|
removePanel();
|
||||||
_skyMouse->spriteMouse(_savedMouse, 0, 0);
|
_skyMouse->spriteMouse(_savedMouse, 0, 0);
|
||||||
}
|
}
|
||||||
|
@ -487,7 +487,7 @@ void SkyControl::doControlPanel(void) {
|
||||||
_system->copy_rect(_screenBuf, GAME_SCREEN_WIDTH, 0, 0, GAME_SCREEN_WIDTH, FULL_SCREEN_HEIGHT);
|
_system->copy_rect(_screenBuf, GAME_SCREEN_WIDTH, 0, 0, GAME_SCREEN_WIDTH, FULL_SCREEN_HEIGHT);
|
||||||
_system->update_screen();
|
_system->update_screen();
|
||||||
_skyScreen->forceRefresh();
|
_skyScreen->forceRefresh();
|
||||||
_skyScreen->setPalette((uint8*)SkyState::fetchCompact(SkyState::_systemVars.currentPalette));
|
_skyScreen->setPalette((uint8 *)SkyState::fetchCompact(SkyState::_systemVars.currentPalette));
|
||||||
removePanel();
|
removePanel();
|
||||||
_skyMouse->spriteMouse(_savedMouse, 0, 0);
|
_skyMouse->spriteMouse(_savedMouse, 0, 0);
|
||||||
}
|
}
|
||||||
|
@ -592,7 +592,7 @@ bool SkyControl::getYesNo(char *text) {
|
||||||
_yesNo->drawToScreen(WITH_MASK);
|
_yesNo->drawToScreen(WITH_MASK);
|
||||||
if (text) {
|
if (text) {
|
||||||
displayText_t dlgLtm = _skyText->displayText(text, NULL, true, _yesNo->_spriteData->s_width - 8, 37);
|
displayText_t dlgLtm = _skyText->displayText(text, NULL, true, _yesNo->_spriteData->s_width - 8, 37);
|
||||||
dlgTextDat = (dataFileHeader*)dlgLtm.textData;
|
dlgTextDat = (dataFileHeader *)dlgLtm.textData;
|
||||||
textY = MPNL_Y + 44 + (28 - dlgTextDat->s_height) / 2;
|
textY = MPNL_Y + 44 + (28 - dlgTextDat->s_height) / 2;
|
||||||
} else
|
} else
|
||||||
dlgTextDat = NULL;
|
dlgTextDat = NULL;
|
||||||
|
@ -767,7 +767,7 @@ uint16 SkyControl::saveRestorePanel(bool allowSave) {
|
||||||
if (allowSave) lookList = _savePanLookList;
|
if (allowSave) lookList = _savePanLookList;
|
||||||
else lookList = _restorePanLookList;
|
else lookList = _restorePanLookList;
|
||||||
|
|
||||||
uint8 *saveGameTexts = (uint8*)malloc(MAX_SAVE_GAMES * MAX_TEXT_LEN);
|
uint8 *saveGameTexts = (uint8 *)malloc(MAX_SAVE_GAMES * MAX_TEXT_LEN);
|
||||||
dataFileHeader *textSprites[MAX_ON_SCREEN + 1];
|
dataFileHeader *textSprites[MAX_ON_SCREEN + 1];
|
||||||
textSprites[MAX_ON_SCREEN] = NULL;
|
textSprites[MAX_ON_SCREEN] = NULL;
|
||||||
_firstText = 0;
|
_firstText = 0;
|
||||||
|
@ -899,7 +899,7 @@ void SkyControl::setUpGameSprites(uint8 *nameBuf, dataFileHeader **nameSprites,
|
||||||
displayText_t textSpr;
|
displayText_t textSpr;
|
||||||
if (!nameSprites[MAX_ON_SCREEN]) {
|
if (!nameSprites[MAX_ON_SCREEN]) {
|
||||||
textSpr = _skyText->displayText(cursorChar, NULL, false, 15, 0);
|
textSpr = _skyText->displayText(cursorChar, NULL, false, 15, 0);
|
||||||
nameSprites[MAX_ON_SCREEN] = (dataFileHeader*)textSpr.textData;
|
nameSprites[MAX_ON_SCREEN] = (dataFileHeader *)textSpr.textData;
|
||||||
}
|
}
|
||||||
for (uint16 cnt = 0; cnt < MAX_ON_SCREEN; cnt++) {
|
for (uint16 cnt = 0; cnt < MAX_ON_SCREEN; cnt++) {
|
||||||
if (firstNum + cnt == selectedGame)
|
if (firstNum + cnt == selectedGame)
|
||||||
|
@ -907,7 +907,7 @@ void SkyControl::setUpGameSprites(uint8 *nameBuf, dataFileHeader **nameSprites,
|
||||||
else
|
else
|
||||||
textSpr = _skyText->displayText((char*)nameBuf, NULL, false, PAN_LINE_WIDTH, 37);
|
textSpr = _skyText->displayText((char*)nameBuf, NULL, false, PAN_LINE_WIDTH, 37);
|
||||||
nameBuf += MAX_TEXT_LEN;
|
nameBuf += MAX_TEXT_LEN;
|
||||||
nameSprites[cnt] = (dataFileHeader*)textSpr.textData;
|
nameSprites[cnt] = (dataFileHeader *)textSpr.textData;
|
||||||
if (firstNum + cnt == selectedGame) {
|
if (firstNum + cnt == selectedGame) {
|
||||||
nameSprites[cnt]->flag = 1;
|
nameSprites[cnt]->flag = 1;
|
||||||
_enteredTextWidth = (uint16)textSpr.textWidth;
|
_enteredTextWidth = (uint16)textSpr.textWidth;
|
||||||
|
@ -945,7 +945,7 @@ void SkyControl::loadDescriptions(uint8 *destBuf) {
|
||||||
File *inf = new File();
|
File *inf = new File();
|
||||||
inf->open("SKY-VM.SAV",_savePath);
|
inf->open("SKY-VM.SAV",_savePath);
|
||||||
if (inf->isOpen()) {
|
if (inf->isOpen()) {
|
||||||
uint8 *tmpBuf = (uint8*)malloc(inf->size());
|
uint8 *tmpBuf = (uint8 *)malloc(inf->size());
|
||||||
inf->read(tmpBuf, inf->size());
|
inf->read(tmpBuf, inf->size());
|
||||||
uint8 *destPos = destBuf;
|
uint8 *destPos = destBuf;
|
||||||
uint8 *inPos = tmpBuf;
|
uint8 *inPos = tmpBuf;
|
||||||
|
@ -970,7 +970,7 @@ void SkyControl::loadDescriptions(uint8 *destBuf) {
|
||||||
|
|
||||||
void SkyControl::saveDescriptions(uint8 *srcBuf) {
|
void SkyControl::saveDescriptions(uint8 *srcBuf) {
|
||||||
|
|
||||||
uint8 *tmpBuf = (uint8*)malloc(MAX_SAVE_GAMES * MAX_TEXT_LEN);
|
uint8 *tmpBuf = (uint8 *)malloc(MAX_SAVE_GAMES * MAX_TEXT_LEN);
|
||||||
uint8 *tmpPos = tmpBuf;
|
uint8 *tmpPos = tmpBuf;
|
||||||
uint8 *srcPos = srcBuf;
|
uint8 *srcPos = srcBuf;
|
||||||
for (uint16 cnt = 0; cnt < MAX_SAVE_GAMES; cnt++) {
|
for (uint16 cnt = 0; cnt < MAX_SAVE_GAMES; cnt++) {
|
||||||
|
@ -1003,7 +1003,7 @@ uint16 SkyControl::saveGameToFile(void) {
|
||||||
return NO_DISK_SPACE;
|
return NO_DISK_SPACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8 *saveData = (uint8*)malloc(0x50000);
|
uint8 *saveData = (uint8 *)malloc(0x50000);
|
||||||
uint32 fSize = prepareSaveData(saveData);
|
uint32 fSize = prepareSaveData(saveData);
|
||||||
|
|
||||||
if (outf->write(saveData, fSize) != fSize) {
|
if (outf->write(saveData, fSize) != fSize) {
|
||||||
|
@ -1017,8 +1017,8 @@ uint16 SkyControl::saveGameToFile(void) {
|
||||||
return GAME_SAVED;
|
return GAME_SAVED;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define STOSD(ptr, val) { *(uint32*)(ptr) = TO_LE_32(val); (ptr) += 4; }
|
#define STOSD(ptr, val) { *(uint32 *)(ptr) = TO_LE_32(val); (ptr) += 4; }
|
||||||
#define STOSW(ptr, val) { *(uint16*)(ptr) = TO_LE_16(val); (ptr) += 2; }
|
#define STOSW(ptr, val) { *(uint16 *)(ptr) = TO_LE_16(val); (ptr) += 2; }
|
||||||
|
|
||||||
void SkyControl::stosMegaSet(uint8 **destPos, MegaSet *mega) {
|
void SkyControl::stosMegaSet(uint8 **destPos, MegaSet *mega) {
|
||||||
STOSW(*destPos, mega->gridWidth);
|
STOSW(*destPos, mega->gridWidth);
|
||||||
|
@ -1161,7 +1161,7 @@ uint32 SkyControl::prepareSaveData(uint8 *destBuf) {
|
||||||
for (cnt = 0; cnt < 13; cnt++)
|
for (cnt = 0; cnt < 13; cnt++)
|
||||||
STOSW(destPos, SkyCompact::high_floor_table[cnt]);
|
STOSW(destPos, SkyCompact::high_floor_table[cnt]);
|
||||||
|
|
||||||
*(uint32*)destBuf = TO_LE_32(destPos - destBuf); // save size
|
*(uint32 *)destBuf = TO_LE_32(destPos - destBuf); // save size
|
||||||
return destPos - destBuf;
|
return destPos - destBuf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1217,7 +1217,7 @@ void SkyControl::lodsCompact(uint8 **srcPos, Compact *cpt) {
|
||||||
if (saveType & SAVE_GRAFX) {
|
if (saveType & SAVE_GRAFX) {
|
||||||
uint16 grafxLen;
|
uint16 grafxLen;
|
||||||
LODSW(*srcPos, grafxLen);
|
LODSW(*srcPos, grafxLen);
|
||||||
cpt->grafixProg = (uint16*)malloc(grafxLen << 1);
|
cpt->grafixProg = (uint16 *)malloc(grafxLen << 1);
|
||||||
appendMemList(cpt->grafixProg);
|
appendMemList(cpt->grafixProg);
|
||||||
for (cnt = 0; cnt < grafxLen; cnt++) {
|
for (cnt = 0; cnt < grafxLen; cnt++) {
|
||||||
LODSW(*srcPos, cpt->grafixProg[cnt]);
|
LODSW(*srcPos, cpt->grafixProg[cnt]);
|
||||||
|
@ -1228,7 +1228,7 @@ void SkyControl::lodsCompact(uint8 **srcPos, Compact *cpt) {
|
||||||
if (saveType & SAVE_TURNP) {
|
if (saveType & SAVE_TURNP) {
|
||||||
uint16 turnLen;
|
uint16 turnLen;
|
||||||
LODSW(*srcPos, turnLen);
|
LODSW(*srcPos, turnLen);
|
||||||
cpt->extCompact->turnProg = (uint16*)malloc(turnLen << 1);
|
cpt->extCompact->turnProg = (uint16 *)malloc(turnLen << 1);
|
||||||
appendMemList(cpt->extCompact->turnProg);
|
appendMemList(cpt->extCompact->turnProg);
|
||||||
for (cnt = 0; cnt < turnLen; cnt++)
|
for (cnt = 0; cnt < turnLen; cnt++)
|
||||||
LODSW(*srcPos, cpt->extCompact->turnProg[cnt]);
|
LODSW(*srcPos, cpt->extCompact->turnProg[cnt]);
|
||||||
|
@ -1385,7 +1385,7 @@ uint16 SkyControl::restoreGameFromFile(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32 fSize = inf->size();
|
uint32 fSize = inf->size();
|
||||||
uint8 *saveData = (uint8*)malloc(fSize);
|
uint8 *saveData = (uint8 *)malloc(fSize);
|
||||||
uint32 infSize = inf->readUint32LE();
|
uint32 infSize = inf->readUint32LE();
|
||||||
inf->seek(0, SEEK_SET);
|
inf->seek(0, SEEK_SET);
|
||||||
|
|
||||||
|
@ -1472,8 +1472,8 @@ void SkyControl::delay(unsigned int amount) {
|
||||||
void SkyControl::showGameQuitMsg(bool useScreen) {
|
void SkyControl::showGameQuitMsg(bool useScreen) {
|
||||||
|
|
||||||
SkyState::_systemVars.quitting = true;
|
SkyState::_systemVars.quitting = true;
|
||||||
uint8 *textBuf1 = (uint8*)malloc(GAME_SCREEN_WIDTH * 14 + sizeof(dataFileHeader));
|
uint8 *textBuf1 = (uint8 *)malloc(GAME_SCREEN_WIDTH * 14 + sizeof(dataFileHeader));
|
||||||
uint8 *textBuf2 = (uint8*)malloc(GAME_SCREEN_WIDTH * 14 + sizeof(dataFileHeader));
|
uint8 *textBuf2 = (uint8 *)malloc(GAME_SCREEN_WIDTH * 14 + sizeof(dataFileHeader));
|
||||||
uint8 textNum;
|
uint8 textNum;
|
||||||
uint8 *screenData;
|
uint8 *screenData;
|
||||||
if (useScreen) {
|
if (useScreen) {
|
||||||
|
|
|
@ -156,7 +156,7 @@ uint8 *SkyDisk::loadFile(uint16 fileNr, uint8 *dest) {
|
||||||
|
|
||||||
//if cflag == 0 then file is compressed, 1 == uncompressed
|
//if cflag == 0 then file is compressed, 1 == uncompressed
|
||||||
|
|
||||||
if ((!cflag) && ((FROM_LE_16(((dataFileHeader*)_fileDest)->flag) >> 7)&1)) {
|
if ((!cflag) && ((FROM_LE_16(((dataFileHeader *)_fileDest)->flag) >> 7)&1)) {
|
||||||
debug(2, "File is RNC compressed.");
|
debug(2, "File is RNC compressed.");
|
||||||
|
|
||||||
memcpy(&fileHeader, _fileDest, sizeof(struct dataFileHeader));
|
memcpy(&fileHeader, _fileDest, sizeof(struct dataFileHeader));
|
||||||
|
@ -278,7 +278,7 @@ void SkyDisk::fnCacheChip(uint32 list) {
|
||||||
// fnCacheChip is called after fnCacheFast
|
// fnCacheChip is called after fnCacheFast
|
||||||
uint16 cnt = 0;
|
uint16 cnt = 0;
|
||||||
while (_buildList[cnt]) cnt++;
|
while (_buildList[cnt]) cnt++;
|
||||||
uint16 *fList = (uint16*)SkyState::fetchCompact(list);
|
uint16 *fList = (uint16 *)SkyState::fetchCompact(list);
|
||||||
uint16 fCnt = 0;
|
uint16 fCnt = 0;
|
||||||
do {
|
do {
|
||||||
_buildList[cnt + fCnt] = fList[fCnt] & 0x7FFFU;
|
_buildList[cnt + fCnt] = fList[fCnt] & 0x7FFFU;
|
||||||
|
@ -291,7 +291,7 @@ void SkyDisk::fnCacheFast(uint32 list) {
|
||||||
|
|
||||||
if (list == 0) return;
|
if (list == 0) return;
|
||||||
uint8 cnt = 0;
|
uint8 cnt = 0;
|
||||||
uint16 *fList = (uint16*)SkyState::fetchCompact(list);
|
uint16 *fList = (uint16 *)SkyState::fetchCompact(list);
|
||||||
do {
|
do {
|
||||||
_buildList[cnt] = fList[cnt] & 0x7FFFU;
|
_buildList[cnt] = fList[cnt] & 0x7FFFU;
|
||||||
cnt++;
|
cnt++;
|
||||||
|
|
|
@ -1685,9 +1685,9 @@ bool SkyLogic::fnChooser(uint32 a, uint32 b, uint32 c) {
|
||||||
|
|
||||||
// stipple the text
|
// stipple the text
|
||||||
|
|
||||||
uint32 size = ((dataFileHeader *)data)->s_height * ((dataFileHeader*)data)->s_width;
|
uint32 size = ((dataFileHeader *)data)->s_height * ((dataFileHeader *)data)->s_width;
|
||||||
uint32 index = 0;
|
uint32 index = 0;
|
||||||
uint32 width = ((dataFileHeader*)data)->s_width;
|
uint32 width = ((dataFileHeader *)data)->s_width;
|
||||||
|
|
||||||
data += sizeof(dataFileHeader);
|
data += sizeof(dataFileHeader);
|
||||||
|
|
||||||
|
@ -1725,7 +1725,7 @@ bool SkyLogic::fnHighlight(uint32 itemNo, uint32 pen, uint32 c) {
|
||||||
pen ^= 1;
|
pen ^= 1;
|
||||||
pen += 241;
|
pen += 241;
|
||||||
Compact *textCompact = SkyState::fetchCompact(itemNo);
|
Compact *textCompact = SkyState::fetchCompact(itemNo);
|
||||||
uint8 *sprData = (uint8*)SkyState::fetchItem(textCompact->flag);
|
uint8 *sprData = (uint8 *)SkyState::fetchItem(textCompact->flag);
|
||||||
_skyText->changeTextSpriteColour(sprData, (uint8)pen);
|
_skyText->changeTextSpriteColour(sprData, (uint8)pen);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -2152,7 +2152,7 @@ bool SkyLogic::fnCustomJoey(uint32 id, uint32 b, uint32 c) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SkyLogic::fnSetPalette(uint32 a, uint32 b, uint32 c) {
|
bool SkyLogic::fnSetPalette(uint32 a, uint32 b, uint32 c) {
|
||||||
_skyScreen->setPalette((uint8*)SkyState::fetchCompact(a));
|
_skyScreen->setPalette((uint8 *)SkyState::fetchCompact(a));
|
||||||
SkyState::_systemVars.currentPalette = a;
|
SkyState::_systemVars.currentPalette = a;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -234,7 +234,7 @@ void SkyMouse::pointerEngine(void) {
|
||||||
uint32 currentListNum = SkyLogic::_scriptVariables[MOUSE_LIST_NO];
|
uint32 currentListNum = SkyLogic::_scriptVariables[MOUSE_LIST_NO];
|
||||||
uint16 *currentList;
|
uint16 *currentList;
|
||||||
do {
|
do {
|
||||||
currentList = (uint16*)SkyState::fetchCompact(currentListNum);
|
currentList = (uint16 *)SkyState::fetchCompact(currentListNum);
|
||||||
while ((*currentList != 0) && (*currentList != 0xFFFF)) {
|
while ((*currentList != 0) && (*currentList != 0xFFFF)) {
|
||||||
uint16 itemNum = *currentList;
|
uint16 itemNum = *currentList;
|
||||||
Compact *itemData = SkyState::fetchCompact(itemNum);
|
Compact *itemData = SkyState::fetchCompact(itemNum);
|
||||||
|
|
|
@ -50,8 +50,8 @@ SkyScreen::SkyScreen(OSystem *pSystem, SkyDisk *pDisk) {
|
||||||
uint8 tmpPal[1024];
|
uint8 tmpPal[1024];
|
||||||
|
|
||||||
_system->init_size(FULL_SCREEN_WIDTH, FULL_SCREEN_HEIGHT);
|
_system->init_size(FULL_SCREEN_WIDTH, FULL_SCREEN_HEIGHT);
|
||||||
_gameGrid = (uint8*)malloc(GRID_X * GRID_Y * 2);
|
_gameGrid = (uint8 *)malloc(GRID_X * GRID_Y * 2);
|
||||||
_backScreen = (uint8*)malloc(GAME_SCREEN_WIDTH * GAME_SCREEN_HEIGHT);
|
_backScreen = (uint8 *)malloc(GAME_SCREEN_WIDTH * GAME_SCREEN_HEIGHT);
|
||||||
forceRefresh();
|
forceRefresh();
|
||||||
|
|
||||||
_currentScreen = NULL;
|
_currentScreen = NULL;
|
||||||
|
@ -152,7 +152,7 @@ void SkyScreen::recreate(void) {
|
||||||
// check the game grid for changed blocks
|
// check the game grid for changed blocks
|
||||||
if (!SkyLogic::_scriptVariables[LAYER_0_ID]) return ;
|
if (!SkyLogic::_scriptVariables[LAYER_0_ID]) return ;
|
||||||
uint8 *gridPos = _gameGrid;
|
uint8 *gridPos = _gameGrid;
|
||||||
uint8 *screenData = (uint8*)SkyState::fetchItem(SkyLogic::_scriptVariables[LAYER_0_ID]);
|
uint8 *screenData = (uint8 *)SkyState::fetchItem(SkyLogic::_scriptVariables[LAYER_0_ID]);
|
||||||
if (!screenData) {
|
if (!screenData) {
|
||||||
error("SkyScreen::recreate():\nSkyState::fetchItem(SkyLogic::_scriptVariables[LAYER_0_ID](%X)) returned NULL",SkyLogic::_scriptVariables[LAYER_0_ID]);
|
error("SkyScreen::recreate():\nSkyState::fetchItem(SkyLogic::_scriptVariables[LAYER_0_ID](%X)) returned NULL",SkyLogic::_scriptVariables[LAYER_0_ID]);
|
||||||
}
|
}
|
||||||
|
@ -235,7 +235,7 @@ void SkyScreen::fnFadeDown(uint32 scroll) {
|
||||||
if (scroll && (!(SkyState::_systemVars.systemFlags & SF_NO_SCROLL))) {
|
if (scroll && (!(SkyState::_systemVars.systemFlags & SF_NO_SCROLL))) {
|
||||||
// scrolling is performed by fnFadeUp. It's just prepared here
|
// scrolling is performed by fnFadeUp. It's just prepared here
|
||||||
_scrollScreen = _currentScreen;
|
_scrollScreen = _currentScreen;
|
||||||
_currentScreen = (uint8*)malloc(FULL_SCREEN_WIDTH * FULL_SCREEN_HEIGHT);
|
_currentScreen = (uint8 *)malloc(FULL_SCREEN_WIDTH * FULL_SCREEN_HEIGHT);
|
||||||
// the game will draw the new room into _currentScreen which
|
// the game will draw the new room into _currentScreen which
|
||||||
// will be scrolled into the visible screen by fnFadeUp
|
// will be scrolled into the visible screen by fnFadeUp
|
||||||
// fnFadeUp also frees the _scrollScreen
|
// fnFadeUp also frees the _scrollScreen
|
||||||
|
@ -305,7 +305,7 @@ void SkyScreen::fnFadeUp(uint32 palNum, uint32 scroll) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((scroll == 0) || (SkyState::_systemVars.systemFlags & SF_NO_SCROLL)) {
|
if ((scroll == 0) || (SkyState::_systemVars.systemFlags & SF_NO_SCROLL)) {
|
||||||
uint8 *palette = (uint8*)SkyState::fetchCompact(palNum);
|
uint8 *palette = (uint8 *)SkyState::fetchCompact(palNum);
|
||||||
if (palette == NULL)
|
if (palette == NULL)
|
||||||
error("SkyScreen::fnFadeUp: can't fetch compact %X.\n", palNum);
|
error("SkyScreen::fnFadeUp: can't fetch compact %X.\n", palNum);
|
||||||
#ifdef SCUMM_BIG_ENDIAN
|
#ifdef SCUMM_BIG_ENDIAN
|
||||||
|
@ -382,7 +382,7 @@ void SkyScreen::startSequence(uint16 fileNum) {
|
||||||
|
|
||||||
void SkyScreen::startSequenceItem(uint16 itemNum) {
|
void SkyScreen::startSequenceItem(uint16 itemNum) {
|
||||||
|
|
||||||
_seqInfo.seqData = (uint8*)SkyState::fetchItem(itemNum);
|
_seqInfo.seqData = (uint8 *)SkyState::fetchItem(itemNum);
|
||||||
_seqInfo.framesLeft = _seqInfo.seqData[0] - 1;
|
_seqInfo.framesLeft = _seqInfo.seqData[0] - 1;
|
||||||
_seqInfo.seqDataPos = _seqInfo.seqData + 1;
|
_seqInfo.seqDataPos = _seqInfo.seqData + 1;
|
||||||
_seqInfo.delay = SEQ_DELAY;
|
_seqInfo.delay = SEQ_DELAY;
|
||||||
|
@ -488,7 +488,7 @@ void SkyScreen::sortSprites(void) {
|
||||||
currDrawList++;
|
currDrawList++;
|
||||||
|
|
||||||
do { // a_new_draw_list:
|
do { // a_new_draw_list:
|
||||||
uint16 *drawListData = (uint16*)SkyState::fetchCompact(loadDrawList);
|
uint16 *drawListData = (uint16 *)SkyState::fetchCompact(loadDrawList);
|
||||||
nextDrawList = false;
|
nextDrawList = false;
|
||||||
while ((!nextDrawList) && (drawListData[0])) {
|
while ((!nextDrawList) && (drawListData[0])) {
|
||||||
if (drawListData[0] == 0xFFFF) {
|
if (drawListData[0] == 0xFFFF) {
|
||||||
|
@ -500,7 +500,7 @@ void SkyScreen::sortSprites(void) {
|
||||||
if ((spriteComp->status & 4) && // is it sortable playfield?(!?!)
|
if ((spriteComp->status & 4) && // is it sortable playfield?(!?!)
|
||||||
(spriteComp->screen == SkyLogic::_scriptVariables[SCREEN])) { // on current screen
|
(spriteComp->screen == SkyLogic::_scriptVariables[SCREEN])) { // on current screen
|
||||||
dataFileHeader *spriteData =
|
dataFileHeader *spriteData =
|
||||||
(dataFileHeader*)SkyState::fetchItem(spriteComp->frame >> 6);
|
(dataFileHeader *)SkyState::fetchItem(spriteComp->frame >> 6);
|
||||||
if (!spriteData) {
|
if (!spriteData) {
|
||||||
printf("Missing file %d!\n",spriteComp->frame >> 6);
|
printf("Missing file %d!\n",spriteComp->frame >> 6);
|
||||||
//getchar();
|
//getchar();
|
||||||
|
@ -534,7 +534,7 @@ void SkyScreen::sortSprites(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (uint32 cnt = 0; cnt < spriteCnt; cnt++) {
|
for (uint32 cnt = 0; cnt < spriteCnt; cnt++) {
|
||||||
drawSprite((uint8*)sortList[cnt].sprite, sortList[cnt].compact);
|
drawSprite((uint8 *)sortList[cnt].sprite, sortList[cnt].compact);
|
||||||
if (sortList[cnt].compact->status & 8) vectorToGame(0x81);
|
if (sortList[cnt].compact->status & 8) vectorToGame(0x81);
|
||||||
else vectorToGame(1);
|
else vectorToGame(1);
|
||||||
if (!(sortList[cnt].compact->status & 0x200)) verticalMask();
|
if (!(sortList[cnt].compact->status & 0x200)) verticalMask();
|
||||||
|
@ -551,7 +551,7 @@ void SkyScreen::doSprites(uint8 layer) {
|
||||||
idNum = SkyLogic::_scriptVariables[drawListNum];
|
idNum = SkyLogic::_scriptVariables[drawListNum];
|
||||||
drawListNum++;
|
drawListNum++;
|
||||||
|
|
||||||
drawList = (uint16*)SkyState::fetchCompact(idNum);
|
drawList = (uint16 *)SkyState::fetchCompact(idNum);
|
||||||
while(drawList[0]) {
|
while(drawList[0]) {
|
||||||
// new_draw_list:
|
// new_draw_list:
|
||||||
while ((drawList[0] != 0) && (drawList[0] != 0xFFFF)) {
|
while ((drawList[0] != 0) && (drawList[0] != 0xFFFF)) {
|
||||||
|
@ -561,7 +561,7 @@ void SkyScreen::doSprites(uint8 layer) {
|
||||||
drawList++;
|
drawList++;
|
||||||
if ((spriteData->status & (1 << layer)) &&
|
if ((spriteData->status & (1 << layer)) &&
|
||||||
(spriteData->screen == SkyLogic::_scriptVariables[SCREEN])) {
|
(spriteData->screen == SkyLogic::_scriptVariables[SCREEN])) {
|
||||||
uint8 *toBeDrawn = (uint8*)SkyState::fetchItem(spriteData->frame >> 6);
|
uint8 *toBeDrawn = (uint8 *)SkyState::fetchItem(spriteData->frame >> 6);
|
||||||
if (!toBeDrawn) {
|
if (!toBeDrawn) {
|
||||||
printf("Spritedata %d not loaded!\n",spriteData->frame >> 6);
|
printf("Spritedata %d not loaded!\n",spriteData->frame >> 6);
|
||||||
spriteData->status = 0;
|
spriteData->status = 0;
|
||||||
|
@ -574,7 +574,7 @@ void SkyScreen::doSprites(uint8 layer) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while (drawList[0] == 0xFFFF)
|
while (drawList[0] == 0xFFFF)
|
||||||
drawList = (uint16*)SkyState::fetchCompact(drawList[1]);
|
drawList = (uint16 *)SkyState::fetchCompact(drawList[1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -685,7 +685,7 @@ void SkyScreen::vertMaskSub(uint16 *grid, uint32 gridOfs, uint8 *screenPtr, uint
|
||||||
if (!(FROM_LE_16(grid[gridOfs]) & 0x8000)) {
|
if (!(FROM_LE_16(grid[gridOfs]) & 0x8000)) {
|
||||||
uint32 gridVal = FROM_LE_16(grid[gridOfs]) - 1;
|
uint32 gridVal = FROM_LE_16(grid[gridOfs]) - 1;
|
||||||
gridVal *= GRID_W * GRID_H;
|
gridVal *= GRID_W * GRID_H;
|
||||||
uint8 *dataSrc = (uint8*)SkyState::fetchItem(SkyLogic::_scriptVariables[layerId]) + gridVal;
|
uint8 *dataSrc = (uint8 *)SkyState::fetchItem(SkyLogic::_scriptVariables[layerId]) + gridVal;
|
||||||
uint8 *dataTrg = screenPtr;
|
uint8 *dataTrg = screenPtr;
|
||||||
for (uint32 grdCntY = 0; grdCntY < GRID_H; grdCntY++) {
|
for (uint32 grdCntY = 0; grdCntY < GRID_H; grdCntY++) {
|
||||||
for (uint32 grdCntX = 0; grdCntX < GRID_W; grdCntX++)
|
for (uint32 grdCntX = 0; grdCntX < GRID_W; grdCntX++)
|
||||||
|
@ -713,7 +713,7 @@ void SkyScreen::verticalMask(void) {
|
||||||
uint32 nLayerCnt = layerCnt;
|
uint32 nLayerCnt = layerCnt;
|
||||||
while (SkyLogic::_scriptVariables[nLayerCnt + 3]) {
|
while (SkyLogic::_scriptVariables[nLayerCnt + 3]) {
|
||||||
uint16 *scrGrid;
|
uint16 *scrGrid;
|
||||||
scrGrid = (uint16*)SkyState::fetchItem(SkyLogic::_scriptVariables[layerCnt + 3]);
|
scrGrid = (uint16 *)SkyState::fetchItem(SkyLogic::_scriptVariables[layerCnt + 3]);
|
||||||
if (scrGrid[gridOfs]) {
|
if (scrGrid[gridOfs]) {
|
||||||
vertMaskSub(scrGrid, gridOfs, screenPtr, layerCnt);
|
vertMaskSub(scrGrid, gridOfs, screenPtr, layerCnt);
|
||||||
break;
|
break;
|
||||||
|
@ -745,7 +745,7 @@ void SkyScreen::showGrid(uint8 *gridBuf) {
|
||||||
for (uint16 cntx = 0; cntx < GAME_SCREEN_WIDTH >> 3; cntx++) {
|
for (uint16 cntx = 0; cntx < GAME_SCREEN_WIDTH >> 3; cntx++) {
|
||||||
if (!bitsLeft) {
|
if (!bitsLeft) {
|
||||||
bitsLeft = 32;
|
bitsLeft = 32;
|
||||||
gridData = *(uint32*)gridBuf;
|
gridData = *(uint32 *)gridBuf;
|
||||||
gridBuf += 4;
|
gridBuf += 4;
|
||||||
}
|
}
|
||||||
if (gridData & 0x80000000)
|
if (gridData & 0x80000000)
|
||||||
|
|
|
@ -278,7 +278,7 @@ void **SkyState::fetchItem(uint32 num) {
|
||||||
|
|
||||||
void SkyState::timerHandler(void *ptr) {
|
void SkyState::timerHandler(void *ptr) {
|
||||||
|
|
||||||
((SkyState*)ptr)->gotTimerTick();
|
((SkyState *)ptr)->gotTimerTick();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SkyState::gotTimerTick(void) {
|
void SkyState::gotTimerTick(void) {
|
||||||
|
|
|
@ -1223,8 +1223,8 @@ bool SkySound::startSpeech(uint16 textNum) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32 speechSize = ((dataFileHeader*)speechData)->s_tot_size;
|
uint32 speechSize = ((dataFileHeader *)speechData)->s_tot_size;
|
||||||
uint8 *playBuffer = (uint8*)malloc(speechSize);
|
uint8 *playBuffer = (uint8 *)malloc(speechSize);
|
||||||
memcpy(playBuffer, speechData + sizeof(dataFileHeader), speechSize);
|
memcpy(playBuffer, speechData + sizeof(dataFileHeader), speechSize);
|
||||||
|
|
||||||
free(speechData);
|
free(speechData);
|
||||||
|
|
|
@ -97,7 +97,7 @@ void SkyText::fnSetFont(uint32 fontNr) {
|
||||||
void SkyText::fnTextModule(uint32 textInfoId, uint32 textNo) {
|
void SkyText::fnTextModule(uint32 textInfoId, uint32 textNo) {
|
||||||
|
|
||||||
fnSetFont(1);
|
fnSetFont(1);
|
||||||
uint16* msgData = (uint16*)SkyState::fetchCompact(textInfoId);
|
uint16* msgData = (uint16 *)SkyState::fetchCompact(textInfoId);
|
||||||
lowTextManager_t textId = lowTextManager(textNo, msgData[1], msgData[2], 209, false);
|
lowTextManager_t textId = lowTextManager(textNo, msgData[1], msgData[2], 209, false);
|
||||||
SkyLogic::_scriptVariables[RESULT] = textId.compactNum;
|
SkyLogic::_scriptVariables[RESULT] = textId.compactNum;
|
||||||
Compact *textCompact = SkyState::fetchCompact(textId.compactNum);
|
Compact *textCompact = SkyState::fetchCompact(textId.compactNum);
|
||||||
|
@ -243,7 +243,7 @@ displayText_t SkyText::displayText(char *textPtr, uint8 *dest, bool centre, uint
|
||||||
textChar -= 0x20;
|
textChar -= 0x20;
|
||||||
if (textChar == 0) {
|
if (textChar == 0) {
|
||||||
lastSpace = curPos; //keep track of last space
|
lastSpace = curPos; //keep track of last space
|
||||||
*(uint32*)centerTblPtr = TO_LE_32(lineWidth);
|
*(uint32 *)centerTblPtr = TO_LE_32(lineWidth);
|
||||||
}
|
}
|
||||||
|
|
||||||
lineWidth += *(_characterSet+textChar); //add character width
|
lineWidth += *(_characterSet+textChar); //add character width
|
||||||
|
@ -411,7 +411,7 @@ lowTextManager_t SkyText::lowTextManager(uint32 textNum, uint16 width, uint16 lo
|
||||||
|
|
||||||
void SkyText::changeTextSpriteColour(uint8 *sprData, uint8 newCol) {
|
void SkyText::changeTextSpriteColour(uint8 *sprData, uint8 newCol) {
|
||||||
|
|
||||||
dataFileHeader *header = (dataFileHeader*)sprData;
|
dataFileHeader *header = (dataFileHeader *)sprData;
|
||||||
sprData += sizeof(dataFileHeader);
|
sprData += sizeof(dataFileHeader);
|
||||||
for (uint16 cnt = 0; cnt < header->s_sp_size; cnt++)
|
for (uint16 cnt = 0; cnt < header->s_sp_size; cnt++)
|
||||||
if (sprData[cnt] >= 241) sprData[cnt] = newCol;
|
if (sprData[cnt] >= 241) sprData[cnt] = newCol;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue