Basic Questions & Answers thread

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

  1. Campbellsonic

    Campbellsonic

    Member
    19
    0
    1
    Yep, something obvious I was missing. Thanks.
     
  2. Cyber Akuma

    Cyber Akuma

    Member
    12
    0
    1
    Anyone know where I can find pinouts of Genesis and 32X cartridges?

    I wanted to see what differences, if any, the carts had in their pinouts. Mainly, if they used different voltages or had different voltage/ground lines. I just wanted to make sure if I accidentally read a 32x cart as if it was a genesis cart or vice-versa in any 3rd party device that I would not damage the cart and/or device because of that.
     
  3. Caped Baldy

    Caped Baldy

    Member
    1
    0
    0
    Anyone knows what dds file the homing attack is in? I need to change the color of it to match my OC's color. The spindash and everything else is the right color, but it's still blue.
     
  4. cleverking

    cleverking

    Member
    5
    0
    1
    I added Hidden Palace Zone in my Sonic 2 hack and when I destroy a badnik or a monitor explosion doesn't use the right palette. How do I fix this?
     
  5. Clownacy

    Clownacy

    Tech Member
    875
    137
    43
    Edit the palette. No, really, HPZ has this shade of green where a grey should be. Seems to be a leftover from Sonic 1... and I don't think anything used it there, either.
     
  6. Fred

    Fred

    Taking a break Oldbie
    1,563
    115
    43
    Portugal
    Sonic 3 Unlocked
    That green was used by a scant few enemies, for instance, the Ton-Ton pig enemies use it for their snouts.
     
  7. cleverking

    cleverking

    Member
    5
    0
    1
    This worked. Also how to make badnik not spawn after i killed it?
     
  8. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,594
    192
    43
    SonLVL
    You need to set the "Remember State" flag on the object in the layout data. Object Definitions can specify that an object type should be created with the flag already set, and if you're using SonLVL, you can use the Find feature to select all the objects of a specific type and set the flag on all of them at once.
     
  9. Caped Baldy

    Caped Baldy

    Member
    1
    0
    0
    I was looking to mess around with the texture files in the Loading folder of Unleashed for the 360. I opened several of them with gimp, and it says the files are all invalid with invalid headers. If they aren't dds files, what are they? And I have the dds plugin for it. Any help?
     
  10. Turbohog

    Turbohog

    Member
    756
    23
    18
  11. Caped Baldy

    Caped Baldy

    Member
    1
    0
    0
    Still getting an error. invalid file header.
     
  12. Windii

    Windii

    Shadow Mahjong Fighter Member
    Those .dds files use a different kind of compression. What you need is QuickBMS and the xcompress_file.bms plugin, which is also available on the same page, just CTRL+F it. After decompressing the .dds file you want (or a folder with said .dds files you want), rename the ".unpacked" extension with ".dds" and try to load it. Worked for me. Only problem is that you have to do this for every .dds file you've decompressed with that plugin.

    Also, GIMP is hot garbage and no one should use it, so I'm just gonna quote what Skyth said in the Forces topic.

     
  13. Caped Baldy

    Caped Baldy

    Member
    1
    0
    0
    Thanks, I actually have that xcompress file. I had a feeling they needed to be decompressed. But I can't use paint.net because for some reason my Windows 10 pro computer doesn't support Net framework 4.7.
     
  14. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    18,526
    514
    93
    Berkshire, England
    Learning Cymraeg
    Stop asking random questions outside of the basic help thread.
     
  15. Caverns 4

    Caverns 4

    Member
    342
    0
    16
    Sanik Quest: Journey To The Right
    Hey all, I'm having an, admitted kind of minor, problem I could use some advice on. I've been fidgeting with it for hours, but to no avail.

    In my hack, I've been trying to give Sonic a Wall Jump, similar to Mighty in Knuckles' Chaotix. It does work, when jumping into a wall and holding the lateral direction to the wall. Sonic will cling to the wall, and start to slowly slide down until the player pressed a jump button again. Icoded it looking at Mercur'ys code from ReadySonic for Sonic 1, but I've been trying to clean it up as much as possible to work in Sonic 2.

    The way I have this set up is fairly simple: There's one byte-sized OST in Sonic's memory that stores the bits of left/right input state, corresponding to the direction of the wall that Sonic touched.
    If the byte is 0, then Sonic is considered not clinging. Every frame, when clinging to a wall, some code is run to ensure that Sonic stll has a wall beside him, and the player hasn't let go of the button. The code is here:

    Code (Text):
    1. Obj01_Control_WallCheck:
    2.         tst.b obWallJump(a0) ;If Sonic supposed to cling to a wall?
    3.         beq.s Obj01_Control_Part2 ;If not, don't check for wall collision
    4.    
    5.         btst #0,status(a0) ;Check which side the wall should be on.
    6.         bne.s +
    7.     bsr.w CheckRightWallDist ;Touching right wall?
    8.     cmpi.w  #16,d1
    9.         bls.s WallJump_CheckInput ;touching right wall.
    10.         bra.s WallJump_Terminate
    11. +      
    12.     bsr.w CheckLeftWallDist ; Touching left wall.
    13.     cmpi.w  #16,d1
    14.         bhi.s WallJump_Terminate ;Stop if there's no left wall.
    15.        
    16. WallJump_CheckInput:
    17.     move.b  (Ctrl_1_Held_Logical).w,d0  ; get jpad
    18.     and.b   obWallJump(a0),d0   ; compare jpad to stored L,R button states
    19.     andi.b  #button_left_mask|button_right_mask,d0  ; keep just L and R state
    20.     bne.s   Obj01_Control_Part2     ; if still held, branch
    21.        
    22. WallJump_Terminate:
    23.         move.b  #0,obWallJump(a0)   ; clear wall jump flag and button states
    24.         move.b  #AniIDSonAni_Roll,Anim(a0) ; use "jumping" animation   
    25.  
    26. Obj01_Control_Part2:
    I also have this in the collision for objects, and seems to satisfy the requirments for initiating contact with a wall:

    Code (Text):
    1. loc_19AB6:
    2.     cmpi.b #ObjID_Sonic,id(a1)
    3.     bne.s +
    4.     move.l  a0,-(sp)
    5.     movea.l a1,a0
    6.     bsr.w   WallJump
    7.     movea.l (sp)+,a0
    8. +
    And this on Obj01_MdAir/MdJump for slowing the player's fall:

    Code (Text):
    1.  
    2.     jsr (ObjectFall).w
    3.    
    4.     tst.b   obWallJump(a0)
    5.     beq.s   NoWallSlide
    6.         subi.w  #$30,Y_Vel(a0)
    7.         bra.s   +
    8.    
    9. NoWallSlide:
    10.     btst    #bit_inWater,status(a0) ; is Sonic underwater?
    11.     beq.s   +       ; if not, branch
    12.     subi.w  #$28,y_vel(a0)  ; reduce gravity by $28 ($38-$28=$10)
    13. +
    14.  
    The problem here, is that while clinging to normal level walls works, for some reason, object walls only work in one direction.
    If anyone knows what's wrong, or has any ideas to further optimize the code, I'd appreciate it.
     
  16. RetroKoH

    RetroKoH

    Member
    1,661
    17
    18
    Project Sonic 8x16
    Could it have something to do with the instructions in THESE lines:


    cmpi.w #16,d1
    bls.s WallJump_CheckInput ;touching right wall. ; Branch if LOWER THAN OR SAME
    ...

    cmpi.w #16,d1
    bhi.s WallJump_Terminate ;Stop if there's no left wall. ; Branch if HIGHER THAN

    I'm unable to really try anything out for myself atm... but would adjusting one of these help?
    Which side does object jumping NOT work on?

    PS I tried this myself back when I was still hacking... unfortunately I've not been able to do much over the past year due to being a student again... so I don't recall exactly what the issue was, though it may have been the same as yours.
     
  17. Yuzu

    Yuzu

    Member
    2,435
    17
    18
    For a hack with custom levels and entirely unique level art, would I be better off hacking Sonic 1 or 2?
     
  18. Clownacy

    Clownacy

    Tech Member
    875
    137
    43
    Probably Sonic 2, for its 128x128 chunk system. It also has a more specialised system for animated level art, using dynamically-loaded tiles. In S1, you had to do it all manually in code, but in S2 you just have to write a small table.
     
  19. Yuzu

    Yuzu

    Member
    2,435
    17
    18
    Thanks!
     
  20. Mr Hooman

    Mr Hooman

    Member
    17
    0
    1
    Not Floral Fields Zone, I can tell you that.
    Not Sonic the Hedgehog - Neo Quest, I can tell you that.
    [​IMG]

    This says it all.

    I'm trying to port the Spindash to my disassembly but this constantly happens.

    Not just with the Spindash, but other things too.

    I tried MarkeyJester's method to fix this, but it doesn't work or I'm being a moron as usual and screwing everything in the hack up. (Also as usual)

    Help would be much appreciated, as this is infuriating and I don't think many hacks without the Spindash are taken seriously anymore.

    Thanks in advance.

    -Mr Hooman

    (I hope I'm not just wasting more trial posts)

    Edit: I really should edit my name out of these things.