MAMEWorld >> Programming
View all threads Index   Threaded Mode Threaded  

Pages: 1

R-Cade
MAME Fan
Reged: 03/01/11
Posts: 5
Send PM


Solved - Need diff to disable load state messages
#266133 - 10/12/11 05:15 AM


This has been solved. Solution available here:
http://forum.arcadecontrols.com/index.php?topic=115377.0

Hi everyone, I've had this account for a while but I think this might be my first post. Anyway, I've been slowly working out the details for my MAME cabinet and I've thought of a feature that I think some people might find interesting.

In most fighting games it can be a pain in the butt to select a difficulty level. You can usually choose from 8, but it would be nice to be able to let friends playing your cabinet do so without giving them access to the service menu.

Another problem is setting up a two-player match. After one person wins, the loser can put another coin in for a rematch, but only the loser has a choice to change characters.

These problems also apply to some puzzle games, and other games as well.

My solution is to have nine small buttons across the top of the control panel. The buttons are physically mapped to the 0 through 8 keys on a keyboard encoder. In MAME, 0 through 8 are all mapped to load state.

1.sta is a save state where the difficulty is set to 1.
2.sta is a save state where the difficulty is set to 2, etc.

I think you can see where I'm going with this.

0.sta is a save state where both players are ready choose a character on the character select screen.

As you can see, when you are playing you can simply double tap 1 through 8 to reset the game on a different difficulty, or 0 to start a two-player match.

I already have this working perfectly, the one problem is that during the process the messages "Select position to load from" and "State successfully loaded. Warning: save states are not officially supported for this game" are displayed. In this application, these messages look awful and don't make any sense to the end user on a cabinet.

So, to get to my point (finally), I'm wondering if there would be anyone willing to write a .diff that would disable these two particular messages from displaying? I can't do this myself as I have no knowledge of programming in MAME, but I could pay someone some cash through PayPal if need be.

The .diff would have to be compatible with hiscore.diff. I don't mean that I need high scores to be carried over after a load state, I realize that constantly loading state will constantly reset the high scores. This is not a problem. I'll just have to make a decision for each game whether I'd like to use save states or enable high score saving; it's usually not much of a conflict. Games which could use my load state feature (like Street Fighter II) are usually oriented around defeating the computer player or having repeated two-player matches; whereas games that are oriented around getting a high score (like Ms. Pac-Man or Donkey Kong) generally have no need for my load state feature. Anyway, what I need to say is that I will still need the nag-screen and loading-screen removing feaures of hiscore.diff in every game, but high score saving is only needed in games which won't use save states.

It would be optimal to make the buttons load state with one press, instead of double tapping. It could also be neat if the messages were loaded from a .txt file. That way they could be changed to say something more appropriate, or simply left blank to hide them. These would be added bonuses, but I think simply disabling those two messages would be fairly adequate.

Please let me know if anyone is willing to do any of this. Also let me know if there are any other places I should be asking.

Thank you.

Edited by R-Cade (10/19/11 11:38 PM)



redk9258
Regular
Reged: 09/21/03
Posts: 3968
Loc: Troy, Illinois USA
Send PM


Re: Need diff to disable load state messages new [Re: R-Cade]
#266135 - 10/12/11 05:37 AM


I'm not going to make a diff for this, but you might find src\emu\ui.c interesting to look at.



R-Cade
MAME Fan
Reged: 03/01/11
Posts: 5
Send PM


Re: Need diff to disable load state messages new [Re: redk9258]
#266311 - 10/14/11 06:24 AM


Yeah, I get what you're hinting at. If I can find the messages in the code I can change them. I got that particular file open in visual studio, but couldn't find the messages. I'll keep looking through the rest of the source files this weekend, starting with the ones included in ui.c.

Thanks for the nudge, but even if I find it, compile it, and everything works, I'd still be willing to pay someone to make a diff to automate the process for future builds and/or to make some of the other changes I was talking about.



R. Belmont
Cuckoo for IGAvania
Reged: 09/21/03
Posts: 9716
Loc: ECV-197 The Orville
Send PM


Re: Need diff to disable load state messages new [Re: R-Cade]
#266356 - 10/14/11 05:36 PM


> "State successfully loaded. Warning: save states are not officially supported
> for this game" are displayed.

