Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. Thank you for your support. Tom Speirs

Patreon

How does Evo know what layers to use in the PSD?


Recommended Posts

I was wondering how evo deals with the layers in the psd layout files? I imagine that the layers need to be named appropriately for evo to display them.

How much room will there be for custom psd layouts. For example I was thinking it would be a good was to organize system art like Cartridges. If the layer was named the same as the rom, would evo be able to enable the correct layer? Obviously, this is a mute point as you can just point evo to an art folder, but it gives me some ideas.

Link to comment
Share on other sites

I  would like to see a table created that associates the .ini files with the matching .psd file and association of specific items within the .ini file with the corresponding layer in each .psd. 

From what I've seen so far,  it is a daunting task to figure out what corresponds to what. I am hopeful that we may see a theme editor down the road that will load and update the .ini files based upon the user's actions and allow the user to click on a specific layer to open the .psd in the editor of choice (GIMP or Photoshop) to make their changes.

In the present state, skinning Evo without even a reference guide (table)  will be too much of an undertaking for most, myself included.

Link to comment
Share on other sites

From what I've been able to deceiver from looking at the structure of the default theme and from what @headkaze has mentioned, the placement of "objects" as they were called in GamEx are now all done within the PSD files in layers. This is why I asked about nomenclature. Evo need to know what to do with a specific layer in a PSD and unless the layer is named properly (and referenced in the layout associated with that PSD) then the layer is useless.

Here's an example from the "[LAYOUT_ABOUT]" config:

Spoiler

[DEFAULT]
FontName=Segoe UI
TextAlign=Left
[ABOUT_NAME_TEXT]
FontStyle=Bold
[ABOUT_HOME_URL_TEXT]
FontStyle=Bold
[ABOUT_CREDITS_URL_TEXT]
FontStyle=Bold
[ABOUT_BACK]
ObjectType=BlazeEngine.BoxObject
Color=1, 0.007843138, 0.03137255, 0.3568628
BoxName=DIALOG1
[ABOUT_FRONT]
ObjectType=BlazeEngine.BoxObject
Color=0.2, 0.01568628, 0.1647059, 0.6588235
BoxName=DIALOG1

From what I can tell the "Object Type" is what tells evo what type of object it is and thus evo can apply the correct class to the object and edit what displays where the object is defined in the placement of the PSD, for example text is place in a text object where the layer "Menu_Text" is placed in a PSD, you then just have to declare the layer an object that the blaze engine recognizes in the layout config with the additional parameters appropriate to that object class. Evo just needs to know that object [Layer_something] is a text class, and the additional relevant information like color, justify, wrap etc. However, I don't see how I can specify when to enabled/disable a layer depending on various user actions. Maybe this just depend on the Blaze engine object class given to that layer that dictates the additional parameters it can be given?

Like you said, I guess we're waiting on the theme editor and a tutorial to clear these ambiguities out. I imagine that fixing bugs in the alpha and enabling the necessary options to release a beta is top priority first. I'm sure that the latter involves a considerable amount of work, so I'm not holding my breath.

Link to comment
Share on other sites

I wish I had the time to write a full tutorial but for now I can help with any specific questions.

Here are some notes on getting started making your own custom theme for GameEx Evolution:

1. You will need Photoshop to edit layouts. The psd files are located in Themes\Default\Psd
2. Each object has its own layer in the psd and can have its own properties section in the associated layout's ini file.
3. Certain layouts support different orientations and screen aspect ratio's. In the following example [LAYOUT_GAMELIST].ini is the accompanying file for H_4-3 (Horizontal 4:3), H_16-9 (Horizontal 16:9), V_4-3 (Vertical 4:3) and V_16-9 (Vertical 16:9).

[LAYOUT_GAMELIST].ini
[LAYOUT_GAMELIST_H_4-3].psd
[LAYOUT_GAMELIST_H_16-9].psd
[LAYOUT_GAMELIST_V_4-3].psd
[LAYOUT_GAMELIST_V_16-9].psd

4. A text layer can have a stroke, gradient or shadow properties.

For example in the [LAYOUT_CONTROL_PANEL].ini file all text has a stroke width of "3". To apply this to all text values for this layout the following is placed in the [DEFAULT] section of the layout's ini file.

[DEFAULT]
StrokeWidth=3

5. If you modify a GUI image such as the [MENU_HOME_BUTTON] make sure you place the same image in "Themes\Default\Gui"

NOTE: When you make a change to a layout's psd or ini file you will need to hold the SHIFT key when launching GameEx Evolution to re-create the cache.

Evo Theme.png

  • Like 1
Link to comment
Share on other sites

Cool thanks, I guess the best way to figure out what things do what is to try playing around with some of the simpler things first (like backgrounds, text, and maybe buttons) to get the hang of it. Of course since the alpha still has many options unavailable I guess I just make a backup copy of the default theme and modify the original to see the changes, since I can't choose other themes yet.

I do have a question about fonts. I saw a folder for fonts. Does this install the fonts or just refer to the TrueType fonts kept in it for evolution to display? For example, If I want to use "Pretendo" as the main font, do I just drop it into the font folder and choose it in the properties of each text object in the theme INIs or is there a global font option somewhere?

Link to comment
Share on other sites

On 7/29/2016 at 9:32 PM, RIP-Felix said:

I do have a question about fonts. I saw a folder for fonts. Does this install the fonts or just refer to the TrueType fonts kept in it for evolution to display? For example, If I want to use "Pretendo" as the main font, do I just drop it into the font folder and choose it in the properties of each text object in the theme INIs or is there a global font option somewhere?

The fonts folder is for fonts that will load when Evo is launched. This is so you can distribute a theme without the need for people to install the font. Yes, you should be able to drop the font in there and edit the ini files to use it.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...