don't click here

Hack S1Fixed: A successor to ReadySonic

Discussion in 'Engineering & Reverse Engineering' started by RetroKoH, Aug 26, 2024.

Should I import Clone Driver V2 to S1Fixed?

Poll closed Oct 7, 2024.
  1. Dummy! YEAH!

    50.0%
  2. Nah-nah!

    50.0%
  1. XPointZPoint

    XPointZPoint

    That's no good! Member
    This is some outstanding work, and I know it’s been addressed before, but mild tasks such as losing only 20 rings can cause immense slowdown and I think it would be great if there were an update to improve performance in areas like that.

    Still though, looking forward to what is added and updated next!
     
  2. Kilo

    Kilo

    Starting new projects every week Tech Member
    1,202
    1,152
    93
    Canada
    Changes with the weather
    I don't think there's really much of a way to fix dropped ring lag. You can optimize how they spawn with a LUT for their speed, which is a fix that's been around for years. But ultimately you're processing 32 physics objects running collisions all at once, really you can only further limit how many rings you drop. iirc the (later) 8 bit games balance this out by only dropping like 4 rings and then you lose only a fraction from your counter. But that changes the gameplay in a pretty significant way, so it's probably not a desirable trade off here.
    Honestly I kind of like the dropped ring lag though, it makes the damage you took feel so much more impactful.
     
    • Like Like x 2
    • Agree Agree x 1
    • Informative Informative x 1
    • List
  3. RetroKoH

    RetroKoH

    Member
    1,732
    112
    43
    S1Fixed: A successor to ReadySonic
    First thing's first, I appreciate the kind words. I can't wait for the first full release to be ready.

    The lost rings is one thing I tried to tackle hard... from the LUT, to spirituinsanum's spawning optimization, to movement optimizations, to Tile finding optimizations...

    Ring loss is tough to optimize further than it already is. At this point I am looking at optimizing other aspects of the engine, that will yield greater returns.
     
  4. RetroKoH

    RetroKoH

    Member
    1,732
    112
    43
    S1Fixed: A successor to ReadySonic
    Update: I have noticed a slight issue of confusion with regards to object layouts. Please note that there are two sets of object layout files. One set is accessed with SonLVL.ini and the other is accessed with SonLVL - S3K Monitors.ini. The files can be found in the objpos folder, in a separate folder labelled S3K Monitors.

    I understand it is a bit of an inconvenience, but it was the best I could do to keep the monitors as a toggleable setting while keeping each respective build as clean as possible.
     
  5. Devon

    Devon

    La mer va embrassé moi et délivré moi lakay. Tech Member
    1,485
    1,808
    93
    your mom
    Okay, since the Clone Driver was brought up here, it should be noted that as of today, for some reason, it was replaced with a C++ version that can only be compiled with Clownacy's C++ toolchain for Genesis. The original repository just gets rid of the original assembly driver, and instead provides binary blobs for the compiled code. If you want to make any changes to the driver (including modulation/vibrato envelopes, as those seem to be hardcoded into the driver code), you gotta download and install the toolchain and recompile the driver. I think it's also worth noting that the binary blobs in total are like 6 times larger than the original driver, so watch out for that. Also the fact that it is compiled C++ code, so it comes with all the fun quirks of that.
     
    • Agree Agree x 3
    • Informative Informative x 1
    • List
  6. TheBlad768

    TheBlad768

    Tech Member
    48
    213
    33
    Sonic 1 in Sonic 3 (S.C.E. Version)
    I am very disappointed with Clownacy's decision to rewrite the sound driver entirely in C++

    It's not even a separate GitHub branch...

    I will never use a blob version of a sound driver like that. I can't even safely modify the sound driver for my needs

    I will continue to use the old version for my projects.
     
  7. RetroKoH

    RetroKoH

    Member
    1,732
    112
    43
    S1Fixed: A successor to ReadySonic
    Thank you for bringing this to my attention. Luckily for me, I downloaded a version of the Clone Driver a little while back prior to this turn of events so I can either use that, or use the SCE branch that TheBlad referred me to previously as a reference.

    Rest assured, I have zero plans for making a C++ toolchain and binary blob a requirement in any way shape or form for this project.
     
    • Like Like x 3
    • Agree Agree x 3
    • List
  8. Brainulator

    Brainulator

    Regular garden-variety member Member
    I'll also add that I found the Clone Driver useful for finding things to modify in the stock Sonic 1 sound driver, such as various bugs and optimizations. Of course, this won't be so with the new version.
     
  9. RetroKoH

    RetroKoH

    Member
    1,732
    112
    43
    S1Fixed: A successor to ReadySonic
    So, as some may have figured out, progress on Fixed has halted. It is certainly not being shelved or cancelled, and I'll get to why it's been paused in a moment, but I wanna ask. I've been toying with features pertaining to Act-specific assets. One such thing I'm working on is Act-Specific Pattern Load Cues. Is this something you guys would find useful?

    Also... Brain, would you be willing to help me out with a few things pertaining to the Stock Driver and Clone Driver? I'm currently trying to ensure everything with the driver branches is taken care of before proceeding further.

    That's as good a segue as any to transition to why progress has halted. I had a couple of questions asked on Discord so I'll address it here. ATM, S1Fixed is on pause for three reasons
    1. Most importantly, I am working on the sound driver branches atm, and wish to hold off on other updates and changes until that's done.
    2. I am using S1Fixed as a base for a hacking contest entry next year (Hint: General Screenshot Thread), and that contest entry is also becoming a sandbox for possible updates and fixes to add to S1Fixed as well.
    3. I have a collaborator working on a few things that I'm holding off on before a future release as well. We both have a few things in the works before a major release is ready.
    So, yeah! That's the update.
     
    Last edited: Nov 1, 2024
  10. Brainulator

    Brainulator

    Regular garden-variety member Member
    Sure, I guess. I'm on the Sonic Retro Discord server if you need to reach out.