Basic Questions and Answers Thread

Discussion in 'Discussion & Q&A' started by Malevolence, Jul 7, 2009.

  1. FruitcakeDog

    FruitcakeDog Newcomer Member

    Joined:
    May 28, 2020
    Messages:
    10
    Location:
    United Kingdom
    Done exactly what you said and it seems to work fine in that section. However, I've tried to fix up some of the other files which refer to the old IDs to replace any instance of 'id_*animationname*' with 'SonicAni_*animationname*' but every time I try to do so it says that the new ID names are illegal values.

    I've attached the current error log from my disassembly if it helps at all.
     

    Attached Files:

  2. ProjectFM

    ProjectFM Optimistic and self-dependent Member

    Joined:
    Oct 4, 2014
    Messages:
    845
    Location:
    Portland, Maine
    Sorry, I went under the assumption that you were using the Hivebrain disassembly, which I'm more familiar with. The GitHub disassembly complicates things. I recommend leaving the ids alone and just changing the names that are different such as "SonAni_Spindash" pack to their Sonic 1 equivalents, such as "SonAni_Warp1". Then you need to add in the ptr labels in front of each entry in the table. Finally, add back in the list at the bottom of ids. So, pretty much just set _anim/Sonic.asm up to be the way it was in the base Sonic 1 disassembly. The part that matters is that the animation data itself is changed to match Sonic 2 Beta's frames.
     
    FruitcakeDog likes this.
  3. Angel X

    Angel X Well-Known Member Member

    Joined:
    Sep 15, 2017
    Messages:
    85
    Location:
    Italy
    Hello again...
    I have a serious problem, I wanted to test the new version of my hack, I press start and this happened:
    s1built004.jpg s1built001.jpg s1built000.jpg s1built003.jpg s1built002.jpg
    The floor is fucked up!
    Trust me, I don't know what happened.
    I made changes to the S monitor code but it didn't bother me until a few days ago.
    The last change I made was the modification of the special stages and another change of order of the levels.
    Anyone know what happened?
    Has this ever happened to you?
    EDIT:This only happens in GHZ.
     
    Last edited: Jul 2, 2020
  4. TheChosenHacker

    TheChosenHacker Hi, how are you Member

    Joined:
    Aug 7, 2019
    Messages:
    187
    Location:
    A shed
    The issue here is that the collision is messed up due to the process of changing the order of level. Try and insert the original collision from a clean disassembly into your hack and see if it changes. If not, go to SonLVL and check if all art is using the right collision.
     
  5. death rapunzel

    death rapunzel i don't care anymore Member

    Joined:
    Aug 26, 2013
    Messages:
    1,062
    Location:
    Hell
    @TheChosenHacker That doesn't make any sense. Unless they changed GHZ's zone ID (which seems highly unlikely, to be honest) and forgot to fix the collision index table, the collision shouldn't mess up like that from a programming standpoint. More than likely just corrupted/overwritten data.
     
    Last edited: Jul 2, 2020
  6. Tanman Tanner

    Tanman Tanner Well-Known Member Member

    Joined:
    Dec 23, 2016
    Messages:
    100
    Location:
    Buffalo, New York
    How, exactly, did you do this? Did you alter GHZ's zone ID?
    As mentioned above, you have to modify the collision index table.
     
  7. Angel X

    Angel X Well-Known Member Member

    Joined:
    Sep 15, 2017
    Messages:
    85
    Location:
    Italy
    I'm afraid the problem is the position of the levels, this is the code:

    Code:
    LevelOrder:
        ; Green Hill Zone
        dc.b id_GHZ, 1    ; Act 1
        dc.b id_GHZ, 2    ; Act 2
        dc.b id_SLZ, 0    ; Act 3
        dc.b 0, 0
    
        ; Labyrinth Zone
        dc.b id_LZ, 1    ; Act 1
        dc.b id_LZ, 2    ; Act 2
        dc.b id_SBZ, 0
        dc.b 0, 0    ; Act 3
        dc.b id_SBZ, 2    ; Scrap Brain Zone Act 3
    
        ; Marble Zone
        dc.b id_MZ, 1    ; Act 1
        dc.b id_MZ, 2    ; Act 2
        dc.b id_LZ, 0    ; Act 3
        dc.b 0, 0
    
        ; Star Light Zone
        dc.b id_SLZ, 1    ; Act 1
        dc.b id_SLZ, 2    ; Act 2
        dc.b id_SYZ, 0    ; Act 3
        dc.b 0, 0
    
        ; Spring Yard Zone
        dc.b id_SYZ, 1    ; Act 1
        dc.b id_SYZ, 2    ; Act 2
        dc.b id_MZ, 0    ; Act 3
        dc.b 0, 0
    
        ; Scrap Brain Zone
        dc.b id_SBZ, 1    ; Act 1
        dc.b id_LZ, 3    ; Act 2
        dc.b id_LZ, 0    ; Final Zone
        dc.b 0, 0
        even
        zonewarning LevelOrder,8
    The new position is:
    1-GHZ
    2-SLZ
    3-SYZ
    4-MZ
    5-LZ
    6-SBZ
     
  8. death rapunzel

    death rapunzel i don't care anymore Member

    Joined:
    Aug 26, 2013
    Messages:
    1,062
    Location:
    Hell
    In that case, it shouldn't have messed with the collision. Again, check to see if the collision files somehow corrupted.
     
  9. Angel X

    Angel X Well-Known Member Member

    Joined:
    Sep 15, 2017
    Messages:
    85
    Location:
    Italy
    I checked the file and it seems to be all right.
    Where should I check exactly?
    Forgive me for my too many questions:confused:
    EDIT:I don't think I've ever been so active in this forum!
     
  10. Psi

    Psi Well-Known Member Member

    Joined:
    Dec 20, 2014
    Messages:
    73
    Hey I've been trying to convert Hill Top Zone to split screen mode and I've gotten a fair way (see Random Hacks/Mini Projects thread) however I now have three roadblocks:

    1. The far background conflicts with some VRAM data split screen needs to function. I can move the tiles for the background (in Dynamic_HTZ) but not what VRAM address the game projects for them. Any idea what I have to edit here?

    2. I've tried to edit the levevents routine to avoid the boss and end the level just beforehand with an improvised signpost (much in the same way the proper 2 player levevent routines do). While the race will progress normally as Tails, it glitches out if you finish Act Two as Sonic. When you get to the area where the screen locks, Tails' screen will glitch to there, and sometimes cause a Game Over. I'm guessing this is 1 player data conflicting with this but I have no idea where to edit. No matter where I put the data it causes the same issue.

    Code:
    ; ---------------------------------------------------------------------------
    loc_HTZ_2P2:
        move.w    #$2D80,(Camera_Max_X_pos).w
        move.w    #$2D80,(Tails_Max_X_pos).w
    
        rts
    3. One more glitch is some objects loading in twos or threes such as Rexon and the airlifts. This seems to be because their loading distance is too far and going back and forth with a couple players causes several to spawn. Is there any sort of branch that can recognise if one of the same object is already in the exact same location and to not load another while it's there?

    To exemplify, here is the test ROM:

    https://cdn.discordapp.com/attachments/202861068224036864/727999266127347712/s2built.bin

    EDIT: Never mind question 2. Fixed it.
     
    Last edited: Jul 4, 2020
  11. Angel X

    Angel X Well-Known Member Member

    Joined:
    Sep 15, 2017
    Messages:
    85
    Location:
    Italy
    PROBLEM SOLVED
    Basically I replaced the collide folder with another one from my old version.
    There will be updates soon ...