added fnLookAt()

svn-id: r8418
This commit is contained in:
Joost Peters 2003-06-09 18:15:02 +00:00
parent 839cb1c4f7
commit d398b818f8
3 changed files with 30 additions and 1 deletions

View File

@ -2206,7 +2206,28 @@ bool SkyLogic::fnPrintCredit(uint32 a, uint32 b, uint32 c) {
}
bool SkyLogic::fnLookAt(uint32 a, uint32 b, uint32 c) {
error("Stub: fnLookAt");
struct lowTextManager_t textInfo = _skyText->lowTextManager(a, 240, 0, 248, true);
Compact *textCpt = SkyState::fetchCompact(textInfo.compactNum);
textCpt->xcood = 168;
textCpt->ycood = (uint16)c;
_skyScreen->recreate();
_skyScreen->spriteEngine();
_skyScreen->flip();
fnNoHuman(0, 0, 0);
_skyMouse->lockMouse();
//waitRelative(0);
_skyMouse->waitMouseNotPressed();
//waitRelative(40);
_skyMouse->unlockMouse();
fnAddHuman(0, 0, 0);
textCpt->status = 0;
return true;
}
bool SkyLogic::fnLincTextModule(uint32 a, uint32 b, uint32 c) {

View File

@ -85,6 +85,7 @@ SkyMouse::SkyMouse(OSystem *system, SkyDisk *skyDisk) {
_mouseHeight = 6;
_maskWidth = 6;
_maskHeight = 6;
_mouseB = 0;
_miceData = _skyDisk->loadFile(MICE_FILE, NULL);
fixMouseTransparency(_miceData, _skyDisk->_lastLoadedFileSize);
@ -170,6 +171,11 @@ void SkyMouse::drawNewMouse() {
//drawMouse();
}
void SkyMouse::waitMouseNotPressed(void) {
while (_mouseB != 0) ;
_bMouseB = 0;
}
//original sky uses different colors for transparency than our backends do,
//so we simply swap our "transparent"-white with another one.
void SkyMouse::fixMouseTransparency(byte *mouseData, uint32 size) {

View File

@ -47,6 +47,7 @@ public:
void spriteMouse(uint16 frameNum, uint8 mouseX, uint8 mouseY);
void useLogicInstance(SkyLogic *skyLogic) { _skyLogic = skyLogic; };
void buttonPressed(uint8 button) { _bMouseB = button; };
void waitMouseNotPressed(void);
uint16 giveMouseX(void) { return _aMouseX; };
uint16 giveMouseY(void) { return _aMouseY; };
@ -56,6 +57,7 @@ protected:
void buttonEngine1(void);
void fixMouseTransparency(byte *mouseData, uint32 size);
uint16 _mouseB; //used to check for repeat presses
uint16 _eMouseB;
uint16 _bMouseB;