Simple Static Backglass Homebrewed App

Larry

New member
Jul 4, 2013
204
0
Hello All!
This is a little something I've cooked up for myself and decided to share after some thought:

BackGlass For You is a VERY simple little app I cooked up for myself in C#. I use it in TPA to switch static backglass images onto my second monitor from "within" TPA.

What it is: A toolbar like app with opacity controls that sits quietly (lower right main screen in my case) to allow you to easily load images of the TPA machine backglasses onto your/my second monitor using the mouse.

What it does: Open a window on the second monitor with an admittedly horrible quality backglass image atm. Some are okay, some not so much...

What it doesn't: Anything else... this isn't some crazy phishing junk, I'd post the source code if it wasn't split into 43 .cs files atm

Quick and Dirty Install Guide:
Download from dropbox link below
Extract Entire Contents To Result in DriveLetter:\BG4U
Run Setup-Program should auto-run on install
Click OK to warning message
Click C button top right in toolbar
Enter desired values - Click Save
Close and Re-Launch via BG4U icon or start menu (Larry folder)
Ensure TPA is set to "Window" or "Fullscreen Window" mode
Use <- & -> to change back glass images + to show and - to hide image
Use X to hide tool
Play fun TPA games
Click anywhere on toolbar then mouse hover to restore visibility
Enjoy!




How it works: Download the .zip from here:
https://www.dropbox.com/sh/7mmpfzy67jv7twi/0eb36A2yDS

Extract contents (I had it setup in C:/BG4U as the folder in case it needs to be there during install)
Run setup, choose Install and Yes to any warnings, this will check and update the .net 4.5 framework and windows installer 4.5 which is used to give it a nice icon, start menu position, and make it un-installable easily via standard control panel. All I can say is I promise it's safe and I've used it for about a week now to hammer out the code with no ill effects but USE AT YOUR OWN RISK!!

Once it's installed, just run via the BG4U icon to launch.

The program will appear as a small grey toolbar with 10 buttons:
Upper Row: Back Glass Controls
<- & -> switch BG images - Alphabetical order to match table browser, all tables included. I will add new tables and better images as time goes by, I got some pretty bad hand crops off the internet for some, sorry I'm working on it but again, this is mainly something I put together purely for my own amusement, it's done "by hand" at this point but really goes pretty fast.
+ Show BG Image
- Hide BG Image
(Swap buttons effective whether image is shown or not)

Bottom Row: Opacity Controls

/\ \/ Raise and Lower Default Opacity
When the tool is launched, it will be about 20% Opacity until mouse hovered over at which point it goes up to 40% This will let you launch TPA, then select your BG in game if you'd like while keeping the tool visible. Once you've moused over it the first time, it will always resume it's set opacity, which can be adjusted using the "up & down" buttons, 10% is the minimum opacity using these buttons

X Hide Toolbar: This will actually set the opacity of the toolbar to .01% so although it's "hidden" the tool is in fact still running "on top" of TPA. Once you've selected your BG image and wish to begin playing, you can click the X to hide the tool until your ready to use it again. To restore the tool to it's default opacity, just click anywhere on it {somewhere within the area of the hidden tool, the buttons will also still be operative so I try to click the "title bar" but the worst that can happen is you'll switch the BG by accident} to return focus to the toolbar window, then mouse hover anywhere over it for about a half second, it will then go back to the "default opacity" of either 40% or what you've adjusted it to using the \/ & /\ buttons.

I've tried other methods to auto-hide and restore, but keep getting flaky exceptions from windows about null sender objects so I set it up like this for now until I can work around the issues. I'm now so used to clicking on it I almost don't even care it's so easy, but do intend to fix it at some point when I figure out how.

O Set toolbar to default of 100% opacity: This just makes it easier to see when it's in "visible mode". Instead of hiding the toolbar when not in use with X, you can use the \/ arrow to reduce opacity then quickly restore it with O. I prefer the hide and click method, but decided to give myself a quick option.

The last button on the bottom row right is just a placeholder I've used to workaround some issues with bring to front and the phantom sender problem, all it does is make the toolbar the active focus, it kind of pushes itself atm, does nothing, and may disappear when I work out my mistakes.

Enjoy, good luck and anyone who enjoys this and happens to have access to better images, I'm all for that, hook me up!

