Sonic and Sega Retro Message Board: Selbi's Parallax Editor - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

Selbi's Parallax Editor Until I'm able to find an original name...

#1 User is offline Selbi 

Posted 24 May 2011 - 03:56 PM

  • Tief.Tiefer
  • Posts: 1431
  • Joined: 12-May 08
  • Gender:Male
  • Location:Northern Germany
  • Project:Sonic ERaZor
  • Wiki edits:320
This was actually started up as a tiny gag MarkeyJester and I had in the IRC. Neither of us ever expected it to turn into a real project, but now it is here and ready for duty! The greatest problem of this problem wasn't generating the actual code or creating that preview window, no, finding the perfect way to design a program like this, that is the real deal.
<I>*Insert huge wall of text, explaining the rest of the history of this program, nobody cares about.*</I>

That said, here's your download:
<a href="http://selbi.hapisan.com/ParallaxEditor-v1.0.zip" target="_blank"><!--sizeo:4--><span style="font-size:14pt;line-height:100%"><!--/sizeo--><b>Download</b><!--sizec--></span><!--/sizec--></a>
Updated DLL (recommended!)

Along with a screenshot:
<img src="http://selbi.hapisan.com/ParallaxScreenshot.png" border="0" class="linked-image" />


The usage should be somewhat self-explainority, which is why I don't feel a step-by-step tutorial should be necessary (if you have trouble with it though, just hit me up on IRC; I'm always online in <I>#ssrg</I>). For a teeny-tiny FAQ look at the ASM boxes below.

<b>To-Do List for upcoming versions:</b>
- Implenting support for absolute deformation.
- Adding more speeds so you can create much smoother movement with multiple blocks. 17 possibilities is not enough, considering most of them are way too fast/slow.
- Making the S2LVL project loader being able to load Sonic 1 levels.
- Fixing any bugs and issues this program hid from me.

<b>Special Thanks:</b>
- MainMemory, for providing the two DLLs, making my life a lot easier and also for a lot of VB.NET related tips.
- MarkeyJester, for providing additional information (optimizing, etc.).
<span style='color:#000000;background:#000000'><!--sizeo:1--><span style="font-size:8pt;line-height:100%"><!--/sizeo-->- Oerg866, for being a dick. No seriously, you are a dick Oerg and you've once again proven that you can't even change your arrogant and patronizing attitude within a timespan of almost three years. Leck mich, du Penner.<!--sizec--></span><!--/sizec--></span>

-----------------------------------------------------------------------------------------------

<u><b>Where to put the code:</b></u>

During private testing, one major problem pretty much all people who were unfamiliar with deformation had, was that they didn't know where to put this code. So here I will explain where that location is:

In the deformation routine of your choice, locate this line:
<!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='codemain'><!--eg1--><pre class="asm" style="font-family:monospace;"> <span style="color: #adadad; font-style: italic;">; For Sonic 1:</span>
<span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FFFFF70C</span><span style="">)</span>.<span style="color: #00bfff;">w</span>,<span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FFFFF618</span><span style="">)</span>.<span style="color: #00bfff;">w</span>
 
<span style="color: #adadad; font-style: italic;">; For Sonic 2:</span>
<span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FFFFEE0C</span><span style="">)</span>.<span style="color: #00bfff;">w</span>,<span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FFFFF618</span><span style="">)</span>.<span style="color: #00bfff;">w</span></pre><!--gc2--><!--CTsgRm9yIFNvbmljIDE6CgkJbW92ZS53CSgmIzAzNjtGRkZGRjcwQykudywoJiMwMzY7RkZGRkY2MTgp
LncKCgk7IEZvciBTb25pYyAyOgoJCW1vdmUudwkoJiMwMzY7RkZGRkVFMEMpLncsKCYjMDM2O0ZGRkZGN
jE4KS53--><!--egc2--><!--g2--></div><!--eg2-->
And remove everything <I>below</I> that line all the way up to the end of the routine (except for the <I>rts</I> of course). Put your generated code in that location you just deleted.


