don't click here

Sonic 3 Cz v2.0

Discussion in 'Engineering & Reverse Engineering' started by Hayate, Oct 30, 2012.

  1. Hayate

    Hayate

    Tech Member
    Ah, that makes more sense. I know about most of these, it's just a case of getting round to putting them in.

    Yes, Adventure!Amy was always the Amy I knew and loved. It helps that the first (and for a year or two, only) Sonic game I owned was Sonic Advance 1...

    Ahhhh. Well, I'm pretty sure the previous release (1.2.1) had the new boss included... but maybe I'm wrong?

    Indeed, and I'd never been very good at level design; my levels were always extremely short... :u
     
  2. Putmalk

    Putmalk

    Member
    33
    0
    6
    I will make another video of me playing through CNZ. If it works, it works, if it doesn't...then I can't do anything about it.

    No, you should not make a video of you playing through it. Most people who play something don't rely on walkthroughs to help them through it. It's the creator's role to make sure the game plays as smoothly as possible. Which is why people must constantly play it (without prior knowledge of what's going on) to ensure that a smooth playing experience is taken.

    And you should create objects that Amy cannot break through - these will prevent her from going somewhere she's not.
     
  3. Putmalk

    Putmalk

    Member
    33
    0
    6
    These videos should very good for debugging.

    http://www.youtube.com/watch?v=nv1oKbk8GaE
     
  4. Hayate

    Hayate

    Tech Member
    Gosh, you keep going the ways I don't expect xD

    Added the signpost issue and the not being able to do anything at the end of Knuckles' route to the bug list.

    What is ultimately supposed to happen here is that you can either take Knuckles' route and take the teleporter to ICZ, or you can take Sonic's route and visit FBZ before going to ICZ (and if you visit FBZ here, you skip it after MHZ). This choice also affects some other things... :)

    Well yes, I mentioned I will add a block (visible or not) to the HCZ midboss loop to prevent her from going down there. For ICZ - I don't think you can get to Sonic's midboss arena, the problem is that if you die you respawn in Sonic's route and then get stuck.


    Currently, I'm working on porting everything to the SVN disassembly - I had been putting this off but what made me go for it was wanting to fix the AIZ palette once and for all, which for certain reasons couldn't be done in my existing setup. Good news is it works:

    [​IMG]

    notice both the rock and the HUD have the correct colors! Also as you can see I have the super power meter and casual mode active as well, here's a full list of things implemented in the port so far: (you can see I'm starting small)

    I can toggle each of these items (apart from the palette fix) on and off at build time, casual mode will be turned off for proper releases (and I guess I'll put the casual mode release in the casual editions thread). Still, if I ever wanted to make a customizer for this one, the ability's there.
     
  5. Putmalk

    Putmalk

    Member
    33
    0
    6
    You should be happy I went ways you didn't expect, that way you can plug the holes and prevent the errors from happening. :)
     
  6. Hayate

    Hayate

    Tech Member
    Oh don't worry I am, and I will work on them :)
     
  7. E-122-Psi

    E-122-Psi

    Member
    2,470
    612
    93
    I can help with the CNZ teleporter easy (though mainly because Tiddles shown me how to do it so credit him if anyone). Find this piece of code:

    Code (Text):
    1. loc_5215A:
    2.         cmpi.w  #3,(Player_mode).w
    3.         beq.s   loc_5216C
    4.         move.w  #8,($FFFFEEC0).w    ; If playing as Sonic/Tails, don't do any special screen events
    5.         bra.w   CNZ2SE_Normal
    6. ; ---------------------------------------------------------------------------
    7.  
    8. loc_5216C:
    9.         lea (Player_1).w,a1     ; Only do all this is Knuckles is playing
    10.         cmpi.w  #$4880,$10(a1)
    11.         bcs.w   CNZ2SE_Normal       ; If Knuckles is not past $4880 X, just play normally
    12.  
    13. loc_5217A:
    14.         cmpi.w  #$B00,$14(a1)
    15.         bcs.s   CNZ2SE_Normal       ; If Knuckles is not past $B00 Y, play normally
    16.         jsr (Create_New_Sprite).l
    17.         bne.s   loc_521BE
    18.         move.l  #Obj_CNZTeleporter,(a1)
    19.         jsr (CreateNewSprite4).l
    20.         bne.s   loc_521BE
    21.         move.l  #Obj_81,(a1)
    22.         move.w  #$4980,$10(a1)
    23.         move.w  #$A20,$14(a1)
    24.         movem.l d7-a0/a2-a3,-(sp)
    25.         lea (PLC_CNZ2KnuxEnd).l,a1
    26.         jsr (Load_PLC_Raw).l
    27.         movem.l (sp)+,d7-a0/a2-a3
    And then make edits to the horizontal and vertical branches:

    Code (Text):
    1. loc_5215A:
    2.         cmpi.w  #3,(Player_mode).w
    3.         beq.s   loc_5216C
    4.         move.w  #8,($FFFFEEC0).w    ; If playing as Sonic/Tails, don't do any special screen events
    5.         bra.w   CNZ2SE_Normal
    6. ; ---------------------------------------------------------------------------
    7.  
    8. loc_5216C:
    9.         lea (Player_1).w,a1     ; Only do all this is Knuckles is playing
    10.         cmpi.w  #$4800,$10(a1)
    11.         bcs.w   CNZ2SE_Normal       ; If Knuckles is not past $4880 X, just play normally
    12.  
    13. loc_5217A:
    14.         cmpi.w  #$970,$14(a1)
    15.         bcs.s   CNZ2SE_Normal       ; If Knuckles is not past $B00 Y, play normally
    16.         jsr (Create_New_Sprite).l
    17.         bne.s   loc_521BE
    18.         move.l  #Obj_CNZTeleporter,(a1)
    19.         jsr (CreateNewSprite4).l
    20.         bne.s   loc_521BE
    21.         move.l  #Obj_81,(a1)
    22.         move.w  #$4980,$10(a1)
    23.         move.w  #$A20,$14(a1)
    24.         movem.l d7-a0/a2-a3,-(sp)
    25.         lea (PLC_CNZ2KnuxEnd).l,a1
    26.         jsr (Load_PLC_Raw).l
    27.         movem.l (sp)+,d7-a0/a2-a3
    You'll also need to make a branch at the top to recognise Amy's character flag (either 4 or 5 I guess) since it only recognises Knuckles at this point:

    Code (Text):
    1.         cmpi.w  #3,(Player_mode).w
    2.         beq.s   loc_5216C
    Making her enter Icecap the same way will be more challenging but I should be able to find the coding for that, I can also make edits for her to land via Tails' location normally if you want to avoid Sonic's slope area.

    About the down and B hammer, technically you could just add to all three buttons and it still wouldn't complicate the controls much more, though I understand if you don't want to add that move.
     
  8. Putmalk

    Putmalk

    Member
    33
    0
    6
    Part 5. Some of the first part is missing. I apologize in advance.

    http://www.youtube.com/watch?v=wmZQlWeZB_0
     
  9. Hayate

    Hayate

    Tech Member
    Alright, I've done the usual bug list update :)

    About those special stages, yes you are supposed to be able to get Super Emeralds early. However, I agree that it's abusable when you have so many rings. I'm thinking of making it take away the respective number of rings (20, 50, 80) required to enter each type of bonus stage when you jump in, either that or just remove 80 rings when you get back from a special stage.
     
  10. Arctides

    Arctides

    I am a bloated bag of hate. Oldbie
    My only issue is how Amy controls. It's very difficult for me to land a hit on most enemies/bosses, and there's always a 75% chance that I don't hit the hammer command fast enough and I end up losing my rings. I don't know if it'd be worth suggesting that you aim for making her function like she did in Sonic Advance 1, would it?

    The one-button control scheme for her is just kinda troublesome...
     
  11. Hayate

    Hayate

    Tech Member
    Well, I'm sorry but the control scheme is staying as is. However, I do plan to tweak the hitboxes and such, because I agree it's currently far too difficult to hit many things.
     
  12. Putmalk

    Putmalk

    Member
    33
    0
    6
    http://www.youtube.com/watch?v=gHtEJqSRdOY
     
  13. Hayate

    Hayate

    Tech Member
    Wow, just wow. Launch Base is no more of a "Dimps" level than Hydrocity or Ice Cap.

    Also just because you get hit a hundred times doesn't make the level stupid. It's the final zone of Sonic 3, it's supposed to be hard.

    With that out the way, most of the issues you raised are already fixed in the next release - Act 2 music and graphics load properly now, and Amy gets in the Eggpod properly (and as a bonus, so does Knuckles, if you manage to get him over that way). Also Amy can now clear Knuckles' act 2 bosses and get to MHZ. The only remaining issue is that the top and bottom of the boss box, and the one scaffold at the edge of the boss arena are still glitched.

    I did enjoy your comments on Amy in the Eggpod though, as well as "now would be a perfect time for big arm to come out" :P
     
  14. Putmalk

    Putmalk

    Member
    33
    0
    6
    Don't take the commentary personally...

    I can only play with what I have. XD
    Also I'm stuck on MHZ2 boss. I have the video ready to publish but im too lazy. help?
     
  15. Hayate

    Hayate

    Tech Member
    Oh crap, I just tested this myself and you do need Hyper Amy for this...

    You can hit Eggman with the hammer, but there's no way to hit without taking a hit yourself first, and the rings go offscreen too fast to get more than 2 hits (or 3 with a shield) in before dying.

    Good job you can farm emeralds, right? :p
     
  16. Putmalk

    Putmalk

    Member
    33
    0
    6
    I'm going to do another LP soon. Finally free. ;)

    http://www.youtube.com/watch?v=cEqfITpWcE8

    By the way, sonic and knuckles is near unplayable and definitely not fun. Since these videos are my unfiltered and unedited opinions while playing, the frustration will show. Sorry in advance.
     
  17. InvisibleUp

    InvisibleUp

    friendly internet ghost Member
    139
    13
    18
    Also, something I noticed is that Amy can go on Knuckles's route in AIZ by breaking the rocks with her hammer. However, trying to go to the boss results in the area being half submerged underwater and the pit to Hydrocity just killing you. Also, going into the slots bonus stage as Amy with a bubble shield glitches up the graphics and the resets the game.
     
  18. Hayate

    Hayate

    Tech Member
    Pretty sure this is fixed for the next release.

    Which is being delayed because I'm porting everything to a clean disasm and I'd made a lot more changes than I thought...

    Amy going into the slots bonus stage crashing the game was a known bug, but I wasn't aware you could get as far as seeing anything - for me it always crashed as soon as the normal level faded out, before the bonus stage even got a chance to appear. I don't see how having a bubble shield could affect this though...
     
  19. Hayate

    Hayate

    Tech Member
    In before I go back to work tomorrow!

    • Fully ported to the newer disassembly with Flamewing's sound driver (thanks to Tiddles for help with this).
    • Fixed AIZ HUD, by swapping entries $1A and $1E in the palette and relevant art.
    • Music keeps playing if you die and restart the level (like in Sonic ERaZor).
    • All characters can now complete all routes in AIZ without it breaking. (Though Knuckles in Sonic's midboss is a bit shifted over to the right. Also, try Knuckles+Tails in Sonic's route for a minor easter egg at the transition into HCZ.).
    • Knuckles+Tails and Amy can now complete CNZ via the teleporter.
    • ICZ now remembers which route you are on properly if you die.
    • Amy can now break out of MHZ vines by jumping and using air attack.
    • Tails and Knuckles no longer turn into Sonic when the slots bonus stage fades out.
    • Amy no longer crashes in the slots bonus stage.
    • Amy no longer incorrectly goes into her hammer dash animation in the magnet ball bonus stage.
    • Life/continue/Eggman icons on the save screen are now in the correct colors and are no longer glitched up for new characters.
    • Characters can now complete LBZ without it breaking - Amy is currently forced to take Sonic's route at the end of LBZ1, but at the end of LBZ2 if you are playing as Knuckles+Tails or Amy (+Tails) you have the choice of route - either route will let you complete the zone and continue to MHZ.

    [​IMG]

    Download is on the wiki: Sonic 3 Cz#Downloads

    For this release the super power meter and special stage via bonus stage entrance have been turned off, since most people don't like them. A customiser will come eventually.

    now I must sleep :v:
     
  20. BSonirachi

    BSonirachi

    Wiki Sysop
    Don't mind me, just listing some bugs.

    • Many cheats have been left on by default. That's the level select, debug and all Chaos Emeralds cheats.
    • Amy should be in ball form when using the teleporters in CNZ2 and SSZ. It makes more sense that way.
    • Both CNZ themes have a weird note going off after looping once. Must be something to do with the sound driver change.
    • If you die to a boss, the boss music should stop and the normal level music should restart. As it is now, the boss music carries on playing in normal level areas.
    • Genesis Plus GX doesn't recognise the game's use of SRAM and disables it automatically. I think you'll have to sort out how the SRAM works in the game so the emulator can identify it.