sevenseal Posted March 13, 2015 Posted March 13, 2015 Hi.I sent you a request on skype as well as an email. I'm looking for some help please. I still can't get all of my system artwork to display on the marquee. About half of them work. While I'm in the EDS configuration utility I'm successfully able to display the mame logo for example. But it doesn't work while in hyperspin. Please help me out. Thanks Junky you been accepted, I will be able to help sometime on friday 9am to 330pm
dinodino Posted March 13, 2015 Posted March 13, 2015 For the record, I don't see a way to retract my vote, but if I could I would definitely change it from "evaluating it" to "loving it"! Another thanks for all your efforts in developing and supporting this... it makes all the difference. dinodino
Imagamejunky Posted March 14, 2015 Posted March 14, 2015 Today Sevenseal spent over an hour with me helping me figure out why Hypermarquee wasn't showing all of my artwork. It turned out that the newest version of HSFilewatcher was incompatible with windows 8.1. Once we downgraded to the older version then all was well. I also had to make sure that all of my systems had working videos because HSFilewatcher watches the videos before making a marquee change. I can't stress enough to all of you what a great guy Sevenseal is. He was very helpful. Thank you man!!! Junky The Gamejunky Cab: http://www.hyperspin-fe.com/topic/7191-project-gamejunky-cab/ My new youtube channel: https://www.youtube.com/channel/UC85zq3VgibnPTOkielbyRegInstagram: https://instagram.com/imagamejunky/
lildivaaa Posted March 15, 2015 Posted March 15, 2015 To Antos & SevenSeal, I've worked out my previous issues with transitions. The problem I was having was each time an image would transition from one to another using any of the built-in effects...gameplay on any emulator would be affected. For however the transition took...gameplay would degrade to the point of being unplayable. My solution was to simply turn off the video transitions. One other curious question - the function of randomizing images. If does not seem all that random. I have 11 separate images to show. But the randomness doesn't really work, too much I was just curious...can you add this to to-do list of improvements for the next release, to increase the random settings?
Antos Posted March 15, 2015 Author Posted March 15, 2015 To Antos & SevenSeal,I've worked out my previous issues with transitions. The problem I was having was each time an image would transition from one to another using any of the built-in effects...gameplay on any emulator would be affected. For however the transition took...gameplay would degrade to the point of being unplayable. My solution was to simply turn off the video transitions. One other curious question - the function of randomizing images. If does not seem all that random. I have 11 separate images to show. But the randomness doesn't really work, too much I was just curious...can you add this to to-do list of improvements for the next release, to increase the random settings? Happy Sunday! This post will discuss 2 of your topics, plus 1, i.e. 1. Performance, 2. Random, 3. Current Situation 1. Performance: HLSL Transition Shaders is the most powerful option that I could choose from. We all have to remember, not too long ago, that just emulating early 80's games was a challenge for every machines. Emulation world is VERY CPU/FPU demanding, way more than a normal equivalent native game. We need to keep in mind that MAME doesn't aim for performance but rather quality for game preservation and do not focusing to minimize the demand on CPU/FPU cycles. So I recommend once the game is launched, to keep all external activities to minimal, not only HyperMarquee. One solution for the future, would be to use two computers, one for display, one for gaming since EDS could have the possibility (minor tweak) to exchange messages between a network. NB: Make sure that you are not stacking instances one over the other. If you are not using the Pipe method, you need to close the previous open instance at each call. 2. Random: I ran some deeper tests on this and everything seems to be ok on my side. I just tested it with the latest HM version with the HS Images/Letters folder. It includes 39 files. Here are my two first results; 1st try: Q,6,L,V,O,0,Y,A,4,I,D,8... 2nd try: 8,2,H,C,6,L,F,U,P,1,Y,T,S... here are my settings; Please give us some more details on this, for me/us to reproduce the problem? Thanks a lot! -------- 3. Important: This is a general reminder message for every testers: We are very happy that you like our solutions and testing our products. The goal, for now, is to help us to improve and debug. Our stuff is not yet ready for first initial release. When you report what seems to be a bug or a strange behavior, please give us enough details for us to reproduce and fix the situation. I.e. Version #, your settings and steps to produce that error. It is also expected that testers may have some computer technical knowledge. NB: Du to a large amount of happy testers (very successful, many thanks for your participation!!), HyperMarquee & EDS should get to initial release soon! (summer 2015). For now, here are my coding activities; - Developing brand new Control Panel Display using most recent technology. Similar goal than CPViewer or CPWizard. Can't wait to release first beta version. (Looking for some artists by the way for control artworks!! ) - Debugging EDS & HyperMarquee when you report bugs Cheers, HyperMarquee & Event Dispatch System
dinodino Posted March 15, 2015 Posted March 15, 2015 Yes absolutely, you can display random artworks that pertain to a folder.use the [RandomFile] field/wildcard in the Artwok section. C:\Users\Desktop\HyperMarqueeTest\artwork\[RandomFile] Check cycle and the duration. Is there a way to display all the artwork in a folder sequentially/alphabetically instead of randomly?
Antos Posted March 15, 2015 Author Posted March 15, 2015 Is there a way to display all the artwork in a folder sequentially/alphabetically instead of randomly? Not that I can think of right now. This is something that can be considered within a next version, please just give me your favorite scenario (circumstances) where this upgrade can be useful for you. Any specific needs? HyperMarquee & Event Dispatch System
dinodino Posted March 15, 2015 Posted March 15, 2015 Not that I can think of right now. This is something that can be considered within a next version, please just give me your favorite scenario (circumstances) where this upgrade can be useful for you. Any specific needs? Thanks for the reply Antos! I use an instance of HyperSpin as a loader to select between HyperPin, and (the "real") HyperSpin. On this "main main" menu, I display artwork from a folder on a second screen to set the mood (images of pinball, arcade, and console systems). When showing these images randomly, sometimes the same images will show multiple times. I just wanted to be able to show all the images in order before they are duplicated onscreen again. Thanks, dinodino
Antos Posted March 15, 2015 Author Posted March 15, 2015 Thanks for the reply Antos! I use an instance of HyperSpin as a loader to select between HyperPin, and (the "real") HyperSpin. On this "main main" menu, I display artwork from a folder on a second screen to set the mood (images of pinball, arcade, and console systems). When showing these images randomly, sometimes the same images will show multiple times. I just wanted to be able to show all the images in order before they are duplicated onscreen again.Thanks, dinodino Thank you for those precisions, this request is now part of the next* version wish list. (*other than ad hoc bug fixing versions) antos. HyperMarquee & Event Dispatch System
lildivaaa Posted March 17, 2015 Posted March 17, 2015 2. Random: I ran some deeper tests on this and everything seems to be ok on my side. I just tested it with the latest HM version with the HS Images/Letters folder. It includes 39 files. Here are my two first results;1st try: Q,6,L,V,O,0,Y,A,4,I,D,8... 2nd try: 8,2,H,C,6,L,F,U,P,1,Y,T,S... here are my settings; [ATTACH=CONFIG]52108[/ATTACH] Antos, Ok...I went through and recreated your scenario for the random images. I have 14 images, I renamed them 1 through 14. Then took a sample of a typical random rotation that I'm seeing. Here are the results: 4, 9, 11, 4, 9, 4, 9, 7, 4, 9, 14, 12, 4, 10, 14, 5, 10, 7, 14, 5, 14 As you can see, I'm seeing way too much repetitiveness. What are your thoughts on this?
sevenseal Posted March 17, 2015 Posted March 17, 2015 Antos,Ok...I went through and recreated your scenario for the random images. I have 14 images, I renamed them 1 through 14. Then took a sample of a typical random rotation that I'm seeing. Here are the results: 4, 9, 11, 4, 9, 4, 9, 7, 4, 9, 14, 12, 4, 10, 14, 5, 10, 7, 14, 5, 14 As you can see, I'm seeing way too much repetitiveness. What are your thoughts on this? it could be all related to the format type of the images you are using. if you used the wildcard and you put a .png at the end of you directory.... it will only show png file... you might have other format like jpeg, bmp..... just a comment that I am suggesting.. that does make a different
lildivaaa Posted March 17, 2015 Posted March 17, 2015 it could be all related to the format type of the images you are using. if you used the wildcard and you put a .png at the end of you directory.... it will only show png file... you might have other format like jpeg, bmp..... just a comment that I am suggesting.. that does make a different I do appreciate your input on this. But, all my images are in PNG format. I don't use any other format. Antos was able to run the same, similar test and get completely random results...exactly as it should. But as you can tell from my testing, using his method...I get more repetitive images that random.
dinodino Posted March 17, 2015 Posted March 17, 2015 Sure,As of now, there are two ways to achieve this that I can think of. 1. Just use the background artwork that you can parameterize within the 'Global Setting' section. When there is no background theme displayed, then the background of your choice will be displayed. 2. Place another instance under the theme instance with a transparent background for the theme. Then when there is no theme background available, you will see artwork(s) behind your theme as a background image. I tested option 1, it worked pretty well for me. Here is a screenshot. [ATTACH=CONFIG]52006[/ATTACH] Let me know if this works well for you. Never realized the functionality was already there! I had a chance to try option 1 today and it works great. Thanks a lot for the info!
Antos Posted March 17, 2015 Author Posted March 17, 2015 Antos,Ok...I went through and recreated your scenario for the random images. I have 14 images, I renamed them 1 through 14. Then took a sample of a typical random rotation that I'm seeing. Here are the results: 4, 9, 11, 4, 9, 4, 9, 7, 4, 9, 14, 12, 4, 10, 14, 5, 10, 7, 14, 5, 14 As you can see, I'm seeing way too much repetitiveness. What are your thoughts on this? I will help, this pattern seems odd to me indeed. Even if the sample is very narrow to conclude anything. Few questions; - Are you using EDS, (Pipe or CLI)? I may suspect something strange with Pipe, not sure. - Can-you do some more testing using the CLI mode only? - Please send me your images in a zip file if possible? This may not change anything, but I like to do test within the exact same environment. - Is the problem occurs at the first attempt or after few calls? - Please post me your EDS & HM settings. HyperMarquee & Event Dispatch System
forge73 Posted March 25, 2015 Posted March 25, 2015 All up and going on EDS and HyperMarquee! Thank you sevenseal for your help! this will be a great addition to my cab!
zebow2002 Posted April 1, 2015 Posted April 1, 2015 Hello, I have it setup using the HyperLaunch AHK. I'm building a sega megatech cab with 2 monitors, Fusion emulator only. The top monitor should display the box and some other stuff. Have it running but I can't get the box images to show, I must be missing something silly. Is there an issue with different drive letters? The filenames are correct and verified, when selecting 1 image it works, changing the variables to [filename] and it stops showing the pictures.
Antos Posted April 1, 2015 Author Posted April 1, 2015 Hello, Bonsoir, Show me your .ahk config file that launches HyperMarquee. I am almost sure that the source of your problem is related to your ahk script. HyperMarquee & Event Dispatch System
sevenseal Posted April 1, 2015 Posted April 1, 2015 Hello,I have it setup using the HyperLaunch AHK. I'm building a sega megatech cab with 2 monitors, Fusion emulator only. The top monitor should display the box and some other stuff. Have it running but I can't get the box images to show, I must be missing something silly. Is there an issue with different drive letters? The filenames are correct and verified, when selecting 1 image it works, changing the variables to [filename] and it stops showing the pictures. [ATTACH=CONFIG]52562[/ATTACH] I would have to agree with antos on this subject; what is the code being used in your ahk script? Hello, Bonsoir,Show me your .ahk config file that launches HyperMarquee. I am almost sure that the source of your problem is related to your ahk script.
zebow2002 Posted April 2, 2015 Posted April 2, 2015 Hello, here is the AHK I'm using. I noticed the bar isn't showing the correct system: When I mess around with the %system% and %romname% it changes but it only shows System:Sega Master System if I both remove %romname% and %systemname%, does it expect the system name to be in the actual filenames? How would that work? Changing to %gamename% %system% and many different combos doesn't get it to work, must be missing something simple. PIC: I would like advise on the best possible setup for a Sega Megatech cabinet, this has 2 monitors native. I have on complete original cabinet running the pcb and carts, I make my own converted carts btw. My second cabinet will become a show unit at a big gaming event here in Belgium. It already has a 20inch LCD installed to replace the CRT and I have a 10inch LCD incoming from China with a 800x600 resolution. The cabinet will only run Sega GG, SMS, MD/GEN, 32X & SEGA CD, so Fusion is the only emulator. Would be great to have a good marquee setup with as a minimum the game box, anything else is an extra. tnx for the input, looking forward to your replies. MEmu = Fusion MEmuV = v3.64 MURL = http://www.eidolons-inn.net/tiki-index.php?page=Kega MAuthor = djvj MVersion = 2.1.0 ;MCRC = F512EFED ;iCRC = C78F8D9A MID = 635038268893895568 MSystem = "Samsung Gam Boy","Sega 32X","Sega CD","Sega Game Gear","Sega Genesis","Sega Master System","Sega Mega Drive","Sega Mega-CD","Sega Pico","Sega SC-3000","Sega SG-1000" ;---------------------------------------------------------------------------- ; Notes: ; Don't forget to setup your bios or you might just get a black screen. ; Set your fullscreen resolution by going to Video->Full Screen Resolution ; Fusion only supports 4 different windowed resolutions. If you don't use fullscreen, set the one you want by going to Video->Window Size ; Esc is Fusion's default key to go Fullscreen/Windowed mode. This cannot be changed, but this module will still close if you use Esc to exit. You may see the emu leave fullscreen first though. ; Esc can also cause Fusion to change its fullscreen mode on exit, causing it to lockup for 5-10 seconds. The only fix for this is to not use Esc as your exit key. ; For Sega CD, make sure your cues are correctly pointing to all the tracks or else you will not get sound. Also turn off auto-play for CDs ; ; Sega CD: ; Configure your Sega CD bios first by going to Options -> Set Config -> Sega CD ; Set the scsi drive you want to use manually by going to Options -> CD Drive and seleting the one that corresponds to your scsi drive in DT. A dt drive is not supported by the emu, it must be scsi. ; ; Defining per-game controller types: ; In the module ini, set Controller_Reassigning_Enabled to true ; Default_P1_Controller and Default_P2_Controller should be set to the controller type you normally use for games not listed in the ini ; Make a new ini section with the name of your rom in your database, for example [super Scope 6 (USA)] ; Under this section you can have 2 keys, P1_Controller and P2_Controller ; For P1_Controller - 0=None, 1=Gamepad, 2=Multitap, 3=Mouse, 4=Serial USART ; For P2_Controller - 0=None, 1=Gamepad, 2=Multitap, 3=Mouse, 4=Super Scope, 5=Justifier, 6=Dual Justifiers, 7=Serial USART ; ; Some games will not work if you have Teamplayer or 4way play active all the time, so you can set the MultiTapType for those problematic games in the module settings for each of these games. ; ; Sega Pico: ; Fusion has very limited support for Sega Pico since it doesn't support the storyware overlays. This module offers support to add the storyware overlays by displaying the images ; on top of the emulator and having some controls to switch pages. ; This isn't perfect and it's very easy to get the page currently viewed in Fusion to get out of sync with the one visible on-screen. ; Overlays should be placed in your emulator folder in a sub-folder named \Overlays\%RomName% ; Suggested name for each page is: "Overlay x - %RomName%.png" where x is the number of the storyware book page ; You should map the Previous and Next Page commands to the ones you are using in Fusion, but make sure you only press them when Fusion is in the Storyware and not in the trackpad ; Otherwise everything will go out of sync since the module cannot detect if Storyware mode is active or not so it will always change page whereas Fusion won't ; ; Mouse is required Pico, along with the following controls (using a Genesis Gamepad): START switches between StoryWare and Trackpad, B is the pico red button, A and C turn pages, and U/D/L/R are, well, U/D/L/R. ; ; Windows 8 and 8.1 users: ; You may experience an issue with Fusion never getting higher than 33.5fps. Use Ctrl+F to bring up the FPS counter in Fusion to check if you are affected. This is caused by some compatibility changes Microsoft made for DirectDraw applications. There are two ways of fixing this issue: ; 1) Apply a compatibility patch for the Fusion executable using the Microsoft Application Compatibility Toolkit ; 2) Copy a prepatched ddraw.dll into the Fusion directory. ; Using the Microsoft Application Compatibility Toolkit is a cleaner fix but takes a few minutes to go through the steps to apply. Using the prepatched ddraw.dll file is quick and simple but may break the right-click menus when in full-screen mode, requiring you to make all configuration changes with the emulator windowed. ; Both methods are fully detailed with downloads, instructions and screenshots at http://www.blitzbasic.com/Community/post.php?topic=99477&post=1202630 ;---------------------------------------------------------------------------- HyperMarquee = true ;---------------------------------------------------------------------------- StartModule() If InStr(systemName, "Pico") StorywaveOverlayGUI() BezelGUI() FadeInStart() ; The object controls how the module reacts to different systems. Fusion can play a lot of systems, but changes itself slightly so this module has to adapt mType := Object("Samsung Gam Boy","sms","Sega 32X","32X","Sega CD","scd","Sega Mega-CD","scd","Sega Game Gear","gg","Sega Genesis","gen","Sega Mega Drive","gen","Sega Master System","sms","Sega Pico","gen","Sega SC-3000","sms","Sega SG-1000","sms") ident := mType[systemName] ; search 1st array for the systemName identifier mednafen uses If !ident ScriptError("Your systemName is: " . systemName . "`nIt is not one of the known supported systems for this Fusion module: " . moduleName) Log("Module - Started reading module ini") IfExist, % modulePath . "\" . systemName . ".ini" ; use a custom systemName ini if it exists settingsFile := modulePath . "\" . systemName . ".ini" Else settingsFile := modulePath . "\" . moduleName . ".ini" Fullscreen := IniReadCheck(settingsFile, "Settings", "Fullscreen","false",,0) forceFullScreen32 := IniReadCheck(settingsFile, "Settings", "ForceFullScreen32","false",,0) hideTitleBar := IniReadCheck(settingsFile, "Settings", "hideTitleBar","true",,1) ; Removes the border, titlebar, menubar, and centers the emu on your screen. Only need this if fullscreen is false useRamCarts := IniReadCheck(settingsFile, "Settings", "UseRamCarts","true",,1) controllerReassigningEnabled := IniReadCheck(settingsFile, "Settings", "Controller_Reassigning_Enabled","false",,1) multiTapType := IniReadCheck(settingsFile, "Settings" . "|" . romName, "MultiTapType",0,,1) DTWaitTime := IniReadCheck(settingsFile, systemName, "DTWaitTime","0",,1) fluxAudioCD := IniReadCheck(settingsFile, systemName, "FluxAudioCD",,,1) ; audio CD for use when Flux is ran fluxAudioCD := GetFullName(fluxAudioCD) ; convert relative path to absolute perfectSync := IniReadCheck(settingsFile, romName, "PerfectSync","false",,1) genP1Controller := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "Genesis_P1_Controller",2,,1) genP1bController := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "Genesis_P1b_Controller",2,,1) genP1cController := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "Genesis_P1c_Controller",2,,1) genP1dController := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "Genesis_P1d_Controller",2,,1) genP2Controller := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "Genesis_P2_Controller",2,,1) genP2bController := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "Genesis_P2b_Controller",2,,1) genP2cController := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "Genesis_P2c_Controller",2,,1) genP2dController := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "Genesis_P2d_Controller",2,,1) smsP1Controller := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "SMS_P1_Controller",1,,1) smsP2Controller := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "SMS_P2_Controller",1,,1) genP1Use := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "Genesis_P1_Use",1,,1) genP1bUse := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "Genesis_P1b_Use",1,,1) genP1cUse := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "Genesis_P1c_Use",1,,1) genP1dUse := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "Genesis_P1d_Use",1,,1) genP2Use := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "Genesis_P2_Use",1,,1) genP2bUse := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "Genesis_P2b_Use",1,,1) genP2cUse := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "Genesis_P2c_Use",1,,1) genP2dUse := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "Genesis_P2d_Use",1,,1) smsP1Use := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "SMS_P1_Use",1,,1) smsP2Use := IniReadCheck(settingsFile, "Controllers" . "|" . romName, "SMS_P2_Use",1,,1) StorywaveOverlayPath := IniReadCheck(settingsFile, "Settings", "Storywave_Overlay_Path",emuPath . "\Overlays\" . dbName,,1) toggleStorywaveOverlayKey := IniReadCheck(settingsFile, "Settings", "Toggle_Storywave_Overlay_Visibility_Key","X",,1) ; Show Overlay downStorywaveOverlayKey := IniReadCheck(settingsFile, "Settings", "Storywave_Overlay_Page_Down_Key","Z",,1) ; Previous Page upStorywaveOverlayKey := IniReadCheck(settingsFile, "Settings", "Storywave_Overlay_Page_Up_Key","C",,1) ; Next Page resetStorywaveOverlayKey := IniReadCheck(settingsFile, "Settings", "Storywave_Overlay_Reset_Page_Key","R",,1) ; Reset Storywave to Initial Page StorywaveOverlayTransparency := IniReadCheck(settingsFile, "Settings", "Storywave_Overlay_Transparency","50",,1) ; Overlay Transparency Log("Module - Finished reading module ini") BezelStart() fusionFile := CheckFile(emuPath . "\fusion.ini") fusionIni := LoadProperties(fusionFile) ; load the config into memory currentFullScreen := ReadProperty(fusionIni,"FullScreen") ; read current fullscreen state currentForceFullScreen32 := ReadProperty(fusionIni,"forceFullScreen32") ; read current ForceFullScreen32 state currentPerfectSync := ReadProperty(fusionIni,"PerfectSync") ; read current PerfectSync state hideEmuObj := Object("Load RAM Cart ahk_class #32770",0,"Create RAM Cart ahk_class #32770",0,"Select RAM Cart Size ahk_class #32770",0,"Fusion ahk_class KegaClass",1) ; Hide_Emu will hide these windows. 0 = will never unhide, 1 = will unhide later 7z(romPath, romName, romExtension, 7zExtractPath) If romExtension in .7z,.rar ScriptError(MEmu . " only supports uncompressed or zip compressed roms. Please enable 7z support in HLHQ to use this module/emu for this extension: """ . romExtension . """") If ( Fullscreen != "true" And currentFullScreen = "1" ) { WriteProperty(fusionIni,"FullScreen", 0) If controllerReassigningEnabled != true ; no need to save file if it's going to be written later SaveProperties(fusionFile,fusionIni) ; save fusionFile to disk } Else If ( Fullscreen = "true" And currentFullScreen = "0" ) { WriteProperty(fusionIni,"FullScreen", 1) If controllerReassigningEnabled != true ; no need to save file if it's going to be written later SaveProperties(fusionFile,fusionIni) ; save fusionFile to disk } If ( forceFullScreen32 != "true" And currentForceFullScreen32 = "1" ) { WriteProperty(fusionIni,"ForceFullScreen32", 0) If controllerReassigningEnabled != true ; no need to save file if it's going to be written later SaveProperties(fusionFile,fusionIni) ; save fusionFile to disk } Else If ( forceFullScreen32 = "true" And currentForceFullScreen32 = "0" ) { WriteProperty(fusionIni,"ForceFullScreen32", 1) If controllerReassigningEnabled != true ; no need to save file if it's going to be written later SaveProperties(fusionFile,fusionIni) ; save fusionFile to disk } If ( perfectSync != "true" And currentPerfectSync = "1" ) { WriteProperty(fusionIni,"PerfectSync", 0) If controllerReassigningEnabled != true ; no need to save file if it's going to be written later SaveProperties(fusionFile,fusionIni) ; save fusionFile to disk } Else If ( perfectSync = "true" And currentPerfectSync = "0" ) { WriteProperty(fusionIni,"PerfectSync", 1) If controllerReassigningEnabled != true ; no need to save file if it's going to be written later SaveProperties(fusionFile,fusionIni) ; save fusionFile to disk } hideEmu := If Fullscreen = "true" ? "Hide" : "" fullscreen := If Fullscreen = "true" ? " -fullscreen" : "" If bezelPath ; Setting windowed mode resolution { WriteProperty(fusionIni,"GameGearZoom", 1) ; disabling emulator default bezel If controllerReassigningEnabled != true ; no need to save file if it's going to be written later SaveProperties(fusionFile,fusionIni) ; save fusionFile to disk } ; Allows you to set on a per-rom basis the controller type plugged into controller ports 1 and 2 If controllerReassigningEnabled = true { Log("Module - Started reassigning Fusion's ini controls") WriteProperty(fusionIni,"MultiTapType", multiTapType) ; sets MultiTap WriteProperty(fusionIni,"Joystick1Type", genP1Controller) ; sets controls for P1 WriteProperty(fusionIni,"Joystick1bType", genP1bController) ; sets controls for P1b WriteProperty(fusionIni,"Joystick1cType", genP1cController) ; sets controls for P1c WriteProperty(fusionIni,"Joystick1dType", genP1dController) ; sets controls for P1d WriteProperty(fusionIni,"Joystick2Type", genP2Controller) ; sets controls for P2 WriteProperty(fusionIni,"Joystick2bType", genP2bController) ; sets controls for P2b WriteProperty(fusionIni,"Joystick2cType", genP2cController) ; sets controls for P2c WriteProperty(fusionIni,"Joystick2dType", genP2dController) ; sets controls for P2d WriteProperty(fusionIni,"Joystick1MSType", smsP1Controller) ; sets controls for sms P1 WriteProperty(fusionIni,"Joystick2MSType", smsP2Controller) ; sets controls for sms P2 WriteProperty(fusionIni,"Joystick1Using", genP1Use) ; sets controls for P1 WriteProperty(fusionIni,"Joystick1bUsing", genP1bUse) ; sets controls for P1b WriteProperty(fusionIni,"Joystick1cUsing", genP1cUse) ; sets controls for P1c WriteProperty(fusionIni,"Joystick1dUsing", genP1dUse) ; sets controls for P1d WriteProperty(fusionIni,"Joystick2Using", genP2Use) ; sets controls for P2 WriteProperty(fusionIni,"Joystick2bUsing", genP2bUse) ; sets controls for P2b WriteProperty(fusionIni,"Joystick2cUsing", genP2cUse) ; sets controls for P2c WriteProperty(fusionIni,"Joystick2dUsing", genP2dUse) ; sets controls for P2d WriteProperty(fusionIni,"Joystick1MSUsing", smsP1Use) ; sets controls for sms P1 WriteProperty(fusionIni,"Joystick2MSUsing", smsP2Use) ; sets controls for sms P2 SaveProperties(fusionFile,fusionIni) ; save fusionFile to disk Log("Module - Finished reassigning Fusion's ini controls") } fluxRom := InStr(romName, "flux") ; test if this game is Flux, a special case game that requires an Audio CD to be mounted If fluxRom { Log("Module - Mounting the Audio CD because """ . romName . """ requires one to function.") ident := "gen" ; change ident to gen because Flux has to be mounted as a Genesis rom DaemonTools("mount", fluxAudioCD) ; mount the Audio CD the user has set in the module settings } scdExtension := InStr(".ccd|.cue|.bin|.iso", romExtension) ; the sega cd extensions supported by fusion HideEmuStart() ; This fully ensures windows are completely hidden even faster than winwait ;*********** Hyper Marquee *********************** If ( HyperMarquee = "true" ) { Run, %A_Scriptdir%\HyperMarquee\Hyper Marquee.exe false SMS_ARTWORK %romName% %systemName% ,,,ImagePID Sleep, 200 ; 1000 = 1 second Sleep, 300 ; 1000 = 1 second } If (ident = "scd" && dtEnabled = "true" && scdExtension) { If dtUseSCSI = false Log("Module - Daemon Tools drive type is set to ""dt"" but only ""scsi"" is supported for Fusion. Forcing scsi drive.", 2) DaemonTools("mount", romPath . "\" . romName . romExtension, (If dtUseSCSI = "false" ? "scsi" : "")) Sleep, DTWaitTime Run(executable . " -auto -" . ident . " " . fullscreen, emuPath, hideEmu) } Else { If (ident = "scd" && dtEnabled = "true" && !scdExtension) Log("Module - " . romExtension . " is not a supported cd image extension for Fusion. Launching Fusion without DT support.", 2) Run(executable . " -auto -" . ident . fullscreen . " """ . romPath . "\" . romName . romExtension . """", emuPath, hideEmu) } WinWait("Fusion ahk_class KegaClass") WinWaitActive("Fusion ahk_class KegaClass") If fluxRom PostMessage, 0x111, 40009,,,ahk_class KegaClass ; Runs the Boot Sega-CD command to load the Audio CD that should be mounted in DT already If (ident = "scd" && useRamCarts = "true") ; Sega CD or Mega CD only { brmPath := ReadProperty(fusionIni,"BRMFiles") ; read BRM path IfNotExist, %brmPath% FileCreateDir, %brmPath% ; create brmPath if it does not exist selectRamWin := "Select RAM Cart Size ahk_class #32770" createRamWin := "Create RAM Cart ahk_class #32770" loadRamWin := "Load RAM Cart ahk_class #32770" ; Create New Ram Cart if it doesn't exist already IfNotExist, %brmPath%\%romName%.crm { PostMessage, 0x111, 40036,,,ahk_class KegaClass ; Open Create New Ram Cart Window WinWait, %selectRamWin% WinSet, Transparent, On, %selectRamWin% Control, Check,, Button7, %selectRamWin% ControlSend, Button1, {Enter}, %selectRamWin% OpenROM(createRamWin, brmPath . "\" . romName . ".crm") } ; Now load the Ram Cart PostMessage, 0x111, 40035,,,ahk_class KegaClass ; Open Load Ram Cart Window OpenROM(loadRamWin, brmPath . "\" . romName . ".crm") } WinWaitActive("Fusion ahk_class KegaClass") Loop { ; looping until Fusion is done loading game Sleep, 200 WinGetTitle, winTitle, Fusion ahk_class KegaClass StringSplit, T, winTitle, %A_Space% If (T3 = "-") Break If (A_Index > 75) { Log("Module - Timed out detecting that a game was loaded in Fusion. There may be a problem with the emu loading your game." . (If ident = "scd" ? "You need to make sure you select the proper CD drive manually in Fusion first by going to Options -> CD Drive":""),3) Break } } If hideTitleBar = true { WinSet, Style, -0x40000, Fusion ahk_class KegaClass ; Removes the border of the game window WinSet, Style, -0xC00000, Fusion ahk_class KegaClass ; Removes the TitleBar DllCall("SetMenu", uint, WinActive( "A" ), uint, 0) ; Removes the MenuBar If bezelEnabled != true Center(Fusion ahk_class KegaClass) } BezelDraw() If InStr(systemName, "Pico") StorywaveOverlayLoad() HideEmuEnd() FadeInExit() If InStr(systemName, "Pico") PostMessage, 0x111, 40183,,,ahk_class KegaClass ; tell Kega Fusion to capture mouse input Process("WaitClose", executable) If (fluxRom || (ident = "scd" && dtEnabled = "true" && scdExtension)) DaemonTools("unmount") 7zCleanUp() StorywaveOverlayExit() BezelExit() ;*********** Hyper Marquee *********************** If ( HyperMarquee = "true" ) { Process, Close, %ImagePID% Process, Close, %HiToTextPID% Process, Close, %FreeTextPID% Process, Close, %TimePID% } If fileRenamed { ; rename file back to alternate name for next launch FileMove, %romPath%\%romName%%romExtension%, %romPath%\%originalRomName%%romExtension% If ErrorLevel ; if rename was successful, set var so we know to move it back later ScriptError("There was a problem renaming " . romName . " back to " . originalRomName) } FadeOutExit() ExitModule() Center(title) { WinGetPos, X, Y, width, height, %title% x := ( A_ScreenWidth / 2 ) - ( width / 2 ) y := ( A_ScreenHeight / 2 ) - ( height / 2 ) WinMove, %title%, , x, y } MultiGame: ; msgbox % "selectedRom = " . selectedRom . "`nselected game = " . currentButton . "`nmgRomPath = " . mgRomPath . "`nmgRomExt = " . mgRomExt . "`nmgRomName = " . mgRomName ; Unmount the CD from DaemonTools If ( scdExtension && dtEnabled = "true" ) DaemonTools("unmount") Sleep, 500 ; Required to prevent DT from bugging ; Mount the CD using DaemonTools If ( scdExtension && dtEnabled = "true" ) DaemonTools("mount", selectedRom) Return CloseProcess: FadeOutStart() WinClose("Fusion ahk_class KegaClass") ; PostMessage, 0x111, 40039,,,ahk_class KegaClass ; Tells Fusion to Power Off ; Sleep, 100 ; giving time for Fusion to unload rom ; PostMessage, 0x111, 40005,,,ahk_class KegaClass ; Tells Fusion to exit Return ;_______________Storywave Overlay__________________________ StorywaveOverlayGUI(){ Global If !pToken pToken := Gdip_Startup() Gui, StorywaveOverlay_GUI: +Disabled -Caption +E0x80000 +OwnDialogs +LastFound +ToolWindow +AlwaysOnTop Gui, StorywaveOverlay_GUI: Margin,0,0 Gui, StorywaveOverlay_GUI: Show,, StorywaveOverlay_Layer StorywaveOverlay_hwnd := WinExist() StorywaveOverlay_hbm := CreateDIBSection(A_ScreenWidth, A_ScreenHeight) StorywaveOverlay_hdc := CreateCompatibleDC() StorywaveOverlay_obm := SelectObject(StorywaveOverlay_hdc, StorywaveOverlay_hbm) StorywaveOverlay_G := Gdip_GraphicsFromhdc(StorywaveOverlay_hdc) Gdip_SetSmoothingMode(StorywaveOverlay_G, 4) Return } StorywaveOverlayLoad(){ Global StorywaveOverlayArray := [] Loop, % StorywaveOverlayPath . "\*.png" StorywaveOverlayArray.Insert(A_LoopFileFullPath) if (StorywaveOverlayArray.MaxIndex() > 0) { WinGet emulatorID, ID, A WinGetPos, emuX, emuY, emuW, emuH, ahk_id %emulatorID% currentStorywaveOverlay := 1 StorywaveOverlayDraw := false XHotKeywrapper(toggleStorywaveOverlayKey,"toggleStorywaveOverlay","ON") XHotKeywrapper(upStorywaveOverlayKey,"upStorywaveOverlay","ON") XHotKeywrapper(downStorywaveOverlayKey,"downStorywaveOverlay","ON") XHotKeywrapper(resetStorywaveOverlayKey,"resetStorywaveOverlay","ON") } Return } StorywaveOverlayExit(){ Global SelectObject(StorywaveOverlay_hdc,StorywaveOverlay_obm) DeleteObject(StorywaveOverlay_hbm) DeleteDC(StorywaveOverlay_hdc) Gdip_DeleteGraphics(StorywaveOverlay_G) Gui, StorywaveOverlay_GUI: Destroy Gdip_DisposeImage(StorywaveOverlayBitmap) Return } StorywaveOverlayHide(){ Global Gdip_GraphicsClear(StorywaveOverlay_G) UpdateLayeredWindow(StorywaveOverlay_hwnd, StorywaveOverlay_hdc,emuX,emuY, emuW, emuH) StorywaveOverlayDraw := false Return } StorywaveOverlayShow(){ Global Tooltip, "Current Page " %currentStorywaveOverlay% settimer,EndofCurrentPageToolTipDelay, -2000 Gdip_GraphicsClear(StorywaveOverlay_G) StorywaveOverlayBitmap := Gdip_CreateBitmapFromFile(StorywaveOverlayArray[currentStorywaveOverlay]) Gdip_DrawImage(StorywaveOverlay_G, StorywaveOverlayBitmap, 0, 0,emuW,emuH) UpdateLayeredWindow(StorywaveOverlay_hwnd, StorywaveOverlay_hdc,emuX,emuY, emuW, emuH,StorywaveOverlayTransparency) StorywaveOverlayDraw := true Return } EndofCurrentPageToolTipDelay: ToolTip Return toggleStorywaveOverlay: If StorywaveOverlayDraw StorywaveOverlayHide() Else StorywaveOverlayShow() Return upStorywaveOverlay: currentStorywaveOverlay++ If (currentStorywaveOverlay > StorywaveOverlayArray.MaxIndex()) currentStorywaveOverlay-- StorywaveOverlayShow() Return downStorywaveOverlay: currentStorywaveOverlay-- If (currentStorywaveOverlay < 1) ; This variable cannot be lower than 1 (first page) currentStorywaveOverlay := 1 StorywaveOverlayShow() Return resetStorywaveOverlay: currentStorywaveOverlay := 1 StorywaveOverlayShow() Return
Antos Posted April 2, 2015 Author Posted April 2, 2015 Hello there, You are right, you are almost there. We will give you a hand until this works. It been a while I haven't used .ahk and I did it with MAME only. Djvj wrote that script, this guy is the right person to ask. It's just a matter to use the right params variables. The only difference could be the variables name. Not sure if .ahk is case sensitive but here is the syntax for rom name : %RomName% within fusion script. Within your screenshot, I can see fighter for the game name, is that the right name of the game that you are looking for in this particular example? If so, you are 50% there. For the SystemName, since you are only using Fusion, maybe thinking hardcoding it within ahk and HyperMarquee path for now? Something like this within ahk; ;*********** Hyper Marquee *********************** If ( HyperMarquee = "true" ) { Run, %A_Scriptdir%\HyperMarquee\Hyper Marquee.exe false SMS_ARTWORK %RomName% fusion ,,,ImagePID Sleep, 200 ; 1000 = 1 second } Let me know. HyperMarquee & Event Dispatch System
zebow2002 Posted April 3, 2015 Posted April 3, 2015 Hey, tried every setting I can think of but nothing is working, it keeps messing up the System/Title combo as in my initial screenshot. I'll have a go with EDS this weekend but I find it hard to get into. I couldn't find an example setup video on EDS and hypermarquee, that should lower the threshold for new users and old users like myself who haven't been messing around with HS for the last couple of years
sevenseal Posted April 3, 2015 Posted April 3, 2015 Hey,tried every setting I can think of but nothing is working, it keeps messing up the System/Title combo as in my initial screenshot. I'll have a go with EDS this weekend but I find it hard to get into. I couldn't find an example setup video on EDS and hypermarquee, that should lower the threshold for new users and old users like myself who haven't been messing around with HS for the last couple of years there is setup videos for both, I know because I made them, they are on the first post on each of their threads...........................
zebow2002 Posted April 4, 2015 Posted April 4, 2015 Hello, have everything running, very cool software, loving it But, I setup my path for the "game info" to hyperlaunch\data\game info\[system].ini and it won't display anything. When I change the path to hyperlaunch\data\game info\sega master system.ini it works fine but it won't show the [description], it show the filename, goodname, year, system etc etc but no description. any tips/advice? tnx
sevenseal Posted April 4, 2015 Posted April 4, 2015 Hello,have everything running, very cool software, loving it But, I setup my path for the "game info" to hyperlaunch\data\game info\[system].ini and it won't display anything. When I change the path to hyperlaunch\data\game info\sega master system.ini it works fine but it won't show the [description], it show the filename, goodname, year, system etc etc but no description. any tips/advice? tnx hi zebow2002, could i get a copy of your main menu.xml database i want to comfirm if your personal systems names will match hyperlaunch naming format if they dont match, that is one reason the description do not display for that reason. if it doesnt show, it could be that you are not using the current HyperMarquee revision available.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.