Just know that that message isn't displayed to annoy you; it's to signal that you are doing something unsupported and the game is likely to malfunction in some way after that point. (In much the same way that the information screens at startup can tell you useful things about the status of the emulation if you don't disable them).

> In this application, these messages look awful and don't make any sense to the end
> user on a cabinet.

They are intended to. We want end users to know that MAME in a cabinet is MAME; it helps discourage stupid illegal stunts like putting MAME cabinets on location with real coin doors, and it's good advertising for the project. But you can make them look less awful with the -uifont switch. A nice sans serif classes things up appropriately in most cases.

Basically, your requested modifications are so exactly pitch-perfect for the various Chinese companies making crappy MAME-on-a-PCB ripoffs (48-in-1, 64-in-1, 1000-in-1, etc, etc) that we can't help you because it would also help them.



Bryan Ischo
MAME Fan
Reged: 03/28/10
Posts: 358
Send PM


Re: Need diff to disable load state messages new [Re: R. Belmont]
#266366 - 10/14/11 06:33 PM


> Basically, your requested modifications are so exactly pitch-perfect for the various
> Chinese companies making crappy MAME-on-a-PCB ripoffs (48-in-1, 64-in-1, 1000-in-1,
> etc, etc) that we can't help you because it would also help them.

But those Chinese companies are going to do that regardless, so why punish people who want to use MAME legitimately by not providing help to them?



R. Belmont
Cuckoo for IGAvania
Reged: 09/21/03
Posts: 9716
Loc: ECV-197 The Orville
Send PM


Re: Need diff to disable load state messages new [Re: Bryan Ischo]
#266369 - 10/14/11 07:57 PM


> > Basically, your requested modifications are so exactly pitch-perfect for the
> various
> > Chinese companies making crappy MAME-on-a-PCB ripoffs (48-in-1, 64-in-1, 1000-in-1,
> > etc, etc) that we can't help you because it would also help them.
>
> But those Chinese companies are going to do that regardless, so why punish people who
> want to use MAME legitimately by not providing help to them?

Because we intend for MAME to be used as shipped, perhaps alongside a good frontend (QMC2). If you want to use it in some other way, it's assumed that you are clever enough to do whatever that customization is yourself. You don't call up GM when you want flames painted on your Camero, after all.



R-Cade
MAME Fan
Reged: 03/01/11
Posts: 5
Send PM


Re: Need diff to disable load state messages new [Re: Bryan Ischo]
#266370 - 10/14/11 08:12 PM


R. Belmont:
"that message isn't displayed to annoy you; it's to signal that you are doing something unsupported and the game is likely to malfunction in some way after that point. (In much the same way that the information screens at startup can tell you useful things about the status of the emulation if you don't disable them)."

Yeah, I understand all that. That's why its good to have a hidden version of MAME on your cabinet with all of that stuff enabled. I know you have to watch out for glitches caused by loading a save state, just another reason to make the decision to use them on a per-game basis. SF Third Strike (probably anything CPS-3) can have a lot of problems with it, but if you load from the right place you can get it under control. You just have to decide if the benefits outweigh the costs, and they often do.

R. Belmont:
"We want end users to know that MAME in a cabinet is MAME; it helps discourage stupid illegal stunts like putting MAME cabinets on location with real coin doors, and it's good advertising for the project."

I know, but I'll be using it in my house where tokens will be free, and it'll be a lot more elegant in this case if the end-user doesn't have to be reminded its MAME. I already know its MAME, and if anyone is interested to know how the cabinet works I'll give plenty of advertising about how great MAME is.

R. Belmont:
"Basically, your requested modifications are so exactly pitch-perfect for the various Chinese companies making crappy MAME-on-a-PCB ripoffs (48-in-1, 64-in-1, 1000-in-1, etc, etc) that we can't help you because it would also help them."

Bryan Ischo:
"But those Chinese companies are going to do that regardless, so why punish people who want to use MAME legitimately by not providing help to them?"

My thoughts exactly.

R. Belmont, I totally understand where you're coming from. MAME wouldn't be such a long-lasting and successful project or be as accurate an emulator if it didn't follow its pure mission statement so strictly; BUT, this is why we have .diff files to allow some users to optimize things for their own situation without disrupting the core project. What I'm asking for isn't very different from some of the features of hiscore.diff that we've already mentioned.

Not to get too off-topic, but nice user name. Ever played Rondo of Blood?



R. Belmont
Cuckoo for IGAvania
Reged: 09/21/03
Posts: 9716
Loc: ECV-197 The Orville
Send PM


Re: Need diff to disable load state messages new [Re: R-Cade]
#266373 - 10/14/11 09:05 PM


To clarify a bit: I'm not saying we're going to swoop in and stop you from doing things, but we're not going to help you do them either. I'll keep torturing car analogies until they confess: it's assumed that if you're dropping a Northstar into a Fiero you know what you're doing or at least your friends do.

> Not to get too off-topic, but nice user name. Ever played Rondo of Blood?

My blog page answers that, I think ;-)

But yes, I've played Rondo.

Edited by R. Belmont (10/14/11 09:10 PM)



R-Cade
MAME Fan
Reged: 03/01/11
Posts: 5
Send PM


Re: Need diff to disable load state messages new [Re: R. Belmont]
#266389 - 10/15/11 01:13 AM


This isn't an engine swap, I just need a fresh coat of paint. I don't have my own booth so I'm looking for help. I understand if this isn't the place to ask, so is there somewhere else I should be asking?



R. Belmont
Cuckoo for IGAvania
Reged: 09/21/03
Posts: 9716
Loc: ECV-197 The Orville
Send PM


Re: Need diff to disable load state messages new [Re: R-Cade]
#266400 - 10/15/11 02:38 AM


> This isn't an engine swap, I just need a fresh coat of paint. I don't have my own
> booth so I'm looking for help. I understand if this isn't the place to ask, so is
> there somewhere else I should be asking?

Well played torturing my analogy further (No, seriously, I liked it). I would think the guys at BYOAC would probably be your one-stop shopping on this - they maintain the hiscore patch, and several other patches there.



R-Cade
MAME Fan
Reged: 03/01/11
Posts: 5
Send PM


Re: Need diff to disable load state messages new [Re: R. Belmont]
#266435 - 10/15/11 07:03 AM


I thought you might recommend BYOAC/was thinking that already, I'll take it in that direction.


Pages: 1

MAMEWorld >> Programming
View all threads Index   Threaded Mode Threaded  

Extra information Permissions
Moderator:  Pi 
0 registered and 16 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 6375