don't click here

Sonic Mania: Hacking Discussion

Discussion in 'Engineering & Reverse Engineering' started by Chimera, Aug 29, 2017.

  1. codenamegamma

    codenamegamma

    Tech Member
    73
    1
    8
    well i checked hidden palace. and theres no extra objects in the object folder and nothing thats in the stage config that doesn't match whats in the sprite folder. not sure what the "You've already found the arena" means. if it was me specifically? though everything else he talked about was stuff i did find. so its hard to imagine him referencing someone else. plus I've never gone into the hidden reef beta. so if he was referencing stuff I've found that wouldn't be on the list. i did send a tweet, well I've been sending tweets in hope that maybe I can get another clue.
    https://twitter.com/Codenamegamma/status/913157812657598464

    maybe it will turn something up as I'm at a loss here.
     
  2. EyeKey

    EyeKey

    Member
    29
    0
    0
    He responded to your tweet. So as he hinted, I checked the scene file of PSZ1.bin, there is an extra layer that is called "Print Source". It is an empty 512x512 tiles layer.

    EDIT: I inspected the code of this object. It copies tiles from that layer! So if you edit this layer, I guess that it will paint whatever there is in that layer.

    Some more information:
    Three of the attributes for SP500 are srcC srcM and srcY. Those are 3 positions in the Print Source. It is where to copy tiles from the Print Source layer. It choose between C M and Y depending on the current Ink or something like that. So each Ink can paint another picture.
     
  3. codenamegamma

    codenamegamma

    Tech Member
    73
    1
    8
    With Eyekey's help we were able to get it working fully. so here is a small demo video i made so if you like you can get an idea of whats going on.
    http://www.youtube.com/watch?v=vWHCzo60XnM
     
  4. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,744
    338
    63
    SonLVL
    So I've been working on that music mod, and I'm not sure how, but I managed to get it working. All that needs to be done to finish it up is figure out which SMPS music to match with each of Mania's songs. I've set up a form so you can help me do just that.
     
  5. Tanks

    Tanks

    Member
    1,048
    108
    43
    Hah that's awesome! Don't want to be that guy... But it'd be super cool if certain skilled people took up the mantel and got a custom SMPS Mania soundtrack going :).

    That said, it's hard to find equivalents with what we've got now. Definitely starting a write-in campaign for Volcano Valley for Mirage Saloons 1K and 2. I remember replacing the music in Tax's original rendition of "Dust Hill" waaaaaaay back when with Volcano Valley and it fit almost too perfectly.

    Also, I suggested a crackers song somewhere in there (I know it's not on the main list). Is crackers also available? Trying to remember if that's SMPS or not.
     
  6. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,744
    338
    63
    SonLVL
    It is SMPS, but I don't technically have support for it. The DLL is hardcoded to only emulate S1/S2, S3, S&K, and S3D. In order to add Crackers, I'd either have to get Valley Bell to add another engine or change the songs to use one of the existing drumsets (I did this before in KEH with the S1/S2 set).

    An entirely custom soundtrack could be possible, but it would probably require a completely custom drum set.
     
  7. nineko

    nineko

    I am the Holy Cat Tech Member
    6,314
    489
    63
    italy
    Too bad that my ancient Cube to Smps converter gives terrible results, otherwise I'd give you some songs from Mean Bean Machine for the Puyo Puyo boss. + - We need a cubeplay dll.  
     
  8. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,744
    338
    63
    SonLVL
    Well Lil-G did a decent enough job with the "Configuration" music for KEH, so I'm sure someone would be able to, if I add custom music support.
     
  9. nineko

    nineko

    I am the Holy Cat Tech Member
    6,314
    489
    63
    italy
    Well, if I drop the mass-converted Cube songs here, notes and instruments would all be there, someone talented enough would only need to reimplement the volume changes (for which I can provide textual informations) and the pitch bends (which, unfortunately, would be next to impossible to replicate). I really wish ValleyBell could look into Cube since he's magic, but that's for another topic.

    If I'm needed you know where to look.
     
  10. Brainulator

    Brainulator

    Regular garden-variety member Member
    Can the write-in themes be whatever we want?
     
  11. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,744
    338
    63
    SonLVL
    They should be one from the list at the top.
     
  12. Brainulator

    Brainulator

    Regular garden-variety member Member
    Just curious. When I saw the intro themes listed, my first thought was admittedly "Sonic CD intro themes" despite the SMPS intention.
     
  13. Allactaga

    Allactaga

    Member
    3
    0
    0
    Is there a way to edit Super palettes?
    [​IMG]
    I've been able to edit Knuckles and Sonic's colors just fine, but it seems like there's a duplicate of their original palettes that is used when they begin their transformation. I would also like to change Tails' and Knuckles' "fade" palette from their standard color to an almost white, light version of their Super color, like Sonic has. I'm hoping the fade palette of Tails and Knuckles use a 3rd copy of their normal palette, and not the 2nd one used by the brief transformation sprites.

    As for finishing recoloring Sonic, there's a another duplicate of Sonic's palette I can manipulate with the palette editor, which is used by his life icon, his goal post portrait, and his Blue Spheres sprite, but it's also used by numerous other things in the game such as Flicky, the spiked blue obstacles, blue spheres, and the checkpoint ball, so I don't want to edit that one directly. Would it be possible to attach a custom palette to a specific sprite to bypass this issue? I would also like to recolor the title screen and menu art.
     
  14. RandomTBush

    RandomTBush

    Member
    13
    0
    1
    Yep, it's definitely possible, but it'll have to be done through hex editing for now. Data/Objects/36D61A3DE508B500AE0ECF8D33F32943.bin has the palettes.

    All are stored in 4-bit RGB format, and are assuming you're using the most recent files (v1.03, remove 0x05 if you're using an older version's).
    Code (Text):
    1. 0x3C2 = Sonic
    2. 0x413 = Tails
    3. 0x464 = Knuckles
    4. 0x4B5 = Sonic (Hydrocity, Underwater)
    5. 0x506 = Tails (Hydrocity, Underwater)
    6. 0x557 = Knuckles (Hydrocity, Underwater)
    7. 0x5A8 = Sonic (Chemical Plant, Underwater)
    8. 0x5F9 = Tails (Chemical Plant, Underwater)
    9. 0x64A = Knuckles (Chemical Plant, Underwater)
    10. * (Green Hill's underwater palette as such doesn't exist)
    First six palette shades are for their default palette (needs to match their actual palette or else there'll be an inconsistency), second six are for Super Sonic only (and are ignored for Tails/Knuckles!), and the third is for the Super pulse.

    And if you wanted the other elements to not share the same shade of blue as Sonic, just make sure you recolour those to use the other set of blue shades instead, you can edit the sheets' palettes temporarily if you need to double-check.
     
  15. Cooljerk

    Cooljerk

    Professional Electromancer Oldbie
    4,522
    214
    43
    How many palette banks does mania have available during each level?
     
  16. RikohZX

    RikohZX

    Member
    1,012
    281
    63
    What determines how a gif loads correctly in Mania? I have been doing HUD edits to make the in-game UI more like Sonic 3 and Sonic CD in two separate mods, but suddenly my CD-style mod's got its special stage results entirely garbled like the gif or formatting killed itself. I've been editing with GIMP 2 so far and had none of these problems arise until now.
     
  17. EyeKey

    EyeKey

    Member
    29
    0
    0
    So I wrote a quick script to get a list of all the unused objects:
    Acetone
    AnimalHBH
    BadnikHelpers
    Ball
    Batbot
    Bomb
    Bubbler
    Caterkiller
    ColorHelpers
    CompetitionSession
    CutsceneRules
    DrawHelpers
    E3MenuSetup
    EggJanken
    EggJankenPart
    Fireball
    Ink
    InkWipe
    LogHelpers
    MathHelpers
    MonkeyDude
    Newspaper
    Orbinaut
    ParticleHelpers
    Pendulum
    PlayerHelpers
    Redz
    SpearBlock
    Stegway
    TargetBumper
    WallCrawl
    Wisp

    And here is a list of objects that are mentioned in some stages, but don't have any entity, and don't have any code that do static things (only per-instance things): (most of this list is false-positives)
    Announcer
    BSS_Collected
    BSS_HUD
    BSS_Horizon
    BSS_Message
    BSS_Player
    BSS_Setup
    BurningLog
    ChemBubble
    Competition
    DAControl
    Debris
    DebugMode
    DemoMenu
    ERZGunner
    ERZKing
    ERZMystic
    ERZRider
    ERZShinobi
    Explosion
    FXExpandRing
    FXSpinRay
    GHZCutsceneK
    GameOver
    GameProgress
    HCZSpikeBall
    Hatterkiller
    HiLoSign
    Hotaru
    InvincibleStars
    JunctionWheel
    KingAttack
    LRZ1Outro
    LRZ3Cutscene
    LocoSmoke
    LogoSetup
    MSOrb
    MenuParam
    OOZFlames
    PKingAttack
    PSZ2Outro
    PhantomHand
    PhantomShield
    PlayerProbe
    PopcornKernel
    Projectile
    PuyoAttack
    Reagent
    SP500
    SP500MkII
    SSZ3Cutscene
    ScoreBonus
    SeltzerWater
    Shield
    SilverSonic
    SparkRail
    SpeedGate
    SpiralPlatform
    Stalactite
    SuperSparkle
    Sweep
    SwitchDoor
    TMZ1Outro
    TMZ2Outro
    ThanksSetup
    ThoughtBubble
    TitleSetup
    UFO_HUD
    UFO_Message
    UIDialog
    UIWaitSpinner

    And here is a list of those who doesn't have any entity, have code for static instances, but also have code for entities:
    APICallback
    CheckerBall
    CutsceneSeq
    DrillerdroidO
    GreenScreen
    LevelSelect
    LoveTester
    MSZSetup
    MenuSetup
    PauseMenu
    PuyoBean
    SPZ2Setup
    TMZ1Setup
    UFO_Setup
    UberCaterkiller
     
  18. codenamegamma

    codenamegamma

    Tech Member
    73
    1
    8
    http://www.youtube.com/watch?v=8nhmaBzN6dE
     
  19. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,744
    338
    63
    SonLVL
    http://youtu.be/gaVHGF5JOtw

    This mod allows you to choose between playing a random normal stage, a random original Blue Sphere stage, a random Mania stage, or any combination of the three by editing config.ini.

    Download: https://github.com/MainMemory/ManiaRandomBonus/releases
     
  20. Liliam

    Liliam

    Previously Fred Oldbie
    1,563
    117
    43
    I don't understand. How you would defeat this one without taking damage