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. Thank you for your support. Tom Speirs

Patreon

alternitive for swf score cards


Ronald

Recommended Posts

it's possible to renable flasher player using corporate settings and using the offline installer. But while i'm able to show my instruction cards again in internet explorer i have not been able to make them display inside pinball x. I'm not sure how pinball x loads them. Well i know it uses interop / activex but even though i can give access to it on a similar way as this for IE https://charleswilkinson.co.uk/2021/01/12/how-to-use-flash-in-2021/ pinballx still refuses to load them and shows the blocked content icon. I also know window in itself will issue an update to remvove it's (buildin ?) flash support but maybe they will block activex as well somehow so maybe pinballx have to search for another library / emulator like that ruffle one eventually

Link to comment
Share on other sites

ok i got it working again by hacking flash.ocx I found the instructions here : https://superuser.com/questions/1616866/use-flash-player-after-12-01-2021/1617078

here is what i did :

  1.  install HXD hex editor https://mh-nexus.de/en/hxd/
  2. copy folder C:\Windows\System32\Macromed\Flash to c:\temp\flash
  3. open c:\temp\flash\Flash.ocx using hxd
  4. press CTRL-F and highlight the tab "Hex Values"
  5. let it search for "00 00 40 46 3E 6F 77 42" it should only find one result if you have the recent flash player
  6. Replace the found value with "00 00 00 00 00 00 F8 7F" in the hex view 
  7. Save the file
  8. Edit or create a file mms.cfg in c:\temp\flash and place the following inside it
    # Disable Automatic Updates
    AutoUpdateDisable=1
    SilentAutoUpdateEnable=0
    
    # Disable prompts to uninstall Flash Player
    EOLUninstallDisable = 1

     

  9. Rename folder C:\Windows\System32\Macromed\Flash to C:\Windows\System32\Macromed\Flash.bak (using explorer.exe) and answer yes on security questions
  10. copy folder c:\temp\flash to  C:\Windows\System32\Macromed\Flash

Repeat same steps for "C:\Windows\SysWOW64\Macromed\Flash" and the flash.ocx inside it.

 

if your flash is completly gone you can still grab it from here https://fpdownload.macromedia.com/pub/flashplayer/latest/help/install_flash_player.exe  (for the time being) 

 

In the summer of 2021 microsoft will also pull of a blockage i'm not sure how they will do this but it's possible the flash.ocx won't be loaded at all anymore. Also it seems on my windows 10 at least flash.ocx inside the pinballx directory is never used !

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, Mike_da_Spike said:

Why not sharring a modified flash.ocx ?B)

mike-da-spike___pinball.png

Also try  PinballX Database manager as an alternative way for gamemanger

as it's not a good idea to distrubute those and there are multiple versions of flash and we can't know which version a user has installed. not to mention the possibility of user errors where they copy the 64 bit version in 32 bit directory (or vice versa). Much safer to do it yourself

  • Like 1
Link to comment
Share on other sites

15 hours ago, Black Mage said:

Since .SWF Files are no longer supported by flash.ocx can there be an update so that .swf scoreboards, instruction cards, etc. can work?  I think I can hack it myself but it seems not to work out of the box in PinballX currently.

You may want to refer to this thread for an alternative solution:

 

Link to comment
Share on other sites

Thanks Draco, but since pretty much everyone uses .swf for their instruction cards this is a common problem, and I assume it should be relatively high on the list of needed updates.  Given that, I'll wait for the update that will allow users to see their instruction cards

Link to comment
Share on other sites

7 hours ago, Black Mage said:

Thanks Draco, but since pretty much everyone uses .swf for their instruction cards this is a common problem, and I assume it should be relatively high on the list of needed updates.  Given that, I'll wait for the update that will allow users to see their instruction cards

I'm not sure if there will be an update for .swf files in PBX.

I think we should convert all .swf into a format that PBX supports. Not really know what @Tom Speirsfuture idea is of .swf support in pbx

 

  • Like 1
Link to comment
Share on other sites

if you find a commandline tool swf2png or something have not really found / tested anything it should be easy to create a batch file that does the conversion and move the SWF files to a seperate directory but that would only work if the swf2png tool exports only 1 png file with same filename as the swf.

It's possible FFMPEG.EXE can do it but when i did it the other way around with ffmpeg (png to swf) the quality of the swf was bad so not sure if the same would happen if you convert them back to png 

 

