MEmu := "Nuance" MEmuV := "v0.51" MURL := ["http://www.nuon-dome.com/"] MAuthor := ["djvj"] MVersion := "2.0" MCRC := "" iCRC := "" MID := "" MSystem := ["VM Labs NUON"] ;---------------------------------------------------------------------------- ; Notes: ; Emu author died in 2007, so there will be no further updates to this emu ; Only CLI param supported is the config file for Nuance to use on load ; Virtual Drive must be used to load TruRip iso dumps of NUON games. The emu does not support reading from the iso directly. ; Only iso dumps are supported. ;---------------------------------------------------------------------------- StartModule() BezelGUI() FadeInStart() nuanceVideoWindow := "Nuance Video Display ahk_class GLWindow" nuanceCPWindow := "Nuance Control Panel ahk_class #32770" nuanceStatusWindow := "Nuance Status Window ahk_class #32770" nuanceOpenWindow := dialogOpen . " ahk_class #32770" settingsFile := modulePath . "\" . moduleName . ".ini" customNuanceConfig := IniReadCheck(settingsFile, romName, "Custom_Config",,,1) hideEmuObj := Object(nuanceOpenWindow,0,nuanceCPWindow,0,nuanceStatusWindow,0,nuanceVideoWindow,1) ; Hide_Emu will hide these windows. 0 = will never unhide, 1 = will unhide later 7z(romPath, romName, romExtension, 7zExtractPath) If (vdEnabled = "false" && romExtension = ".iso") ScriptError("Virtual Drive support is disabled and is required to run this game. Please enable Virtual Drive first and try again.") Else VirtualDrive("get") ; populates the vdDriveLetter variable with the drive letter to your scsi or dt virtual drive BezelStart("FixResMode") bizFullscreen := If fullscreen = "true" ? " --fullscreen" : "" defaultNuanceConfig := emuPath . "\nuance.cfg" nuanceConfigFile := CheckFile(If customConfig ? customConfig : defaultNuanceConfig) HideEmuStart() If (vdEnabled = "true") { VirtualDrive("mount",romPath . "\" . romName . romExtension) usedVD := 1 } Run(executable . " """ . nuanceConfigFile . """", emuPath) WinWait(nuanceStatusWindow) WinWaitActive(nuanceStatusWindow) ControlClick, button4, %nuanceCPWindow% ; Load File WinWaitActive(nuanceOpenWindow) ; for some reason windows sometimes thinks Nuance loaded the open window when it did not, this helps prevent that. OpenROM(nuanceOpenWindow, vdDriveLetter . ":\NUON\nuon.run") WinWaitActive(nuanceCPWindow) ControlClick, button2, %nuanceCPWindow% ; Run WinActivate, %nuanceVideoWindow% BezelDraw() HideEmuEnd() FadeInExit() Process("WaitClose", executable) If usedVD VirtualDrive("unmount") 7zCleanUp() BezelExit() FadeOutExit() ExitModule() CloseProcess: FadeOutStart() WinClose(nuanceCPWindow) Return