Previous Thread
Next Thread
Print Thread
Page 1 of 2 1 2
Joined: Mar 2007
Posts: 294
Senior Member
OP Online Content
Senior Member
Joined: Mar 2007
Posts: 294
How can I force-disable all artwork during gameplay through mame64 commandline? After MAME 0.215, all those switches to turn the artworks on/off on the fly are gone. And when I try to record an .avi video, all artworks are being displayed in the recorded video, even though they are not visible during gameplay.

Last edited by RColtrane; 12/11/19 06:29 PM.
Joined: Apr 2006
Posts: 722
Senior Member
Offline
Senior Member
Joined: Apr 2006
Posts: 722
Originally Posted by RColtrane
How can I force-disable all artwork during gameplay through mame64 commandline? After MAME 0.215, all those switches to turn the artworks on/off on the fly are gone. And when I try to record an .avi video, all artworks are being displayed in the recorded video, even though they are not visible during gameplay.


The least intrusive way is to adjust your artpath in your mame.ini or use the -artpath command-line argument to change it. Other solutions include temporary stashing your machine's artwork pack to another folder while you recording and return it when done.

Joined: Mar 2001
Posts: 16,613
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,613
So wait, -noartwork is no longer a thing? That seems arbitrary.

Joined: Mar 2007
Posts: 294
Senior Member
OP Online Content
Senior Member
Joined: Mar 2007
Posts: 294
Originally Posted by R. Belmont
So wait, -noartwork is no longer a thing? That seems arbitrary.


I agree. At least this option should be in MAME, so you don't have to resort to obscure ways to turn artworks off, such as removing artworks from the folder or doing something else.

And I tried to rename the Artwork folder but it led the game to display corrupted colors all over the game screen, I don't know why. The game in case is the 1st Mortal Kombat (mk). So it seems that renaming the artwork folder is not an option as well.

Joined: Feb 2004
Posts: 2,194
Very Senior Member
Offline
Very Senior Member
Joined: Feb 2004
Posts: 2,194
The trouble with -noartwork is it completely breaks screenless systems etc. There are lots of things in MAME that are completely unusable if you disable artwork. We were getting bogus reports on MAME Testers that nothing showed when you disabled artwork. You can use -view0 and -snapview to set the initial view on the command line. If you're prepared to have multi-screen games broken, you can use -view0 "Screen 0 Standard" -snapview "Screen 0 Standard" to tell MAME to default to the views that show the first screen only for the first window and for saving snapshots/videos.

Joined: Mar 2001
Posts: 16,613
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,613
Originally Posted by RColtrane
And I tried to rename the Artwork folder but it led the game to display corrupted colors all over the game screen, I don't know why.


Probably you have some filter on (HLSL or whatever) and with the artwork folder renamed MAME can't load the necessary bitmaps to make that work.

Originally Posted by Vas Crabb
The trouble with -noartwork is it completely breaks screenless systems etc. There are lots of things in MAME that are completely unusable if you disable artwork.


Yes, and that sucks, but the problem isn't really -noartwork. It's that we've overloaded the artwork system to handle what people would reasonably perceive as at least 2 different concepts: optional bezels and backdrops for both regular screen and layout-based systems, and "the artwork *is* the screen" for e.g. Game & Watch. I don't know enough about the layout system internals to say how easy it would be, but it would be nice if we could tag the built-in MAME layouts in some way to make them immune to -noartwork. Then Game & Watch with -noartwork would do what someone familiar with MAME would expect, which is show the game's LCD but not hydef's background.

I'm even willing to look into it myself if I can get some tips from whomever does know what's going on in there; I'm off work for the rest of the year after Friday.

Joined: Feb 2004
Posts: 2,194
Very Senior Member
Offline
Very Senior Member
Joined: Feb 2004
Posts: 2,194
You're misunderstanding it - Game & Watch doesn't use "artwork" elements, it uses simulated screens that render SVG. If you use -view0 "Screen 0 Standard" you will get the first screen with no other graphical elements. For dual screen games, the view has a different name.

