Basic Questions & Answers thread

Discussion in 'Engineering & Reverse Engineering' started by Tweaker, May 29, 2008.

  1. Varion Icaria

    Varion Icaria

    He's waiting.... Tech Member
    1,010
    0
    16
    S4: Cybernetic Outbreak
    Maybe if I get ahead on things I'll finish the Chaotix Disassembly to a buildable state. I've just been so busy with everything it's been on my todo list.
     
  2. Dark Sonic

    Dark Sonic

    I'll find the old avatar eventually Member
    12,244
    35
    28
    Working on my art!
    For anyone curious btw, here's an idea of what Mania Knuckles looks like with Chaotix Knuckles' palette (and a few edits to add rings):

    [​IMG]

    Not bad. A bit awkward but still a lot nicer looking than the original sprites, at least IMO. I may make it slightly less pink if I'm able to edit the palette. Also if I end up going through with this and replace Mighty with Sonic, I might give Knuckles a red closer to Mighty's since there won't be a need to distinguish two red characters anymore.
     
  3. Stax

    Stax

    Member
    16
    0
    0
    Coquitlam, BC
    Sonic Pocket Mania
    Greetings I'm facing an issue when editing the sprite sheet for the DD Wrecker mini-boss in Green Hill Zone.

    It seems whenever I do anything at all to the sheet when modifying it, it just messes up how it looks in game.
    For example

    When I apply this incomplete sprite sheet
    [​IMG]


    It gives this result
    [​IMG]

    Anyone have an idea how to fix it?
     
  4. EnderWaffle

    EnderWaffle

    Ghostly Friend Member
    I'm pretty sure this is caused by the sprite sheet itself. That might be fixable if the sheet is the same resolution and has the same file extension, but I'm not too sure.

    Also, did anyone see my question? Not trying to be rude, just wondering.
     
  5. CHRdutch

    CHRdutch

    h Member
    76
    9
    8
    Earth, I think.
    Sonic the Hackable (A.K.A. "A generic Sonic 1 ROMhack")
    YES! Thank you for your help!
    This problem was such a pain since I had no idea what I was doing, due to it not being clear where there was space and where there wasn't.
    Seriously, I really appreciate it, I've been stuck with this problem for quite a while.
    (I only had to puzzle a bit because I was using the GitHub disassembly, but that doesn't matter :specialed:)

    http://sonicresearch.org/community/index.php?threads/sonic-1-dynamic-palletes-in-s1.48/
     
  6. GreggSalt

    GreggSalt

    Member
    17
    0
    0
    Hey, sorry if this question is stupid, but how do you add letters that are never used to Sonic 1's Title Card letter set? Like how the letters W, J, and Q are never used in zone names, and thus do not exist in the game's files. I'm planning on making a joke hack with a Jade Hill zone, and as the letter J is not in the files I cannot use that name.
     
  7. Stax

    Stax

    Member
    16
    0
    0
    Coquitlam, BC
    Sonic Pocket Mania
    The sprite sheet was already the same file extension (which is .gif) and the resolution was the original thanks for trying though man!
     
  8. EnderWaffle

    EnderWaffle

    Ghostly Friend Member
    Thank you! That gave me another idea though. Maybe its the amount of colors in the picture which might not be the same amount as the palette ingame?


    I also had another question, this time with SFX.
    Does anyone know how to rip SFX from SCD? I knida want to use the jump and bumper sounds.
    Thanks!
     
  9. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,340
    32
    28
    SonLVL
    Mega CD, 1995 PC, or Taxman?
     
  10. EnderWaffle

    EnderWaffle

    Ghostly Friend Member
    The Mega CD version.
     
  11. Clownacy

    Clownacy

    Tech Member
    782
    7
    18
    It's been a while since I touched SCD, but IIRC the 'normal' SFX are embedded within the SMPS Z80 driver itself, which is stored in MDINIT.MMD. I can't remember if it's compressed though.

    That driver just handles FM SFX, though. I'm not sure if the bumper SFX is an FM sound, or actually a PCM sample, in which case it's played by one of the SMPS-PCM drivers, which are in 'SNCBNKnB.bin' files.
     
  12. EnderWaffle

    EnderWaffle

    Ghostly Friend Member
    How long are the sound effects? I'm not sure where to start and where to stop the data when I move it to a separate file.
     
  13. Stax

    Stax

    Member
    16
    0
    0
    Coquitlam, BC
    Sonic Pocket Mania

    You see I tried messing around with that where I tried giving it 2, 1 or 3 amount of color. (The original has way more then the changed sprites). But no matter what I do to it, it messes up how it looks although it does a little different depending on what color I use.
    Again thanks for trying!
     
  14. GreggSalt

    GreggSalt

    Member
    17
    0
    0
    Hey guys, what is the math for locking an enemy on a single part of the screen while it's attacking in a ROM hack of Sonic 1? (e.g. the Hotaru enemy from Sonic CD/Mania)
     
  15. MarkeyJester

    MarkeyJester

    My predecessors have nothing on me. Resident Jester
    There are two ways to go about this.

    Just before the "attack", you take the object's X and Y position, and subtract the screen's X and Y position from it (this will get you the relative X and Y distance from the screen's top left corner), you then store these distances:

    Code (Text):
    1.         move.w  $08(a0),d0          ; load X position
    2.         sub.w   ($FFFFF700).w,d0        ; subtract screen's X position (getting distance)
    3.         move.w  d0,$3C(a0)          ; store the X distance
    4.         move.w  $0C(a0),d0          ; load Y position
    5.         sub.w   ($FFFFF704).w,d0        ; subtract screen's Y position (getting distance)
    6.         move.w  d0,$3E(a0)          ; store the Y distance
    Then you continuously load the distances, add the screen's X and Y positions to it, and saving that back to the object's X and Y position:

    Code (Text):
    1.         move.w  ($FFFFF700).w,d0        ; load screen's X position
    2.         add.w   $3C(a0),d0          ; add the X distance that was stored
    3.         move.w  d0,$08(a0)          ; update X position
    4.         move.w  ($FFFFF704).w,d0        ; load screen's Y position
    5.         add.w   $3E(a0),d0          ; add the Y distance that was stored
    6.         move.w  d0,$0C(a0)          ; update Y position
    This will keep the object in the exact place on screen in which you froze it at.

    Another method, is to change the screen mode of the object, so it's treated like a HUD:

    Code (Text):
    1.         moveq.l #$FFFFFF80,d1           ; prepare 80 adjustment
    2.         move.w  $08(a0),d0          ; load X position
    3.         move.w  ($FFFFF700).w,d0        ; get distance on screen's X
    4.         sub.w   d1,d0               ; add 80 (due to offscreen void space)
    5.         move.w  d0,$08(a0)          ; save X position
    6.         move.w  $0C(a0),d0          ; load Y position
    7.         move.w  ($FFFFF704).w,d0        ; get distance on screen's Y
    8.         sub.w   d1,d0               ; add 80 (due to offscreen void space)
    9.         move.w  d0,$0C(a0)          ; save Y position
    10.         andi.b  #%00111111,$01(a0)      ; set screen mode to 0 (HUD style)
    This one might be preferable to you, since you only need to do this once, and don't need to keep updating the X and Y positions to keep the object in place.
     
  16. GreggSalt

    GreggSalt

    Member
    17
    0
    0
    Thanks, this code will go to good use.


    EDIT: Can you make a version of the code for use with the git disassembly? It's what i use most of the time.
     
  17. Retroman

    Retroman

    Member
    719
    1
    18
    Just throwing ideas. Have no experience modding any Sonic game but:

    Maybe the program has to be Photoshop, not Paint.net otherwise it will mess things up?
    Make sure the image is not compressed when over-riding it?
     
  18. Stax

    Stax

    Member
    16
    0
    0
    Coquitlam, BC
    Sonic Pocket Mania
    I use GIMP 2.0 for all of the sprites and none have a result like the miniboss, and the sprite sheet is the original size provided from the ripped Data.rdsk file. Thanks for suggesting something though I appreciate the effort!
     
  19. MarkeyJester

    MarkeyJester

    My predecessors have nothing on me. Resident Jester
    No problem.

    I'm afraid I'm not diverse with the GIT version enough to know the equate names off by heart. But nevertheless, the code will be compatible so long as you haven't changed any of the equate addresses. Howevere, I'm sure someone else here who knows the equate names, would kindly apply it to my code for you.
     
  20. GreggSalt

    GreggSalt

    Member
    17
    0
    0
    Just an extra question, but how would one make an extra shield (e.g. the elemental shields from Sonic 3) in a Sonic 1 ROM hack?

    EDIT: Not the abilities with shields, but literally another shield.