don't click here

Problem with Sonic 2 - Text Codes Generator

Discussion in 'Engineering & Reverse Engineering' started by GroovyGamer, Feb 4, 2025.

  1. GroovyGamer

    GroovyGamer

    Member
    6
    1
    3
    So i was using S2TCG for the first time and i cant figure out how to use it. it's talking about changing
    TC_EHZ: dc.w $B ; EMERALD HILL
    dc.w $0005, $8580, $82C0, $FFC3 ; E
    dc.w $0009, $85DE, $82EF, $FFD0 ; M
    dc.w $0005, $8580, $82C0, $FFE8 ; E
    dc.w $0005, $85E4, $82F2, $FFF8 ; R
    dc.w $0005, $85E8, $82F4, $0008 ; A
    dc.w $0005, $85EC, $82F6, $0018 ; L
    dc.w $0005, $85F0, $82F8, $0028 ; D

    dc.w $0005, $85F4, $82FA, $0048 ; H
    dc.w $0001, $85F8, $82FC, $0058 ; I
    dc.w $0005, $85EC, $82F6, $0060 ; L
    dc.w $0005, $85EC, $82F6, $0070 ; L

    but i see

    word_147E8: spriteHeader
    spritePiece -$3D, 0, 2, 2, $580, 0, 0, 0, 1
    spritePiece -$30, 0, 3, 2, $5DE, 0, 0, 0, 1
    spritePiece -$18, 0, 2, 2, $580, 0, 0, 0, 1
    spritePiece -8, 0, 2, 2, $5E4, 0, 0, 0, 1
    spritePiece 8, 0, 2, 2, $5E8, 0, 0, 0, 1
    spritePiece $18, 0, 2, 2, $5EC, 0, 0, 0, 1
    spritePiece $28, 0, 2, 2, $5F0, 0, 0, 0, 1
    spritePiece $48, 0, 2, 2, $5F4, 0, 0, 0, 1
    spritePiece $58, 0, 1, 2, $5F8, 0, 0, 0, 1
    spritePiece $60, 0, 2, 2, $5EC, 0, 0, 0, 1
    spritePiece $70, 0, 2, 2, $5EC, 0, 0, 0, 1
    word_147E8_End

    where it's supposed to be.
     
  2. Devon

    Devon

    Please do not contact me, overwhelmed with stuff Tech Member
    1,522
    1,878
    93
    your mom
    You can replace that just fine. It's just gonna be in the raw format instead of the macro format. Just make sure to change "word_147E8" to "TC_EHZ".
     
  3. GroovyGamer

    GroovyGamer

    Member
    6
    1
    3
    like this?

    Obj34_MapUnc_147BA: mappingsTable
    .zone_names: zoneOrderedOffsetTable 2,1
    zoneOffsetTableEntry.w TC_EHZ ; EHZ
    zoneOffsetTableEntry.w word_147E8 ; Zone 1
    zoneOffsetTableEntry.w word_147E8 ; WZ
    zoneOffsetTableEntry.w word_147E8 ; Zone 3
    zoneOffsetTableEntry.w word_14842 ; MTZ1,2
    zoneOffsetTableEntry.w word_14842 ; MTZ3
    zoneOffsetTableEntry.w word_14B24 ; WFZ
    zoneOffsetTableEntry.w word_14894 ; HTZ
    zoneOffsetTableEntry.w word_148CE ; HPZ
    zoneOffsetTableEntry.w word_147E8 ; Zone 9
    zoneOffsetTableEntry.w word_14930 ; OOZ
    zoneOffsetTableEntry.w word_14972 ; MCZ
    zoneOffsetTableEntry.w word_149C4 ; CNZ
    zoneOffsetTableEntry.w word_14A1E ; CPZ
    zoneOffsetTableEntry.w word_14B86 ; DEZ
    zoneOffsetTableEntry.w word_14A88 ; ARZ
    zoneOffsetTableEntry.w word_14AE2 ; SCZ
    zoneTableEnd
    mappingsTableEntry.w word_14BC8
    mappingsTableEntry.w word_14BEA
    mappingsTableEntry.w word_14BF4
    mappingsTableEntry.w word_14BFE
    mappingsTableEntry.w word_14C08
    mappingsTableEntry.w word_14C32

    TC_EHZ: dc.w $D ; SAPPHIRE PLAIN
    dc.w $0005, $85DE, $82EF, $FFB0 ; S
    dc.w $0005, $85E2, $82F1, $FFC0 ; A
    dc.w $0005, $85E6, $82F3, $FFD0 ; P
    dc.w $0005, $85E6, $82F3, $FFE0 ; P
    dc.w $0005, $85EA, $82F5, $FFF0 ; H
    dc.w $0001, $85EE, $82F7, $0000 ; I
    dc.w $0005, $85F0, $82F8, $0008 ; R
    dc.w $0005, $8580, $82C0, $0018 ; E

    dc.w $0005, $85E6, $82F3, $0038 ; P
    dc.w $0005, $85F4, $82FA, $0048 ; L
    dc.w $0005, $85E2, $82F1, $0058 ; A
    dc.w $0001, $85EE, $82F7, $0068 ; I
    dc.w $0005, $8584, $82C2, $0070 ; N
     
  4. Devon

    Devon

    Please do not contact me, overwhelmed with stuff Tech Member
    1,522
    1,878
    93
    your mom
    Looks okay to me.
     
  5. GroovyGamer

    GroovyGamer

    Member
    6
    1
    3
    thanks
     
  6. Devon

    Devon

    Please do not contact me, overwhelmed with stuff Tech Member
    1,522
    1,878
    93
    your mom
    Oh yeah, I assume you went into "TitleCardLetters" so that the correct letter graphics can load?
     
  7. GroovyGamer

    GroovyGamer

    Member
    6
    1
    3
    this?
    ; word_15832:
    TitleCardLetters:

    TitleCardLetters_EHZ:
    titleLetters "SAPPHIRE PLAIN"

    wait im getting an error
    > > > s2.asm(28239) zoneOffsetTableEntry(1) zoneTableEntry(7):22: error #1010: symbol undefined
    > > > word_147E8
    > > > dc.w word_147E8-.current_offset_table
    > > > ~~~~~~~~~~
    > > > s2.asm(28240) zoneOffsetTableEntry(1) zoneTableEntry(7):22: error #1010: symbol undefined
    > > > word_147E8
    > > > dc.w word_147E8-.current_offset_table
    > > > ~~~~~~~~~~
    > > > s2.asm(28241) zoneOffsetTableEntry(1) zoneTableEntry(7):22: error #1010: symbol undefined
    > > > word_147E8
    > > > dc.w word_147E8-.current_offset_table
    > > > ~~~~~~~~~~
    > > > s2.asm(28247) zoneOffsetTableEntry(1) zoneTableEntry(7):22: error #1010: symbol undefined
    > > > word_147E8
    > > > dc.w word_147E8-.current_offset_table
    > > > ~~~~~~~~~~
     
    Last edited by a moderator: Feb 4, 2025
  8. Devon

    Devon

    Please do not contact me, overwhelmed with stuff Tech Member
    1,522
    1,878
    93
    your mom
    Looks like those entries are using the Emerald Hill mappings, so you also gotta replace those instances with "TC_EHZ".
     
  9. GroovyGamer

    GroovyGamer

    Member
    6
    1
    3
    thanks!
     

    Attached Files:

  10. Selbi

    Selbi

    The Euphonic Mess Member
    1,529
    142
    43
    Northern Germany
    Sonic ERaZor
    I wanna put on record that I've written that tool nearly 15 years ago. So... yeah.
     
    • Informative Informative x 1
    • List
  11. RobiWanKenobi

    RobiWanKenobi

    Python Dev Member
    13
    13
    3
    In relation to that, I made a newer version that has a conversion table (and also lets you output to the disasm label instead of TC_XXX (though you can do that too))

    Code (Text):
    1.  
    2. word_147E8 = Emerald Hill Zone
    3. word_14842 = Metropolis Zone
    4. word_14894 = Hill Top Zone
    5. word_148CE = Hidden Palace Zone
    6. word_14930 = Oil Ocean Zone
    7. word_14972 = Mystic Cave Zone
    8. word_149C4 = Casino Night Zone
    9. word_14A1E = Chemical Plant Zone
    10. word_14A88 = Aquatic Ruin Zone
    11. word_14AE2 = Sky Chase Zone
    12. word_14B24 = Wing Fortress Zone
    13. word_14B86 = Death Egg Zone
    14. word_14BC8 = Zone Text
    15. word_14BEA = 1 text
    16. word_14BF4 = 2 text
    17. word_14BFE = 3 text
    18. word_14C08 = Sonic The Hedgehog text
    19. word_14C32 = Red Stripes on Titlecard
    20.