Discussion in 'Engineering & Reverse Engineering' started by Tweaker, May 29, 2008.
Yep, something obvious I was missing. Thanks.
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.
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.
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?
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.
That green was used by a scant few enemies, for instance, the Ton-Ton pig enemies use it for their snouts.
This worked. Also how to make badnik not spawn after i killed it?
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.
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?
I literally googled "sonic unleashed dds file" and this topic was the first result. From that topic, you can use this tool to view the dds files.
Still getting an error. invalid file header.
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.
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.
Stop asking random questions outside of the basic help thread.
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:
tst.b obWallJump(a0) ;If Sonic supposed to cling to a wall?
beq.s Obj01_Control_Part2 ;If not, don't check for wall collision
btst #0,status(a0) ;Check which side the wall should be on.
bsr.w CheckRightWallDist ;Touching right wall?
bls.s WallJump_CheckInput ;touching right wall.
bsr.w CheckLeftWallDist ; Touching left wall.
bhi.s WallJump_Terminate ;Stop if there's no left wall.
move.b (Ctrl_1_Held_Logical).w,d0 ; get jpad
and.b obWallJump(a0),d0 ; compare jpad to stored L,R button states
andi.b #button_left_mask|button_right_mask,d0 ; keep just L and R state
bne.s Obj01_Control_Part2 ; if still held, branch
move.b #0,obWallJump(a0) ; clear wall jump flag and button states
move.b #AniIDSonAni_Roll,Anim(a0) ; use "jumping" animation
I also have this in the collision for objects, and seems to satisfy the requirments for initiating contact with a wall:
And this on Obj01_MdAir/MdJump for slowing the player's fall:
btst #bit_inWater,status(a0) ; is Sonic underwater?
beq.s + ; if not, branch
subi.w #$28,y_vel(a0) ; reduce gravity by $28 ($38-$28=$10)
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.
Could it have something to do with the instructions in THESE lines:
bls.s WallJump_CheckInput ;touching right wall. ; Branch if LOWER THAN OR SAME
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.
For a hack with custom levels and entirely unique level art, would I be better off hacking Sonic 1 or 2?
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.
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.
(I hope I'm not just wasting more trial posts)
Edit: I really should edit my name out of these things.
Separate names with a comma.