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. Damn! Forgot about adding the other cool effects. Especially LSD, rotates hue and makes the saturation swing between 0 and 2 over a period of 1 second. It's a trip. So the potential is there to pull off all kinds of ideas for real time image processing.
  2. Update: For jollies, I added a feature to change the color of the DMD mirrored image. The script allows for a choice among red, green, blue, and orange along with the default yellow/amber. Requires a text file called SlamItDMDColor.txt that resides in the same folder as the script and that has one word - red, or green, or blue, or orange. Anything else and the script will apply no processing and the DMD will be the default color. #NoEnv #SingleInstance force#WinActivateForceSetTitleMatchMode 2DetectHiddenWindows OnFileReadLine, dmd_color, %A_WorkingDir%\SlamItDMDColor.txt, 1Color="scale=iw*3:-1"if dmd_color=red Color="scale=iw*3:-1,hue=h=300:s=1.5:b=-5"else if dmd_color=green Color="scale=iw*3:-1,hue=h=100:s=2:b=-1"else if dmd_color=blue Color="scale=iw*3:-1,hue=h=345:s=-1.5:b=-2"else if dmd_color=orange Color="scale=iw*3:-1,hue=h=330:s=1.5:b=-1"; Mirror and flip DMD for P2krun, ffmpeg -rtbufsize 1500M -f gdigrab -framerate 120 -offset_x 1837 -offset_y 814 -video_size 63x254 -i desktop -vf "transpose=3" -vcodec mpeg4 -qscale:v 1 -f mpegts -threads 8 udp://localhost:1234,,Hide UseErrorLevelSleep, 1000run, ffplay -an -sn -vf %Color% -i -fflags nobuffer udp://localhost:1234?listen,,Hide UseErrorLevelcheckprocessagain: Process, wait, ffplay.exe, 5.5 NewPID = %ErrorLevel% ; Save the value immediately since ErrorLevel is often changed. if NewPID = 0 goto checkprocessagainProcess, 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 6-23 765-23 765-210 6-210 6-23Gui, Show, W768 H220 X3840 Y197 NoActivateRegRead, SteamDirPath, HKCU, Software\Valve\Steam, SteamPathRun, "%SteamDirPath%\Steam.exe" -applaunch 12430,,UseErrorLevelProcess, wait, BigScore.exeSleep 10000; remove borders from BigScore adapted from ozon - https://gist.github.com/ozon/2c3b98161329b583b4a5 Thanks IfWinExist, ahk_class SlamIt Pinball - Big Score { WinSet, Style, -0xC00000 ; hide title bar WinSet, Style, -0x800000 ; hide thin-line border WinSet, Style, -0x400000 ; hide dialog frame WinSet, Style, -0x40000 ; hide thickframe/sizebox } WinMaximize, ahk_class SlamIt Pinball - Big ScoreSend {Enter Down}, Send {Enter Up}process, WaitClose, BigScore.exeRun, taskkill /IM ffplay.exe,,UseErrorLevelRun, taskkill /IM ffmpeg.exe /F,,UseErrorLevelExitApp#IfWinActive ahk_class SlamIt Pinball - Big Score; Digital Plunger Joy1:: Send {Down down} SetTimer, WaitForJoy1, 10 return WaitForJoy1: if not GetKeyState("Joy1") { Send {Down up} SetTimer, WaitForJoy1, off return } Send {Down down} return ; Right Flipper Joy2:: Send {RShift down} SetTimer, WaitForJoy2, 10 return WaitForJoy2: if not GetKeyState("Joy2") { Send {RShift up} SetTimer, WaitForJoy2, off return } Send {RShift down} return ; Right 2nd Flipper Joy3:: i:: Send {i} Send {o} ;Send {l} return; Exit Table Joy8:: Send {Esc} Sleep, 10 loop, 7 { Send {Down} Sleep, 10 } Send {Enter} Sleep, 10 Send {Enter} return; Start Game Joy9:: Send {s} Send {Enter} return; Left Flipper Joy10:: Send {LShift down} SetTimer, WaitForJoy10, 10 return WaitForJoy10: if not GetKeyState("Joy10") { Send {LShift up} SetTimer, WaitForJoy10, off return } Send {LShift down} return ; Left 2nd Flipper Joy11:: f:: ;Send {q} Send {w} Send {a} return; Insert Coin 1 Joy12::Send {1}#IfWinActive Basically, any color can be reproduced. The inputs are based on the Hue, Saturation, Brightness color model. In the ffmpeg implementation Hue takes on values from 0 to 360 deg while Saturation and Brightness take on values from -10 to 10. However, you can't simply find a color picker and use the values there. The tricky part is that the adjustment is made in reference to the default yellow/amber color rather than 0 deg, pure red. I found some decent values by trial and error using VLC and some other freeware tools that allowed me to do some real time (or at least close to real time) previews as I made adjustments. In theory, the technique could be applied on FX2 although you would have to figure out the values to apply multiple times as the default color varies by table. It may not be practical. And for multi-player hotseat games it probably would not be satisfactory at all. Each player typically has a different DMD color that switches as a player's turn comes up. But the potential is there to do some further customization for single player games.
  3. From the documentation Instruction Cards need to be named the same as the table so for example: Big Game (Stern 1980).swf <---First instruction card Big Game (Stern 1980) 1.swf <---Second instruction card Big Game (Stern 1980) 2.swf <---Third instruction card etc. etc. Location: X:\PinballX\Media\Instruction Cards So, you want to have only a single card in each file. And each file is distinguished from the others through the numbering scheme described above. When you enter Instructions in the menu, you will see an image of a single card and you can cycle through the other cards for the table by clicking the keys/buttons assigned to left and right. PinballX also supports png format in addition to swf.
  4. Need to take those instruction cards that are in jpg format and save as png format. Then it will work in PinballX. You can use any graphics program (Microsoft Paint) to do it.
  5. Glad you got the esc key figured out. Yes, the remove borders script works because I know that by the time I get to that point in the execution there will be a DMD window to operate on. The idea for this springs from the code I cited in my comments https://gist.github.com/ozon/2c3b98161329b583b4a5 It is a persistent script that resides in memory and checks for the existence of the DMD window. If one appears, the script will remove the borders. This is probably what you are looking for. Of course, the easiest thing would be to use NukeLauncher. Even if you haven't actually purchased any DLC yet, you can still get Sorcerer's Lair for free and test with that and figure out how to incorporate it into PinballX as you want. Saves you the work of re-inventing the wheel (NukeLauncher is AHK-based).
  6. I'm sort of the opposite. I have just about all of the FX2 tables and practically none of the TPA tables. So, I don't use NukePA. However, there are settings in NukePA.ini that you should be using if you were looking to assign hotkeys for pause, look at instructions, and exit. And I'm assuming that you really are using a keyboard and not a joystick/joypad. In the KeyBindings section, there is a setting for KB_Escape and the default is "esc". KB_Escape executes the instructions that tell NukePA to exit out of PA in the way specified in the ExitMethod setting. If you don't want the esc key to close down PA then you need to clear that setting or assign to it another key. If you want your esc key to pause the game then you want the KB_Pause setting to be "esc".
  7. Yes! When I was originally configuring FX2 to run (actually that goes for any Steam game), I found that I had to launch the Steam client from an AutoHotkey script rather than have PinballX do it. In other words, PinballX watches the AutoHotkey executable instead of Steam. Doing that solved all my focus issues. NukeLauncher does this, and I highly recommend it, but if the OP is committed to not having a table selector, then I can point to my script before I adopted NukeLauncher. Might be worth a try. http://www.gameex.info/forums/topic/12837-support-for-pinball-fx2/page-11#entry130693 Strip out everything but the first eight lines at the start and the lines Process, WaitClose, Pinball FX2.exe and ExitApp at the end.
  8. Other then the backglass, does FX2 start up and you are able to access the main menu? If not, change properties for the Pinball FX2.exe to Run as Administrator In Settings/PinballX.ini, is it set up like this?: Windowed=FalseFullScreenWindowed=True This runs PinballX is a full screen window, non-exclusive mode allowing you to retain backglasses in-game.
  9. XBMC was renamed to Kodi and a new version was published. The upgrade path appears to copy over most settings and libraries, but I found that joystick.xml was cleared. Retain a backup prior to upgrading and just copy it back to Kodi\system\keymap. Aside from changing the executable in the launch script everything else works the same as the earlier XBMC. I uploaded a Kodi logo to the FTP - Media\Company Logos
  10. Short note: I've tested recent builds of ffmpeg/ffplay for livestreaming the DMD. I have timing issues that force me to rollback to a build that works for me (9/28/2014). This is the one that I use for Win 7 x64: http://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-20140928-git-3edb9aa-win64-static.7z If needed, it should be easy enough to find the 32-bit build at the same repository.
  11. Thanks, works for me! (KB_Escape = Joy8) At least for NukeLauncher (FX2). This means that I can dump antimicro, one less process to deal with. So that's good. However, my custom script didn't involve any key/button mapping. I still use it to flip the DMD. I noticed that you have an executable launcher defined in NukePA.ini. Is that feature going to make its way into the NukeLauncher for FX2 at some point? My problem with NukePA is with menu navigation at this point, not exiting. I can't dump my script just yet. But I was inspired enough by NukePA to a better job getting analog nudging and plunger working via x360ce and mapping my Exit button to a subroutine to kill the process and get back into PinballX. Again, I only have one table installed as a placeholder for the day that there is better cab support. My script is good enough for one table.
  12. Do have backglass and DMD positions defined in pinballx.ini? Window/Full Screen setting set to "Full Screen" AND Full screen windowed set to "Yes"? Playfield monitor set to native resolution (1920x1080)?
  13. This hobby is not for the faint of heart. That is for sure. Seems like getting these various programs working together would be more straightforward with keyboard based controllers. Joypad button support seems to be more of an afterthought.
  14. Forgot to add - fx2 - I am using NukeLauncher, and there the default in NukeLauncher.ini is KB_Escape = Esc. So that is where the connection is between antimicro and fx2. antimicro maps the joypad press to Esc. NukeLauncher is listening for Esc to close fx2. I have the option set to saveexit and on a joypad exit press, NukeLauncher moves fx2 to the main menu and makes a clean exit through the in-game menu, Very nice. It works (most of the time). As I don't have the joypad exit button mapped to anything in the PinballX settings there is no conflict there. I don't have the joypad exit button mapped to anything in x360ce, so no conflict there. pinballx - once control passes back to PinballX, I can bring up the Exit/Shutdown menu through the joypad Exit. It is not really intentional, as you said, for guests there is no reason to get out of PinballX. Antimicro maps the joypad press to Esc and I still have Esc set up in the Keycodes section to Quit PinballX to Esc, which is the default. And to add - MAME - add your joypad button mappings through the MAME UI, Configure General Inputs. I believe the setting to exit out of MAME is UI Cancel. SlamIt Pinball: Big Score - I have a script that maps the joypad Exit button to a subroutine that sends a series of keypresses that cleanly quits through the in-game menu. The app claims to support joysticks and you can even configure one in-game, but it doesn't appear to work. I mapped all by buttons using AutoHotkey. XBMC (using for a jukebox app) - joypad input is enabled by default. Map all your buttons by editing the file, c:\XBMC\system\keymaps\joystick.xml. I have my exit joypad button set to bring up the XBMC shutdown menu, "XBMC.ActivateWindow(ShutdownMenu)".
  15. I think setup is trickier if you have a controller that emulates a joypad rather than a keyboard. The way I have managed this is to minimize conflicts by configuring each emulator/individual system to Exit on a button press rather than relying on PinballX to do it. In PinballX.ini I have cleared the JoyCodes section except for what I need to navigate the menu wheel: left, right, select, pageleft, pageright. fx2 I use antimicro (sort of an open-source xpadder) to only map my Exit button to Esc. x360ce to map all other buttons. Do not attempt to map the Exit button to Back or whatever tpa At this point, I don't have much going on here. I've installed a single table as a placeholder, and I have my own custom AutoHotkey launcher. I have a script that maps my Exit button so that when it is pressed it kills the TPA process (Alt + F4). If you are running NukePA, it looks like there is a way to have it run an executable at launch. Here is where you can have a compiled AutoHotkey script that maps a joypad button press to perhaps whatever is assigned to KB_Escape in NukePA.ini. vp Normally within VP, Esc or a quit command brings up a dialog that will take you to the editor rather than exit out completely. It's hardcoded into VP. No way to change it. So, here, you do need PinballX to kill the process. In VP, Preferences, Keys - I have Override Default Layout checked and Disable ESC key unchecked. I forget what the default is, but that's how I have these two settings now. I still retain the settings for KeyCodes in PinballX.ini. I have Exit Emulator set to the default, Q. I have a script that launches when PinballX starts that maps the Exit button press to q when VPPlayer is the active window. Takes a few seconds for the PinballX menu to come back, but it does work. fp works out of the box they way that you would want - go to Preferences, Game Keys and Controls, and map Exit Table to your Exit button.
  16. PinballX v1.93, the current version Shark codec pack as linked to on the PinballX.net home page NukeLauncher v1.7, according to the ini file NVidia GTX660 runs all three screens, Driver version 347.09 Windows 7 x64, Home Edition Backglass screen native resolution is 1920x1080 which is the same as Namsan's videos. Is yours different? I have PinballX running in windowed Full screen mode. I have several other processes running on top of PinballX and pbfx2 to get it running the way I need it to for my configuration. I have a custom AutoHotkey script that launches NukeLauncher. I re-wrote it so that I could retain video backglasses while in-game: http://www.gameex.info/forums/topic/12837-support-for-pinball-fx2/?p=135533 You might try testing with this. Comment out the ffmpeg and ffplay calls but keep the Sleep instructions. NukeLauncher.ini PinballFX2.xml PinballX.ini
  17. Just to add, I do use the Shark 007 codec pack that is linked to on pinballx.net
  18. Are you using NukeLauncher?
  19. I name the file the same as the description field in the xml. Game name field should work too.
  20. Yes, like I said at vpf, video backglasses work in-game for pbfx2.
  21. I'm not Tom Spiers, but if you are mapping your buttons to an xbox360 controller, say, by using x360ce you will find that there is no way to map an Exit button in pbfx2. You will need to map just your Exit button to {Esc} using Keypadder or equivalent. I use antimicro: https://github.com/Ryochan7/antimicro
  22. I think my issue is that I only own the launch pack plus TOTAN, not an entire season. If I want to play, I need to get into My Tables. The tables I own do not appear in the Season 1 wheel which is where NukePA appears to be looking for them.
  23. Thanks for all the hard work on this. Note: I don't use iRotate in the cab because it is just one more program with an installer/residing in your system tray, etc. I've used in the past the following: Display.exe from here: http://noeld.com/programs.asp?cat=misc#download It is portable and command-line driven. Works just fine calling it in AutoHotkey scripts. Still requires video drivers capable of rotation, so this may not help with your test bed. The deal is that the software is offered as freeware and no EULA license is specified at all. You may just be able to incorporate it in your distribution although you probably want to contact the developer and make absolutely sure. rockyrocket has since turned me on to Display changer II which is considerably more powerful and also free but there are definitely license restrictions in place: http://12noon.com/?page_id=641 I hope that all goes well with treatment.
  24. Ok, just making sure I wasn't missing something re: future pinball. You might try the newest script I posted. It might even work very well for you if you are not a BAM user. At least it shuts down FP cleanly which might have been one of the problems before this latest version.
×
×
  • Create New...