PcTeknic Posted May 2, 2023 Share Posted May 2, 2023 When we create a custom system, we can create it for EXE files, system type 4. This is great, however I can't find information on how to make it work correctly. I have found an external program capable of creating the PinCabView system that works correctly with some specific games. But my intention is to create a "Pinball PC Games" or "Steam Pinball Games" system that shows several games that are only 1 table, such as Timeshock Ultra, SlamTilt, Pinball Wicked or Demons Tilt among others. Link to comment Share on other sites More sharing options...
scutters Posted May 2, 2023 Share Posted May 2, 2023 So you want one 'system' that has multiple different single table executables? I think you'd have to use the alternateexe flag in the database xml to set the alternate executables for all but one game (which would use the default system exe). There's details in the pinballx documentation about the <alternateexe> flag. Sorry if i've misunderstood.. Link to comment Share on other sites More sharing options...
PcTeknic Posted May 2, 2023 Author Share Posted May 2, 2023 No, altenate exe tag don´t work. I need a PC Games System, this database have TimeShock Ultra, SlamTilt, Pinball Wicked, Demons Tilt... each game has its executable, parameters, process to monitor, pre-launch, post-launch... Now I have managed to do it with external programs (unrelated to PinballX), such as PinCabView Launcher, RocketLauncher or other launchers. But I find it very strange that when adding a system in PinballX it offers us to select if it is a system si a Custom System, Future Pinball System, Visual Pinball System, or a Custom EXE Files System (Type 4) and that the latter cannot work without 3rd party programs other than PinballX. Link to comment Share on other sites More sharing options...
PcTeknic Posted May 2, 2023 Author Share Posted May 2, 2023 I have added those same games so far in PinballX, each game as a system. This is ugly because you have to enter the system and it shows you the same game 5 times since there is only one table in that game. If you at least run it directly from the system list, without accessing that system, it might work, but it doesn't do that either even though you choose the custom exe file system option. In addition, you have several systems that are not really a system, they are a single table game and the best way I think it would be is to create the "Pinball Pc Games" or "Steam Pinball Games" system and have all those games displayed and run on that single system. Link to comment Share on other sites More sharing options...
Draco1962 Posted May 2, 2023 Share Posted May 2, 2023 Have you tried setting up these tables leveraging Other Systems launching the tables via a shortcut (.lnk) file instead? Link to comment Share on other sites More sharing options...
PcTeknic Posted May 4, 2023 Author Share Posted May 4, 2023 I think so, but I'll try it again in case something went wrong when I did it. Link to comment Share on other sites More sharing options...
PcTeknic Posted May 4, 2023 Author Share Posted May 4, 2023 .lnk files in one table folder named as you like and setting as TablePath don´t wok. .exe files compiled from .ahk in table folder don´t work. I have ussing [TABLEFILE] parameter. AlternateEXE tag on database don´t Work. Only can it mede to work with external software as PinCabView or RocketLauncher or made a Custon Launcher. If you create a custon launcher with AutoHotkey based on tablenames and files to ejecute and compile as .exe then work. I can made it to work with 2 or 3 external solutions, but I think that this should be much easier for any user, I think that if PinballX offers us the possibility to create these systems, there must be a way to make it work without external software or additional programming. Link to comment Share on other sites More sharing options...
Mike_da_Spike Posted May 4, 2023 Share Posted May 4, 2023 Sounds like a feature request? Link to comment Share on other sites More sharing options...
scutters Posted May 4, 2023 Share Posted May 4, 2023 3 hours ago, Mike_da_Spike said: Sounds like a feature request? I've given the scenario a bit of thought and i tend to agree. As far as i can see the easiest way to achieve what @PcTeknic wants would be to use 'groups' of systems (pinballx\databases\groups). So adding each single table exe as its own system with its own launch parameters and launch before/after etc, but that would show still all the individual systems in the 'systems' list and the 'group' would only be visible from the 'lists' menu.... so the feature request would be to add an option / tag in system setup / xml to hide or show individual systems in the systems wheel, and then a similar tag in the database group xml to make that group visible in the systems wheel (and also hide it from the lists menu). Think that would work and be fairly flexible (it would work with other systems that aren't single table too), but there might be a better way i haven't thought of and i've no idea how many changes it would need in PinballX. Edit - one problem with the above i hadn't considered would be what to do about database group media (wheel image etc) if they were to be used as a system, where would PinballX store it? 1 Link to comment Share on other sites More sharing options...
PcTeknic Posted May 6, 2023 Author Share Posted May 6, 2023 On 4/5/2023 at 13:56, Mike_da_Spike said: ¿Suena como una solicitud de función? What happens is that the function already exists, it is not a function request, what I want is information on how we should use this function. Before PinballX only allowed adding systems based on Future Pinball, on Visual Pinball or Custom, for some time it has allowed type 4, custom with .exe files, but there is no information about it. Link to comment Share on other sites More sharing options...
Mike_da_Spike Posted May 7, 2023 Share Posted May 7, 2023 10 hours ago, PcTeknic said: What happens is that the function already exists, it is not a function request, what I want is information on how we should use this function. Before PinballX only allowed adding systems based on Future Pinball, on Visual Pinball or Custom, for some time it has allowed type 4, custom with .exe files, but there is no information about it. Sorry buddy. Your first question was clear, but all the reactions on it, made your question looks like you asked something different. It is not much, but this is the information I have : So, you can only use direct EXE files as table name, with no parameter's at all. And the exe must be exact the same what you launch, other wise it cannot monitor the process and goes back to PinballX. So no go for Steams app that needs steam.exe to launch (maybe a feature request for adding Steam games would be a nice to have ?) I would update the PinballX documentation with the following note : System Type Specify a system type. If other than Custom, PinballX will treat it as the specified in built system and allow features such as high score support. Note: ‘Custom – Exe Files’ doesn’t require any of the next parameters. This type just points in Game Manager to the full path of an EXE file and monitors this process until it stops. Pressing the exit button will exit this process as well. No Parameters can be used 2 Link to comment Share on other sites More sharing options...
PcTeknic Posted May 8, 2023 Author Share Posted May 8, 2023 Thanks, Mike. At the moment, I see that RocketLauncher is still the best option, it's a shame that PinballX doesn't support this type of system and we have to resort to external launchers. Link to comment Share on other sites More sharing options...
PcTeknic Posted May 8, 2023 Author Share Posted May 8, 2023 I think it would be great if when we select a type 4 system (exe files), PinballX read an .ini file with the name of that system that includes the parameters of each of the games (Steam.ini, Pinball PC Games.ini or whatever our system is called). This .ini file would have a structure similar to this: [Pinball Wicked] WorkingPath=C:\Program Files (x86)\Steam\steamapps\common\Pinball Wicked\PinballWicked\Binaries\Win32 TablePath= Executable=PinballWicked-Win32-Shipping.exe Parameters= WaitForProcess=PinballWicked-Win32-Shipping.exe LaunchBeforeEnabled=False LaunchBeforeWorkingPath= LaunchBeforeExecutable= LaunchBeforeParameters= LaunchBeforeWaitForExit=True LaunchBeforeHideWindow=True LaunchAfterEnabled=False LaunchAfterWorkingPath= LaunchAfterExecutable= LaunchAfterParameters= LaunchAfterWaitForExit=True LaunchAfterHideWindow=True [SlamIt Pinball] WorkingPath=C:\PinballX\Scipts Executable=LauncherSlamIt.exe Parameters= WaitForProcess=BigScore.exe TablePath= LaunchBeforeEnabled=True LaunchBeforeWorkingPath=C:\PinballX\Scipts LaunchBeforeExecutable=BeforeSlamIt.bat LaunchAfterEnabled=True LaunchAfterWorkingPath=C:\PinballX\Scipts LaunchAfterExecutable=AfterSlamIt.bat [Demons Tilt] WorkingPath=C:\Program Files (x86)\Steam TablePath= Executable=Steam.exe Parameters=-applaunch 22510 WaitForProcess=DEMON'S TILT.exe LaunchBeforeEnabled=True LaunchBeforeWorkingPath=C:\PinballX\Scripts LaunchBeforeExecutable=BeforeDemonsTilt.bat LaunchBeforeWaitForExit=False LaunchBeforeHideWindow=True LaunchBeforeParameters= LaunchAfterEnabled=True LaunchAfterWorkingPath=C:\PinballX\Scripts LaunchAfterExecutable=AfterDemonsTilt.bat LaunchAfterWaitForExit=True LaunchAfterHideWindow=True [Worms Pinball] ......... etc I think something like this might work if PinballX, knowing it's an .exe file system, were to look for the corresponding .ini file. 1 Link to comment Share on other sites More sharing options...
PcTeknic Posted May 8, 2023 Author Share Posted May 8, 2023 After all, that's basically how systems based on PC games work on other frontends. For emulator-based systems, the database makes the emulator run the roms that are all in one folder, but for PC game-based systems, the database tells which game to look for in the file. ini which is the one that contains routes and parameters for each game. Link to comment Share on other sites More sharing options...
joyrider3774 Posted May 9, 2023 Share Posted May 9, 2023 Here i create a simple autohotkey script just for this so you can launch .url and .lnk files. if your game is named pinbal.exe create a shortcut with name pinball.exe.lnk or if you want to start a steam game (which seem to use .url files) name it [game.exe].url where [game.exe] is the name of the process you want to monitor and also want to close when pressing ESC key. Basically you provide in the name of the shortcut also the name of the process to monitor (and thus name of exe of the game). and you put all these shortcuts (lnk) or url files in the same directory. here is the script for download (compile to exe) LaunchLnkFile.ahk This how you set it up in pinballx, the launchlnkfile.exe will keep running as long as the game runs or until your press ESC key so you can set the script exe as process to monitor This is my `M:\Pinball\PinballX\Launch files` directory with LNK and URL files containing the game exe filename And this is how you set it up in game manager: doing it using this simple script and workaround way you can just create one single system for all your LNK or URL files for games to launch and you can provide any parameters for the game inside the LNK (shortcut) and basically launch any single exe, url, bat, com etc file you want. It's also easy to backup as you only need to backup the script and the folder containing all the LNK or URL files, There is however one downside to the script if multiple games use same name for their exe you won't be able to launch them using this system but normally each game have an almost unique exe name. If that ever is the case we could adapt the script so that you can name your files [game.exe.01].lnk [game.exe.02].lnk until [game.exe.99].lnk in case of duplicate game.Exe's it should not be that hard todo. Let me know if that is needed or not and i'll adapt the script but first see if it'll suit your needs and if you can get it working 2 Link to comment Share on other sites More sharing options...
Draco1962 Posted May 9, 2023 Share Posted May 9, 2023 5 hours ago, joyrider3774 said: Here i create a simple autohotkey script just for this so you can launch .url and .lnk files. if your game is named pinbal.exe create a shortcut with name pinball.exe.lnk or if you want to start a steam game (which seem to use .url files) name it [game.exe].url where [game.exe] is the name of the process you want to monitor and also want to close when pressing ESC key. Basically you provide in the name of the shortcut also the name of the process to monitor (and thus name of exe of the game). and you put all these shortcuts (lnk) or url files in the same directory. here is the script for download (compile to exe) LaunchLnkFile.ahk This how you set it up in pinballx, the launchlnkfile.exe will keep running as long as the game runs or until your press ESC key so you can set the script exe as process to monitor This is my `M:\Pinball\PinballX\Launch files` directory with LNK and URL files containing the game exe filename And this is how you set it up in game manager: doing it using this simple script and workaround way you can just create one single system for all your LNK or URL files for games to launch and you can provide any parameters for the game inside the LNK (shortcut) and basically launch any single exe, url, bat, com etc file you want. It's also easy to backup as you only need to backup the script and the folder containing all the LNK or URL files, There is however one downside to the script if multiple games use same name for their exe you won't be able to launch them using this system but normally each game have an almost unique exe name. If that ever is the case we could adapt the script so that you can name your files [game.exe.01].lnk [game.exe.02].lnk until [game.exe.99].lnk in case of duplicate game.Exe's it should not be that hard todo. Let me know if that is needed or not and i'll adapt the script but first see if it'll suit your needs and if you can get it working If yoy get this working, would you mind publishing it and use description in the User Projects subforum? Link to comment Share on other sites More sharing options...
PcTeknic Posted May 9, 2023 Author Share Posted May 9, 2023 I'll try it and tell you, although if I'm not mistaken, we couldn't put different custom parameters for each game, such as launch before or after. I think in most cases it would work. Link to comment Share on other sites More sharing options...
joyrider3774 Posted May 9, 2023 Share Posted May 9, 2023 49 minutes ago, PcTeknic said: I'll try it and tell you, although if I'm not mistaken, we couldn't put different custom parameters for each game, such as launch before or after. I think in most cases it would work. You can put the parameters inside the shortcut itself but launch before and launch after is indeed not possible but i could probably edit the script to run a specific batch file before and after launching the game but not sure if it work ok it would not be 100% the same as in pinballx (like it won't wait or at least don't know yet how to make it wait) Link to comment Share on other sites More sharing options...
joyrider3774 Posted May 9, 2023 Share Posted May 9, 2023 1 hour ago, Draco1962 said: If yoy get this working, would you mind publishing it and use description in the User Projects subforum? sure will do but will first see if it suits pctechnics needs, for me at least it works but i could probably expand it a bit to do what i suggested in case multiple games use same filename for exe files as well perhaps add launch before and after batch file support 2 Link to comment Share on other sites More sharing options...
Draco1962 Posted May 9, 2023 Share Posted May 9, 2023 @joyrider3774thanks for being awesome! 1 Link to comment Share on other sites More sharing options...
Mike_da_Spike Posted May 9, 2023 Share Posted May 9, 2023 1 hour ago, Draco1962 said: @joyrider3774thanks for being awesome! Definitely! 1 Link to comment Share on other sites More sharing options...
PcTeknic Posted May 9, 2023 Author Share Posted May 9, 2023 This is great and work fine with standart games or or many steam games. But some Standart or Steam games, may need prelaunch and postlaunch to mount and unmount the corresponding CD-Rom (ISO), may also need prelaunch and postlaunch to rotate the screen to portrait before and landscape after or to run scripts we already use in PinballX. I think it may be worth it and I will do more tests, but if we do not have the specific options for each game, as I mentioned before, an .ini with all the parameters for each game, integrating Rocket Launcher in PinballX may be the best option. I have to test more things over time using this launch script, it probably allows more things than I think. A lot of thanks for your excellent work. Link to comment Share on other sites More sharing options...
joyrider3774 Posted May 9, 2023 Share Posted May 9, 2023 47 minutes ago, PcTeknic said: This is great and work fine with standart games or or many steam games. But some Standart or Steam games, may need prelaunch and postlaunch to mount and unmount the corresponding CD-Rom (ISO), may also need prelaunch and postlaunch to rotate the screen to portrait before and landscape after or to run scripts we already use in PinballX. I think it may be worth it and I will do more tests, but if we do not have the specific options for each game, as I mentioned before, an .ini with all the parameters for each game, integrating Rocket Launcher in PinballX may be the best option. I have to test more things over time using this launch script, it probably allows more things than I think. A lot of thanks for your excellent work. I have a version with launch before and launch after batch file support i'm currently documenting it in the user projects section will tag you Edit here is the link to the improved version of the script with launch before & after support as well as going around the issue if multiple exe filenames have the same name (or in case someone stumbles on this topic) 1 Link to comment Share on other sites More sharing options...
joyrider3774 Posted May 9, 2023 Share Posted May 9, 2023 just offtopic and i broke it now but what were chances of this ever happening lol (that nr is total nr of posts posted) pcteknic had exactly 555 and i had exactly 777 and we even posted in same topic right after each other reaching these numbers 2 Link to comment Share on other sites More sharing options...
PcTeknic Posted May 10, 2023 Author Share Posted May 10, 2023 Surely other user have 666 Link to comment Share on other sites More sharing options...
Recommended Posts