Examples of things that completely break without artwork are things using alphanumeric displays, clickable chessboards, and things where the switches/blinkenlights are critical. We got bug reports from confused users when the "This system has no screens attached" message didn't show with artwork disabled for systems with no screens and no artwork.

The layouts are still in flux at the moment. I need to finish off the functionality for more flexible groups of items that can be enabled/disabled that aren't tied to the parts of a Space Invaders cabinet. Then there's parameter animation, better pointer-to-element mapping and better Lua integration to be done.

Choosing a sensible default layout is annoyingly difficult, and complicated more by slot devices. MAME uses a heuristic to try and choose a view that includes all screens in the system, favouring external layouts, then layouts provided in the system's machine configuration, and finally the layouts generated from the screens in the system's machine configuration. Right now, MAME doesn't differentiate between the different layout sources - it just loads them in priority order.

One possibility would be to add an option to not automatically load external artwork. That would mean you'd get the first view the system configuration supplies including all screens, or failing that the first automatically generated layout including all screens. This still wouldn't get you the "no artwork" effect without specifying a screen-only view, because MAME can't tell whether elements are critical for usability or just helpful additions. There are a number of systems with screens where other "artwork" elements are critical to make the system usable (e.g. et3400, intlc44, intlc440, or the arcade game seawolf).

I'd be reluctant to switch from using heuristics to explicit metadata in the views for selecting a view. There's too much opportunity to screw it up and render systems unusable by default. When I've got visibility groups done, there may be better opportunities to add the kind of metadata needed to have a kind of "just give me the critical parts" option on the command line and/or in the UI.

Joined: Mar 2002
Posts: 1,162
H
hap Offline
Very Senior Member
Offline
Very Senior Member
H
Joined: Mar 2002
Posts: 1,162
What did -noartwork do? Did it completely skip .lay render? If so, a useless feature.
MAME has no way to determine what is literally "artwork" and what part is minimally required. For example the multi-screen games like darius use artwork to place the screens. Some machines with LCD (cc40, ti74, ..) use artwork to place LCD segments. Stuff like 7segs in turbo are artwork, or the internal color overlay in Space Invaders.

If you simply want to hide external artwork, common things in arcade games like screen bezels and marquees. What I'd do is put all your external artwork in a different folder(modify mame.ini to add it to artpath). And to temporary disable it, start mame with "mame.exe gamename -artpath artwork"

Joined: Mar 2001
Posts: 16,613
R
Very Senior Member
Offline
Very Senior Member
R
Joined: Mar 2001
Posts: 16,613
Originally Posted by hap
MAME has no way to determine what is literally "artwork" and what part is minimally required.


Yes, that's literally what I said. And skipping .lay render entirely isn't useless; it can be an important debugging tool for mixed-display systems (and OSD maintainers), and it's also useful for purists who only want the game graphics and not the 7-segment displays or whatever. A significant percentage of users run arcade-only compiles so systems where -noartwork nukes the entire game don't exist for them.

Originally Posted by hap
If you simply want to hide external artwork, common things in arcade games like screen bezels and marquees.


We also had finer-grained -nobezels, -nobackdrops, -nooverlays, -nocpanels, and -nomarquees switches, but those all went away too. It sounds like Vas is going to make it so you can tag things as arbitrary descriptions and then disable stuff with those tags, which is great, but in the meantime there's no great options to control what gets displayed.

Joined: Mar 2002
Posts: 1,162
H
hap Offline
Very Senior Member
Offline
Very Senior Member
H
Joined: Mar 2002
Posts: 1,162
Correct me if I'm wrong, I think even the most basic "Screen 0 Standard" view(the 4:3 screen-only view) is done with rendlay. Most arcade games use this view by default. I don't know what MAME would fall back on in that case when rendlay is completely skipped.

*edit2* I guess the -noartwork option skipped all .lay elements except for the screens?

Last edited by hap; 12/12/19 01:24 PM.
Page 1 of 2 1 2

Link Copied to Clipboard
Who's Online Now
2 members (robcfg, 1 invisible), 37 guests, and 3 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics8,836
Posts116,223
Members4,921
Most Online890
Jan 17th, 2020
Powered by UBB.threads™ PHP Forum Software 7.7.5