don't click here

SonicCD++

Discussion in 'Engineering & Reverse Engineering' started by qiuu, Jun 20, 2009.

Thread Status:
Not open for further replies.
  1. HighFrictionZone

    HighFrictionZone

    Hi. Member
    855
    0
    16
    Katy, Texas
    Nothing
    So I'm using the level insertion tool to replace Palmtree Panic with Green hill. Perpetual trouble with the palette aside, every time I run the insertion tool, I end up with:

    R11A:
    Too many chunks in R11A. Final chunks truncated.
    This doesn't seem to affect the playability of the level as all the chunks that I use show up, so meh. The issue is that I actually have fewer chunks than the original palmtree panic act 1 uses!
     
  2. qiuu

    qiuu

    Tech Member
    144
    9
    18
    Blue Ball & Blocks
    Are you using the tool on the .iso that you already modified (with the tool), or on a clean .iso? While doing the former shouldn't break anything, I recommend to always apply your changes to a clean .iso, for the following reason: The tool determines the space that can be used by the space that is currently used, e.g. for compressed art, it checks how large the compressed data is. So if you use it on a modified .iso, each time you decrease the data size, you also decrease the size limit.
    In case you're already applying the changes to a clean .iso, I don't know what could cause this. I can only tell you that the amount of chunks the tool allows you to insert is determined by the highest used chunk (in a level layout) in the .iso you're appying the changes to.

    I didn't expect people to outright try to insert entirely new zones (rather than just editing the existing levels), so in order to at least partly resolve your palette issues, I added a functionality to extract and insert palette cycle data. This isn't possible for all levels, due to how the palette cycles are handled. I put some notes in the accompanying readme on what you can do with the data. (In this case you could replace the color entries there with the colors that are used in your level.)
    You can also set Sonic's start position now. (And theoretically the initial level boundaries, however changing these doesn't seem to affect much.)
    Still, adding entirely new art might turn out to be a problem, with the many level specific routines like animated art or deformation handling coming to mind.

    Link: SCDLevMngr.7z
    Source: SCDLevMngr_src.tar.gz


    To those having problems with SCDPP_opt in the posts above, assuming that it works for other people, I can only imagine that you're using it on an .iso that also contains the music data, contrary to the instructions of the first line the program outputs.
    Also, the region setting only affects the title screen art. If you chose not to insert it, the region setting doesn't matter.
     
  3. HighFrictionZone

    HighFrictionZone

    Hi. Member
    855
    0
    16
    Katy, Texas
    Nothing
    I am applying changes to a clean ISO. As far as I can tell, the fact that chunks are truncated doesn't seem to be an issue in itself, as the level layouts I'm using don't seem to use whatever chunks it says it truncated. Unless they are related to the side issue that objects don't always seem to load the correct art. Some of the time, enemies load correctly, others, the very same enemies don't, leaving them a jumbled mess of tiles. The end-of-level signpost and special stage ring always load garbled graphics for some reason.

    The freshly added palette cycle and start position extracting/inserting features work very well! Green Hill Zone now looks, well green! And With the start position edited, I can now reduce the size of the foreground layer significantly! Much awesome indeed.

    Edit: for some reason, I stopped getting the "too many chunks" error even though I now have even more chunks than before?
    I don't know, I imported Palmtree Panic's original background. I got an error saying I had too much level art and that it wouldn't be imported. So I removed the green hill zone background art that I'm no longer using, as well as all the tiles and blocks for said art, and now I'm not getting any errors importing!
    The moral of the story: Green Hill Zone's background hates me.
     
  4. qiuu

    qiuu

    Tech Member
    144
    9
    18
    Blue Ball & Blocks
    Ah, I found the bug that cause the warning message: The level layout was inserted before the chunks, so the highest chunk was determined by the level layout you inserted, not the original level layout. That way you could have inserted as many chunks as you wanted as long as they are used in your new level layout, making it possible to overwrite the following data (though this was obviously not the case for you, as you didn't add any chunks). Fixed that now.

    As for the loops, it seems that they are handled like in Sonic 1, I.e. through a list of chunk IDs that determine which chunk is a loop (with that chunk being followed by a chunk of the same look but inverted collision). I added an option to allow extracting this as well. Same link.

    The reason for the objects' graphics being garbled at times is that their graphics are dynamically loaded (via PLC I think), so there are sections where certain objects are valid, and other sections where they are invalid, and other objects valid again. I guess the best way to check at what locations a certain object can be used is looking in the original level layout.
    If you keep the signpost and big ring at the original position (or at least same horizontal position), they should theoretically show up ok. If this isn't the case, I don't know what might be causing it.

    If you're working out which object corresponds to which ID, perhaps you could publish a list or objdefs once you're done. :)
     
  5. HighFrictionZone

    HighFrictionZone

    Hi. Member
    855
    0
    16
    Katy, Texas
    Nothing
    I'll try making sure the signpost is in the exact same position. From what I can tell, it's in the same horizontal position as originally, but not the same vertical position, I'll see if putting it in the same vertical location helps the signpost.

    As for which objects do what, this is what I'm pretty sure I've figured out so far, though I've only tried things out in Palmtree Panic so I don't know if it changes between levels. It is possible that some of these do different things on different levels or even different acts!
    There ARE other objects in my list, but I have to verify that the actually are what I said they are, because I typed up this list last night and was only half awake.

    ALSO: NOTE: When placing power-up monitors, you have to toggle the "remember sprite state" flag on all monitors or all monitors after the first will come pre-broken.

    Edit 3: I lied! I suck at making Objdef files. I see the text and I think it makes sense to me, then I go and fuck something up and it crashes shit. Oh well, I'm sure it'll come to me later on tonight.
     
  6. Glisp

    Glisp

    That one weird guy that does stuff. Member
    1,278
    1
    16
    Bloomington, IN
    None at the moment I'm afraid.
    How about a Time Stone Super Transformation? Just a thought. =P
     
  7. OR the ability to stop time altogether. They are the Time Stones, and should not be treated as Chaos Emeralds.

    Their "Super Ability(s)" could be one of the following:

    Stop Time: Everything in the zone freezes except for Sonic. Badnicks freeze, water freezes (you can walk on it now!), moving traps freeze (could be good or bad..). Sadly, this would also effect other things, including bouncers/moving platforms. This means you need to know WHEN to use it in order to get the best effect. Would be temporary of course, with a Stop Timer replacing the game timer to show how much time you have left.

    Slow Time: The reverse of the speed shoes, basically. Instead of you speeding up, everything else SLOWS DOWN. Same effects as Stop Time , but instead of things freezing they are just dramatically slowed. Would use a Slow Timer replacing the game timer to show how much time is left.

    Reverse Time: Like the Prince of Persia Series, you have a "Reverse Gauge" which lets you reverse your gameplay to a later point in time. This is useful if you hurt yourself or fall into a pit. You can only go so far back though, so use it wisely.

    Just a couple ideas to consider...
     
  8. amphobius

    amphobius

    doing more important things with my life Member
    2,120
    0
    16
    life
    Or just you know, let them do what they want.
     
  9. Spatula

    Spatula

    too cool for old school Member
    This is excellent.

    Now someone needs to combine this with a sonic 3 save system, and ability to replay the game with the time period of your choice once you've beaten it with the good ending

    going back and doing a good future only run (or a bad future only run) would be incredible
     
  10. Chimpo

    Chimpo

    I Gotta Be Me Member
    8,667
    1,522
    93
    Los Angeles, 2029
    Don't Forget! Try Your Best!
    ITT: People STILL don't understand "Proof-of-Concept".

    They've done what they were trying to accomplish. They're finished. They were merely showing that something that was proposed years ago is completely possible, they aren't making Sonic CD Megamix or out to attempt to "improve" Sonic. They just wanted to show shit get done.

    Jesus Christ.
     
Thread Status:
Not open for further replies.