edit: i tried ffmpeg.exe it does not work with all swf files so can not be used :(

Link to comment
Share on other sites

OK, SWFRender.exe from swf tools seems to work great. I created a small batch file script to convert your swf files. for a lot of swf files it just works out of the box. but do verify your exports.

extract the files in your directory containing SWF files and then run "convert_all_swfs_swfrender.bat"

this is the main code:

swfrender.exe "%%~nf.swf" -Y 1200 -o "%%~nf.png" 

The -Y 1200 will make the SWF render at 1200 pixels height (my backglass monitor height) and then scale Width accordingly while keeping aspect ratio. if the resulting width is greater than your monitor pinballx will probably scale the picture but i did not test that. There also Exists -X widthvalue you can specify for example 

swfrender.exe "%%~nf.swf" -X 1920 -o "%%~nf.png" which will render the swf at 1920 width and then scale height accordingly before saving a png image.

if you don't specify X or Y value it will use original size however do note that when the image is for example 400x200 and it gets scaled by pinballx to your monitors size that you will get very bad quality. SWF can render with vector format so it has no impact (only if it uses vectors to display it an imported low res image will still display low res). Hence specifying the height or width for the swf to render in before it saves a png image might be a good idea. Also you may want to use a bigger size than your monitor in case you ever upgrade your backglass monitor or so. I think pinballx will downscale the image then to your monitor's width and height while keeping aspect ratio if thats the case.

you can also specify both at the same time but then your PNG's will contain deformed images as it does not keep aspect ratio then.

if the SWF file contained multiple frames they will be saved as "orignalrootfilename-1.png" "originalrootfilename-2.png" etc and you may need to rename those files for pinballx to recognize them as multi instrunctions cards or erase one of the png files and rename to correct name without "-1" "-2" if they seem identical. For those cases manual intervention is needed for pinballx to display them again as the exported filenames won't be identical to what the swf filename used. (Don't use it on animated SWF's or that swf file can produce a lot of png's and conversion can take a very long time)

The script will "try" to see if a png file already exists and if so skip swf converion. It will also not delete any of your swf files. So you can ctrl-c to abort the script and continue later by just running the script again

I would not immediatly delete swf files as you may want to experiment first with the values and see what works best, also it might depend on monitor resolutions you use for backglass monitor for what values you want to use. So i would not delete them from ftp but rather move them to a seperate (sub)dir or so, so they can still be downloaded and used with this script.

 

Also i think pinballx still gives preference to SWF files so in order for png's to show you might need to move your swf file to a temporary subdirectory to test the png's or first move them to temporary dir and do conversion there and then copy swf files to instruction cards media folder (did not test)

 

Some converted images might still need to be edited afterwards if they used transparancy the png will also be transparant. But with swf the background color was always white while inside pinballx it is black so if text was black and background transparant it won't show correctly. A simple trick is to open the file in paint (not paint 3d) and then save the file again without changing anything or use gimp and use bucket tool to fill background etc. I also noticed a small subset of files i had no output for but just a transparant image but for the majority of files i converted it did work and displays fine now in latest pinball x version released today (to fix aspect ratio)


Here is the script + swfrender.exe swfrenderscript.zip

 

 Hope this helps

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Thanks @joyrider3774! You've been busy. I wanted to check as well if there was a command line tool, but you beated me!

Not sure if SpeSoft convert-it, can also do bulk converts. 

A lot to do the next days !

@Tom SpeirsAre you converting ftp files as well, or you will only clean them ?

Link to comment
Share on other sites

you need to render the SWF and then save to image it's not really a conversion so i doubt there are many tools than can do it even ffmpeg.exe did not work for all swf's (if they contain shapes or so it fails). i think swfrender.exe is currently the only solution unles you find some other way to render them first and then save png image. the render is needed in case the swf used vectors if you just extract an image or don't let it render high res first you might get a small resolution image saved that when displayed in pinballx will display bad when upscaled to your monitor's resolution. While if you let the swf render at high res and it used vectors (not all swf's do i noticed) then you get an high res png image and don't have that problem

Link to comment
Share on other sites

i just converted all my files on my cabinet. i noticed a small percentage of files did not convert ok but the majority did. Some files have a transparant background with black text. With SWF this was no problem as background would display white but with pinballx & png the background is also black so you will need to fill the background with white in those images. A simple trick is to open the file in paint (not paint 3d) and then save the file again if you notice that. (normal paint can't work with transparant backgrounds). Example swf was bugs bunny in my case but i have not verified all the images yet (i've got 3000+ images and am only going to verify and correct when i actually look at them when needed).

A quick "manual" way to validate your images is open the 1st image in "photo's" app and then use right arrow key to quickly scroll between them. If you find a bad one you can delete it. However "photo's" app uses white background (not sure it can be changed) so can not detect the images that had transparant background and black letters which pinball x will seemingly display as just a black screen because of black background)  Edit: you can change theme to dark theme inside settings and then you can detect these images as the background won't be white but will be same greyish / dark theme color as rest of the app !

Link to comment
Share on other sites

On 1/27/2021 at 2:03 AM, Tom Speirs said:

Hi all,

I will get png/jpg showing correctly for next release so we can convert. I read the aspect ratio is wrong. I will try and fi.

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...