PS- I'm much more of a TPA nut than a programmer, so I hope this at least works for a few folks ;)
 
Last edited:

Larry

New member
Jul 4, 2013
204
0
Updated:
Most of the crummy images replaced!
Optional Settings Added:
Toolbar X and Y position
Backglass X and Y position
Backglass Width and Height settings

All settings are persistent and saved in a small file in the local BG4U directory ("options.cfg")

The first time you launch it, it will give you a message telling you to hit the C button (right-most top row) and enter your desired values. After this you must hit the Save button, then close and re-launch BG4U for the new settings to be used.

You can hit the C button anytime you'd like to change the settings, you simply have to again close and re-launch BG4U to re-load the new settings.

Enjoy!
This should make it a whole lot more flexible.
 

Larry

New member
Jul 4, 2013
204
0
It also looks like I've got the toolbar X and Y flipped because I'm set to portrait mode... I was wondering why it was doing that..doh.

It also looks like the initial starting position of the toolbar might be off screen in some configurations preventing you from accessing it to change the settings. It shouldn't happen, and you should be able to move it using the taskbar but I kind of just thought about it now... I'll get a new one setup in soon that starts with a better position..Doh..that's what happens when I stay up all night goofing around with this :)
 

Crazy Newt

Member
Dec 2, 2012
351
12
I'm envisioning something similar to how I run Future Pinball, with a second monitor used to display the functioning backglass of the machine. Would this replace the need to use the in-game HUD?
 

Larry

New member
Jul 4, 2013
204
0
I'm envisioning something similar to how I run Future Pinball, with a second monitor used to display the functioning backglass of the machine. Would this replace the need to use the in-game HUD?

Moving the dmd to 2nd screen will be a cabinet mode option I believe. It's just there to fill space and add a touch of niceness. It will become obsolete imho anyway.
 

Larry

New member
Jul 4, 2013
204
0
Updated:
Changed Toolbar default position to 0,0 to ensure "everyone" can click the C for initial setup.

If you somehow manage to set the toolbar off-screen and can't access it, you can just search your PC for "options.cfg" in the BG4U folder (Windows Key+F = find shortcut) and delete it. This will put the toolbar back to it's default position of 0,0 again and give you the message to update your settings.
 
Last edited:

Larry

New member
Jul 4, 2013
204
0
Updated:
Moved to .NET 4.0 to support Win XP
Added Fish Tales
Changed from debug to release build to reduce download size
Changed Default Opacity Setting to 70% on mouse hover
Replaced most of the bad images...all images are now at least "acceptable" quality

If you happened to install an older version, be sure the use the control panel to un-install the old version first. Because of the foundation changes, it will add a second installation of the app instead of updating the old one. This should not be an issue in future versions unless I've made some other low-level mistakes.
 

Pantah010

New member
Jan 31, 2013
113
0
Updated:
Moved to .NET 4.0 to support Win XP

klCyEC5.jpg


I can't run it after install..
It says it needs to update, but it already updated trough your program..

Hope you can fix it.
 

Larry

New member
Jul 4, 2013
204
0
Hope you can fix it.

The new version is uploaded now!

I changed the dependencies but forgot the target framework.
*fingers crossed*

This should really make it work on XP now.
Thank you for your detailed reply! It's very helpful even if I can't actually read the dialogue box :)
 

Pantah010

New member
Jan 31, 2013
113
0
The new version is uploaded now!

I changed the dependencies but forgot the target framework.
*fingers crossed*

This should really make it work on XP now.
Thank you for your detailed reply! It's very helpful even if I can't actually read the dialogue box :)

Hi, np man would love to see this work!

Now i got this validation problem:

Code:
INFO PLATFORMVERSIE
	Windows 			: 5.1.2600.196608 (Win32NT)
	Common Language Runtime 	: 4.0.30319.233
	System.Deployment.dll 		: 4.0.30319.1 (RTMRel.030319-0100)
	clr.dll 			: 4.0.30319.233 (RTMGDR.030319-2300)
	dfdll.dll 			: 4.0.30319.1 (RTMRel.030319-0100)
	dfshim.dll 			: 4.0.31106.0 (Main.031106-0000)

BRONNEN
	Implementatie-url			: file:///C:/BG4U/BG4U.application
	Toepassing-url			: file:///C:/BG4U/Application%20Files/BG4U_1_0_0_17/BG4U.exe.manifest

