mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-21 11:41:25 +00:00
added fnLookAt()
svn-id: r8418
This commit is contained in:
parent
839cb1c4f7
commit
d398b818f8
@ -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) {
|
||||
|
@ -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) {
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user