Themes not being recognized?

Subforum for discussion and help with ScummVM's iPhone port

Moderator: ScummVM Team

Post Reply
Posts: 2
Joined: Wed Jul 09, 2014 11:39 pm

Themes not being recognized?

Post by LaurentLaSalle » Wed Jul 09, 2014 11:58 pm

I tweaked the ScummVM Modern Theme in order to make everything a bit bigger as I'm using ScummVM on a iPad Air with Retina Display. For an unknown reason, the theme doesn't seem to be detected by the software, even though I put it's ZIP file alongside and inside the folder.

Yes, I did set the permission to 777, and the ZIP file is owned by root:admin. I tried to add another theme just to see if there was something wrong with my file (in that case,, but that theme isn't being detected either.

I know changes were made rendering themes listed on the GUI Themes page unusable, but I don't know for sure if it's the case for Ambient ScummVM Theme as well.

Is it possible that the iOS port doesn't work with third party theme files?

ScummVM Developer
Posts: 1007
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall » Thu Jul 10, 2014 3:13 am is intended for the ScummVM v1.2.1 release and will not work with newer releases as the Theme format revision has been incremented.

In fact, the last revision was against v1.4.0 and that appears broken anyway:

The theme format is unfortunately not stable and thus very few of the external themes work with the latest code. In fact, there are very few anyway:

The way to do this is using the latest code here: ... gui/themes

Firstly, make sure you have set Options->Path->Theme Path to the correct directory in ScummVM.

Secondly, in this directory, you can either put a zip file (supported for final packaging) or a directory with the unpacked contents (supported for development).

The directory / zip is identified as a theme if it contains the THEMERC file, which contains the theme layout revision, theme name etc.

This is rebuilt automatically using the scummvmtheme python script in the same directory from the XML source code (The various .stx files).

Since you just want to make some minor changes to ScummVM Modern, copy that directory to a new name e.g. scummlaurent in the same folder, then make the required changes to the XML sources including changing all the instances of the theme name i.e. "ScummVM Modern" or "scummmodern" to "ScummVM Laurent" or "scummvmlaurent" and run the tool as "./ make scummlaurent" to regenerate the THEMERC and zip up the files.

Then you can test the new theme in the desktop ScummVM before copying it across.

It is best to do this work on a desktop machine and when you are happy and no warnings are printed to the console about problems parsing the GUI theme data, then try on your IPad.

Posts: 2
Joined: Wed Jul 09, 2014 11:39 pm

Post by LaurentLaSalle » Thu Jul 10, 2014 1:04 pm

I did change the THEMERC file, giving the theme another name, and used the same file name for all STX files (scummvmlaurent_gfx.stx, scummvmlaurent_layout.stx, scummvmlaurent_layout_lowres.stx) inside my ZIP file (

I also did change the theme path to the directory inside (although, since the app sees the builtin themes, I didn't think it would be necessary). I tried the same thing on my computer by changing it to a completely different directory and ScummVM still only sees the three bultin themes.

The only thing I didn't do is run the Python script. I don't really see the need for it, since it's basically only zipping the files altogether. Editing the original files was my way of making sure I wasn't messing up the file encoding (which seemed to be in UTF-8, as it should).

Anyway, I just executed the Python script and my theme is finally being recognized by ScummVM on my iPad. Good news!

The only thing I can see is that the result file from the Python script is more similar to a TAR archive (no compression whatsoever) than the compressed ZIP file generated from OS X.

Anyway, thanks for insisting on using the Python script. Now at least, my theme is being detected. Obviously, it crashes ScummVM the second I try to switch it to my new theme. But I'll figure it out why doing some trials and errors…

Post Reply