Adultery Posted November 26, 2014 Author Share Posted November 26, 2014 Thanks you guys. If it wasn't for the one-offs I would have been bored with this already. 1 Quote Link to comment Share on other sites More sharing options...
Adultery Posted November 27, 2014 Author Share Posted November 27, 2014 Hey gang! Version 1.0.8 is out. I did some additional work to my all-encompassing GameEx class to only return the proper ROM path when there are multiple paths specified in the GameEx setup. I also laid the ground work for supporting MAME as a regular emulator, which will open the door for MAME only plugins to be able to reach beyond integrated MAME support... Plugins like the Hi-Score Snapper and MAME Commander will probably benefit the most from this but I'm sure others will as well.That being said, I think I will need to start rolling out updated versions of several plugins (and GameEx Launch also) that used the old GameEx class I wrote since it was bulky and inefficient. Too much has changed in my GameEx core code that I just can't keep supporting the old framework any longer. In the end, everyone wins with what I would consider a better product.Also want to send out a HUGE thanks to rockyrocket for his help in testing this new version. Without his help I would have never made this work the way it should with GameEx UI events. Go press his "like post" buttons and show some love!! 1.0.8Fixed some bugs for Attract ModeAdded back in some variable replacements that I missedAdded new support to GameEx class for multiple MAME paths, now scans and returns proper ROM directory for each gameSome additional fixes for GameEx UI eventsGrab it from the usual places. 3 Quote Link to comment Share on other sites More sharing options...
rockyrocket Posted November 28, 2014 Share Posted November 28, 2014 Glad to help, and I am sure that if you keep making awesome stuff we will all keep testing it for you! . 1 Quote Link to comment Share on other sites More sharing options...
Krakerman Posted December 8, 2014 Share Posted December 8, 2014 Thanks! Quote Link to comment Share on other sites More sharing options...
stigzler Posted December 16, 2014 Share Posted December 16, 2014 Great update and just returning to this. One question, Adultery. Looking at the list of variables that can be passed, I can see loads of useful ones. However, I can't see one for the "system" - only a "system biography." Also looked int he wiki:http://www.gameex.info/wiki/index.php/PlugIn_Development:GameEx_Event_CommandLine_FunctionIs there no way to access which system an emulator is for? I'm presuming this is derived from the Database setting in the Emulator setup menu? Needed for another quick project.... Quote Link to comment Share on other sites More sharing options...
Adultery Posted December 16, 2014 Author Share Posted December 16, 2014 GameEx doesn't pass that info. You might look at emulator name though, that passes the emulator ' title in the GameEx emu configuration. Quote Link to comment Share on other sites More sharing options...
stigzler Posted December 16, 2014 Share Posted December 16, 2014 Thanks. Guess I could include the system name in the emu title and extract it later, or setup a cross-ref table. Was really for emus where they are used for multiple systems (e.g. Demul or Dolphin). Quote Link to comment Share on other sites More sharing options...
Adultery Posted December 17, 2014 Author Share Posted December 17, 2014 Well i could probably add a variable to snag the exe file from the ini if that would help... Quote Link to comment Share on other sites More sharing options...
stigzler Posted December 17, 2014 Share Posted December 17, 2014 Hmmm,,, it may.. I'm just wondering....What I'm looking for is for a consistent system name to be passed from GameEx to a script following launch from the emulator section. Thinking Quicklaunch is the best tool to achieve this as inherently linked to each emulator. Problem being, in each emulator's settings - there appears to be no key/value pair specifically for the system. Now...when you say the .ini - do you mean the GameEx ini? If so, examining this, the only way I can think of accessing this is via the db name. I'm guessing all systems are covered in the db files and it appears as though the system name appears in these consistently. Would have the benefit of keeping system names consistant across users, rather than using free-text of 'emulator name'Extract of gameex.ini and e.g. of db below...emu_1lastromfilter=*.*emu_1_dbcachemodified=23/09/2013 15:01:24emu_1_lastnumgames=17emu_1_dbcachelastname=[Console] Sony PlayStationemu_1_dbcacheinicreated51=Trueemu_1_enabled=Trueemu_1_startpagename=PCSX GamesSo - guessing if you can snag from this ini, this may be possible? i.e. passing the db name or deriving the system name from this?Gawd... I'm always causing trouble! Quote Link to comment Share on other sites More sharing options...
Adultery Posted December 18, 2014 Author Share Posted December 18, 2014 Yes I meant the GameEx ini.Well, the issue is that not all emulators use a db. If I pass the emulator name it would be unique to that emulator number. So for Emu #3 for example, I could pass whatever the name of the exe is. Ya know? So say [emuexe] passes nulldc.exe.The other problem with passing db values to a script is that of no db exists fir that emulator, it would be an empty variable and probably crash your script.What i would probably do of I was you is just handle it internally based on the emu number, which always passes a value. Something like:If emunum = 1 Then system = mame(I would probably use a select case instead though ).Or in script terms:SET emunum=%1IF %emunum%==1 ( SET sysname="MAME" ) ELSE IF %emunum%==2 ( SET sysname="SNES" )You get the idea I'm sure. Quote Link to comment Share on other sites More sharing options...
stigzler Posted December 19, 2014 Share Posted December 19, 2014 Nice one fella, and see where you're going with that one. However, the problem will be with Emus that emulate more than one system (e.g. Demul - DC, Atomiswave and Naomi)It's no biggie tbh. I could just set the System parameter independently in each cmd line under Quicklaunch - e.g. "script.exe -g "[Gamename] -s "Playstation 2"However, the ability to pass the dbfile name would also be sweeet! I'm following this format for standardizing system names, but I do take your point about how some systems may not have associated db file (prob leaving the above manual method as necessary). Even sweeter if you could make available a cmd line var ([DBName] ?):"Sony PlayStation 2"rather than:"[Console] Sony PlayStation 2"or maybe the two? [DBName_full] and [DBName_short]thanks again. Quote Link to comment Share on other sites More sharing options...
stigzler Posted December 21, 2014 Share Posted December 21, 2014 Looking into this a bit more, I realise that that any app can snaffle stuff from the GameEx.ini, as long as you have the Emulator number. For this app I'm bashing together, I'm using the TITLETEXT key in the ini to store emulator names. Can you pass any vars from the ini? If so, in addition to the DATABASE key, the TITLETEXT key would also be useful!I don't know how much of a pain this is to code. I know it already passes the Emu number and any code could snaffle it via that, but the above keys plugged straight into the command line would make things a lot more easier..... Quote Link to comment Share on other sites More sharing options...
Adultery Posted December 21, 2014 Author Share Posted December 21, 2014 Yes, I have all of that information in a datatable already so it won't be too terribly difficult (just have to write the regex tags for the command line). Just not a priority at the moment, but I will get to it in my round of plugin updates I plan to do over my xmas vacation. Quote Link to comment Share on other sites More sharing options...
stigzler Posted December 21, 2014 Share Posted December 21, 2014 Fantastic and thanks, fella. I know what it's like - getting stacked up here with todo's! Quote Link to comment Share on other sites More sharing options...
Adultery Posted December 28, 2014 Author Share Posted December 28, 2014 Updated to 1.0.9, which brings a few improvements. Most notably though is the advanced command line variables, which are taken from the emulator settings instead of being passed by GameEx. There will probably be many more in the future, but this is what the list looks like for now:[TitleText] The emulator's Title Text property[startPageName] The emulator's Start Page Name property[EmuLogo] The emulator's logo[ConfigPath] The emulator's advanced config[Database] The emulator's database name[CustomBG] The emulator's custom background image[boxPath] The emulator's box art path[ManualPath] The emulator's game manual path[TVAdvertPath] The emulator's advertisement path[AdvertPath] The emulator's advertisement path[NoImg] The emulator's "image not found" path or file[bGSnapPath] The emulator's background snap path[DBSnapPath] The emulator's database snap path[selectionMusicPath] The emulator's selection music path[CPPPath] The emulator's control panel path[MusicPath] The emulator's music path[instructionsPath] The emulator's instructions path[ExtenderArtPath] The emulator's GameExtender art path/file[CustomPath1] ... [CustomPath5] The emulator's custom art paths (from 1 to 5)Feel free to ask if there are questions or bugs, I tested it pretty well but if problems arise I will address them as always.Get it from the usual places. 2 Quote Link to comment Share on other sites More sharing options...
stigzler Posted December 28, 2014 Share Posted December 28, 2014 Fantastic work. Thanks fella. Quote Link to comment Share on other sites More sharing options...
stigzler Posted February 18, 2015 Share Posted February 18, 2015 Adultery, my old bean. Are the following working your end?[CmdLine] The command line for the selected game[Cmd] The command line for the selected game 1st is just sending a blank2nd is sending the literal - i.e. "[Cmd]" Desperate to get hold of the booted emu process, somehow + would prefer grabbing via command line. Quote Link to comment Share on other sites More sharing options...
Adultery Posted February 18, 2015 Author Share Posted February 18, 2015 Ahh yes, there was an issue in the way GameEx sends me command-lines. I have addressed this for Virtual Drive Loader already, but I need to import the new code into this plugin.That cmd issue has also been addressed already in my game data class update.I might get to this today yet. 1 Quote Link to comment Share on other sites More sharing options...
stigzler Posted February 18, 2015 Share Posted February 18, 2015 Nicely done. Quote Link to comment Share on other sites More sharing options...
stigzler Posted February 24, 2015 Share Posted February 24, 2015 Ooops. Mysterious goings on in the plugin: :/Cmd line params:"[bio]" "[systemBio]" "[Players]" "[Emu]" "[EmuName]" "[TitleText]" "[startPageName]" "[EmuLogo]"Fails to launch app. Simpler cmd line - app launches fine. Think it's around the token parsing. The log seems to run cold too.Any ideas? Quote Link to comment Share on other sites More sharing options...
Adultery Posted February 24, 2015 Author Share Posted February 24, 2015 What event are you launching at? Some of these are only populated at certain times.May be best to have a look at your settings. Quote Link to comment Share on other sites More sharing options...
stigzler Posted February 24, 2015 Share Posted February 24, 2015 The QL settings? Attached - the working and temperamental ones. thanksWhoops - also didn't complete the log attachment - now attachedSettings - working.xmlSettings.xmlQuickLaunch.txt Quote Link to comment Share on other sites More sharing options...
stigzler Posted February 25, 2015 Share Posted February 25, 2015 I'm wondering whether it's something to do with maximum parameter lengths? I sent [bio] for Vagrant Story to a cmd line parser thingy and for some reason, it split it into two parameters - couldn't see any quotes in the text:Param1:Valendra is a land that had undergone civil war. The end of which had birthed the parliament and several organizations to control the balance of power. Ashley Riot is a Riskbreaker agent, an elite one man investigator, for the Valendia Knights of Peace (VKP) who is investigating some strange occurrences. A cult of religious fanatics known as Müllenkamp, and their leader Sydney Losstarot, have seized the manor of Duke Bardorba of Valendia Kingdom. The events at the manor have sent Ashley on a quest to get to the bottom of what's going on, and travel into the catacombs that lead to the destroyed, yet magical city of Leá Monde. However Ashley is not the only person interested in the city, and other factions of the government, including parliament assigned Knights of the Crimson Blade and other VKP agents are pursuing their own agenda. Combat is central to the game. The game runs in real time but when entering combat and attacking an enemy, the game is paused. A wireframe sphere showing the range of the currently selected weapon and detailed statistics on different body parts of the enemies within range. The game features a range of weapons. Each weapon can be disassembled and reassembled in workshops scattered throughout the game, attaching gems for extra power. Weapons used constantly against the same type of enemy improve in power against them. Ashley can also make use of Magic, Chain Abilities and Break Arts. Magic is broken into four groups, namely defense, combat, healing and status. Spells use up mana points and are sometimes more costly than useful. Chain Abilities allow Ashley to chainParam 2:together consecutive hits against enemies. Break Arts are special skills learnt after repetitive use of a weapon type. Sacrificing some of the player's health, Break Arts can perform a high damage attack on an enemy. Quote Link to comment Share on other sites More sharing options...
stigzler Posted March 6, 2015 Share Posted March 6, 2015 Hmm... apologies feel like I'm pestering you on this plugin, but thingy I'm working on is heavily dependent on it Concerning the [Database] tag. Weird issue with case.The filename in C:\GameEx\DATA\EMULATORS, say for PlayStation is: [Console] Sony PlayStation.db3The Name field in the actual db3 is: Sony PlayStationHowever, when I use the [Database] tag, it gets passed as:[Console] Sony Playstationyou'll notice the lower case "s" - I know it sounds pedantic, but using a systems map which is case sensitive (which may be a b***er to recode) - just wondering what's going on with that and whether possible to preserve case of the original db3 info?Ignore - batch surprised me and made case insensativity actually quite easy. Still curious though... Quote Link to comment Share on other sites More sharing options...
Adultery Posted March 6, 2015 Author Share Posted March 6, 2015 If you take a look at your GameEx ini for that emulator (or maybe even the emulator setup in the wizard), my guess is that's the key that's in the database value. I just parse and pass on what's in the GameEx.ini directly, I don't do any sort of file verification on that stuff or check for actual file/folder case. I don't think Windows cares about the casing in a file path anyway, C:/MyFile.php would point to the same file if it were c:/mYFILe.php regardless of the way it's recorded.I'm wondering whether it's something to do with maximum parameter lengths? I sent [bio] for Vagrant Story to a cmd line parser thingy and for some reason, it split it into two parameters - couldn't see any quotes in the text:Param1:Valendra is a land that had undergone civil war. The end of which had birthed the parliament and several organizations to control the balance of power. Ashley Riot is a Riskbreaker agent, an elite one man investigator, for the Valendia Knights of Peace (VKP) who is investigating some strange occurrences. A cult of religious fanatics known as Müllenkamp, and their leader Sydney Losstarot, have seized the manor of Duke Bardorba of Valendia Kingdom. The events at the manor have sent Ashley on a quest to get to the bottom of what's going on, and travel into the catacombs that lead to the destroyed, yet magical city of Leá Monde. However Ashley is not the only person interested in the city, and other factions of the government, including parliament assigned Knights of the Crimson Blade and other VKP agents are pursuing their own agenda. Combat is central to the game. The game runs in real time but when entering combat and attacking an enemy, the game is paused. A wireframe sphere showing the range of the currently selected weapon and detailed statistics on different body parts of the enemies within range. The game features a range of weapons. Each weapon can be disassembled and reassembled in workshops scattered throughout the game, attaching gems for extra power. Weapons used constantly against the same type of enemy improve in power against them. Ashley can also make use of Magic, Chain Abilities and Break Arts. Magic is broken into four groups, namely defense, combat, healing and status. Spells use up mana points and are sometimes more costly than useful. Chain Abilities allow Ashley to chainParam 2:together consecutive hits against enemies. Break Arts are special skills learnt after repetitive use of a weapon type. Sacrificing some of the player's health, Break Arts can perform a high damage attack on an enemy.This is definitely possible. There may be a char I need to strip from the bio that I missed but chances are you're just passing one that's simply too long. I would have to look into it. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.