IDENTITEITEN
	Implementatie-identiteit		: BG4U.application, Version=1.0.0.17, Culture=en-US, PublicKeyToken=d96e1bdff67939ba, processorArchitecture=msil
	Toepassingsidentiteit		: BG4U.exe, Version=1.0.0.17, Culture=en-US, PublicKeyToken=d96e1bdff67939ba, processorArchitecture=msil, type=win32

TOEPASSINGSSAMENVATTING
	* Installeerbare toepassing.
	* Parameter voor vertrouwens-url is ingesteld.
FOUTSAMENVATTING
	Hieronder ziet u een overzicht van de fouten. Verderop in het logboek vindt u nadere details over deze fouten.
	* Activering van C:\BG4U\BG4U.application heeft tot een uitzondering geleid. De volgende berichten voor mislukte acties zijn aangetroffen:
		+ Verwijzing in het manifest komt niet overeen met de identiteit van de gedownloade assembly BG4U.exe.

SAMENVATTING MISLUKTE TRANSACTIES ONDERDELENARCHIEF
	Er zijn geen transactiefouten aangetroffen.

WAARSCHUWINGEN
	Er werden geen waarschuwingen weergegeven bij deze bewerking.

VOORTGANGSSTATUS BEWERKING
	* [8-12-2013 11:14:58] : De activering van C:\BG4U\BG4U.application is gestart.
	* [8-12-2013 11:14:58] : Verwerking van het implementatiemanifest is voltooid.
	* [8-12-2013 11:14:58] : De installatie van de toepassing is gestart.
	* [8-12-2013 11:14:58] : Verwerking van het toepassingsmanifest is voltooid.
	* [8-12-2013 11:15:04] : Compatibele runtimeversie 4.0.30319 gevonden.
	* [8-12-2013 11:15:04] : Aanvragen van vertrouwen en detectie van platform zijn voltooid.

FOUTDETAILS
	De volgende fouten zijn aangetroffen bij deze bewerking.
	* [8-12-2013 11:15:05] System.Deployment.Application.InvalidDeploymentException (RefDefValidation)
		- Verwijzing in het manifest komt niet overeen met de identiteit van de gedownloade assembly BG4U.exe.
		- Bron: System.Deployment
		- Stack-tracering:
			bij System.Deployment.Application.DownloadManager.ProcessDownloadedFile(Object sender, DownloadEventArgs e)
			bij System.Deployment.Application.FileDownloader.DownloadModifiedEventHandler.Invoke(Object sender, DownloadEventArgs e)
			bij System.Deployment.Application.FileDownloader.OnModified()
			bij System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
			bij System.Deployment.Application.SystemNetDownloader.DownloadAllFiles()
			bij System.Deployment.Application.FileDownloader.Download(SubscriptionState subState)
			bij System.Deployment.Application.DownloadManager.DownloadDependencies(SubscriptionState subState, AssemblyManifest deployManifest, AssemblyManifest appManifest, Uri sourceUriBase, String targetDirectory, String group, IDownloadNotification notification, DownloadOptions options)
			bij System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp)
			bij System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc)
			bij System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
			bij System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

TRANSACTIEDETAILS ONDERDELENARCHIEF
	Er is geen transactie-informatie beschikbaar.

Hope thats helpfull.:D
 

Larry

New member
Jul 4, 2013
204
0
Okay wow that's a weird one... I'm going to fiddle around for a few minutes and see what I can come up with, it's local app security token I think but the language thing is throwing me..

stand by
 

Larry

New member
Jul 4, 2013
204
0
Okay yes I'm sorry I made another major goof in the application settings, man VS2012 has some crap settings hidden away..anyhow, rebuilding and posting now

EDIT: it seems to turn on the "Click Once Security Settings" no matter what I do when I send it to build, I turned off the signing mechanism which I think is what your second error was (validation) but who knows what's going to pop up at this rate

Just waiting on Grandpa Internet
 
Last edited:

Larry

New member
Jul 4, 2013
204
0
Okay 3rd try is the charm right?

The "new and improved version" is uploaded
 

Pantah010