<u><b>How to lock the background vertically in place:</b></u>

Due to the current status of this program, being unable to create <I>absolute</I> deformation, moving up/down will make the screen go apeshit in 90% of all cases. It is therefore advised, until a proper function has been implented (which will happen as soon as possible, don't worry), to lock the background vertically in place.

To do so, once again locate this line:
<!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='codemain'><!--eg1--><pre class="asm" style="font-family:monospace;"> <span style="color: #adadad; font-style: italic;">; For Sonic 1:</span>
<span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FFFFF70C</span><span style="">)</span>.<span style="color: #00bfff;">w</span>,<span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FFFFF618</span><span style="">)</span>.<span style="color: #00bfff;">w</span>
 
<span style="color: #adadad; font-style: italic;">; For Sonic 2:</span>
<span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FFFFEE0C</span><span style="">)</span>.<span style="color: #00bfff;">w</span>,<span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FFFFF618</span><span style="">)</span>.<span style="color: #00bfff;">w</span></pre><!--gc2--><!--CTsgRm9yIFNvbmljIDE6CgkJbW92ZS53CSgmIzAzNjtGRkZGRjcwQykudywoJiMwMzY7RkZGRkY2MTgp
LncKCgk7IEZvciBTb25pYyAyOgoJCW1vdmUudwkoJiMwMzY7RkZGRkVFMEMpLncsKCYjMDM2O0ZGRkZGN
jE4KS53--><!--egc2--><!--g2--></div><!--eg2-->
And put the following line right <I>above</I> it:
<!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='codemain'><!--eg1--><pre class="asm" style="font-family:monospace;"> <span style="color: #adadad; font-style: italic;">; For Sonic 1:</span>
<span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span>xxxx,<span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FFFFF70C</span><span style="">)</span>.<span style="color: #00bfff;">w</span> <span style="color: #adadad; font-style: italic;">; lock the background vertically in place</span>
 
<span style="color: #adadad; font-style: italic;">; For Sonic 2:</span>
<span style="color: #00bfff;">move</span>.<span style="color: #00bfff;">w</span> <span style="color: #ff0000;">#</span><span style="color: #ff0000;">$</span>xxxx,<span style="">(</span><span style="color: #ff0000;">$</span><span style="color: #ff0000;">FFFFEE0C</span><span style="">)</span>.<span style="color: #00bfff;">w</span> <span style="color: #adadad; font-style: italic;">; lock the background vertically in place</span></pre><!--gc2--><!--CTsgRm9yIFNvbmljIDE6CgkJbW92ZS53CSMmIzAzNjt4eHh4LCgmIzAzNjtGRkZGRjcwQykudwk7IGxv
Y2sgdGhlIGJhY2tncm91bmQgdmVydGljYWxseSBpbiBwbGFjZQoKCTsgRm9yIFNvbmljIDI6CgkJbW92Z
S53CSMmIzAzNjt4eHh4LCgmIzAzNjtGRkZGRUUwQykudwk7IGxvY2sgdGhlIGJhY2tncm91bmQgdmVydG
ljYWxseSBpbiBwbGFjZQ==--><!--egc2--><!--g2--></div><!--eg2-->
The <I>$xxxx</I> has to be replaced with whatever location you want the background to be at. For references you can use SonED2. One chunk has a size of $100, so if you want the background to start at chunk 3 from the top, you put in $300.

-----------------------------------------------------------------------------------------------

Just one final thing I'd like to hint out: See you in 10 more posts, when I reach my 1000. =P

#2 User is offline FeliciaVal 

Posted 25 May 2011 - 09:30 AM

  • Posts: 689
  • Joined: 04-March 10
  • Gender:Female
  • Location:Spain
thank you very much for this, Selbi smile.png now I'll have to deal with it a bit, so maybe I can start making custom backgrounds for my hacks. But im not sure or maybe I didn't read it well...
does this works with the S1 2005 Hivebrain dissassembly?

#3 User is offline Selbi 

