don't click here

S1 Hacking Studio

Discussion in 'Engineering & Reverse Engineering' started by vladikcomper, Nov 30, 2009.

Thread Status:
Not open for further replies.
  1. vladikcomper


    Tech Member
    Sonic Warped
    Hello, everybody.
    Maybe, you remember me, I made hack called Sonic High Force, which has some adventures here. :)
    My hack has a problem - I couldn't add Spin Dash completely. The reason I couldn't port it was in my bad knowledge of English (I mixed the meaning of the words "above"and "under", so subroutines were in a mess). Later, I understood my mistakes, ported Spin Dash, even could learn ASM.
    But I was one of the first Russian hackers, who could port Spin Dash. In Russian community there was a Spin Dash deficite! 99% of Russian hacks were made with ESE II and Sonik Sprite. It's a catastrophe! I did everything I could to make people use disassemblies (I translated hacking guides into Russian, wrote my own guides), but it all was useless - we still have only about 5 hacks (!) based on disassemblies.
    So, I had an idea of this program. It was my last chance to make hackers use disASMs. It's planned to be a small tweaking tool, but during developing it's grown up to a program for creating very impressive hacks without leaving program interface.
    I don't think there are people who will use it here, however I was asked to drop it here...

    Well, meet S1 Hacking Studio




    • One-click Spin Dash and Jump Dash adding
    • Tweaking Sonic Speed, boss hits count
    • Changing game graphics and sprites
    • Storing custom music for each act (you can choose music even different Sonic games)
    • Changing level select menu text, zone names
    • Editing levels, level art, palletes
    • Hivebrain's disassembly with some modifications
    • Porter (by me) to port data from clean Sonic ROMs
    • SonED2, stored to work with disassembly
    Source Code changes:
    • GHZ art megred into one file, title screen art splited.
    • Music Slots were expanded to fit 3 songs per zone
    • Some songs were moved to new slots
    • Specific BGM play code
    • Spin Dash was added
    • Jump Dash was added (Jump Dash code by me =P )
    • Spike Bug fixed
    • Some mappings data was put to binary files
    • Red Screen was removed
    • and something else I didn't remember...
    • S1 Hacking Studio and "S1 Hacking Studio - Porter" are programmed by Vladikcomper
    • Game Source Code based on Hivebrain's Disassembly
    • Disassembly modifications by Vladikcomper
    • Sonic 3 sprite by hbrd
    • Other graphics and music rips by Vladikcomper
    • SonED2 by Stealth
    Demo hack video:

    Note: please read Readme.html before start.
  2. Thanks for completely taking the fun and challenge out of rom hacking.

    Nice program though.
  3. GT Koopa

    GT Koopa

    Elgin, IL
    Flicky Turncoat DX, T.L.W.S. Vs M.G.W.
    SUDDENLY EVERYONE HAS JUMP DASH. (More so than usual)

    This looks pretty neat. Haven't finished watching the video but maybe I should try it out....despite the fact I am trying to learn how to do stuff just with the disassembles.
  4. Lostgame


    producer/turnablist. homebrew dev. cosplayer. Oldbie
    Toronto, ON
    The O.I.C.
    This is like the utilities of the days of old - anybody remember tools like <a href="" target="_blank">Chaos</a>? GerbilSoft ROM Hacking Studio? ESE? Good times. Oerg866 is a douche - this a great little utility and your efforts to help the community and release this are appreciated! :)
  5. PsychoSk8r


    PsychedelAnt | Tone Turner Oldbie
    Birmingham, UK
    30 Day Project: Revisited.A New Release!
    Excellent work, and this really does remind me of those old tools, first thing I thought when I saw the title. =P
  6. Mr. Mash

    Mr. Mash

    All fanbases are awful Member
    Oh man I am getting in on this.
    Thank you.
  7. Enzo Aquarius

    Enzo Aquarius

    20% Cooler. Member
    Canada, eh.
    Sonic TV Scripts, Sonic Comic Wiki Work
    For beginners at hacking, this utility is genius. Thanks for releasing this! :)
  8. Tweaker


    Actually, I happen to agree with him—whilst it's a nice program and certainly a great, innovative piece of work, one-button implementations of code snippets and arbitrary player moves like this encourages laziness in its worst manifestation, teaching the user absolutely nothing about ASM, originality, planning, or self-control when it comes to implementing features into their hack. Prepare to see all of these features thrown into everyone's first hack without any kind of forethought or consideration now... and trust me, that isn't even just paranoia—I've seen it happen.

    However, I wholeheartedly concur with the rest of the expressed sentiments—this is a pretty solid program and certainly well-done. I just don't feel that holding a person's hand to such a ridiculous extent should be encouraged. Hacking isn't meant to be easy—it's meant to be a cycle of hard work, creativity, and perseverance that results in a quality piece of work... not a 10 year old's plaything that takes a couple of clicks to make a "game." It's an insult to people who have put in all the hard work to learn the techniques required to implement the things they want, and it breeds a whole new generation of "hackers" who, quite frankly, don't have the slightest clue as to what they're doing. This is the reason I dislike Lunar Magic—while it acts to be all-encompassing in more ways than one, it doesn't teach the user anything.

    Thanks for your willing and selfless contribution nonetheless, vladik. :)
  9. Aquaslash


    <The Has-been Legend> Moderator
    The good thing is that things like this only stand to raise the bar. If people want true recognition for a hack, they're gonna have to go above and beyond the call of dut now.

    Sure, we'll get the lol SCAA copy paste jobs, but we can lampoon those as ususal.
  10. muteKi


    Fuck it Member
    Not like they didn't exist beforehand anyway.
  11. Cinossu


    London, UK
    Sonic the Hedgehog Extended Edition
    To be 100% honest, while I don't like the idea of a program like this, I love the way it's been done. This isn't an insult to you, vladikcomper, because what you've done here is a very nice utility.. just the implementation of what you've done isn't perfect.

    For example, the spindash has bugs (as shown in the video), the jumpdash can be reused mid-air and change direction too. The Sonic 3 sprites, while imported, are still using Sonic 1's animation frameset, and specifics like the 8-frame walk are instead replaced with Sonic 1's 6-frame set only using Sonic 3 frames instead. Some of the diagonal frames also look a little off-hotspot-y, if that makes sense. The music ports, again, aren't perfect.

    I'm not saying this is a bad thing. I'm saying this is a good thing. If people want a quick way to add these things in, and in an incomplete and non-perfect way, then this is the "perfect" way of doing it, from the hacking peoples' perspective. If they want things done to a higher standard then they have to get off their arses and learn it themselves.

    As I said, this isn't an insult, as what you've done here vladikcomper is a wonderful utility, and especially the reasoning behind it. I just think this'll actually have better connotations than what some people feel is an easy route to perfect porting, which it isn't.
  12. Afti


    Great program; I don't want to see what it does to hacking, though. I suppose these edits will be the new palette hacks...
  13. Spanner


    The Tool Member
    United Kingdom
    Sonic Hacking Contest
    Although this program can be helpful, it simply promotes laziness. I don't like looking at hacks which have generic SCAA art, generic guide copypastas, generic music ports such as Azure Lake or the soniNeko soundtrack (most people who use that set forget to fix the DAC). I could go on, but it's just stupid. This program might help beginners but I don't want to see countless hacks with the same content.
  14. Tweaker


    I don't think people should have to. A hack is, at its most basic level, an expression of creative innovation and talent; there shouldn't be a "bar" to reach when you're just trying to, say, make new level layouts or something like that. If a hack has brilliant level design and no other changes, it shouldn't be shunned because it didn't have a bunch of arbitrary changes; rather, it should be praised for how well the layouts are designed and judged appropriately. A lack of changes in any one category—ASM, art, palettes, music, et al—does not immediately condemn a hack. "Raising the bar" like you mentioned encourages people to do just that, however. I remember a few years back people were being flamed for making palette hacks. What the fuck is that?

    The old saying applies best here—give a man a fish and he'll eat for a day; teach a man to fish and he'll eat for a lifetime. It is far, far more beneficial to teach the skills required to achieve these technical changes. Adding the jump dash is literally just moving a value into a register after some logical conditional statements; Spin Dash is largely the same, as is adding 3-act music capability, which is just checking the act variable and branching to modified code. These things are extremely easy, and anyone who takes three seconds to sit down and learn will not only figure out how to do these things, but much, much more. I don't think anyone should be deprived of that.

    The sad thing is, people aren't going to see this message when they go and download these tools—they're going to see a download link and the description saying they don't have to do anything to get x and x feature. It's just so utterly frustrating that we end up contributing towards the creative downfall of our community's original content. I don't want us to become the Super Mario World hacking community where 9 hacks out of 10 use the same art rips, have bland level design, and incorporate poor—if any—music edits ripped from a centric archive. It's not fun, and it's not good.
  15. stormislandgal


    It's not a phase! Tech Member
    Married life <3
    This stems off the S1 Hacking Studio topic. I was going to post this in there, but I would most likely derail the topic and get it split off anyways, so I'll take the initiative and save the mods a button click or two.

    Um. Yeah it does. It's taught me a lot about how the SNES loads, stores, and utilizes data. It's taught me out how to build palettes from scratch. I know where to find all of the data present editable in LM in a SMW rom because of Lunar Magic. Hell, most of the good hacks only use it for the level designing process, where much of what makes those hacks good comes from the hard work of people who put forth the effort to learn and apply themselves and their knowledge.

    Editing levels, palettes and the overworld is hardly "all-encompassing". SonED 2 pretty much does that as well. Is that all-encompassing for a Sonic hack? No. Not anymore. The same for SMW. "Vanilla" hacks aren't too popular anymore, the same with Sonic.

    Some other features that Lunar Magic has, like changing music tracks for the level, changing time limits, level names... all of these are stupidly easy hex-edits anyone could do. Lunar Magic just makes that process easier by taking out the need for the hex editor. It doesn't dumb down hacking. Shit like that is easy.

    A quick first glance and a crappy level later and you won't learn much. Really digging into Lunar Magic and the stuff it does to your rom can teach someone a lot. Most people don't do that, but most people are lazy and want the easy way out. Lunar Magic doesn't implement new features. It only expands and improves on current features already in SMW.

    What I'm seeing here is a tone of elitism. I could be wrong, but what it seems to me is "Oh, SMW hacking is easier. We stick to the good old ways of going uphill both ways to our destination by using a hex editor and ASM. I'll be damned if anyone's going to make this process easier and more convenient!"

    Remember, the only thing that separates the good from the bad is the amount of care that went into something. Not the behind the scenes "I have to do this the tedious way" bullshit. There will ALWAYS, hell there have ALWAYS been bad hacks that are piles of crap. Nothing will stop this. Anyone who's worth their salt will realize that the only good or "important" hacks always had a degree of care and effort put in to put it a step above. The quality is better. Is there really anything wrong with someone who wants to make a pile of crap out of Sonic 1, since it's only a hobby. It's not like this is a life-and-death race to the moon to nuke each other from orbit, or some breakthrough career field. Relax and let terrible hackers be terrible hackers.

    Believe me, I'm not a fan of "click this button to add that feature", but you're taking this far too seriously. It's just a hobby.

    edit: tiny clarification change
  16. nineko


    I am the Holy Cat Tech Member
    Well, when I released xm2smps I was concerned that music hacks were going to become the new palette hacks, with 90% of them being crap.
    This has been partially proven true, as there are indeed tons of hacks with bad songs in them, but you can't invent the car if you don't have the wheel. People are gradually improving in the music department, what happens each time a new utility is released is that the "default bar" for lazy people raises. Which isn't entirely a bad thing per se. Sure, there is a flood of hacks which would have needed years of development less than a decade ago, but by raising the lower bound it goes by itself that the higher bound should grow higher too. There will always be a difference between lazy people and talented hackers, as the latter will always find out technical breakthroughs, which will eventually be available to other people, so the bar rises again, and the cycle repeats. We're all getting better together, so I can only say nice work to vladikcomper :)

    edit: ffffffff Tweaker's post wasn't there when I hit "submit", I swear.
  17. Aquaslash


    <The Has-been Legend> Moderator
    Well, that wasn't about the sincere people so much as it is about the ones who do these things because they wanna have the next Megamix. You know, the ones who add the common art, Spin Dash, bad music, etc, and then basically go around like "omg dis is mah new hack wit x, x, and x. Love me plz" Like that one guy who ripped Sunset Hill's layouts and put it in a blue GHZ.

    Granted, those kinda of people are easy to identify but sometimes they aren't.
  18. Afti


    Hacking is hard work.

    I feel there is a place for programs like S1 Hacking Studio, but that they are ultimately detrimental to the Sonic hacking scene. The ability to add Spin Dashing and a broken Jump Dash with one click isn't all that worrisome- Spin Dash was already available via ctrl-a, ctrl-c, ctrl-v anyway. The Jump Dash is so broken that, if anything, it ENCOURAGES learning; in order to make it work, the neophyte hacker must go in and work with the asm, where otherwise they might feel "adding new moves is too hard; let's copy the SCHG how-tos".

    The issue is that many things don't encourage learning. The only reason I learned how to use SonMapED was because I needed to; if the graphics I wanted had been provided, with mappings and all, I'd be rather less capable in that regard.

    I still can't port music, being virtually tone-deaf; I at least have a better understanding of the SMPS system through my attempts, though.

    I learned how to work with a hex editor largely via experimentation; I fear that that experimentation may one day become a lost art. There's a reason my Sonic 1 level order parser doesn't output lvl_ord.bin.
  19. Tweaker


    Congratulations—you're the exception to the rule. You know how to take your resources and use them independently in a way that takes advantage of both new and prior knowledge to do the things that you want to do. That's why you're a Tech Member! Unfortunately, you don't even represent the group of people I'm referring to—lazy, ignorant, tactless little shits who click buttons and call themselves "hackers" and demand attention for their "hard work."

    Did I say all SMW hacks were bad? Absolutely not—I've found a ton of hacks that I enjoy and I appreciate the intuitiveness and creativity of their creators to extents like you wouldn't believe. That doesn't mean that your mentality is applied to the majority, though; if it were, I wouldn't even need to raise this point.

    Don't worry, though... I'm not attacking your community; all of these are observations I've been able to make since before SMWCentral even existed.

    It certainly does more than that. If you had to compare Lunar Magic to any existing Sonic hacking tool, the best parallel you can make is to ESE, which in addition to basic level editing has mini-editors for various other aspects of the game. One thing right off the bat that I can think of is the text editor, which certainly goes beyond basic level editing; in most cases, you'd be delving into editing mappings or hex editing a string for that one.

    Okay. So why don't they? And, furthermore, why wasn't I able to find this info after extensive scouring back in 2005 when I was trying to find it?

    SMW hacking has practically been monopolized in terms of knowledge by FuSoYa and Lunar Magic for the longest period of time; the program knew how to do it all, sure, but the person using it sure as hell didn't. I actually gave up my interest in SMW hacking because when I tried to figure shit out, only like 3 people knew how to do anything from hand, and none of that information was readily accessible. I think if SMW's internals were more well documented at this point we might have more than one "Lunar Magic" type program. We don't.

    That said, this was less about SMW hacking strictly than one little example to illustrate my earlier point.

    Erm. Yeah, you're wrong. I'm not even talking about data manipulation here; it'd be stupid to suggest that people should edit levels in hex or something like that.

    I think you misinterpreted my point entirely. I'm not saying people should do things a certain way or be damned; I'm saying that one-button hacking tools—especially when it comes to editing code—does absolutely nothing to teach someone (or, granted, most people) how to do a damned thing from a technical point of view; in fact, it discourages it in a lot of cases because they don't have to. In the scope of the Sonic hacking scene, this is a bad thing because there is a direct parallel between this mindset and bad quality.

    But that's a point in and of itself—why should we let terrible hacks be terrible? I think if there's a way to prevent bad things from happening, we should do it; if we don't, we're just as responsible for them if we knew about them and did nothing to stop them.
  20. It depends what the main focus of the hack is. If you are showing off your layouts (which apparently isn't enough here), the ability to throw the spindash in with a click is pretty useful. If you make 'Sonic 1 + Jumpdash' with something like S1 Hacking Studio... not really a learning curve. If you want to make the most noticable change in your hack custom music, then a tool to easily write/convert tunes to SMPS is great. If you are porting music, that kind of takes the skill out of it. A hack like ChimpoQ! benifits from SonMapED and the like. The only time these tools really are a bit silly to use are when you are showing of your 1337 ASMing/hexadecimaling skills.

    Of course, I have none of the aforementioned skills AFAIK =P

    (FYI, this was intended for the OTHER thread)
Thread Status:
Not open for further replies.