ThomasSpeedrunner Help Thread

Discussion in 'Discussion and Q&A Archive' started by ThomasThePencil, Jan 29, 2013.

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

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    Hold the fucking phone...I think I know how Knux here is crashing, and it doesn't have to do with my mappings. It has to do with the variables he's using. You see, Knuckles uses both priority's original SST and the old width_pixels SST, among others. Thus, since I ported the priority manager, he can't load said variables properly and the game freezes. Because of this, we cannot leave him as is. However, by replacing each variable's reference with its corresponding name, the aforementioned problem can be averted, as Knuckles will properly load the variables and be able to move on to his mappings.

    ...

    You're welcome.
     
  2. Spanner

    Spanner The Tool Member

    Joined:
    Aug 9, 2007
    Messages:
    2,570
    I'd help you but you are using a disassembly that I have virtually no experience of using and neither do a lot of people due to their preference of using the non-Hg versions. I have my own Knuckles port and MainMemory fixed a few issues with it.
     
    Last edited by a moderator: Feb 8, 2013
  3. MainMemory

    MainMemory Well-Known Member Member

    Joined:
    Mar 29, 2011
    Messages:
    922
    I myself have never looked at S3K's priority manager, but yeah, anything that changes the meaning of SST variables will break Knuckles. Maybe later I can add the constants to his code.
     
  4. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    YAY! I finally figured out something on my own!

    Now to go through and decipher which variable reference goes with which variable...
     
  5. MainMemory

    MainMemory Well-Known Member Member

    Joined:
    Mar 29, 2011
    Messages:
    922
    My guide now covers everything but the ending, continue screen and special stage.
     
    Last edited by a moderator: Feb 8, 2013
  6. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
  7. MainMemory

    MainMemory Well-Known Member Member

    Joined:
    Mar 29, 2011
    Messages:
    922
    I cannot find any significant differences between your Knuckles code and mine.
     
  8. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    Hmm...if that's the case, then perhaps, and I'm just guessing here since I'm still relatively new to hacking, but maybe it's something having to do with a line that I changed? I changed every line with "$14" in it by itself (no quotes, either) and replaced the "$14" with "priority", so as to accommodate the S3K Priority Manager. However, I think I wasn't supposed to change one of said lines, as Knuckles' gliding is fucked up, like I said, in that [a] he descends way too fast, he can't latch onto walls, and [c] he doesn't slide when hitting the ground. Any ideas as to how this can be fixed?
     
    Last edited by a moderator: Feb 9, 2013
  9. MainMemory

    MainMemory Well-Known Member Member

    Joined:
    Mar 29, 2011
    Messages:
    922
    It seems that as soon as Knuckles starts gliding, he stops and enters his regular falling state. You can try replacing "priority" with "$14" then replacing "$14(a0)" with "priority(a0)" (same for any other replacements you may have done).
     
  10. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    Doesn't work. Any other ideas?

    EDIT: My bad, I replaced "$14" with "inertia", not "priority".
     
    Last edited by a moderator: Feb 9, 2013
  11. Animemaster

    Animemaster Lets get to work! Member

    Joined:
    Mar 20, 2009
    Messages:
    1,229
    Location:
    UK
    If I remember correctly $14 is interia in Sonic 2. Basically its like the ground momentum for the player and I think it doesn't have any affect in the air, but don't quaote me on that.
     
  12. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    Animemaster, you would be correct in my case, but I ported the S3K Priority Manager to my hack before even having at this.
     
  13. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    MainMemory, have you made any progress with the constants problem so far?
     
  14. MainMemory

    MainMemory Well-Known Member Member

    Joined:
    Mar 29, 2011
    Messages:
    922
    I have not. I've been trying to finish my guide before I do any work with the KiS2 disassembly.
     
  15. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    Well...I guess in the meantime, I'll bring up a topic I think I mentioned before...

    Does anyone have the code for implementing Tails' flying in Sonic 2? Again, something tells me I brought this up before, but at least I can get a new ability in for Tails (if I get the code) while I'm waiting.
     
  16. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    Hey everyone. I just realized that I could, alternatively, just change the inertia, priority, and width_pixels and leave everything else as is, and have Knux's gliding back. I could do that (even though he flashes a LOT as a result) or try to fix it properly and not have Knux's gliding back for a while.

    ...

    I think I'll go with the first thing for now, thank you very much.
     
  17. MainMemory

    MainMemory Well-Known Member Member

    Joined:
    Mar 29, 2011
    Messages:
    922
  18. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    Hmm...this may be more difficult than we thought. Even with that, Knuckles still can't glide, and I've got a hunch that it's because we're changing this:




    move.w    $30(a0),d0



    and this:




    subq.w    #1.$30(a0)



    to use $20 instead of $30, since, in order to fix the special stages when porting the S3K Priority Manager, you need to swap the OST variables for "invulnerable_time" and "inertia". Since $20 is representing invulnerable_time, there lies no reference to inertia (it's $30 if you followed the step for fixing the bug where Sonic and Tails act like they're continuously getting hit by the bomb object, making it impossible to retain any rings whatsoever), and as such, Knuckles cannot (properly) check to see if he's trying to glide and if so, glide. We need to figure out a way to reference both inertia and invulnerable_time, so that Knuckles can actually glide instead of falling every single time he tries to glide, while still flashing the way he now does when he gets hurt.
     
    Last edited by a moderator: Feb 11, 2013
  19. MainMemory

    MainMemory Well-Known Member Member

    Joined:
    Mar 29, 2011
    Messages:
    922
    If invulnerable_time is now occupying $20 and $21, then try replacing $21(a0) in Knuckles' code with some other, unused value (also all the $21(a?) in the "fixing bugs" section of the guide).
     
  20. ThomasThePencil

    ThomasThePencil resident psycho Member

    Joined:
    Jan 29, 2013
    Messages:
    910
    Location:
    the united states. where else?
    Well, since I'll be using $40 and $41 for the High Jump monitor (not yet implemented, but it will be soon) I'll try $42 and see if that works.

    EDIT:

    Firstly, 50th post, which means I now have two Chaos Emeralds! YAY!

    Secondly, this does indeed work. Now, this next question concerns how Knux here currently stands on Emerald Hill (now Winter Hill) and Aquatic Ruin's floating platforms. (Also, Aquatic Ruin is now Watered Relic. I've renamed most of the other zones as well, but Death Egg will not be getting a new name unless otherwise announced.)

    Why is it that whenever Knuckles stands on the aforementioned floating platforms, he always acts like he's right on the edge of said platform? It just bugs me because in Winter Hill Zone Act 2, there is a point where you are meant to hop onto the platform on the upper right (the one just below the spikes), then spindash-jump over to the other platform with correct timing. I know this shouldn't bug me since Knuckles could easily just climb up (Act 1 is mainly outside, while Act 2 is mostly made to look like a giant cavern), but it just does.
     
    Last edited by a moderator: Feb 11, 2013
Thread Status:
Not open for further replies.