Backporting SM5 themes to openITG.

Answering all questions about r21freak and r21/ITG.
Feel free to ask questions/add information.

Moderator: Admins

Backporting SM5 themes to openITG.

Postby tuxdude143 on Tue Feb 17, 2015 7:23 pm

So, I've been wondering, is it possible to take a theme for stepmania 5 and backport it to work in openITG/stepmania 3.95 (I know that not all features would probably work but just the basic theme would be nice).

I ask this because I've seen loads of nice themes for stepmania 5 but frankly, I can't grooving STAND stepmania 5.

So, is this possible and if so how difficult of a job is it?
tuxdude143
20%
20%
 
Posts: 57
Joined: Fri Nov 28, 2014 9:48 pm
Location: New Zealand

Re: Backporting SM5 themes to openITG.

Postby Fraxtil on Tue Feb 17, 2015 7:31 pm

It is "possible" given that the port can have reduced functionality, but you will have to rewrite the whole theme from scratch by hand, which I'd imagine isn't the "yes" you were looking for.
Telperion wrote:
Horsey wrote:As long as it's not vore, furries are okay with me.

It's just like Macklemore said.
User avatar
Fraxtil
100%
100%
 
Posts: 2443
Joined: Wed Nov 09, 2011 2:54 pm
Location: Arizona

Re: Backporting SM5 themes to openITG.

Postby Horsey on Tue Feb 17, 2015 7:47 pm

Honestly, we're at the point where we need to fix all of the annoyances of SM5 and forever move forward. oITG/3.95 needs to go away, because it's seriously hurting everyone that we stick to an aging system. You should post your general annoyances here, or on the stepmania forums where the devs can see. There are a lot of people working on bringing SM5 to dedicabs; as of last year, there was a full PIUIO driver written that has a <0.001ms latency.
Image
Image
Community Dropbox Thread wrote:http://r21freak.com/phpbb3/viewtopic.php?f=6&t=24873
User avatar
Horsey
80%
80%
 
Posts: 1391
Joined: Sun May 01, 2011 3:00 pm
Location: Château Frontenac

Re: Backporting SM5 themes to openITG.

Postby SM MaxX on Tue Feb 17, 2015 8:17 pm

there's almost no point to doing this, SM5 kinda just shits on 3.95 in every way possible when it comes to theming flexibility
Image
ITG Jesus wrote:I am the jesus of the ITG world and one of my favorite songs is I can walk on water I can fly
User avatar
SM MaxX
101%
101%
 
Posts: 3583
Joined: Fri Mar 25, 2011 12:03 am
Location: Phoenix, AZ

Re: Backporting SM5 themes to openITG.

Postby tuxdude143 on Tue Feb 17, 2015 8:42 pm

SM MaxX wrote:there's almost no point to doing this, SM5 kinda just shits on 3.95 in every way possible when it comes to theming flexibility

But 3.95 shits on 5 for pretty much everything else
tuxdude143
20%
20%
 
Posts: 57
Joined: Fri Nov 28, 2014 9:48 pm
Location: New Zealand

Re: Backporting SM5 themes to openITG.

Postby tuxdude143 on Tue Feb 17, 2015 10:01 pm

Really if the lua scripting functions from 3.95 and OpenITG were added back into sm 5 then I wouldn't mind using it. However because they changed the lua system a bit (urgh) I've been sticking to 3.95/openITG. Honestly I saw no need to change it at all. The other thing keeping me from jumping up to sm 5 is the fact that you're stuck with ddr timing unless you spend 15 minutes grooving with the timing windows in the data. Would it be too hard to add a freaking menu option to swap between ITG and DDR timing?
tuxdude143
20%
20%
 
Posts: 57
Joined: Fri Nov 28, 2014 9:48 pm
Location: New Zealand

Re: Backporting SM5 themes to openITG.

Postby ITGAlex on Tue Feb 17, 2015 10:51 pm

I'm pretty sure a recent beta for sm5 allows for xml support

Image


OUT NOW!


[Reveal] Spoiler: Coming Soon
swagesteps 2 (soon)
itgalex's compilation 4 (later)

mute wrote:
ITGAlex wrote:What is the 105% unlockable ?

A .wma file of Nemo reading the contents of a .sm skeleton out loud.
User avatar
ITGAlex
60%
60%
 
Posts: 615
Joined: Tue Jan 17, 2012 4:06 pm
Location: here

Re: Backporting SM5 themes to openITG.

Postby tuxdude143 on Tue Feb 17, 2015 11:14 pm

ITGAlex wrote:I'm pretty sure a recent beta for sm5 allows for xml support

Through conversions I think. That's bound to cause problems at some point.
tuxdude143
20%
20%
 
Posts: 57
Joined: Fri Nov 28, 2014 9:48 pm
Location: New Zealand

Re: Backporting SM5 themes to openITG.

Postby Kyzentun on Wed Feb 18, 2015 1:32 pm

