Sonic and Sega Retro Message Board: THE SonED2 thread - Sonic and Sega Retro Message Board

Jump to content

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

THE SonED2 thread 2009-05-26 quickfix

#1 User is offline Stealth 

Posted 02 September 2006 - 02:18 AM

  • Posts: 489
  • Joined: 31-July 05
  • Gender:Male
  • Project:Sonic Megamix, SonED2, Engine02, [...]
  • Wiki edits:19
I didn't want to make another small release, but since interest in Sonic 1 seems to have spontaneously exploded, I don't suppose it will stay relatively unnoticed if I keep putting this off.

SonED2 V1.03

v1.02
This version does away with the Sonic 1 sprite saving error. There was a mistake in the save routine related to the support I tried to add for the "Remember Sprite State" flag in 1.01. It's been fixed so the sprites save with proper ID and proper flag setting, so there shouldn't be any disappearing/wrong sprites in the level in newly-created files. V1.00 disabled the flag during load, and enabled it during save for all sprites. V1.01 corrupted some sprites and didn't save the flag. Loading files generated with either of those two versions will load the currupted data. Bad sprite settings will need to be corrected manually, however, all sprites' "Remember Sprite State" flag can be set to the default value for that object type by holding SHIFT and pressing 0

v1.03
This version is a quickfix to remove some early development code that was mistakenly included, which caused pressing 1, 2, 3, or 4 to effectively alter the editor's level size setting without correcting the level data array, meaning that accidental keypresses (and subsequent saving without correcting the issue) would cause loss/corruption of data. Ctrl+Arrows is and has been the proper method for resizing a level (for Sonic 1, Sonic 2's level system requires them to stay at a fixed size)

-------------------------------------------------------

So that there aren't a million threads with the word "SonED2" in them, this is the one place for posts that have strictly to do with SonED2. However, as always, and as with all of my projects:

-I won't answer questions or talk about future releases

-I won't answer questions that are covered in the documentation

-I won't answer otherwise retarded questions

-I won't honor "feature requests". Any such request will more likely end up on a "not-to-do list"

-I won't distribute sourcecode full or in-part for any reason whatsoever

-The publicity of SonED2 (or any other project of my own) is a courtesy, not a service

Moreover:

-SonED2 is not a "ROM Editor", It edits individual files. Some extraction tools for the original games are provided, but ROM images are not and will not be

-SonED2 is not "for disassemblies". I will not provide materials or information regarding any existing "disassembled"/"reverse-engineered" code

-SonED2 is a data editing tool. It will not "cause your ROM to crash" and it will not "cause ASM errors". It is the user's responsibility to manage the use of their created/modified data, and to understand how to do exactly that; Anyone without a fair level of understanding of basic software/hardware principals has no business whining about what they think the problem is. Applying new data to any program is not a SonED2-related matter


More statements will be added to the above if necessary. Anything not listed may be up for discussion
This post has been edited by Stealth: 26 May 2009 - 11:34 PM

#2 User is offline Shadow Fire 

Posted 02 September 2006 - 07:10 AM

  • Ultimate victory!
  • Posts: 1535
  • Joined: 05-February 05
  • Gender:Male
  • Location:The Land of Darkness
  • Project:Sonic: The Lost Land (Series), The GCN (site)
  • Wiki edits:60
Let's... have... buttsecks...





Okay... maybe not. But this is awesome. I download it now, even though I've never come across the error yet in 1.01.

#3 User is offline Vangar 

Posted 02 September 2006 - 07:21 AM

  • Winrar?
  • Posts: 3299
  • Joined: 08-January 04
  • Gender:Male
  • Location:Australia
  • Project:Heroic Multimedia
  • Wiki edits:2
Ah an excellent fix. Thank you!

#4 User is offline .hack//zero 

Posted 02 September 2006 - 08:44 AM

  • Posts: 2999
  • Joined: 23-April 03
  • Gender:Male
  • Project:Learning more C++, Requiem of the Twilight(On hold)

Stealth, on Sep 2 2006, 03:18 AM, said:

- A typo in the Sonic 2 Object Def rendered the "Egg Prison" sprite unselectable.
    The problem is corrected in the current def, enabling the sprite to be selected
    for editing and/or moving

Thank you so much for fixing this problem.
This post has been edited by .hack//zero: 02 September 2006 - 08:49 AM

#5 User is offline SMTP 