Posted 25 May 2011 - 11:32 AM

  • Tief.Tiefer
  • Posts: 1431
  • Joined: 12-May 08
  • Gender:Male
  • Location:Northern Germany
  • Project:Sonic ERaZor
  • Wiki edits:320
Not only it does work with the 2005 disassembly, but also is this the main disassembly you should use for this program. =P
This post has been edited by Selbi: 25 May 2011 - 11:32 AM

#4 User is offline FeliciaVal 

Posted 25 May 2011 - 12:04 PM

  • Posts: 689
  • Joined: 04-March 10
  • Gender:Female
  • Location:Spain
QUOTE (Selbi @ May 25 2011, 11:32 AM)
Not only it does work with the 2005 disassembly, but also is this the main disassembly you should use for this program. =P

ok, thank you very much :D I'll try using it around

#5 User is offline Alriightyman 

Posted 26 May 2011 - 09:33 AM

  • !!!!!!!!!!!!!!!!!
  • Posts: 350
  • Joined: 27-November 07
  • Gender:Male
  • Location:Largo, Fl
  • Project:0101001101101111011011100110100101100011 00000010: 0101001100000011 01000101011001000110100101110100011010010110111101101110
  • Wiki edits:5
Hey this is very cool! I actually think this would be a great tool for learning how BG scrolling actually works! Being able to add little tweeks here and there and see how the code changes is very cool. Great job! thumbsup.png

#6 User is offline LOst 

Posted 28 May 2011 - 07:46 PM

  • Posts: 4879
  • Joined: 10-January 03
  • Gender:Male
  • Wiki edits:2
I had this idea myself way back in 2005. I couldn't do it because I wanted so much more, like support for Sonic 3's fake scrolling, which needs, just like the parralax scrolling, fixed point multiplication and division optimized with bitshifts and addition/subtraction. The task was too great then, and is too great now.
The scrolling programming requires a human brain optimation in the end. The result is so much better then. No editor can replace that.

If you have succeeded, I may congratulate you now!

#7 User is offline Shoemanbundy 

Posted 28 May 2011 - 08:01 PM

  • Posts: 830
  • Joined: 01-April 07
  • Gender:Male
  • Location:Chicago, Illinois
  • Project:selling shoes
  • Wiki edits:1
This is something that I wanted forever, it's great to see programs for individual tasks such as this still make it out there. smile.png

#8 User is offline Flygon 

Posted 29 May 2011 - 01:34 AM

  • Dem Melons
  • Posts: 2448
  • Joined: 10-February 06
  • Gender:Not Telling
  • Location:Victoria, Australia
  • Project:Pending
  • Wiki edits:10
I longed for this sort of application years ago. I am so happy to see one finally made. Great job!

#9 User is offline Selbi 

Posted 29 May 2011 - 09:19 AM

  • Tief.Tiefer
  • Posts: 1431
  • Joined: 12-May 08
  • Gender:Male
  • Location:Northern Germany
  • Project:Sonic ERaZor
  • Wiki edits:320
QUOTE (LOst @ May 29 2011, 02:46 AM)
I had this idea myself way back in 2005. I couldn't do it because I wanted so much more, like support for Sonic 3's fake scrolling, which needs, just like the parralax scrolling, fixed point multiplication and division optimized with bitshifts and addition/subtraction. The task was too great then, and is too great now.
The scrolling programming requires a human brain optimation in the end. The result is so much better then. No editor can replace that.

If you have succeeded, I may congratulate you now!

I know excactly what you mean and I also feel like this is the reason why this program will never be able to do generate "real" parallax scrolling code or anything to make smooth fixed point multiplication related parallax. While it is possible of course, you will need to do a lot in order to generate perfect code. So, if at all, fixed point multiplication will be very limited. But I will probably only use simple bit shifting and multiplying/dividing only, though.

But this program wasn't meant to be a full human replace anyway, but rather a very, very basic tool for beginners, creating simple background deformation for simple background art to give a hack an additional touch and make at least a little nicer. "Powerful" deformation will always be limited to experienced people only.

#10 User is offline Rika Chou 

