void NavigationScene::update() { if (_smackerFileHash != 0) { showMouse(false); _smackerPlayer->open(_smackerFileHash, false); _vm->_screen->clear(); _vm->_screen->setSmackerDecoder(_smackerPlayer->getSmackerDecoder()); _smackerDone = false; /* if (!_interactive) _smackerDone = true; */ _smackerFileHash = 0; } else if (_smackerDone) { if (_leaveSceneAfter) { _vm->_screen->setSmackerDecoder(NULL); sendMessage(_parentModule, 0x1009, _navigationIndex); } else { const NavigationItem &navigationItem = (*_navigationList)[_navigationIndex]; createMouseCursor(); showMouse(true); _isTurning = false; _isWalkingForward = false; _interactive = true; _vm->_soundMan->setTwoSoundsPlayFlag(false); _vm->_soundMan->setSoundThreePlayFlag(false); _smackerDone = false; _smackerPlayer->open(navigationItem.fileHash, true); _vm->_screen->clear(); _vm->_screen->setSmackerDecoder(_smackerPlayer->getSmackerDecoder()); sendMessage(_parentModule, 0x100A, _navigationIndex); } } Scene::update(); }
void end_lesson(int min,int sec,int eff,int err, int speed) { int change=0,y,x; show_summary(min, sec, eff, err, speed); draw_3dbox(260,220,320,240,15); settextstyle(0,0,1); color_text(280,227,"Ok",3); showMouse(); while(1) { while(1) { x=getMouseX(); /* get the mouse position*/ y=getMouseY(); if(x>=260&&x<=320&&y>=220&&y<=240 && !change) { change = 1; settextstyle(0,0,1); hideMouse(); draw_3dbox(260,220,320,240,6); /* change the color of the box*/ /* change the text color*/ color_text(280,227,"Ok",15); /*cursor on yes*/ showMouse(); } if((x<=260||x>=320||y<=220||y>=240)&& change) { change = 0; hideMouse(); draw_3dbox(260,220,320,240,15); /* when mouse moves away change the color to normal one*/ color_text(280,227,"Ok",3); showMouse(); /*cursor on yes/no*/ } if(mouseClicked()) { x=getMouseX(); /*get the position where mouse is clicked*/ y=getMouseY(); while(1) if(mouseReleased()) /* get the position*/ break; /* where mouse is clicked*/ break; /* and released */ } }/*end of while 2 which changes color of button*/ /*check the position of mouse clicked*/ if(x>=260&&x<=320&&y>=220&&y<=240) // back { hideMouse(); up_down_button(260,220,320,240,280,227,19,15,15,6); break; } }/*end of while 1*/ }
int main(int argc, char *argv[]){ showEye(); showHead(); showMouse(); return; }
uint32 Scene1608::hmLowerFloor(int messageNum, const MessageParam ¶m, Entity *sender) { Scene::handleMessage(messageNum, param, sender); switch (messageNum) { case 0x100D: if (param.asInteger() == 0x20250B1A) { clearRectList(); _klaymen->setVisible(false); showMouse(false); _sprite1->setVisible(false); //sendMessage(_asDoor, 0x4809, 0); // Play sound? _countdown1 = 28; } break; case 0x200D: sendMessage(_parentModule, 0x200D, 0); break; case 0x4826: if (sender == _asTape) { sendEntityMessage(_kmScene1608, 0x1014, _asTape); setMessageList(0x004B4770); } else if (sender == _asKey) setMessageList(0x004B46C8); break; } return 0; }
void Scene1105::upClosePanel() { Scene::update(); if (_backgroundIndex != 0) { _backgroundIndex--; if (_backgroundIndex == 14) { showMouse(false); _ssSymbols[0]->hide(); _ssSymbols[1]->hide(); _ssSymbols[2]->hide(); _ssSymbolDice[0]->hide(); _ssSymbolDice[1]->hide(); _ssSymbolDice[2]->hide(); } if (_backgroundIndex < 6 && _backgroundIndex % 2 == 0) { uint32 backgroundFileHash = kScene1105BackgroundFileHashes[3 - _backgroundIndex / 2]; // CHECKME if (_backgroundIndex == 4) { playSound(1); _asTeddyBear->hide(); } changeBackground(backgroundFileHash); _palette->addPalette(backgroundFileHash, 0, 256, 0); } if (_backgroundIndex == 0) { SetUpdateHandler(&Scene1105::update); _isClosePanelDone = true; } } }
void PostGameScene::onFocus() { std::shared_ptr<MouseEventDataShow> showMouse(new MouseEventDataShow(false)); m_EventManager->queueEvent(showMouse); std::shared_ptr<MouseEventDataLock> lockMouse(new MouseEventDataLock(true)); m_EventManager->queueEvent(lockMouse); }
void VoutWindow::processEvent( EvtMotion &rEvtMotion ) { int x = rEvtMotion.getXPos() - m_pParentWindow->getLeft() - getLeft(); int y = rEvtMotion.getYPos() - m_pParentWindow->getTop() - getTop(); vout_window_ReportMouseMoved( m_pWnd, x, y ); showMouse(); }
bool CChicken::MouseDragEndMsg(CMouseDragEndMsg *msg) { if (_field13C) { showMouse(); return true; } else { return CCarry::MouseDragEndMsg(msg); } }
DiskplayerScene::DiskplayerScene(NeverhoodEngine *vm, Module *parentModule, int paletteIndex) : Scene(vm, parentModule), _diskIndex(0), _appearCountdown(0), _tuneInCountdown(0), _hasAllDisks(false), _dropKey(false), _inputDisabled(true), _updateStatus(kUSStopped) { int availableDisksCount = 0; setBackground(0x8A000044); setPalette(kDiskplayerPaletteFileHashes[paletteIndex]); _ssPlayButton = insertSprite<DiskplayerPlayButton>(this); addCollisionSprite(_ssPlayButton); _asKey = insertSprite<AsDiskplayerSceneKey>(); for (int i = 0; i < 20; i++) { _diskAvailable[i] = false; if (getSubVar(VA_IS_TAPE_INSERTED, i)) availableDisksCount++; } for (int i = 0; i < availableDisksCount; i++) _diskAvailable[kDiskplayerInitArray[i] - 1] = true; for (int slotIndex = 0; slotIndex < 20; slotIndex++) { _diskSlots[slotIndex] = new DiskplayerSlot(_vm, this, slotIndex, _diskAvailable[slotIndex]); addEntity(_diskSlots[slotIndex]); } _hasAllDisks = availableDisksCount == 20; if (_hasAllDisks && !getGlobalVar(V_HAS_FINAL_KEY)) _dropKey = true; _finalDiskSlot = new DiskplayerSlot(_vm, this, 20, false); addEntity(_finalDiskSlot); insertPuzzleMouse(0x000408A8, 20, 620); showMouse(false); _diskSmackerPlayer = new SmackerPlayer(_vm, this, 0x08288103, false, true); addEntity(_diskSmackerPlayer); addSurface(_diskSmackerPlayer->getSurface()); _diskSmackerPlayer->setDrawPos(154, 86); _vm->_screen->setSmackerDecoder(_diskSmackerPlayer->getSmackerDecoder()); _palette->usePalette(); SetMessageHandler(&DiskplayerScene::handleMessage); SetUpdateHandler(&DiskplayerScene::update); _appearCountdown = 6; }
/* this function draws the tutorial window each time it is called */ void tutorial_window(void) { int i,y; clearviewport(); /* back screen */ draw_3dbox(118,5,getmaxx()-175,getmaxy()-5,6); /* brown*/ draw_3dbox(130,20,getmaxx()-190,getmaxy()-20,15); /*white*/ setfillstyle(1,4); bar(120,7,129,getmaxy()-7); /* red */ setlinestyle(SOLID_LINE,1,2); for(i=0,y=44;i<16;i++,y+=26) /* the dots */ { setcolor(7); circle(140,y,4); setfillstyle(1,7); floodfill(140,y,7); } setcolor(3); /* spiral portion of the book */ for(i=0,y=40;i<16;i++,y+=26) { ellipse(128,y,140,340,14,11); ellipse(128,y+4,140,340,13,9); } setlinestyle(SOLID_LINE,1,3); setcolor(7); for(i=0;i<2;i++) { line(275,50-i,425+i,50-i); /* right page right corner */ line(425-i,50+i,425-i,140); line(165-i,353,165-i,430); /* right page left corner */ line(166+i,429-i,325,429-i); setlinestyle(SOLID_LINE,1,1); setcolor(8); /*for shade */ } undr_line(165,81,12,250,18,7); draw_3dbox(500,12,620,125,1); settextstyle(0,0,1); color_text(545,32,"Time",15); button(520,45,600,63,15,1); button(520,75,600,110,15,1); keyboard_lesson(); setcolor(4); circle(550,260,30); showMouse(); }
bool CCarryParrot::MouseDragEndMsg(CMouseDragEndMsg *msg) { stopMovie(); if (msg->_mousePos.y >= 360) { petAddToInventory(); return true; } if (compareViewNameTo("ParrotLobby.Node 1.N")) { if (msg->_mousePos.x >= 75 && msg->_mousePos.x <= 565 && !CParrot::_v2 && !CCage::_open) { setVisible(false); _fieldE0 = 0; CTreeItem *perchedParrot = findUnder(getRoot(), "PerchedParrot"); detach(); addUnder(perchedParrot); sound8(true); CPutParrotBackMsg backMsg(msg->_mousePos.x); backMsg.execute(perchedParrot); } else { setVisible(false); _fieldE0 = 0; CParrot::_v4 = 2; playSound("z#475.wav"); sound8(true); moveUnder(findRoom()); CActMsg actMsg("Shut"); actMsg.execute("ParrotCage"); } } else { CCharacter *character = dynamic_cast<CCharacter *>(msg->_dropTarget); if (character) { CUseWithCharMsg charMsg(character); charMsg.execute(this, nullptr, 0); } else { setVisible(false); _fieldE0 = 0; playSound("z#475.wav"); sound8(true); moveUnder(findRoom()); } } showMouse(); return true; }
void VoutWindow::processEvent( EvtMouse &rEvtMouse ) { int button = -1; if( rEvtMouse.getButton() == EvtMouse::kLeft ) button = 0; else if( rEvtMouse.getButton() == EvtMouse::kMiddle ) button = 1; else if( rEvtMouse.getButton() == EvtMouse::kRight ) button = 2; if( rEvtMouse.getAction() == EvtMouse::kDown ) vout_window_ReportMousePressed( m_pWnd, button ); else if( rEvtMouse.getAction() == EvtMouse::kUp ) vout_window_ReportMouseReleased( m_pWnd, button ); else if( rEvtMouse.getAction() == EvtMouse::kDblClick ) vout_window_ReportMouseDoubleClick( m_pWnd, button ); showMouse(); }
bool CGlass::MouseDragEndMsg(CMouseDragEndMsg *msg) { showMouse(); if (msg->_dropTarget) { if (msg->_dropTarget->isPet()) { petAddToInventory(); } else { CCharacter *npc = dynamic_cast<CCharacter *>(msg->_dropTarget); if (npc) { CUseWithCharMsg useMsg(npc); useMsg.execute(this); } else { CUseWithOtherMsg otherMsg(msg->_dropTarget); otherMsg.execute(this); } } } else if (compareViewNameTo(_fullViewName) && msg->_mousePos.y < 360) { setPosition(_origPos); } else { petAddToInventory(); } return true; }
void Window::close() { showMouse(true); SDL_EnableScreenSaver(); if (m_pRenderer != NULL) { SDL_DestroyRenderer(m_pRenderer); m_pRenderer = NULL; } if (m_pWindow != NULL) { SDL_GL_MakeCurrent(m_pWindow, NULL); SDL_DestroyWindow(m_pWindow); m_pWindow = NULL; } SDL_Quit(); }
uint32 Scene1105::handleMessage(int messageNum, const MessageParam ¶m, Entity *sender) { uint32 messageResult = 0; Scene::handleMessage(messageNum, param, sender); switch (messageNum) { case 0x0001: if (param.asPoint().x <= 20 || param.asPoint().x >= 620) { if (!_isActionButtonClicked && _backgroundIndex == 0) { if (_isPanelOpen) { _isPanelOpen = false; _backgroundIndex = 15; SetUpdateHandler(&Scene1105::upClosePanel); } else _isClosePanelDone = true; _leaveResult = 0; } } break; case 0x2001: showMouse(false); _backgroundIndex = 24; SetUpdateHandler(&Scene1105::upOpenPanel); break; case 0x2003: _backgroundIndex = 24; _leaveResult = 1; SetUpdateHandler(&Scene1105::upClosePanel); break; case 0x4807: if (sender == _ssActionButton) { if (getSubVar(VA_GOOD_DICE_NUMBERS, 0) == getSubVar(VA_CURR_DICE_NUMBERS, 0) && getSubVar(VA_GOOD_DICE_NUMBERS, 1) == getSubVar(VA_CURR_DICE_NUMBERS, 1) && getSubVar(VA_GOOD_DICE_NUMBERS, 2) == getSubVar(VA_CURR_DICE_NUMBERS, 2)) { setGlobalVar(V_ROBOT_TARGET, 1); playSound(2); _doMoveTeddy = true; } else { sendMessage(_asTeddyBear, 0x2002, 0); } showMouse(false); _isActionButtonClicked = true; } break; case 0x4826: if (_isPanelOpen) { if (sender == _ssActionButton) { sendMessage(_ssActionButton, 0x480B, 0); _isPanelOpen = false; } else if (!getGlobalVar(V_ROBOT_TARGET)) { if (sender == _ssSymbol1UpButton) { if (getSubVar(VA_CURR_DICE_NUMBERS, 0) < 9) { incSubVar(VA_CURR_DICE_NUMBERS, 0, +1); sendMessage(_ssSymbol1UpButton, 0x480B, 0); sendMessage(_ssSymbolDice[0], 0x2000, 0); } } else if (sender == _ssSymbol1DownButton) { if (getSubVar(VA_CURR_DICE_NUMBERS, 0) > 1) { incSubVar(VA_CURR_DICE_NUMBERS, 0, -1); sendMessage(_ssSymbol1DownButton, 0x480B, 0); sendMessage(_ssSymbolDice[0], 0x2000, 0); } } else if (sender == _ssSymbol2UpButton) { if (getSubVar(VA_CURR_DICE_NUMBERS, 1) < 9) { incSubVar(VA_CURR_DICE_NUMBERS, 1, +1); sendMessage(_ssSymbol2UpButton, 0x480B, 0); sendMessage(_ssSymbolDice[1], 0x2000, 0); } } else if (sender == _ssSymbol2DownButton) { if (getSubVar(VA_CURR_DICE_NUMBERS, 1) > 1) { incSubVar(VA_CURR_DICE_NUMBERS, 1, -1); sendMessage(_ssSymbol2DownButton, 0x480B, 0); sendMessage(_ssSymbolDice[1], 0x2000, 0); } } else if (sender == _ssSymbol3UpButton) { if (getSubVar(VA_CURR_DICE_NUMBERS, 2) < 9) { incSubVar(VA_CURR_DICE_NUMBERS, 2, +1); sendMessage(_ssSymbol3UpButton, 0x480B, 0); sendMessage(_ssSymbolDice[2], 0x2000, 0); } } else if (sender == _ssSymbol3DownButton) { if (getSubVar(VA_CURR_DICE_NUMBERS, 2) > 1) { incSubVar(VA_CURR_DICE_NUMBERS, 2, -1); sendMessage(_ssSymbol3DownButton, 0x480B, 0); sendMessage(_ssSymbolDice[2], 0x2000, 0); } } } } break; } return messageResult; }
void CursorManager::initialize() { changeCursor(_cursors[CursorIndex_Idle][_cursorIsPushed]); showMouse(true); }
void DiskplayerScene::update() { Scene::update(); if (_updateStatus == kUSTuningIn && _diskSmackerPlayer->isDone()) { if (_diskAvailable[_diskIndex]) playDisk(); else playStatic(); } else if (_updateStatus == kUSPlaying && _diskSmackerPlayer->isDone()) { _diskSlots[_diskIndex]->stop(); _diskIndex++; if (_hasAllDisks) { if (_diskIndex != 20) { playDisk(); } else if (_dropKey) { playDisk(); _updateStatus = kUSPlayingFinal; } else { _diskIndex = 0; stop(); } } else if (_diskIndex != 20) { tuneIn(); } else { _diskIndex = 0; stop(); } } else if (_updateStatus == kUSPlayingFinal) { if (_diskSmackerPlayer->getFrameNumber() == 133) { _asKey->stDropKey(); setGlobalVar(V_HAS_FINAL_KEY, 1); } else if (_diskSmackerPlayer->isDone()) { for (int i = 0; i < 20; i++) { _diskSlots[i]->setLocked(false); _diskSlots[i]->stop(); } _diskIndex = 0; stop(); showMouse(true); _dropKey = false; } } if (_appearCountdown != 0 && (--_appearCountdown == 0)) { _diskSlots[_diskIndex]->appear(); if (_dropKey) { _diskSlots[_diskIndex]->activate(); _diskSlots[_diskIndex]->setLocked(true); } _diskIndex++; while (!_diskAvailable[_diskIndex] && _diskIndex < 19) _diskIndex++; if (_diskIndex < 20) { _appearCountdown = 1; } else { _diskIndex = 0; _inputDisabled = false; if (_dropKey) { _ssPlayButton->press(); _tuneInCountdown = 2; } else { showMouse(true); _diskSlots[_diskIndex]->activate(); } } } if (_tuneInCountdown != 0 && (--_tuneInCountdown == 0)) playDisk(); }
int main() { mkdir(Menufold); char sorcepath[100]; int i; char Ch; fstream fin; fstream foutMenu; fstream foutDesk; screenMain(); stanterdScreen(50,1,9); strcpy(sorcepath,"C:\\MISION\\HELP\\Ad_Book.PIF"); fin.open("C:\\MISION\\VISION\\Ad_Book.PIF",ios::nocreate|ios::in); if(!fin) { cout<<"\n\n\n\n\n\n\n\n\n\n\n\t\t\tFirst Use INSTAL.EXE\n\n\n\n\n"; getch(); exit(0); } fin.close(); fin.open(sorcepath,ios::nocreate|ios::in|ios::binary); if(fin) { foutDesk.open(Desktop,ios::out|ios::trunc|ios::binary); foutMenu.open(StartMenu,ios::out|ios::trunc|ios::binary); } else { cout<<"\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\tError In Process\n\n\t\t\t\tAborted !"; getch(); exit(0); } while(fin) { fin.get(Ch); foutDesk.put(Ch); foutMenu.put(Ch); } fin.close(); foutDesk.close(); foutMenu.close(); cout<<"\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\tDesktop Shortcut Is Created\n\n\t\t\tFile Is Added To Start Menu \n\n\n\n"; fin.open("C:\\MISION\\help\\help.htm",ios::nocreate|ios::in); foutMenu.open(StartMenuhtm,ios::out|ios::trunc|ios::binary); while(fin) { fin.get(Ch); foutMenu.put(Ch); }; fin.close(); foutMenu.close(); stanterdScreen(50,1,9); forMyCollege(); delay(250); Report(11,"Graphics&Header","dreamBlitzer"); Report(11,"Mouse","CCoder"); Report(11,"Data Management","MadCoder"); Report(11,"File & Storage","Looxers"); Report(11,"Desktop & Menu","dreamBlitzer"); setcolor(11); sprintf(msg1,"Thank You"); outtextxy(((getmaxx()-(textwidth(msg1)))/2),getmaxy()/2-50,msg1); initMouse(); showMouse(); setMouseCurserPosition(50,50); outtextxy(180,275,"Press Esc To Exit . . . !"); do { i=getBiosKey(); } while(i!=ESC); return(0); }
int continue_close(int min, int sec, int eff, int err, int speed) { unsigned int sum; void* summary; int x,y,j=-2,pr=-1,i; // sum=imagesize(200,90,380,250); sum=imagesize(170,90,410,250); summary= malloc(sum); getimage(170,90,410,250,summary); show_summary(min,sec,eff,err,speed); draw_3dbox(210,220,280,240,15); draw_3dbox(305,220,370,240,15); settextstyle(0,0,1); color_text(214,227,"Continue",3); color_text(317,227,"Close",3); showMouse(); while(1) { while(1) { x=getMouseX(); /* get the mouse position*/ y=getMouseY(); for(i=0;i<2;i++) { if(x>=210+(i*95)&&x<=280+(i*90)&&y>=220&&y<=240 ) { j=i; /* check the position*/ break; } } settextstyle(0,0,1); if(j>=0&&j<2&& j!=pr) { hideMouse(); draw_3dbox(210+(j*95),220,280+(j*90),240,6); /* change the color of the box*/ /* change the text color*/ if(j) color_text(317,227,"Close",15); /*cursor on no*/ else if(!j) color_text(214,227,"Continue",15); /*cursor on yes*/ showMouse(); } if(j!=pr && pr>=0 && pr<2) { hideMouse(); draw_3dbox(210+(pr*95),220,280+(pr*90),240,15); /* when mouse moves away change the color to normal one*/ if(pr) color_text(317,227,"Close",3); else if(!pr) color_text(214,227,"Continue",3); showMouse(); /*cursor on yes/no*/ } pr = j; /* keeps the current postion to use next time as previous*/ j = -1; if(mouseClicked()) { x=getMouseX(); /*get the position where mouse is clicked*/ y=getMouseY(); break; } }/*end of while 2 which changes color of button*/ /*check the position of mouse clicked*/ if(x>=210&&x<=280&&y>=220&&y<=240) // continue { hideMouse(); up_down_button(210,220,280,240,214,227,18,15,15,6); putimage(170,90,summary,COPY_PUT); //showMouse(); /*if clicked on back return to previous stage*/ free(summary); return 0; } else if(x>=305&&x<=370&&y>=220&&y<=240) { hideMouse(); up_down_button(305,220,370,240,317,227,23,15,15,6); free(summary); //if clicked on close exit from the lesson time_interval=0, min=0, sec=0, minute=0,second=0,eff=0, err=0, speed=0; pressed=0, correct= 0, wrong= 0, cpm=0, correction=0; showMouse(); return 1; } }/*end of while 1*/ }
bool Window::initialize() { if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_JOYSTICK | SDL_INIT_EVENTS) != 0) { Log::instance()->logError("Unable to initialize SDL\n%s", SDL_GetError()); return false; } const GameHeader& gameHeader = System::getGameHeader(); bool bFullscreen = gameHeader.bFullScreen; if (true == bFullscreen) { SDL_DisplayMode displayMode; if (SDL_GetCurrentDisplayMode(0, &displayMode) != 0) { Log::instance()->logError("Unable to get current display mode\n%s", SDL_GetError()); return false; } m_iWidth = displayMode.w; m_iHeight = displayMode.h; } else { m_iWidth = gameHeader.iWindowedWidth; m_iHeight = gameHeader.iWindowedHeight; } int iFlags = SDL_WINDOW_OPENGL; if (true == gameHeader.bFullScreen) { iFlags |= SDL_WINDOW_FULLSCREEN_DESKTOP; } else { iFlags |= SDL_WINDOW_RESIZABLE; } if (SDL_CreateWindowAndRenderer(m_iWidth, m_iHeight, iFlags, &m_pWindow, &m_pRenderer) != 0) { Log::instance()->logError("Unable to create windows and renderer\n%s", SDL_GetError()); return false; } if (false == checkRenderer()) { return false; } if (true == bFullscreen) { showMouse(false); } SDL_SetWindowTitle(m_pWindow, gameHeader.strAppName.c_str()); // Create app icon Image* pImage = Image::create("AppIcon.png"); if (pImage != NULL) { SDL_Surface* pIconSurface = SDL_CreateRGBSurfaceFrom(pImage->getPixels(), pImage->getWidth(), pImage->getHeight(), 32, pImage->getWidth() * 4, 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000); if (pIconSurface != NULL) { SDL_SetWindowIcon(m_pWindow, pIconSurface); SDL_FreeSurface(pIconSurface); } delete pImage; } SDL_DisableScreenSaver(); return true; }