New member
Jan 31, 2013
113
0
Sorry to say but same validation error. :(

Code:
INFO PLATFORMVERSIE
	Windows 			: 5.1.2600.196608 (Win32NT)
	Common Language Runtime 	: 4.0.30319.233
	System.Deployment.dll 		: 4.0.30319.1 (RTMRel.030319-0100)
	clr.dll 			: 4.0.30319.233 (RTMGDR.030319-2300)
	dfdll.dll 			: 4.0.30319.1 (RTMRel.030319-0100)
	dfshim.dll 			: 4.0.31106.0 (Main.031106-0000)

BRONNEN
	Implementatie-url			: file:///C:/BG4U/BG4U.application
	Toepassing-url			: file:///C:/BG4U/Application%20Files/BG4U_1_0_0_19/BG4U.exe.manifest

IDENTITEITEN
	Implementatie-identiteit		: BG4U.application, Version=1.0.0.19, Culture=en-US, PublicKeyToken=0000000000000000, processorArchitecture=msil
	Toepassingsidentiteit		: BG4U.exe, Version=1.0.0.19, Culture=en-US, PublicKeyToken=0000000000000000, processorArchitecture=msil, type=win32

TOEPASSINGSSAMENVATTING
	* Installeerbare toepassing.
	* Parameter voor vertrouwens-url is ingesteld.
FOUTSAMENVATTING
	Hieronder ziet u een overzicht van de fouten. Verderop in het logboek vindt u nadere details over deze fouten.
	* Activering van C:\BG4U\BG4U.application heeft tot een uitzondering geleid. De volgende berichten voor mislukte acties zijn aangetroffen:
		+ Verwijzing in het manifest komt niet overeen met de identiteit van de gedownloade assembly BG4U.exe.

SAMENVATTING MISLUKTE TRANSACTIES ONDERDELENARCHIEF
	Er zijn geen transactiefouten aangetroffen.

WAARSCHUWINGEN
	* Het manifest voor deze toepassing heeft geen handtekening. Handtekeningcontrole wordt genegeerd.
	* Het manifest voor deze toepassing heeft geen handtekening. Handtekeningcontrole wordt genegeerd.

VOORTGANGSSTATUS BEWERKING
	* [8-12-2013 11:46:39] : De activering van C:\BG4U\BG4U.application is gestart.
	* [8-12-2013 11:46:39] : Verwerking van het implementatiemanifest is voltooid.
	* [8-12-2013 11:46:39] : De installatie van de toepassing is gestart.
	* [8-12-2013 11:46:39] : Verwerking van het toepassingsmanifest is voltooid.
	* [8-12-2013 11:46:42] : Compatibele runtimeversie 4.0.30319 gevonden.
	* [8-12-2013 11:46:42] : Aanvragen van vertrouwen en detectie van platform zijn voltooid.

FOUTDETAILS
	De volgende fouten zijn aangetroffen bij deze bewerking.
	* [8-12-2013 11:46:44] System.Deployment.Application.InvalidDeploymentException (RefDefValidation)
		- Verwijzing in het manifest komt niet overeen met de identiteit van de gedownloade assembly BG4U.exe.
		- Bron: System.Deployment
		- Stack-tracering:
			bij System.Deployment.Application.DownloadManager.ProcessDownloadedFile(Object sender, DownloadEventArgs e)
			bij System.Deployment.Application.FileDownloader.DownloadModifiedEventHandler.Invoke(Object sender, DownloadEventArgs e)
			bij System.Deployment.Application.FileDownloader.OnModified()
			bij System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
			bij System.Deployment.Application.SystemNetDownloader.DownloadAllFiles()
			bij System.Deployment.Application.FileDownloader.Download(SubscriptionState subState)
			bij System.Deployment.Application.DownloadManager.DownloadDependencies(SubscriptionState subState, AssemblyManifest deployManifest, AssemblyManifest appManifest, Uri sourceUriBase, String targetDirectory, String group, IDownloadNotification notification, DownloadOptions options)
			bij System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp)
			bij System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc)
			bij System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl)
			bij System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

TRANSACTIEDETAILS ONDERDELENARCHIEF
	Er is geen transactie-informatie beschikbaar.
 

Larry

New member
Jul 4, 2013
204
0
CRAP!
Okay I'll take another shot at it..hmm
sorry for all the trouble, probably about the same amount of time + a couple minutes to really look it all over
 

Members online

No members online now.

Members online

No members online now.
Top