Posted 29 May 2011 - 07:52 PM

  • Adopt
  • Posts: 5093
  • Joined: 11-January 03
  • Gender:Not Telling
  • Location:CA US
  • Wiki edits:4
While this is limited in what it can do, it will still be very nice to see hacks using new deformation.

So maybe we will see less hacks using non moving backgrounds, or using existing deformation that does not suit the new level.

#11 User is offline Eduardo Knuckles 

Posted 17 June 2011 - 11:44 AM

  • Posts: 378
  • Joined: 07-January 07
  • Gender:Male
  • Location:You don't need to know it.
  • Project:Sonic Harder Levels: Rebirth
  • Wiki edits:66
Hey, Selbi. There's one information for you to add to the topic.
I had problems when I tried to apply my custom deformation code made by this program, but all I've got was a completely locked bg. In the start of my deformation code, after some tries making it over other deforms I got the same problem. I fixed it by change the first ScrollBlock2 into ScrollBlock1. I also suggest other people for make the same fix when having this same problem.

~ Thanks for the tool, wich is being a lot useful for me. Also thanks DeoxysKyogre for the patience on help me fixing this tiny problem.
This post has been edited by Eduardo Knuckles: 17 June 2011 - 11:49 AM

#12 User is offline Selbi 

Posted 18 August 2011 - 12:14 PM

  • Tief.Tiefer
  • Posts: 1431
  • Joined: 12-May 08
  • Gender:Male
  • Location:Northern Germany
  • Project:Sonic ERaZor
  • Wiki edits:320
So, I've been recently asked to work on this program again. It was the only person to have such a request in a long time, and I was about to ignore it, but then, I realized, that it would've been better, if I asked the forum.

And so, ignoring my horrible sense of tenses in grammar right now, I'm gonna ask you, Retro: Do you want me to work on this program again?

If the outcome is going to very low, and I have a bad feeling that this will be excactly the case, then I'm not going to do it. You see, I'm not gonna "waste" my time on something only very few people use (no offense to anyone).

#13 User is offline theocas 

Posted 19 August 2011 - 01:07 AM

  • It's all a conspiracy!
  • Posts: 346
  • Joined: 10-February 10
  • Gender:Male
  • Location:Austin, TX
  • Project:Secret things!
  • Wiki edits:50

View PostSelbi, on 18 August 2011 - 12:14 PM, said:

So, I've been recently asked to work on this program again. It was the only person to have such a request in a long time, and I was about to ignore it, but then, I realized, that it would've been better, if I asked the forum.

And so, ignoring my horrible sense of tenses in grammar right now, I'm gonna ask you, Retro: Do you want me to work on this program again?

If the outcome is going to very low, and I have a bad feeling that this will be excactly the case, then I'm not going to do it. You see, I'm not gonna "waste" my time on something only very few people use (no offense to anyone).

What would be really neat is some sort of drop-down menu that lets you choose some presets for parallax, like the grass in EHZ, the water in GHZ, moving clouds, etc. For example, if you choose the "Water Preset" you'd give it the start Y and the end Y of the water, and it'd do everything else automagically. The choosing of the water could be done on the image using two little 'knobs' that highlight the region.

That'd be an awesome way to save some time if you use this program a lot, as well as maybe user-definable presets.

#14 User is offline Rika Chou 

Posted 19 August 2011 - 04:22 AM

  • Adopt
  • Posts: 5093
  • Joined: 11-January 03
  • Gender:Not Telling
  • Location:CA US
  • Wiki edits:4
I think you should continue work on this. It's really a great tool. If you are able to add more complex and taller backgrounds, I'm sure this will be helpful to a lot of people.

#15 User is offline Flygon 

Posted 20 August 2011 - 12:34 AM

  • Dem Melons
  • Posts: 2448
  • Joined: 10-February 06
  • Gender:Not Telling
  • Location:Victoria, Australia
  • Project:Pending
  • Wiki edits:10
I think continued development of this tool would be grand. Parallax backgrounds really do bring out more from the background.

  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users