tuxdude143 wrote:Really if the lua scripting functions from 3.95 and OpenITG were added back into sm 5 then I wouldn't mind using it. However because they changed the lua system a bit (urgh) I've been sticking to 3.95/openITG. Honestly I saw no need to change it at all.

Most of the differences I've seen have been minor, and easily fixed with a few minutes attention from the author.
Some things can even be converted by an automated converter and work fine (except the mods they apply don't tween and stick around afterwards, which the converter could fix in theory if it wasn't abandoned).

Take this for example:
[Reveal] Spoiler: "default.xml"
Code: Select all
<ActorFrame>
   <children>

   <Layer File="old.avi"
      OnCommand="%function(self)
         self:diffusealpha(0.6);
         self:zoomto(SCREEN_WIDTH*1.2,SCREEN_HEIGHT*1.3);
         self:x(SCREEN_CENTER_X);
         self:y(SCREEN_CENTER_Y);
         self:sleep(10000);
      end"
   />
   

   <Quad OnCommand="%function(self)
         self:queuecommand('Blah');
      end"
      BlahCommand="%function(self)
         SCREENMAN:GetTopScreen():SetDrawByZPosition(true);
         SCREENMAN:GetTopScreen():GetChild('SongForeground'):z(4);
         SCREENMAN:GetTopScreen():GetChild('Overlay'):z(2);
         SCREENMAN:GetTopScreen():GetChild('SongBackground'):z(1);

         if GAMESTATE:IsPlayerEnabled(PLAYER_1) and GAMESTATE:IsPlayerEnabled(PLAYER_2) then
            SCREENMAN:GetTopScreen():GetChild('PlayerP1'):z(3);
            SCREENMAN:GetTopScreen():GetChild('ScoreP1'):z(3);
            SCREENMAN:GetTopScreen():GetChild('LifeP1'):z(3);

            GAMESTATE:ApplyGameCommand('mod, *10000 50% stealth',1);

            SCREENMAN:GetTopScreen():GetChild('PlayerP2'):z(3);
            SCREENMAN:GetTopScreen():GetChild('ScoreP2'):z(3);
            SCREENMAN:GetTopScreen():GetChild('LifeP2'):z(3);

            GAMESTATE:ApplyGameCommand('mod, *10000 50% stealth',2);
         elseif GAMESTATE:IsPlayerEnabled(PLAYER_1) then
            SCREENMAN:GetTopScreen():GetChild('PlayerP1'):z(3);
            SCREENMAN:GetTopScreen():GetChild('ScoreP1'):z(3);
            SCREENMAN:GetTopScreen():GetChild('LifeP1'):z(3);

            GAMESTATE:ApplyGameCommand('mod, *10000 50% stealth',1);
         else
            SCREENMAN:GetTopScreen():GetChild('PlayerP2'):z(3);
            SCREENMAN:GetTopScreen():GetChild('ScoreP2'):z(3);
            SCREENMAN:GetTopScreen():GetChild('LifeP2'):z(3);

            GAMESTATE:ApplyGameCommand('mod, *10000 50% stealth',2);
         end
      end"
   />


   </children>
</ActorFrame>


[Reveal] Spoiler: "default.lua"
Code: Select all
local function optional_actor(cond, actor)
   if cond then return actor end
   return Def.Actor{}
end

return Def.ActorFrame{
  Name= "xtl_actor_enk",
  Def.Sprite{
    Name= "xtl_actor_fnk",
  OnCommand= function(self)
         self:diffusealpha(0.6);
         self:zoomto(SCREEN_WIDTH*1.2,SCREEN_HEIGHT*1.3);
         self:x(SCREEN_CENTER_X);
         self:y(SCREEN_CENTER_Y);
         self:sleep(10000);
      end,
  Texture= "old.avi",
  },
  Def.Quad{
    Name= "xtl_actor_gnk",
  BlahCommand= function(self)
         SCREENMAN:GetTopScreen():SetDrawByZPosition(true);
         SCREENMAN:GetTopScreen():GetChild('SongForeground'):z(4);
         SCREENMAN:GetTopScreen():GetChild('Overlay'):z(2);
         SCREENMAN:GetTopScreen():GetChild('SongBackground'):z(1);

         if GAMESTATE:IsPlayerEnabled(PLAYER_1) and GAMESTATE:IsPlayerEnabled(PLAYER_2) then
            SCREENMAN:GetTopScreen():GetChild('PlayerP1'):z(3);
            SCREENMAN:GetTopScreen():GetChild('ScoreP1'):z(3);
            SCREENMAN:GetTopScreen():GetChild('LifeP1'):z(3);

            GAMESTATE:ApplyGameCommand('mod, *10000 50% stealth',1);

            SCREENMAN:GetTopScreen():GetChild('PlayerP2'):z(3);
            SCREENMAN:GetTopScreen():GetChild('ScoreP2'):z(3);
            SCREENMAN:GetTopScreen():GetChild('LifeP2'):z(3);

            GAMESTATE:ApplyGameCommand('mod, *10000 50% stealth',2);
         elseif GAMESTATE:IsPlayerEnabled(PLAYER_1) then
            SCREENMAN:GetTopScreen():GetChild('PlayerP1'):z(3);
            SCREENMAN:GetTopScreen():GetChild('ScoreP1'):z(3);
            SCREENMAN:GetTopScreen():GetChild('LifeP1'):z(3);

            GAMESTATE:ApplyGameCommand('mod, *10000 50% stealth',1);
         else
            SCREENMAN:GetTopScreen():GetChild('PlayerP2'):z(3);
            SCREENMAN:GetTopScreen():GetChild('ScoreP2'):z(3);
            SCREENMAN:GetTopScreen():GetChild('LifeP2'):z(3);

            GAMESTATE:ApplyGameCommand('mod, *10000 50% stealth',2);
         end
      end,
  OnCommand= function(self)
         self:queuecommand('Blah');
      end,
  },
}

