Jump to content

Recommended Posts

Posted
17 hours ago, scottacus said:

Super excited about the new B2SSetPos method that can move B2S Snippets x and y coordinates around the backglass.  I have a working prototype and @jarr3 @stevejones72 and @jsm174 are working on improving and refining the method for ease of use and faster speed.  Lots of tables will benefit from this method like @bord Crosstown with open/close subway doors and any tables with moving bg animations.

 

Yes, me too. Though we have to decide how to get it as much flexible and usable as possible. If we want it to use an absolute position or a delta, and how that will work with different backglasses?

Is it enough to have the B2S.Server report the size of the backglass back to the table script? Many questions...

Posted

We now have a first set of builds with the new method. It is not only the method, but a bigger remodel of the source which hopefully will help developing the B2S Server in future.

 

The B2SBackglassServer and B2SBackglassServerEXE is now merged in source, but we still produce both from this one set of source. It should save a lot of work when adding new features.

 

You can find them under https://github.com/vpinball/b2s-backglass/actions (a github account is needed) and they are in the branch called 84-merge-the-dll-and-exe-backglass-features

 

It would be nice to get many testers for these builds coming, that we know we have not made all other tables fail... and report any problems here.

Posted

The final piece of the puzzle will be getting the new snippet moving method working in "exe mode" for B2S.  This is probably a little confusing but there are really two "branches" to B2S (exe and non-exe) and these are selected as a default by right clicking on a running B2S and setting the "default" in the middle of the options menu.  This is what @jarr3 is referring to as B2SBackglassServer and B2SBackglassServerEXE.   It's still one program on your machine but can run use two different communication methods.

The choice of B2S can also be set on a per-table basis and the data for that is in the VisualPinball/B2SServer folder xml file.  Whatever is at the top is default and any table setting follow below that on a per table basis.

So why are there two forms of B2S?  Only the original devs could say but I can tell you that on older machines, the exe method runs much faster and on a table like Nags (with lots of B2S communication for moving horses) it will be essential that B2S can be run in  exe mode.

As of right now only the non-exe method is working so I won't be able to release Nags until the exe can run the new snippet moving method.  If anyone is interested in helping to test please drop me a message here and I'll put together a team once B2S is ready to go.

Posted

What @stevejones72 means by "tidy up" is that he went into the guts of B2S and figured out where the bottlenecks in communication and graphic rendering are and how those interact with vpx.  He essentially solved the problem that caused the original devs to develop and entire branch (many hundreds to thousands of lines of code) of B2S code (the exe version) to use as a work-around.

In the end this will allow for the removal all of the "exe" code from B2S, make non-exe B2S much faster and let B2S be much easier to maintain and  further develop.  This is a massive win for the vp community that will barely be noticed since it is all "under the hood" of a program that most of us take for granted.

Thanks Steve!

Posted (edited)
8 hours ago, jarr3 said:

We now have a new build that includes the features for Nags and a B2SBackglassServerEXE that no longer exists, thanks to @stevejones72

 

That is, you should try to run this only as DLL.

Please report any problems here!

Credit to you @jarr3 for the merge! The B2S code will be so much easier to maintain going forward, and for users the complexity of "Should I use .exe for this or .dll for that" goes away completely! Thank you for the work that has gone in to quite a pivotal release IMHO.

 

Steve

Edited by stevejones72
Posted
9 hours ago, jarr3 said:

We now have a new build that includes the features for Nags and a B2SBackglassServerEXE that no longer exists, thanks to @stevejones72

 

That is, you should try to run this only as DLL.

Please report any problems here!

Exciting changes @jarr3 and @stevejones72 but where do we make this change to dll in settings? I still only see EXE or Standard

b2s-dll-setting.jpg

Posted
25 minutes ago, Cliffy said:

Exciting changes @jarr3 and @stevejones72 but where do we make this change to dll in settings? I still only see EXE or Standard

 

Hello Cliff!

 

If yoe look to the left of the pulldown, the activated "Start this backglass as EXE" means it will still trigger the EXE. If you click it, so that it isn't "pressed" it is the pure DLL

 

This part of the settings is now obsolete if tests goes well. I will deactivate this part, so that it defaults to DLL.

 

You can search an replace in the B2STabelSettings.xml <StartAsEXE>1</StartAsEXE>   ->   <StartAsEXE>0</StartAsEXE>
Then all tables will use the DLL.

Posted

Excellent. I wouldn't have figured that out on my own. Should be spelled out for dummies like me. On the other hand if it's going away anyway, don't bother 

Posted (edited)

Ok @jarr3 I went in and replaced all <StartAsEXE>1</StartAsEXE> to <StartAsEXE>0</StartAsEXE> in b2stablesettings.xml and now ALL b2s backglasses go behind the backdrop. Funny, if a b2s has a fulldmd it stays on top but the glass goes to back, despite Forms to Front set as 1

 

In the case of one table I'm working on the backglass is hidden but when I alt tab to bring it to the top the glass is just a black square. Regardless, once I click the table the b2s disappears to behind again

 

Edited by Cliffy
Posted (edited)
1 hour ago, Cliffy said:

I had to change back to EXE mode. Sorry guys, not testing well for me in dll mode 

Hey @Cliffy, thanks for giving the new .dll code a try. Is there a table already out there that would be a good representation of what you are working on, so I can grab that locally and see the difference between a previous B2S version and the current one?

 

Thanks.

Edited by stevejones72
Posted
1 hour ago, stevejones72 said:

Hey @Cliffy, thanks for giving the new .dll code a try. Is there a table already out there that would be a good representation of what you are working on, so I can grab that locally and see the difference between a previous B2S version and the current one?

 

Thanks.

ALL tables do the same thing Steve :( All of them move to the back and when brought front they have no communication with the table. Every table I tested, EM or solid state. I do wonder if, because it's using a dll, perhaps the PC needs a restart after setting to dll mode. Haven't tried that yet. Or, perhaps I need to reregister the server?
 

I figured out why I was getting a black backglass on the table I'm working on. I have a tablename.res but I renamed the b2s to prevent it starting. B2s Server still started despite a b2s with an unmatched name! However it created a black square the size of the b2s. WEIRD!!

Posted
On 7/11/2024 at 5:57 AM, jarr3 said:

I will have to work to get the EXE behaviour into the DLL, will report once done.

I hope to have it working better  in build #301. I know we might need a couple of iterations to get it 100%. So I hope you stay and check in once in a while.

Posted
2 hours ago, jarr3 said:

I hope to have it working better  in build #301. I know we might need a couple of iterations to get it 100%. So I hope you stay and check in once in a while.

@scottacus I thought instead of hi-jacking your Nags thread, I have created a new thread for the beta testing of getting the DLL version going here.

Posted

@jarr3 good idea, B2S deserves its own post.  Once B2S is stable and ready for release then so is Nags.  Nags will be a good proof of concept for the new B2S and should serve to highlight the improvements in speed that you and @stevejones72 have made in the system.  All of those tables that I needed to run in "exe mode" for B2S becasue I got lag and stutter in vpx now run lightning fast in the standard "dll" B2S, remarkable work!

 

 

  • 5 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...