Sonic 1 Level & Object Hacking Questions

Discussion in 'Discussion and Q&A Archive' started by Stardust Gear, Jun 25, 2014.

Thread Status:
Not open for further replies.
  1. Stardust Gear

    Stardust Gear A Programmer Member

    Joined:
    Apr 27, 2014
    Messages:
    134
    Ihave a Sonic 1 (Hg/Git) Disassembly.

    1. How to port the monitors from S3&k (and maybe other objects).

    2. How to create custom objects in Sonic 1? (e.g. the elevator from Megamix).

    3. How to support path swappings instead of loop chunks?

    4. Could I have a ring manager rather than ring objects?

    5. How to extend the maximum level size?

    6. Someone have a parallax hacking guide?

    7. Someone have object definitions for all Sonic 1 object in SonLVL?

    8. How to create custom boss?

    9. How to move level when falling to a bottomless pit? (Scrap Brain Act 2 for example)

    Thanks to everyone that answers any question.
     
  2. MainMemory

    MainMemory Well-Known Member Member

    Joined:
    Mar 29, 2011
    Messages:
    922
    Last edited by a moderator: Jun 25, 2014
  3. Painto

    Painto Arthurus Paintus Erinaceus Member

    Joined:
    Mar 24, 2014
    Messages:
    321
    Location:
    Lublin, Poland
    8. Look at other bosses codes and try to do somethig based on it.

    9. Look at Boundary_Bottom: code or something like this.
     
    Last edited by a moderator: Jun 25, 2014
  4. Stardust Gear

    Stardust Gear A Programmer Member

    Joined:
    Apr 27, 2014
    Messages:
    134
    @MainMemory do you know about all Sonic 1 objects bit properties (or someone else)?

    (I found that chained spikeball from LZ has these props: Has Handle, Speed, Anti-Clockwise and Length in chain rings.)
     
  5. D.A. Garden

    D.A. Garden Sonic CD's Sound Test Member

    Joined:
    Aug 6, 2009
    Messages:
    582
    Location:
    England
    1. When you say port the monitors, what exactly are you referring to? The S3K elemental sheilds or the monitor art? Your question isn't very clear.

    2. You create custom objects in the same way that every other object is made - you code it. And in order to do that, you need to understand the coding language that Sonic games use. Here's a helpful guide to get you started, courtesy of MarkeyJester: http://mrjester.hapisan.com/04_MC68/

    3. I don't know how to do this myself, but I do know that it involves changing the collision method to support paths and then importing the path swapper object from Sonic 2 or Sonic 3K.

    4. Yes, you can

    5. Not too sure how to do so in the Hg/Git version but in the 2005 disassembly, you can simply edit lvlsize.bin, stored in the misc folder, with a hex editor.

    6. I can't remember off of the top of my head but I think there's a tool or guide somewhere. You should probably go look for it if you're interested.

    7. No. I doubt anyone has the time to create object definitions for all of Sonic 1's objects. In fact, I doubt anyone know's all of the object types and sub types by heart either.

    8. Bosses are objects, so the same answer as question 2.

    9. Not too sure how this works but if you're after this effect in other levels, you could just re-use the same sequence's code and change a few values (such what level the transition is to be loaded in, where to load the new level, etc.).

    As I said above for question 7, I doubt anyone has the time to create object definitions for each and every type of object in Sonic 1. I expect it to be a long and arduous process that isn't worth the outcome.
     
    Last edited by a moderator: Jun 25, 2014
  6. rika_chou

    rika_chou Adopt Member

    Joined:
    Aug 11, 2007
    Messages:
    689
  7. SuperEgg

    SuperEgg I'm a guy that knows that you know that I know Member

    Joined:
    Oct 17, 2009
    Messages:
    Location:
    THE BEST GOD DAMN STATE OF TEXAS
    1. Why would you port the monitors over? They work exactly the same. If you want to add in shield powerups, that's your own prerogative.

    2. Code them yourself. Stop being lazy and go look at other objects and learn from that. People have been linking you to guides for asm and all that jazz, but nothing beats studying what's there. You supposedly claim you work in C# programming. Then again, if you're HG Disasm claim is anything to go by....

    3. Are you that fucking lazy? Merry God damned Christmas.

    4. Go look at S2NA and go crazy. Change a few RAM addresses and you'll be good.

    5. Just going on a limb here, but I'm gonna assume the "Level_Size_Array" or it's name equivalent is probably a good place to check.

    6. I can only call you a lazy dick so many times without sounding like a broken record.

    7. How about no. See above.

    8. See #2

    9. Look at LevelEvents or DynamicLevel or something of that nature.

    Now, a few questions for you.

    1. Out of any disasm to start with, why the S1HG? I know people on here know my feeling of the HG, but we can all agree S1's is a pure fucking mess.

    2. I called you a lazy dick, and not just to be mean, but because you are. Literally half these things could be found with a simple Google search. Or in some cases, READING THROUGH THE GOD DAMNED DISASSEMBLY. Now, if you actually did those two things, feel free to tell the class, then I will apologize for calling you as such. But from where I stand, I call em' like I see them. And judging by your last topic, you seem the type who wants answers to be given freely as opposed to doing the research yourself.

    3. Why do you so feel the need to make your own god damned topic for this? Most of these are general questions that can go into here.

    I hope this gets through to you now, otherwise you're gonna become the next ThomasSpeedrunner. And we all remember how great he was.

    The real answer to all those questions anyhow is just simply taking your favorite Sonic 1 cart to a 4 star steak dinner.
     
    Last edited by a moderator: Jun 25, 2014
  8. Stardust Gear

    Stardust Gear A Programmer Member

    Joined:
    Apr 27, 2014
    Messages:
    134
    Hey I now rewrite the question:

    Original:

    Ihave a Sonic 1 (Hg/Git) Disassembly.

    1. How to port the monitors from S3&k (and maybe other objects).

    2. How to create custom objects in Sonic 1? (e.g. the elevator from Megamix).

    3. How to support path swappings instead of loop chunks?

    4. Could I have a ring manager rather than ring objects?

    5. How to extend the maximum level size?

    6. Someone have a parallax hacking guide?

    7. Someone have object definitions for all Sonic 1 object in SonLVL?

    8. How to create custom boss?

    9. How to move level when falling to a bottomless pit? (Scrap Brain Act 2 for example)

    Thanks to everyone that answers any question.
    New:

    1. How to port elemental shields (not to cancel the normal shield)?

    2. Someone may know how to create a basic object?

    3. How to port a ring manager?

    4. How to enable longer levels than 64 chunks?

    5. How to make custom background scrolling?

    6. How to move level when going up, down or left?
     
  9. DanielHall

    DanielHall Well-Known Member Member

    Joined:
    Jan 18, 2010
    Messages:
    860
    Location:
    North Wales
    I'd like to expand on 2) by saying that there is an object guide on the SCHG. If you're confident with your skills, you could always look at that, make a test object, get it to move about by looking at the other objects' code and determine what makes them move, etc. It's not terribly complex if you can get the hang of it.
     
  10. Animemaster

    Animemaster Lets get to work! Member

    Joined:
    Mar 20, 2009
    Messages:
    1,229
    Location:
    UK
  11. TheInvisibleSun

    TheInvisibleSun Visible Member

    Joined:
    Jul 2, 2013
    Messages:
    424
    Location:
    Western New York, USA
    For Number 6, check out both Sonic_LevelBound, and _incDynamic Level Events. Look specifically at what SBZ Acts 2 and 3 do.


    EDIT: Level Size can be manipulated in SonLVL as well. However, the actual camera boundaries need to be extended accordingly. Once you look through the Dynamic Level Events file, this becomes a rather simple procedure.
     
    Last edited by a moderator: Jun 26, 2014
  12. kramlat

    kramlat Newcomer Member

    Joined:
    Feb 21, 2009
    Messages:
    12
    Location:
    home
    I say that this is a horrible way to prove your worth as a trialist
     
  13. DJaftershock

    DJaftershock TWO-DEE-ECKS-GOLD Member

    Joined:
    Nov 20, 2012
    Messages:
    96
    Location:
    The United Kingdom
    10. How to make hack good and stuff.

    Just search for guides, do your best and if it seems to difficult for you, aim lower and go back to it later. There's no time limit to make a hack, so learn slowly and surely.
     
Thread Status:
Not open for further replies.