Logo

SM5 theming: A beginner's guide

Thread Locked Back To Forums

Post #1 · Posted at 2011-11-29 06:35:33am 12.4 years ago

Offline Lirodon
Lirodon Avatar Member
813 Posts
Canada
Reg. 2009-01-14

Nintendo Network ID: liroxiiv3DS Friend Code: 3196-5274-6831
"canadian red-haired ninja"
Okay, since I've practically started a fascination with theming in SM5, I have prepared a sort of "beginner's guide" for moving to theming with it. Once you figure it all out, you'll see that it's a lot more flexible than the 3.9 series ever was.

Note, this is intended more as a starter for those who are more familiar with the system used with 3.9, ways to get started without going completely complex yet. However, 5.x theming still sorta has a slightly steeper learning curve, so watch out.

Things that haven't changed

You still use metrics. You still use BGanimations. You still use commands. You can still use the .sprite/.actor method for more complex graphics (however, while the concept remains, you still do it a little differently)

Things that have changed
Firstly, if you've poked around at 3.95/4.0 CVS/5 themes, you may have seen stuff like SCREEN_LEFT+400/SCREEN_CENTER_X-20/etc. To facilitate the widescreen support, SM now supports relative positioning. How you use it will depend on how you want your theme to behave in widescreen. Plus the relative positioning is good to have on its own too.

Secondly, there's LUA. It would probably take several tutorials to completely explain how its used in SM. But essentially, you can use LUA coding to create more advanced scripts and behaviours in themes. It's very powerful. this is the list of LUA bindings/variables in the current SM5 build. LUA is primarily used in BGanimations and actors. While you still use commands/stuff like that, how you call them is different, and thanks to LUA, they can also be nested as well. You can also dynamically generate objects as well.

Thirdly, much like ITG/the like, we use a Fallback theme now instead of the default to specify default metrics. Its very barebones, but it provides a good place to start.

These are the two main files you need to start a new theme:

Obviously, you need metrics.ini of course
[Global]
FallbackTheme=_fallback


and then there's themeinfo.ini, which lets you set a display name and author for ScreenInit and the options menu
[ThemeInfo]
DisplayName=Theme Name
Author=Author


Fourthly, we also have a way of generating colored strokes in commands. Unfortunately, the stroke generator in the texture font generator is rather crappy.

And the fifth major change, you obviously can't use INI/XML files in themes. Sorry, no backwards compatibility here.

So now what
The best way to learn this is to ask questions, and poke around. See how your other themes do things, and see what you can do. Any questions?

tl;dr you need a bit more understanding in programming to make SM themes now.

Post #2 · Posted at 2011-11-29 11:10:41am 12.4 years ago

Offline bmhedgehog
bmhedgehog Avatar Banned+
3,136 Posts
Not Set
Reg. 2008-07-13

"BANNED"
maybe just maybe, if I started learning how to do this, I could try to port SSR (Sonic Sonic Revolution) theme to SM5. though I might have to ask permission for doing so and I might to ask for a little bit of help with this.
Thread Locked Back To Forums

0 User(s) Viewing This Thread (Past 15 Minutes)

©2006-2024 Zenius -I- vanisher.com -5th style- IIPrivacy Policy
Web Server: 4% · Database: 4% · Server Time: 2024-04-24 19:08:35
This page took 0.004 seconds to execute.
Theme: starlight · Language: englishuk
Reset Theme & Language