Jump to content

Change DMD/Sound settings from script and restore original settings on exit


Offy

Recommended Posts

Updated script slightly to make changes easier.

 

First, edit the user settings block:
 

'Set this to the ROM name.  If alias is in use, this is the original ROM name
Dim ROMName:ROMName = "originalROMname"

'Set the following options you prefer
Dim DMD_Sound:DMD_Sound = 0                '0 = ROM Sounds off  1 = ROM Sounds on

'Only turn on one of the following
Dim DMD_ShowDMD:DMD_ShowDMD = 0            '0 = No standard DMD  1 = Standard DMD
Dim DMD_ExternalDMD:DMD_ExternalDMD = 1    '0 = No external DMD  1 = External DMD 
'End User Options
 

Second, add a function call to table_init and table_exit

 

<original post>

 

Ever turned off sound on a table using an aliased ROM only to find that all tables using that parent ROM now have sound turned off?  Want the DMD off one table  and turned on in another table both using the same ROM?  Aliased ROM tables do not seem to save their F1 settings separately and they overwrite each other.

 

There may be other ways to achieve this, but this mod might help you out.  It is certainly an option to hitting F1 every time you open one of the tables to change settings.

 

This lets you make some settings changes via the table script that are only active during the session.  Before changes are applied, the current settings are saved so they can be restored when the table exits.

 

This is a starter framework that could be expanded to work with other settings for the DMD/ROM, such as AltSound, etc.

 

Note:  There are assumptions made for the use of this script mod.

  • The script must have a Controller object declared.
  • You will have to move parts of this script mod to other locations in the script.
  • You will also have to know how to determine the original ROM name for the table you are modifying.
  • You must be able to work with the table script.
  • I am offering no support beyond the help in the text file.

 

 

 

DMD Settings via Script Mod 1.2.txt

Edited by Offy
Script version update
Link to comment
Share on other sites

And why so complicated?

Just set the ....value("sound") = 0

in table_init  sub

 

And don't forget to reenable it with

....value("sound") = 1

in table_exit   sub

 

 

 

Edited by digitalarts
Link to comment
Share on other sites

On 3/20/2024 at 6:16 AM, digitalarts said:

And why so complicated?

Just set the ....value("sound") = 0

in table_init  sub

 

And don't forget to reenable it with

....value("sound") = 1

in table_exit   sub

 

 

 

It depends on what you mean by complicated.  The script is designed to respect the settings of the ROM on exit of the table.  The script was simplified, with respect to the edits required of the user.

 

The typical solution does not utilize the ability to capture the original settings and restore them when the table exits.  The script posted stores the settings, changes the active settings as the user requests, then restores the original settings on table exit.

 

It is also designed to assist novice users when navigating this hobby.  To utilize this script mod, the user now copies in a block of code, changes settings as they wish and inserts a single function call into table_init and table_exit.  Further, they are changing options in a manner they will be familiar with.  Rather than:

.Games(cgamename).Settings.Value("sound") = 0 (which doesn't work on aliased ROMS)

 

They will use:

DMD_Sound = 0

Link to comment
Share on other sites

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...