Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- MEmu = PicoDrive
- MEmuV = v1.45a
- MURL = http://notaz.gp2x.de/pico.php
- MAuthor = bleasby
- MVersion = 2.0.4
- MCRC =
- iCRC =
- mId =
- MSystem = "Sega Pico"
- ;----------------------------------------------------------------------------
- ; Notes:
- ; Sega Pico games have three windows: the game window, the storywave and the drawing pad. For better gameplay please enable the RocketLauncher bezel feature.
- ; The bezel overlay feature is not supported for the three screens mode.
- ; If you use the provided bezel images in resolutions lower then 1360x768, some parts of the game window could be clipped out of the screen. For better gameplay experience resize the bezel image to fill your screen resolution and update the pixel positions at the bezel.ini file or set the option ChangeRes to true. This cannot be done automatically by RocketLauncher because this emulator does not allow to resize the storywave and the drawing pad. You should keep their sizes at the provided pixel dimensions and just resize the main game screen.
- ; The ChangeRes option will change your monitor screen resolution before creating the bezel image and restore it after.
- ; To use use different Game Pad images, create a folder in your emulator folder\pico\GamePads and save the image as romName.png - with romName being the name of the game you are using it for
- ;----------------------------------------------------------------------------
- StartModule()
- BezelGUI()
- FadeInStart()
- settingsFile := modulePath . "\" . moduleName . ".ini"
- ChangeRes := IniReadCheck(settingsFile, "Settings", "ChangeRes","false",,1) ; Resize your monitor resolution to the bezel image size.
- ; desiredScreenRes := IniReadCheck(settingsFile, "Settings", "ScreenRes","",,1) ; Desired Monitor Screen resolution restore after the gameplay
- bezelTopOffsetScreen1 := IniReadCheck(settingsFile, "Settings", "Bezel_Top_Offset_Screen_1","29",,1)
- storywarePageUPKey := IniReadCheck(settingsFile, "Settings", "Storyware_Page_UP_Key","M",,1)
- picoStorywarePageDown := IniReadCheck(settingsFile, "Settings", "Storyware_Page_Down_Key","N",,1)
- hideEmuObj := Object("Drawing Pad ahk_class PicoPadWnd",1,"Storyware ahk_class PicoSwWnd",1,"ahk_class PicoMainFrame",1) ; Hide_Emu will hide these windows. 0 = will never unhide, 1 = will unhide later
- 7z(romPath, romName, romExtension, sevenZExtractPath)
- BezelStart(3)
- If bezelPath
- { If (ChangeRes = "true")
- {
- ; ScreenResToBeRestored := desiredScreenRes ? ConvertToMonitorObject(bezelMonitor . "|" . desiredScreenRes) : ConvertToMonitorObject(bezelMonitor . "|" . MonitorTable[bezelMonitor].Width . "|" . MonitorTable[bezelMonitor].Height . "|" . MonitorTable[bezelMonitor].BitDepth . "|" . MonitorTable[bezelMonitor].Frequency)
- ; ScreenResToBeRestored := CheckForNearestSupportedRes(bezelMonitor, ScreenResToBeRestored )
- bezelRes := ConvertToMonitorObject(bezelMonitor . "|" . origbezelImageW . "|" . origbezelImageH . "|" . monitorTable[bezelMonitor].BitDepth . "|" . monitorTable[bezelMonitor].Frequency )
- bezelRes := CheckForNearestSupportedRes(bezelMonitor, bezelRes)
- Log("Changing monitor " . bezelMonitor . " to resolution width: " . bezelRes[bezelMonitor].Width . ", height: " . bezelRes[bezelMonitor].Height . ", bit depth: " . bezelRes[bezelMonitor].BitDepth . ", frequency: " . bezelRes[bezelMonitor].Frequency,1)
- SetDisplaySettings(bezelRes)
- }
- }
- picoStorywareCurrentPage := 0
- XHotKeywrapper(storywarePageUPKey,"picoStorywarePageUP")
- XHotKeywrapper(picoStorywarePageDown,"picoStorywarePageDown")
- HideEmuStart() ; This fully ensures windows are completely hidden even faster than winwait
- Run(executable . " """ . romPath . "\" . romName . romExtension . """", emuPath)
- WinWait("ahk_class PicoMainFrame")
- WinWaitActive("ahk_class PicoMainFrame")
- If bezelPath
- { Screen1class := "ahk_class PicoMainFrame"
- Screen2class := "Storyware ahk_class PicoSwWnd"
- Screen2class := "Drawing Pad ahk_class PicoPadWnd"
- Screen1ID := WinExist(Screen1class)
- Screen2ID := WinExist("Storyware")
- Screen3ID := WinExist("Drawing")
- }
- BezelDraw()
- HideEmuEnd()
- FadeInExit()
- Process("WaitClose", executable)
- 7zCleanUp()
- BezelExit()
- FadeOutExit()
- If bezelPath
- { If (ChangeRes = "true"){
- Log("Module - Restoring monitor " . bezelMonitor . " to resolution width: " . ScreenResToBeRestored[bezelMonitor].Width . ", height: " . ScreenResToBeRestored[bezelMonitor].Height . ", bit depth: " . ScreenResToBeRestored[bezelMonitor].BitDepth . ", frequency: " . ScreenResToBeRestored[bezelMonitor].Frequency,1)
- ; SetDisplaySettings(ScreenResToBeRestored)
- SetDisplaySettings(monitorTable) ; change res back to original
- }
- }
- ExitModule()
- BezelLabel:
- disableHideToggleMenuScreen1 := true
- disableHideToggleMenuScreen2 := true
- disableHideToggleMenuScreen3 := true
- Return
- PicoStorywarePageUP:
- Loop
- { picoStorywareCurrentPage++
- If picoStorywareCurrentPage
- WinMenuSelectItem, ahk_class PicoMainFrame, , Pico, Page %picoStorywareCurrentPage%
- If !ErrorLevel
- Break
- Else
- picoStorywareCurrentPage := picoStorywareCurrentPage-1
- }
- Return
- PicoStorywarePageDown:
- picoStorywareCurrentPage--
- If (picoStorywareCurrentPage < 0)
- picoStorywareCurrentPage := 0
- If picoStorywareCurrentPage
- WinMenuSelectItem, ahk_class PicoMainFrame, , Pico, Page %picoStorywareCurrentPage%
- Else
- WinMenuSelectItem, ahk_class PicoMainFrame, , Pico, Title
- Return
- CloseProcess:
- FadeOutStart()
- WinClose("Open ahk_class #32770")
- WinClose("Error ahk_class #32770")
- WinClose("ahk_class PicoMainFrame")
- Return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement