Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. My bare hosting costs are currently not met so please consider becoming a contibuting member by either clicking this text or the Patreon link on the right.

Patreon

If neither of those of work for you, you can donate any amount by clicking here.

Carny_Priest

Elite Member
  • Posts

    916
  • Joined

  • Last visited

  • Days Won

    19

Everything posted by Carny_Priest

  1. Yeah, my script works given that you have purchased all the tables AND the menu always starts with Super League Football selected. I understand not everyone's menu behaves like mine. And I have not used in the past few days. Who knows if Zen had changed something without warning in the meantime? Also, your particular hardware configuration may require longer Sleep instructions. What I have posted is just a basis for getting the features working, but it is likely to require tweaking to get it perfect for your setup.
  2. I've downloaded from the FTP the set of ShoryukinToTheChin table guides that open6l converted to swf, but I'm missing some instructions for some of the newer releases. Inspired by this topic: http://www.gameex.info/forums/topic/14212-format-instructions-swf/#entry118960 I captured the table guide for Pinball FX2 - The Walking Dead to make a set of animated instruction cards in swf format. Instead of making one long video, I edited my capture down to separate clips for each table feature. That way I can bump up the quality. I've just done the one table for now to see if I want to continue doing this. I uploaded to the FTP in the "Other Uploads" section. I'm also making it available here for a little while: https://dl.dropboxusercontent.com/u/45430846/Walking%20Dead%2C%20The.zip
  3. Update: Copying the DMD to a second or third monitor Done via screen capture and streaming via localhost loopback There is a fraction of a second of latency in the streaming. It's not much but it is noticeable. It's very playable, but granted I haven't played enough of the table to know if there are video modes where the lag will make it awkward. NOTE - I can make this work inside and outside of PinballX on my laptop-based test bed, but sadly I can't make it work on the cab. Tried on both backglass and DMD screen. Everything else was the same as far as software except that my laptop runs W7 x64 Ultimate and the cab has W7 x64 Home Edition. I wouldn't expect that to make a difference. The CPU is different: the laptop has an Intel Core i7, Q840 and the cab has an i5 3570k. The GPU is different: the laptop has an NVidia Quadro FX 880M and the cab is running a NVidia GTX660 and GT610. Consequently there are different drivers. And maybe that's the difference, but at least it may be possible for someone to make use of it. Configuration requires the following Windows mmpeg (static build) - http://ffmpeg.zeranoe.com/builds/ Quick installation guide - http://www.wikihow.c...mpeg-on-Windows Screen Capturer Recorder - http://sourceforge.n...capturer/files/ Screen Capturer Recorder has some helper tools that require Java. You don't have to keep Java installed but it is helpful to have a Run Time Environment for configuring the capture setup with these helper tools I'll use my setup as an example: As I run the game in arcade mode, you can't see the game DMD located on the backbox. I have to place the game DMD somewhere on the playfield screen. I use bottom left and size - 2 pixel. The idea is that we'll capture just this part of the screen and then scale it up on the playback window. We can move the playback window anywhere on a backglass or DMD monitor. Run the Screen Capturer Recorder helper tool "configure by resizing a transparent window". The idea is that you will move this window over the DMD and and drag the borders so that you will capture the entire DMD image. Once you start SlamIt, Alt-Tab to the Screen Capturer Recorder transparent window and drag it over the DMD. When you save, the tool will auto configure the size and location of the capture window. It is a little funky because the game is in portrait mode but the transparent window will remain landscape. So the "height" of the window will cover for the "width" of the DMD. You will not be able to drag the window small enough to precisely cover the "height" of the DMD. Using the "configure by setting specific screen capture numbers" helper tool will help you get the rest of the way. My test bed uses a 1280 x 1024 resolution, the settings wound up being capture_height=254 capture_width=63 start_x=1203 start_y=758 My cab uses a 1920 x 1080 resolution, the settings wound up being capture_height=254 capture_width=63 start_x=1837 start_y=814 I've been testing with default_max_fps=30 (which is the default for Screen Capturer Recorder) As I am already using Screen Capturer Recorder for Pinball FX2 and the settings are stored in the registry. I copy my usual settings and store them temporarily and overwrite with the settings needed for SlamIt. I'm running a p2k-style cabinet so the ffmpeg rotates and does a vflip on the image before streaming (-vf "transpose=3"). Assuming most people don't need to vflip then you will just need to rotate the image (change to -vf "transpose=1"). The ffplay client window will have a title called "udp://localhost:1234?listen". The WinMove line allows for precisely locating the client window on the second or third monitor by x and y coordinates. In my case, x=3842 and y=197. My DMD screen uses a custom resolution of 768 x 432. As the capture width is 254, I scale the image by a factor of 3 and that fits nearly perfectly edge to edge on my monitor (-vf scale=iw*3:-1). Here, iw means "image width" and the -1 instructs ffplay to retain the aspect ratio. In other words, you do not have to define an image height An ahk WinSet trick to hide the title bar and borders does not work on the ffplay client window. I use ahk GUI to draw a black border to hide the title bar and borders. "WinSet, Region, 0-0 768-0 768-220 0-220 0-0 3-21 762-21 762-210 3-210 3-21" - the first set of five coordinates draws the outer border of a rectangle. The second set of five coordinates draws the inner border of the rectangle. The hole in the middle will be transparent. "Gui, Show, W768 H220 X3840 Y198 NoActivate" - moves the border I just drew precisely over the ffplay title bar and borders. After quitting SlamIt, the registry is overwritten again with the values that were stored at the beginning of the program I've attached my config files in case that helps #NoEnv #SingleInstance force#WinActivateForceSetTitleMatchMode 2DetectHiddenWindows On; Default values for Pinball FX2 - read and store capture values from registryRegRead, fx2height, HKCU, Software\screen-capture-recorder, capture_heightRegRead, fx2width , HKCU, Software\screen-capture-recorder, capture_widthRegRead, fx2maxfps, HKCU, Software\screen-capture-recorder, default_max_fpsRegRead, fx2x , HKCU, Software\screen-capture-recorder, start_xRegRead, fx2y , HKCU, Software\screen-capture-recorder, start_y ; Values for SlamIt - write to registryRegWrite, REG_DWORD, HKCU, Software\screen-capture-recorder, capture_height, 254RegWrite, REG_DWORD, HKCU, Software\screen-capture-recorder, capture_width, 63RegWrite, REG_DWORD, HKCU, Software\screen-capture-recorder, default_max_fps, 30RegWrite, REG_DWORD, HKCU, Software\screen-capture-recorder, start_x, 1837RegWrite, REG_DWORD, HKCU, Software\screen-capture-recorder, start_y, 814 ; Mirror and flip DMD for P2krun, ffmpeg -rtbufsize 1500M -f dshow -framerate 30 -r 30 -i video="screen-capture-recorder" -vf "transpose=3" -vcodec mpeg4 -qscale:v 1 -f mpegts -threads 8 udp://localhost:1234,,Hide UseErrorLevelSleep, 1000run, ffplay -an -sn -vf scale=iw*3:-1 -i -fflags nobuffer udp://localhost:1234?listen,,Hide UseErrorLevelcheckprocessagain:Process, wait, ffplay.exe, 5.5NewPID = %ErrorLevel% ; Save the value immediately since ErrorLevel is often changed.if NewPID = 0goto checkprocessagain Process, wait, %NewPID%Sleep, 8000IfWinExist udp://localhost:1234?listen {WinMove, , , 3842, 197 } ; draw a black border to hide the window borders for the mirror Gui +LastFound +AlwaysOnTop -Caption +ToolWindowGui, Color, 000000WinSet, Region, 0-0 768-0 768-220 0-220 0-0 3-21 762-21 762-210 3-210 3-21Gui, Show, W768 H220 X3840 Y198 NoActivate; cover an artifact ;Gui 2: +LastFound +AlwaysOnTop -Caption +ToolWindow;Gui, 2:Color, 000000;WinSet, Region, 0-0 W15 H40;Gui, 2:Show, W15 H40 X3840 Y190 NoActivate RegRead, SteamDirPath, HKCU, Software\Valve\Steam, SteamPathRun, "%SteamDirPath%\Steam.exe" -applaunch 12430,,UseErrorLevelProcess, wait, BigScore.exe process, WaitClose, BigScore.exeRun, taskkill /IM ffplay.exe,,UseErrorLevelRun, taskkill /IM ffmpeg.exe /F,,UseErrorLevel ; Default values for Pinball FX2 - write to registryRegWrite, REG_DWORD, HKCU, Software\screen-capture-recorder, capture_height, %fx2height%RegWrite, REG_DWORD, HKCU, Software\screen-capture-recorder, capture_width, %fx2width%RegWrite, REG_DWORD, HKCU, Software\screen-capture-recorder, default_max_fps, %fx2maxfps%RegWrite, REG_DWORD, HKCU, Software\screen-capture-recorder, start_x, %fx2x%RegWrite, REG_DWORD, HKCU, Software\screen-capture-recorder, start_y, %fx2y% ExitApp LaunchSlamIt.zip
  4. Update on vertically flipping the DMD image for use in p2k cabinets: I've reduced latency a little bit more by increasing the capture and streaming framerate. Requires using the "configure by setting specific screen capture numbers" helper tool for Screen Capturer Recorder. Enter 120 for "default_max_fps". The settings are stored in the registry, but it is easier to use the helper tools especially since settings that are at default do not have a key in the registry. Then swap out the lines that call ffmpeg and ffplay with these lines: Increasing the framerate does not appear to appreciably increase the CPU overhead over the default 30 fps. Again, this is not a turn-key solution. I've found that 60 fps works better on my laptop test bed than 120 fps. And 120 fps worked better to reduce latency in my cabinet than 60 fps. So, it does take some experimentation. It is to the point that I can see what lag is there only when I am looking at the source and mirror image side-by-side. For interacting with the DMD during the game, selecting scenes, etc., I don't notice the lag in my opinion. Or at least it is performing better than the script in the previous post. I've attached the new script, compiled program, registry settings for Screen Capturer Recorder along with the rest of the supporting files. LaunchFX.zip
  5. I don't think PinballX or Hyperpin for that matter will work optimally with the tables stored in their respective sub folders. I think all the tables should just be at the level of the Tables folder. I know that fpt tables can be placed in a subfolder with same name as the file, but then FutureDMD doesn't work well. I don't think vpt files were ever meant to be placed in sub folders.
  6. Here's a feature rich version of the table selection script: 1. Launches single player 2. Support for the Super Football sub-menu 3. Strips title bar and borders from a second or third screen DMD 4. Vertical flip DMD for p2k style cabinets via streaming through the localhost loopback 2. Support for the Super Football sub-menu requires that all the Super Football table game names in the xml begin with the same set of letters unique from other FX 2 tables. Here, I am using "Zen-Football" and then following up with a game name unique to the team. The team names go into arrayf in the script in the same order as the sub-menu. Identify the game name for the last Super Football table that you played. The game name should be typed on line 1 in a text file called in the script "FX2LastFootballPlayed.txt'. The script requires this information to move the selector back to the top leftmost item in the sub-menu before moving to the selected table. Thanks to Gilrock for the array code which makes maintenance a whole lot easier. Note that in my FX 2 menu layout the highlighted item is always Super Football and not the top leftmost item. I have a few lines of code that brings the selector back to the top leftmost item in the menu. If your menu does start at the top leftmost item then you can comment out the lines between Table = %1% and the array definitions. Then uncomment the lines just after "Move past main menu" 3. Hiding title bar and borders adapted from ozon's script 4. If you don't have a p2k cabinet or you have one but don't wish to mess with flipping the image then those lines can be commented out. This is not a turn-key solution and may require a lot of testing to get the display exactly how you want it. There is a fraction of a second of latency in the streaming. It's not much but it is noticeable. It's very playable as I haven't seen any tables that employ the DMD for video modes. Configuration requires the following Windows mmpeg (static build) - http://ffmpeg.zeranoe.com/builds/ Quick installation guide - http://www.wikihow.com/Install-FFmpeg-on-Windows Screen Capturer Recorder - http://sourceforge.net/projects/screencapturer/files/ Screen Capturer Recorder has some helper tools that require Java. You don't have to keep Java installed but it is helpful to have a Run Time Environment for configuring the capture setup with these helper tools I'll use my setup as an example: My DMD screen uses a custom resolution of 768 x 432. In dotmatrix.cfg, I use a width of 728 and a height of 187. As I'm not scaling the output on the stream this doesn't leave a whole lot of room. I set x position to 3855 and y to -8 to further hide some of the border. Run the Screen Capturer Recorder helper tool "configure by resizing a transparent window". The idea is that you will move this window over the DMD and and drag the borders so that you will capture the entire DMD image. You will want to do this AFTER hiding the title bar and borders using some form of ozon's script. Or you can run this script with the streaming code commented out. Once you start a table and hide the DMD border, Alt-Tab to the Screen Capturer Recorder transparent window and drag it over the DMD. When you save, the tool will auto configure the size and location of the capture window. The ffplay client window will have a title called "udp://localhost:1234?listen". The WinMove line allows for precisely locating the client window on the third monitor by x and y coordinates. In my case, x=3848 and y=197. Unfortunately, the same trick for hiding the title bar and borders on the DMD does not work on the ffplay client window. I use ahk GUI to draw a black border to hide the title bar and borders. "WinSet, Region, 0-0 762-0 762-235 0-235 0-0 14-21 744-21 744-230 14-230 14-21" - the first set of five coordinates draws the outer border of a rectangle. The second set of five coordinates draws the inner border of the rectangle. The hole in the middle will be transparent. "Gui, Show, W762 H235 X3840 Y205 NoActivate" - moves the border I just drew precisely over the ffplay title bar and borders. As there is barely enough room on the third screen for both the DMD and its mirror, there is some overlapping going on leaving a little bit of border, an artifact, still showing. I use the GUI command to draw a little rectangle to cover this up. It requires some trial and error and is definitely kludgy, but if you have a p2k style cabinet, you are going to have to get used to having to do extra tweaking. Starting up the stream does take focus away from Pinball FX2 and the desktop displays briefly. The script does bring Pinball FX2 back to focus and resumes the game automatically. This is basically a beta. Right now, the script always launches single player games. I might try to put in a MsgBox to allow users to launch either single player or hotseat, but it might be a while before I get around to it. I've attached my config files in case that helps By the way, both the DMD and the mirror will be displayed. The idea is that I will cover the source DMD image with a bezel that I can take on and off. I'll probably secure it with magnets. The bezel can stay on most of the time, but it does need to be removable to accommodate reproducing the super size SEGA DMDs like Mary Shelley's Frankenstein or Baywatch. LaunchFX.zip
  7. I'd try using a game name entry without the backslash in it. This character, "\".
  8. Of course, the real solution would be if Zen had the option to launch from the command line.
  9. The array code is still a definite improvement, but users should always expect to have to modify it as Zen introduces new DLC. A few more tables and that entire menu layout may be changed.
  10. Not the improved script but the same idea applies. Just returns the highlighted item back to row 1 and column 1 before running through the table match. If Zen fixes it again so that the menu starts up at the top leftmost table then it is really easy to remove this additional code
  11. I have some script that simply brings the highlighted box back to the top and leftmost before going through the usual table selection script. Traveling though, so I can post later unless someone beats me to it.
  12. No, I don't think so. For me, I just get a flash of the desktop before I get the FP table loading screen. I guess it just doesn't bother me.
  13. You can copy and paste into the reply box your Future Pinball settings from PinballX\config\PinballX.ini I'd rather see that then what you typed out because it looks like there are some errors in your translation from the Settings tool. Should be /STAYINRAM and not /STAININRAM Launch Before Parameters should be "table="[TABLEFILE]" close=1 I don't understand why you are renaming the FPLoader executable. I don't recall that step being included in any installation instructions. If the BAM executable still resides in the BAM folder (as it should be) then the Working Path or the Executable should point to the BAM folder. Right now it is pointing to the Future Pinball folder and it appears to me that PinballX would be launching the original Future Pinball executable and not BAM. When you start a table in PinballX are you able to bring up the BAM menu? While you are looking around your Future Pinball installation make sure all exe and dll files are unblocked. Set to run all executables as Administrator. Do not install your individual tables in their own folders within the Table folder, fpt files should all be located in the Tables folder. Think of how vpt files are located in the Tables folder for Visual Pinball. Here are my settings for Future Pinball: [FuturePinball]Enabled=TrueWorkingPath=C:\Games\Future PinballTablePath=C:\Games\Future Pinball\TablesExecutable=BAM\FPLoader.exeParameters=/STAYINRAM /open "[TABLEPATH]\[TABLEFILE]" /play /exitLaunchBeforeEnabled=TrueLaunchBeforeWorkingPath=C:\Games\Future PinballLaunchBeforeExecutable=FutureDMD.exeLaunchBeforeHideWindow=FalseLaunchBeforeWaitForExit=FalseLaunchAfterEnabled=FalseLaunchAfterWorkingPath=LaunchAfterExecutable=notepad.exeLaunchAfterHideWindow=FalseLaunchAfterWaitForExit=TrueMouseClickFocus=TrueFPRAMPath=C:\Games\Future Pinball\fpRAMLaunchBeforeParameters=table="[TABLEFILE]" close=1LaunchAfterParameters= Good luck
  14. Post your settings file.
  15. Any info on using a "loading" video rather than the static image with PinballX\Media\Loading Images\Loading.png ? I'm not sure how to get a video to work when launching a system.
  16. Yeah, aside from directly launching the executable the script is not doing anything different from the others. It only works because I'm navigating to only one table. Perhaps along with the long delayed cab support there will be an option to launch from the command line.
  17. Ok, good. I attached the wrong database anyway. Here's my current one: Pinball FX2.xml
  18. Here's mine: pinballfx2.xml
  19. No tables listed? Did you create a database for Pinball FX 2? Is the file named exactly "Pinball FX2"?
  20. Ok, I have a 3 screen set up. I can't comment on the best way to handle 2 screen as I haven't tried it. Probably just use backglass videos for all types of tables. If you are using dB2S for all your VP tables then it doesn't matter if you hide the backglass or not in the database settings. dB2S will take the focus during play.
  21. I'm not entirely sure what you are trying to accomplish. Maybe it will help if I describe how I have DMD and non-DMD tables set up. Non-DMD tables include the alpha-numeric LCD displays from the 80s tables. But the non-DMD tables also include the older EMs from before the 80s. In the VP database, I Hide DMD for ALL tables. I enable the new "Use PinMAME in Front End" and select the appropriate ROM in the Game Manager but only for DMD tables For non-DMD tables, I don't worry about it. I just have the default video running in the third screen. There is no built in support for DB2S in PinballX's attract mode as there is for PinMAME. (But I think I'll make a feature request! ) You can enable a ROM for non-DMD tables that use VPM but it will use the default PinMAME display render and not B2S. I didn't want to set up this way as the display in attract mode would not look much like how it will look during play. Of course, you can always do a screen capture and cut your own media to have PinballX play in the third screen.
  22. Thanks for the tip on dc2.exe. I swapped my backglass screen over to the GTX 660, so that I could mirror the playfield screen. Setting up configuration files for Display Changer 2 is not difficult. But the secret is that you HAVE to use Windows to set up the desired screen orientation, cloning, etc. I initially tried to set my screen orientation with iRotate but dc2.exe was creating invalid configuration files. Set up everything with Windows Control Panel/Display/Adjust Resolution prior to creating a configuration file, and it will work fine. You don't even have to look at the config file that is generated. It's good to get rid of AWM and go with a solution that is free for personal use.
  23. 2014/08/23 1:30PM EST RC - Thanks for the fix for invalid filename characters. Can't fix the filenames but turning on Enable File Matching works for tying AC/DC to its proper media files. Ran last evening's RC in attract mode all night. No crashes.
  24. I can confirm lost sound with AFM. I just had to open up the Settings dialog and check Use Sounds. Fixed it.
  25. I couldn't leave it alone. If I have to scale the display, then I'll have to tweak the DMD position in the Display Settings dialog in order to reduce scaling artifacts. I'm using a 16:9 aspect ratio display for a third screen. I'm running a custom resolution 768 x 432. I've found that setting the DMD to width 777 and height 199 appears to result in less distortion. Better than it was anyway. I know that the width is longer than my defined resolution width. I have a very slim bezel on the backglass screen that allows me to shift into the backglass space just a little bit without it showing up on the display. I set a starting X position at -2. Good enough, but not quite as good as yesterday's RCs that did not engage ddraw. But I'm guessing that it caused other problems. There are probably very few people who would want ddraw off because they are needing to fit into a DMD panel. Those with real DMD don't have this issue at all.
×
×
  • Create New...