Posted 02 September 2006 - 08:57 AM

  • Posts: 2145
  • Joined: 27-April 04
  • Gender:Male
  • Location:Ohio
  • Wiki edits:59
Thanks! Works perfect now.

A feature I always wanted to see (I'm not requesting. :P )was a way to split the data from SonED 1 roms.

Also why can't we change Sonic's start location in SonED2?
This post has been edited by SMTP: 02 September 2006 - 09:01 AM

#6 User is offline StephenUK 

Posted 02 September 2006 - 10:27 AM

  • Liquor in the front, poker in the rear
  • Posts: 1671
  • Joined: 30-December 04
  • Gender:Male
  • Location:Manchester, UK

SMTP, on Sep 2 2006, 02:57 PM, said:

Thanks! Works perfect now.

A feature I always wanted to see (I'm not requesting. :P )was a way to split the data from SonED 1 roms.

Also why can't we change Sonic's start location in SonED2?

Coz it's not an object. It'd mean you'd have to either have the character start positions extracted into a seperate file, or it would have to directly edit the disassembly. It's not hard to edit them anyway.

#7 User is offline SMTP 

Posted 02 September 2006 - 10:29 AM

  • Posts: 2145
  • Joined: 27-April 04
  • Gender:Male
  • Location:Ohio
  • Wiki edits:59

StephenUK, on Sep 2 2006, 10:27 AM, said:

SMTP, on Sep 2 2006, 02:57 PM, said:

Thanks! Works perfect now.

A feature I always wanted to see (I'm not requesting.  :P )was a way to split the data from SonED 1 roms.

Also why can't we change Sonic's start location in SonED2?

Coz it's not an object. It'd mean you'd have to either have the character start positions extracted into a seperate file, or it would have to directly edit the disassembly. It's not hard to edit them anyway.

I know, I was just wondering why he decided not to add it into SonED2.

#8 User is offline LocalH 

Posted 02 September 2006 - 12:33 PM

  • roxoring your soxors
  • Posts: 3125
  • Joined: 11-January 03
  • Gender:Male
  • Location:wouldn't you like to know
  • Project:MDEM - Genesis programming stufz
  • Wiki edits:3
Topic pinned. This is Stealth's topic, and he calls the shots. Which means that if there are crap posts, they will be split off and either left in their own topic or outright trashed, as per his wishes.
This post has been edited by LocalH: 02 September 2006 - 12:34 PM

#9 User is offline Robjoe 

Posted 02 September 2006 - 12:46 PM

  • Delicious and nutritious.
  • Posts: 840
  • Joined: 11-September 05
  • Gender:Male
  • Location:Ludington, Michigan, US
  • Project:Brawl mods, Megamix Layouts, and messing with Sonic 3.
  • Wiki edits:1
Ah, excellent. Just excellent. Now I can finally use the thing for level editing, and move away from SonED1 completely (for Sonic 1 and Sonic 2, that is). Thank you so much for this awesome utility! =)

#10 User is offline Cinossu 

Posted 06 September 2006 - 03:16 PM

  • inverted with love~
  • Posts: 2657
  • Joined: 21-June 04
  • Gender:Male
  • Location:London, UK
  • Project:Sonic the Hedgehog Extended Edition
  • Wiki edits:474
180
This wouldn't really affect many people, as not many people are adding their own objects into Sonic 1, and within the engine itself it self-rights this problem.

In Sonic 1, if you have an object within a level with an ID over $80, it subtracts $80 from it to produce the object drawn. For example, rings have an object ID of $25. If you were to enter $A5 as the object ID in the object position file, it would self-right itself and draw a ring anyway.

Now, here comes the fun part. There are already over $80 objects within Sonic 1. Some of the lower-end ones are ones not produced in levels, so the ones with IDs greater than $80 are catered for. However, go beyond this point, and it starts to loop itself.

This is a fairly easy thing to solve within Sonic 1 itself, as it's just a few ASM lines to remove, and a little bit of fixing within object position files as and when they are needed. However, today I found out, within SonED2, it appears that Stealth also made the object list loop around itself, as I have signposts in place for the objects that should be +$80 in ID above it. Now, SonED2 does not have a source code to edit (unforunately!!), so.. I am now stuck if I want to add in my new objects to levels, unless I take the long way around and insert temporary objects, and editing the object position files myself after.

Just some heads up for anyone wishing to seriously extend the object capacity within Sonic 1. :.
This post has been edited by Cinossu: 06 September 2006 - 03:18 PM

#11 User is offline Stealth 

Posted 07 September 2006 - 07:49 PM

  • Posts: 489
  • Joined: 31-July 05
  • Gender:Male
  • Project:Sonic Megamix, SonED2, Engine02, [...]
  • Wiki edits:19

Cinossu, on Sep 6 2006, 01:16 PM, said:

[Ignorance]

If something "strange" like that happens, you have to stop and ask yourself "why?". Cutting the number of sprite types they can store in the sprite list in half "for no reason" would be pretty stupid... Not to worry that I'm insulting you, though, because the problem with SonED2 1.00 came from a similar mistake on my part

I have no doubt that you saw the code near address DA50 that "spawns" each individual sprite from the list into the SST, but what you probably didn't see (or understand) was the code above it, at the start of the routine (DA3C) where it first checks to see if that sprite has already been destroyed. First, it tests the sprite type. A "negative" (beyond $80) value is subject to further testing, while it just skips ahead to spawn the sprite if it's ID value is "positive" (below $80). That essentially makes the high bit a flag that's being tested at this point, and if that flag is on, the sprite is only put into the SST if it's not flagged as having been "destroyed" by it's entry in the "Persistence table" (the table at RAM address $FFFFFC00). This flag is what I've been referring to as the "Remember Sprite State Flag". Mistakenly setting or not setting the flag can cause some non-"destroyable" sprites to just disappear, and cause "destroyable" sprites to keep coming back. In Sonic 2 and above, the flag is stored in the upper bit of the Y position rather than the upper bit of the sprite type, and so, sprites with ID greater than $80 can be stored in the sprite layout list

I don't appreciate subtle little stabs, though (intentional or unintentional as they may be), especially when you represent yourself to know better than I do, but are wrong. I'm sure you know which key statements (plural) from the first post apply

#12 User is offline Cinossu 

Posted 07 September 2006 - 08:52 PM

  • inverted with love~
  • Posts: 2657
  • Joined: 21-June 04
  • Gender:Male
  • Location:London, UK
  • Project:Sonic the Hedgehog Extended Edition
  • Wiki edits:474
180
It was not a stab at you, I promise you. It was just a little thing I found after I had been messing around with adding new objects, and found they loaded funny within SonED2. That was all. I apologise if it came out as an insulting post.

#13 User is offline Stealth 

Posted 07 September 2006 - 10:08 PM

  • Posts: 489
  • Joined: 31-July 05
  • Gender:Male
  • Project:Sonic Megamix, SonED2, Engine02, [...]
  • Wiki edits:19

Cinossu, on Sep 7 2006, 06:52 PM, said:

It was not a stab at you, I promise you. It was just a little thing I found after I had been messing around with adding new objects, and found they loaded funny within SonED2. That was all. I apologise if it came out as an insulting post.

Well, that's not exactly what I was talking about, but since you didn't know, you must not have meant anything by it. No problem

I did need to clear up that one issue, though, since that functionality has a purpose. I hope the explanation was decent

#14 User is offline Cinossu 

Posted 08 September 2006 - 09:01 AM

  • inverted with love~
  • Posts: 2657
  • Joined: 21-June 04
  • Gender:Male
  • Location:London, UK
  • Project:Sonic the Hedgehog Extended Edition
  • Wiki edits:474
180

Stealth, on Sep 8 2006, 03:08 AM, said:

I did need to clear up that one issue, though, since that functionality has a purpose. I hope the explanation was decent

It was, and thank you. I have altered my code so it works the same way as Sonic 2 now.

#15 User is offline BadCopNoDonut 

Posted 09 September 2006 - 11:47 PM

  • O RLY?
  • Posts: 784
  • Joined: 16-September 05
  • Gender:Male
  • Project:Sonic D T
  • Wiki edits:3
This has to do with SonED1, but I figured I'd put it in here anyway. How come it sometimes messes up to where when I try to draw a tile, it draws it like 3 tiles down or 2 tiles down from where I actually want it to go? I have to save, then exit, then reload SonED to get it back to normal, and it seems like after every few minutes, I have to do this again. Is there anything I can do to get it to not do this? (And before you say use SonED2, I can figure out how to use it, but I personally just outright prefer SonED1.)

  • 15 Pages +
  • 1
  • 2
  • 3
  • Last ►
    Locked
    Locked Forum

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