Easy to Install theme Packs (Packagable)

A nice (keyboard based) front end for Arcade / Console game emulators.

Moderator: battlecat

Easy to Install theme Packs (Packagable)

Postby Zombie » Mon Feb 14, 2011 5:32 am

I have done alot of hand configuration of custom theme Packs from EmuChrist. It has taken many MANY long ours of tedium. These layout configurations could be considered "passable" as they work. But it takes a great deal of time, and its difficult to replicate. So what I'd like to do is develop a standard schema for WahCade theme packs and stardardize everything, offering tar balls which can become DEBs and RPMs to make configuration of artwork alot less cumbersome and use the benefits of Linux Package Management to the full advantage.
User avatar
Zombie
 
Posts: 791
Joined: Mon Oct 06, 2008 2:52 pm

Re: Easy to Install theme Packs (Packagable)

Postby sairuk » Wed Feb 16, 2011 9:04 am

I like the idea but honestly think this is a long way off for this project. It is certainly way down on my radar, Modifications to the setup editor and layout editor would be required for this also a project hosted ppa for themepacks. I can probably host the ppa/repo but i wouldn't hold my breath on this one.

At least we have naming convention to begin with.

Feel free to propose a standard for everyone to comment on, perhaps its not as far off as I believe.

i would suggest creating a blueprint for it if one doesnt exist. You can then link the bp spec to here
mameau - My random bits | Wah!Ki - A Wah!Cade wiki | Mah!Cade - Experimental Wah!cade Branch | ListGen | Lazarus
User avatar
sairuk
 
Posts: 432
Joined: Sat May 22, 2010 12:37 am

Re: Easy to Install theme Packs (Packagable)

Postby Zombie » Wed Feb 16, 2011 9:56 pm

I disagree, done in a dynamic manner this could be very flexible.

Here is something like what I have in mind:

You have layout sets in a convention like emuchrist_640x480_bw. It has the packages name of wahcade-theme-emuchrist_640x480_bw-1mdv2010.2.noarch.rpm.
lets make up a few other examples, such as, wahcade-theme-emuchrist_640x480_c-1mdv2010.2.noarch.rpm
and mr_salty_640x480, and retro_black_640x480

It installs all its data files to /usr/share/games/wahcade/layouts (Mandriva uses the variable %{_gamesdatadir} for /usr/share/games/. )

When wahcade-setup runs, and you create a new instance of a given emulator, in addition to copying the ini file, it should copy a .lay file as well. Users can still edit the .lay file in their home directory, but not the system wide layouts, the sameway. Selection of the layout should depend on the detected installed directories in %{_gamesdatadir}/%{name}/layout
User avatar
Zombie
 
Posts: 791
Joined: Mon Oct 06, 2008 2:52 pm

Re: Easy to Install theme Packs (Packagable)

Postby sairuk » Wed Feb 16, 2011 11:05 pm

Zombie wrote:I disagree, done in a dynamic manner this could be very flexible.


Not too sure what you disagree with, i understand how flexible it would be, and in your scenario the modifications to the setup editor would need to be done. Also in your scenario Wah!Cade would need to modified to read layouts from /usr/share/games/wahcade/layouts or replace the default /home/user/.wahcade/layouts with a symlink to that location during the installation of Wah!Cade

When it comes down to looking at source mods and packaging the time to implement ideas obviously increases. I have no idea how to package to deb/rpm correctly, although i will look into it soon for Mah!Cade.

Personally I see us hosting zip packs still if anything, instead of multiple packages. Remembering Wah!Cade being written in python is compatible with Linux (deb/rpm/etc) and Windows (zip/rar/etc), and anything else the python libraries will run on. If any work is done it should be done to support all scenarios, zip is just as good if the installer operates correctly.

Perhaps people should post their directory tree from their layout dirs so we can see how they construct their layouts to see if there are alternative formats.
mameau - My random bits | Wah!Ki - A Wah!Cade wiki | Mah!Cade - Experimental Wah!cade Branch | ListGen | Lazarus
User avatar
sairuk
 
Posts: 432
Joined: Sat May 22, 2010 12:37 am

Re: Easy to Install theme Packs (Packagable)

Postby Zombie » Thu Feb 17, 2011 1:48 am

I'm fine with storing them in zip files. But keep in mind that that our core audience here is Linux. Windows users consider our product to be inferior for now.
User avatar
Zombie
 
Posts: 791
Joined: Mon Oct 06, 2008 2:52 pm

Re: Easy to Install theme Packs (Packagable)

Postby sairuk » Thu Feb 17, 2011 2:09 am

Zombie wrote:I'm fine with storing them in zip files. But keep in mind that that our core audience here is Linux. Windows users consider our product to be inferior for now.


