Sonic and Sega Retro Message Board: Sonic 2 Bugfix Disasm - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

Sonic 2 Bugfix Disasm

#1 User is offline redquebec 

Posted 20 July 2016 - 09:56 AM

  • Posts: 38
  • Joined: 29-April 14
I read many requests here about having some disassembly of SOnic 2 imcluding lots of bugfixs described here in the guides or the forums. I'd be interested into creating it. For this, I'd like to know if anyone see a problem if I create a Github Branch of the latest disasm, and start implementing the bugfixes one-by-one.

Is there any possibility for me to start such a project in Github, but most importantly do you think it is a good idea?

Thanks

#2 User is offline Clownacy 

Posted 20 July 2016 - 11:35 AM

  • Posts: 739
  • Joined: 06-July 13
  • Gender:Not Telling
I can imagine this is gonna spawn another Megamix-grade circlejerk war.

Sod it, I might as well get a head start. No, I don't think it's a good idea. A ROM, yes - a disasm, what the heck's the point? 'Save time and effort'? Any hacker worth their salt either doesn't care about the time spent, or has already made their own copy of a disasm with all the bugfixes added. Either way, at least they get a chance to absorb the info the bugfix guides have to offer. And guides are already a massive time-and-effort-saver, so that 'reason' means even less. People already get picky about "copy/paste guides" that give you no information, so why should this be an exception? There's also the problem of, unless you're fairly dedicated to syncing the disasm with the current Git one, it's going suffer the same problem as ReadySonic, and become outdated; future guides won't be compatible, and you'll just add to the mess of unsupported disassemblies.
This post has been edited by Clownacy: 20 July 2016 - 11:36 AM

#3 User is offline redquebec 

Posted 20 July 2016 - 12:05 PM

  • Posts: 38
  • Joined: 29-April 14

View PostClownacy, on 20 July 2016 - 11:35 AM, said:

I can imagine this is gonna spawn another Megamix-grade circlejerk war.

Sod it, I might as well get a head start. No, I don't think it's a good idea. A ROM, yes - a disasm, what the heck's the point? 'Save time and effort'? Any hacker worth their salt either doesn't care about the time spent, or has already made their own copy of a disasm with all the bugfixes added. Either way, at least they get a chance to absorb the info the bugfix guides have to offer. And guides are already a massive time-and-effort-saver, so that 'reason' means even less. People already get picky about "copy/paste guides" that give you no information, so why should this be an exception? There's also the problem of, unless you're fairly dedicated to syncing the disasm with the current Git one, it's going suffer the same problem as ReadySonic, and become outdated; future guides won't be compatible, and you'll just add to the mess of unsupported disassemblies.