(and if you recognize that code, congratulations, now you have the SM5 version)


tuxdude actually did spend some time in the dev IRC channel last night, and refused to list a more specific grievance than "Seriously, why on earth did you change stuff up in 5.0 when it came to foreground scripting?". So, I guess he's going to struggle with compiling it for a while, and then try to "sort of fuse the best of 3.95 and 5 together. Sort of a project really".
Horsey wrote:So just stop charging money. I'm tired of people making money from something that can be copied with ctrl + c

SM MaxX wrote:wow groove you ziv I just wanted to post frosted butts
User avatar
Kyzentun
100%
100%
Double Comp I - 2nd
Double Comp I - 2nd
 
Posts: 2942
Joined: Thu Dec 25, 2008 1:53 pm
Location: SL,UT (Salt Lake, Utah)

Re: Backporting SM5 themes to openITG.

Postby vilepickle on Fri Feb 27, 2015 11:59 am

Is there a parallel lights driver for SM5? I use a Minimaid and that's sort of a big thing for me. If someone open sourced the driver that'd be as good as anything if they don't want to maintain it.
vilepickle
10%
10%
 
Posts: 21
Joined: Wed Jul 18, 2007 3:23 am
Location: Allendale, MI

Re: Backporting SM5 themes to openITG.

Postby /// on Sun Mar 01, 2015 4:52 pm

tuxdude143 wrote:
SM MaxX wrote:there's almost no point to doing this, SM5 kinda just shits on 3.95 in every way possible when it comes to theming flexibility

But 3.95 shits on 5 for pretty much everything else

Like what? Its longetivity? The fact that people prefer it for reasons that make less and less sense as time goes forward?
<@roothorick> my one girl couldn't keep a job and cycled between homeless and living with her parents
<@roothorick> I don't know how I didn't see the writing on the wall
<Kyzentun> Because she didn't have a wall at the time.
User avatar
///
90%
90%
 
Posts: 1843
Joined: Wed Dec 14, 2011 8:58 pm
Location: Massachusetts

Re: Backporting SM5 themes to openITG.

Postby Kyzentun on Sun Mar 01, 2015 7:26 pm

vilepickle wrote:Is there a parallel lights driver for SM5? I use a Minimaid and that's sort of a big thing for me. If someone open sourced the driver that'd be as good as anything if they don't want to maintain it.

Short answer: I don't know. Hook it up and try it out.
Long answer: There are source files for win32 parallel and win32 minimaid lights, and linux parallel lights, and a sextet stream system for streaming the lights data to a pipe (which should make it possible to implement any custom lights driver without touching the Stepmania source). So minimaid lights might work, and if they don't, someone who has a minimaid to play with could implement a driver that listens to the pipe the sextet stream system outputs to and drives the lights.
Horsey wrote:So just stop charging money. I'm tired of people making money from something that can be copied with ctrl + c

SM MaxX wrote:wow groove you ziv I just wanted to post frosted butts
User avatar
Kyzentun
100%
100%
Double Comp I - 2nd
Double Comp I - 2nd
 
Posts: 2942
Joined: Thu Dec 25, 2008 1:53 pm
Location: SL,UT (Salt Lake, Utah)

Re: Backporting SM5 themes to openITG.

Postby Nix on Tue Apr 07, 2015 10:34 am

tuxdude143 wrote:The other thing keeping me from jumping up to sm 5 is the fact that you're stuck with ddr timing unless you spend 15 minutes grooving with the timing windows in the data. Would it be too hard to add a freaking menu option to swap between ITG and DDR timing?


I don't know, why don't you make one yourself and find out instead of complaining? Simply Love for SM5 has one which lets you switch between SM5, ITG and pump pro windows so it can't be that hard. And it took me all of 5 minutes to work out where in "the data" the timing windows, scoring weights and life bar weights are kept and adjust them accordingly. Seriously, it's not that hard
Nix
0%
0%
 
Posts: 9
Joined: Tue Sep 02, 2014 5:10 pm


Return to FAQ and Guides

Who is online

Users browsing this forum: No registered users and 1 guest