Windows of course was just an example of one platform I use it on, I wont comment on what I think of windows in general, it does make sense to cover all bases though. As mentioned initially it would seem zip would probably be the best option, i assume python supports zip functions without the need for external programs.

My current hdtv_1920x1080 theme directory structure is pretty standard, afaik this cannot be changed
Code: Select all
atomiswave.lay
gba.lay
layout.lay
m2.lay
main-atomiswave.jpg
main-gba.jpg
main.jpg
main-m2.jpg
main-nes.jpg
main-pcgames.jpg
main-psx.jpg
main-saturn.jpg
main-smd.jpg
main-snes.jpg
mame-art10.png
mame-art1.jpg
mame-art2.jpg
mame-art3.jpg
mame-art4.jpg
mame-art5.jpg
mame-art6.jpg
mame-art7.jpg
mame-art8.jpg
mame-art9.png
mame.lay
mame-main.png
mame-preview.png
message.jpg
n64-art10.png
n64-art1.png
n64-art2.png
n64-art3.png
n64-art4.png
n64-art5.png
n64-art6.png
n64-art7.png
n64-art8.png
n64-art9.png
n64.lay
nes.lay
options.jpg
pcgames.lay
psx.lay
saturn.lay
smd.lay
snes.lay
mameau - My random bits | Wah!Ki - A Wah!Cade wiki | Mah!Cade - Experimental Wah!cade Branch | ListGen | Lazarus
User avatar
sairuk
 
Posts: 432
Joined: Sat May 22, 2010 12:37 am

Re: Easy to Install theme Packs (Packagable)

Postby Zombie » Thu Feb 17, 2011 3:13 am

Let me show you a couple of my *.lay files

Code: Select all
 640
 480
 0
 /opt/var/public/emulators/mamewah/msx_bw/main.jpg
 1
 10485760
 8421504
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 305
 21
 416
 82
True
 0
 8421504
 16777215
Arial
True
False
 12.0
 2
 400
 418
 159
 22
False
 1
 0
 13408512
System
True
False
 9.75
 2
 737
 23
 143
 23
True
 0
 8421504
 16777215
Arial
True
False
 13.0
 2
 44
 139
 230
 294
False
 0
 8421504
 16777215
Arial
True
False
 8.25
 2
 479
 378
 136
 15
True
 0
 8421504
 16777215
System
True
False
 9.75
 2
 363
 139
 230
 230
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 328
 40
 320
 277
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 336
 40
 320
 277
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 344
 40
 320
 277
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 352
 40
 320
 277
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 360
 40
 320
 277
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 368
 40
 320
 277
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 376
 40
 320
 277
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 384
 40
 320
 277
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 392
 40
 320
 277
False
 0
 8421504
 13408512
System
True
False
 9.75
 2
 84
 566
 408
 20
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 540
 569
 455
 20
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 85
 596
 407
 20
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 84
 627
 406
 20
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 545
 656
 446
 20
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 541
 690
 454
 20
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 544
 728
 455
 20
 240
 260
 0
 
 1
 10485760
 8421504
True
 0
 8421504
 16777215
Arial
True
False
 8.25
 2
 12
 11
 214
 16
True
 0
 8421504
 16777215
Arial
True
False
 8.25
 2
 12
 29
 213
 154
True
 0
 8421504
 16777215
Arial
True
False
 8.25
 2
 12
 191
 214
 15
True
 0
 8421504
 16777215
Arial
True
False
 8.25
 2
 13
 211
 213
 38
 265
 206
 0
 
True
 0
 8421504
 16777215
Arial
True
False
 8.25
 2
 13
 25
 239
 16
True
 0
 8421504
 8421504
Arial
True
False
 8.25
 2
 14
 63
 237
 88
True
 0
 8421504
 16777215
Arial
True
False
 8.25
 2
 13
 159
 239
 31
True
 0
 8421504
 16777215
System
True
False
 9.75
 2
 0
 0
 1024
 720
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 524
 0
 500
 400
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 0
 401
 1024
 87
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 30
 0
 640
 430
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 40
 0
 640
 430
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 50
 0
 640
 430
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 60
 0
 640
 430
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 70
 0
 640
 430
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 80
 0
 640
 430
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 90
 0
 640
 430
True
 1
 0
 13408512
System
True
False
 9.75
 2
 0
 726
 1024
 20
True
 1
 0
 16777215
System
True
False
 9.75
 2
 0
 748
 1024
 20


Here's another one.

Code: Select all
 640
 480
 0
 /opt/var/public/emulators/mamewah/mame_bw/main.jpg
 1
 10485760
 16777215
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 305
 21
 416
 82
False
 0
 8421504
 16777215
Arial
True
False
 12.0
 2
 400
 418
 159
 22