... ok then ... :(/>

The idea is to stay in sync with the disassembly indeed by branching from it and porting changes from master into it. The way of working would have been to add a new property to check (something alone the line of "BugFixing =0"), and to add comment everywhere to explain the bug and what was changed. The idea would be to not only include the bugfixes, but document them in one place. Yes, merging Master into the branch could create conflicts sometimes, but it could be done.

That was the intent, nothing else. I didn't mean to insult anybody or create any controversy... I just wanted to help some people a bit, in a different way. I do apologize for having fail to recognize that such a project could be a touchy subject for some :(/>
This post has been edited by redquebec: 20 July 2016 - 12:47 PM

#4 User is offline MainMemory 

Posted 20 July 2016 - 02:25 PM

  • Every day's the same old thing... Same place, different day...
  • Posts: 4214
  • Joined: 14-August 09
  • Gender:Not Telling
  • Project:SonLVL
  • Wiki edits:1,339
The GitHub disassembly also already has several bugfixes built in to it, but they explicitly don't have a single flag to turn all of them on so that people have to search for them and see what it is they're changing.

#5 User is offline Caverns 4 

Posted 20 July 2016 - 02:46 PM

  • Posts: 338
  • Joined: 07-December 12
  • Gender:Male
  • Project:Sanik Quest: Journey To The Right
As much as I'm all for making bugfixes and stuff, I'm inclined to side with Clownacy on this one. Mainly because it's just going to be an unnecessary process to clone the GIT disassembly, and most of these "bugs" are easily fixed. And again, ReadySonic is a great example of why it's not the most efficient idea.

I WOULD be for it if the main github disassembly had an option or two to remove things like the air speed cap, but... It takes like, 8 seconds to do it yourself anyway.
This post has been edited by Caverns 4: 20 July 2016 - 02:47 PM

#6 User is offline ICEknight 

Posted 20 July 2016 - 09:00 PM

  • Posts: 11059
  • Joined: 11-January 03
  • Gender:Male
  • Location:Spain
  • Wiki edits:18
Your idea sounds like it could be useful to anybody who'd want to start experimenting on ROM modifications from an error-free game, so that they wouldn't have to worry about their code triggering any of the bugs that the Sonic Team failed to fix.

I'd say it could be a nice optional thing to have, but I don't know the technical stuff on how it could end up being too intrusive, slow things down, etc.


View PostClownacy, on 20 July 2016 - 11:35 AM, said:

a disasm, what the heck's the point? 'Save time and effort'? Any hacker worth their salt either doesn't care about the time spent, or has already made their own copy of a disasm with all the bugfixes added.
You know, perhaps some people want to modify Sonic 2 and optimize their time spent on it...
This post has been edited by ICEknight: 20 July 2016 - 09:08 PM

#7 User is offline Clownacy 

Posted 21 July 2016 - 06:06 AM

  • Posts: 739
  • Joined: 06-July 13
  • Gender:Not Telling
...hence why they'd already have a fixed disassembly. If it's someone's first time hacking, and they just want to skip to 'the good bit', or they didn't think ahead to make a fixed disasm before, that's on them.

#8 User is offline KingofHarts 

Posted 21 July 2016 - 11:51 AM

  • Posts: 1610
  • Joined: 07-August 10
  • Gender:Male
  • Project:Project Sonic 8x16
  • Wiki edits:1
I agree with Clownacy... after all, it was working through the bugfixes, and ultimately even finding things on my own... that taught me how to hack and made me a better programmer.

This is kinda to the effect of stripping away the fundamentals and throwing people into the deep end.

#9 User is offline ICEknight 

Posted 21 July 2016 - 12:06 PM

  • Posts: 11059
  • Joined: 11-January 03
  • Gender:Male
  • Location:Spain
  • Wiki edits:18

View PostICEknight, on 20 July 2016 - 09:00 PM, said:

Your idea sounds like it could be useful to anybody who'd want to start experimenting on ROM modifications from an error-free game, so that they wouldn't have to worry about their code triggering any of the bugs that the Sonic Team failed to fix.

I'd say it could be a nice optional thing to have, but I don't know the technical stuff on how it could end up being too intrusive, slow things down, etc.


View PostClownacy, on 20 July 2016 - 11:35 AM, said:

a disasm, what the heck's the point? 'Save time and effort'? Any hacker worth their salt either doesn't care about the time spent, or has already made their own copy of a disasm with all the bugfixes added.
You know, perhaps some people want to modify Sonic 2 and optimize their time spent on it...

View PostClownacy, on 21 July 2016 - 06:06 AM, said:

...hence why they'd already have a fixed disassembly. If it's someone's first time hacking, and they just want to skip to 'the good bit', or they didn't think ahead to make a fixed disasm before, that's on them.
It's currently on them, but it doesn't have to. That's the whole point.

#10 User is offline Clownacy 

Posted 21 July 2016 - 01:02 PM

  • Posts: 739
  • Joined: 06-July 13
  • Gender:Not Telling
In the latter case, yes, but the former shouldn't be doing that in the first place, and this would enable that. If they really wanted to skip ahead, and just start making levels, then I don't think the original Sonic engine's for them. You need to know how to code just to stop the camera from scrolling up and killing you in custom levels, for crying out loud.

#11 User is offline redquebec 

Posted 21 July 2016 - 01:23 PM

  • Posts: 38
  • Joined: 29-April 14
I thought it would be a nice idea to do a REV03, not a base to help newcomers... That's the only thing I'd wanted to achieve. And keep it up-to-date with the disasm, which is by no mean a lazy task.

#12 User is offline Caverns 4 

Posted 21 July 2016 - 01:27 PM

  • Posts: 338
  • Joined: 07-December 12
  • Gender:Male
  • Project:Sanik Quest: Journey To The Right
Not to mention the basic hex knowledge and stuff that it takes to really jump into ASM. When I first went into assembly, all I'd done prior was scripting in Ruby, and Assembly is a completely different animal.

When I first started, I had to follow the guides and sink or swim. Not that I'm that good, but I at least understand it on some level. I feel like a disassembly that fixes every bug without giving the user the opportunity to learn would be more of a setback than anything to newbie hackers.

I mean, I, as do most people probably, already have a prefixed disassembly anyway.

#13 User is offline redquebec 

Posted 21 July 2016 - 01:37 PM

  • Posts: 38
  • Joined: 29-April 14

View PostCaverns 4, on 21 July 2016 - 01:27 PM, said:

I feel like a disassembly that fixes every bug without giving the user the opportunity to learn would be more of a setback than anything to newbie hackers.


I'd like to thank you Caverns4 for being the first to give a polite and anger-free explanation of this point. :) I can now clearly see your point, and I do agree. But there might have been a misunderstanding: this is not what I'd like to do, or intended to do. It was more as a tool to create a hypothetical REV03, no more. And use Git commits as a way to explain and document each bug and it's reasoning behind the fixing.

Don't get me wrong: I see that the idea of a REV03 is not the one discussed here and for what I know after exchanging some PM with some of the members of the thread, it is not considered a bad idea. What some don't like is more the use of such a public branches could be done, and I do see the point.

So, in that case, here is an idea:

What about a private GitHub repo where I could work on it, and let some key user check out if I do it right? It would not be available to the generla public, just for documentation and have some source tracking in the cloud. Would that be a viable solution to your concerns?

#14 User is offline Clownacy 

Posted 21 July 2016 - 01:50 PM

  • Posts: 739
  • Joined: 06-July 13
  • Gender:Not Telling
I never got an answer for my question: what would the point be? Any hacker could implement the fixes themselves, so the only benefit would be a time-saver for those that just don't feel like it. Would it have its own fixes and bug documentation? I think those would be better off not hidden in a specific disasm (coughSaxmanAndReadySoniccough). If it really is just a convenience, then I suppose a private repo could work. IIRC, the homing attack code was given out on a case-by-case basis, too.

#15 User is offline redquebec 

Posted 21 July 2016 - 01:51 PM

  • Posts: 38
  • Joined: 29-April 14

View PostClownacy, on 21 July 2016 - 01:50 PM, said:

I never got an answer for my question: what would the point be? Any hacker could implement the fixes themselves, so the only benefit would be a time-saver for those that just don't feel like it. Would it have its own fixes and bug documentation? I think those would be better off not hidden in a specific disasm (coughSaxmanAndReadySoniccough). If it really is just a convenience, then I suppose a private repo could work. IIRC, the homing attack code was given out on a case-by-case basis, too.


It is indeed just as a convenience in this case. Would that seems a good idea to you in that terms?

  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users