False
 1
 0
 13408512
System
True
False
 9.75
 2
 737
 23
 143
 23
True
 0
 8421504
 13120285
Arial
True
False
 13.0
 2
 44
 139
 230
 294
False
 0
 8421504
 16777215
Arial
True
False
 8.25
 2
 479
 378
 136
 15
True
 0
 8421504
 16777215
System
True
False
 9.75
 2
 363
 139
 230
 230
True
 0
 8421504
 16777215
System
True
False
 9.75
 2
 74
 34
 170
 54
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 336
 40
 320
 277
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 344
 40
 320
 277
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 352
 40
 320
 277
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 360
 40
 320
 277
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 368
 40
 320
 277
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 376
 40
 320
 277
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 384
 40
 320
 277
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 392
 40
 320
 277
False
 0
 8421504
 13408512
System
True
False
 9.75
 2
 84
 566
 408
 20
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 540
 569
 455
 20
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 85
 596
 407
 20
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 84
 627
 406
 20
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 545
 656
 446
 20
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 541
 690
 454
 20
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 544
 728
 455
 20
 240
 260
 0
 
 1
 10485760
 16777215
True
 0
 8421504
 13120285
Arial
True
False
 8.25
 2
 12
 11
 214
 16
True
 0
 8421504
 13120285
Arial
True
False
 8.25
 2
 12
 29
 213
 154
True
 0
 8421504
 13120285
Arial
True
False
 8.25
 2
 12
 191
 214
 15
True
 0
 8421504
 16777215
Arial
True
False
 8.25
 2
 13
 211
 213
 38
 265
 206
 0
 
True
 0
 8421504
 13120285
Arial
True
False
 8.25
 2
 13
 25
 239
 16
True
 0
 8421504
 16777215
Arial
True
False
 8.25
 2
 14
 63
 237
 88
True
 0
 8421504
 13120285
Arial
True
False
 8.25
 2
 13
 159
 239
 31
True
 0
 8421504
 16777215
System
True
False
 9.75
 2
 0
 0
 1024
 720
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 524
 0
 500
 400
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 0
 401
 1024
 87
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 30
 0
 640
 430
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 40
 0
 640
 430
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 50
 0
 640
 430
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 60
 0
 640
 430
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 70
 0
 640
 430
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 80
 0
 640
 430
False
 0
 8421504
 16777215
System
True
False
 9.75
 2
 90
 0
 640
 430
True
 1
 0
 13408512
System
True
False
 9.75
 2
 0
 726
 1024
 20
True
 1
 0
 16777215
System
True
False
 9.75
 2
 0
 748
 1024
 20


I have absolute paths in my layouts because I wasn't really sure what the structure of WahCade would look like in the future, so I came up with my own system in /opt/ but this isn't good long term. This isn't dynamic, this is time consuming and very unfriendly to setup. each system however,m should have its own sub directory and files. We can use the .lay files from EmuChrist as a template, but we must modify them and store a 'WahCade friendly' version in the theme file. For example, here is what my themes are called.

/opt/var/public/emulators/mamewah/mame_bw
/opt/var/public/emulators/mamewah/nintendo_bw/

etc.

The ideal future layout would be:

/usr/share/games/wahcade/layouts/emuchrist_640x480_bw/nintendo_bw/
User avatar
Zombie
 
Posts: 791
Joined: Mon Oct 06, 2008 2:52 pm

Re: Easy to Install theme Packs (Packagable)

Postby sairuk » Thu Feb 17, 2011 4:25 am

I have to be honest here, I don't see that as a better option than what is currently available. Leaving out the paths/filename from the lay files and combining the lay & media files as per the current naming/directory convention will give what I consider to be dynamic layouts.

~/.wahcade/ini/n64.ini
~/.wahcade/ini/snes.ini
~/.wahcade/ini/main.ini

~/.wahcade/layouts/layouttest/layout.lay
~/.wahcade/layouts/layouttest/n64-main.jpg
~/.wahcade/layouts/layouttest/snes-main.jpg
~/.wahcade/layouts/layouttest/mame-main.jpg

Code: Select all
 1920
 1080
 0
 
 1
 0
 16777215
False
 0
 8421504
 16777215
Sans
True
False
 9.75
 2
 342
 0
 340
 36
False
 1
 0
 52223
SF Atarian System Extended
-* snip *-

The above will switch background images with a single layout file as you cycle emulators. Due to the fact that the background image is not set in the layout file, the program defaults to the inbuilt conventions.

cycling through the following until it finds a match.
Code: Select all
<emu_name>-?-main.???           emulator & custom list specific main backgound image
<emu_name>-main.???             emulator specific main backgound image
main.???                        general layout main backgound image


The emuchrist layouts could have been built this way quite easily
Code: Select all
layout.lay           generic layout file, with no paths
main.jpg           generic layout background
art1.png           generic empty image for artwork1
art2.png           generic coloured borders for artwork2
art3.png           generic blank.png for system photo as artwork3
art4.png           generic blank.png for system logo as artwork4


You can then customise any of these by platform by prefixing the media files with the matching ini name retaining the single layout.lay for the theme
Code: Select all
n64-art2.png           specific coloured borders for artwork2
n64-art3.png           specific png for system photo as artwork3
n64-art4.png           specific png for system logo as artwork4


You can take this down to the gamelist media files level as well again retaining the single layout.

Obviously by now you have probably realised you can also have specific layout.lay by platform as well if you want to mix it up a bit on screen. All of this is mentioned in the docs.

We are limited by the fact that Wah!Cade/Mamewah will only support a single layout directory, this limitation is of minimal concern imo due to how flexible the layout system is if used in full.

Moving layouts to /usr/ (or any other directory) only really achieves one thing that I see (please correct me if i'm wrong); that is shared layouts in a multi-user environment. In a multi-user environment the admin can achieve the same thing for each user with symlinks.
mameau - My random bits | Wah!Ki - A Wah!Cade wiki | Mah!Cade - Experimental Wah!cade Branch | ListGen | Lazarus
User avatar
sairuk
 
Posts: 432
Joined: Sat May 22, 2010 12:37 am

Re: Easy to Install theme Packs (Packagable)

Postby Zombie » Thu Feb 17, 2011 7:39 am

First of all, I never see you on FreeNode anymore, and I wish I did. Because I could respond a bunch faster to you. Secondly. only the .lay files should be copied to the user's home directory because that is what the layout editor alters.
User avatar
Zombie
 
Posts: 791
Joined: Mon Oct 06, 2008 2:52 pm

Re: Easy to Install theme Packs (Packagable)

Postby sairuk » Thu Feb 17, 2011 10:05 am

Zombie wrote:First of all, I never see you on FreeNode anymore, and I wish I did. Because I could respond a bunch faster to you. Secondly. only the .lay files should be copied to the user's home directory because that is what the layout editor alters.


Thirdly, agree to disagree on this one. I have no good reason to idle on freenode.
mameau - My random bits | Wah!Ki - A Wah!Cade wiki | Mah!Cade - Experimental Wah!cade Branch | ListGen | Lazarus
User avatar
sairuk
 
Posts: 432
Joined: Sat May 22, 2010 12:37 am

Re: Easy to Install theme Packs (Packagable)

Postby Zombie » Fri Feb 18, 2011 10:28 am

Fine then, its just that we still need a good packaging schema for the layouts.
User avatar
Zombie
 
Posts: 791
Joined: Mon Oct 06, 2008 2:52 pm

Re: Easy to Install theme Packs (Packagable)

Postby codefenix » Fri Feb 18, 2011 1:59 pm

Zombie wrote:we still need a good packaging schema for the layouts


While this would make things more convenient for a few users, I'm not convinced this is a strong need for anyone. You're assuming everyone wants layouts to be distributed to them in such a fashion.

1) Artists who design layouts are ultimately more concerned with how the layout looks, and not how it's packaged. Most of the time, he or she will just put out a raw JPG. We can't count on them to adhere to Wah!Cade's policies.

2) Users who download layouts are likely to resize the layout to their liking, defeating the purpose of any packaging convention.
User avatar
codefenix
 
Posts: 219
Joined: Fri Sep 25, 2009 3:45 pm
Location: USA

Re: Easy to Install theme Packs (Packagable)

Postby Zombie » Sat Feb 19, 2011 1:00 am

I was not going to be that inflexible. The point is to make it much easier to get WahCade up and running and in a more consistent and uniform manner.
User avatar
Zombie
 
Posts: 791
Joined: Mon Oct 06, 2008 2:52 pm

Re: Easy to Install theme Packs (Packagable)

Postby codefenix » Sat Feb 19, 2011 2:09 am

That's what we have now. Changing layouts is not all that difficult to do as it is. If anything, layout packages would only complicate the setup process and confuse newcomers to Wah!Cade. Why not leave well enough alone?
User avatar
codefenix
 
Posts: 219
Joined: Fri Sep 25, 2009 3:45 pm
Location: USA

Re: Easy to Install theme Packs (Packagable)

Postby Zombie » Sat Feb 19, 2011 3:51 am

No, what we have now is a bunch of complicated coping files to different directories and correcting MameWah's path problems in the layout editor.
User avatar
Zombie
 
Posts: 791
Joined: Mon Oct 06, 2008 2:52 pm

Next

Return to Wah!Cade

Who is online

Users browsing this forum: No registered users and 1 guest

cron