(DC) Sonic Adventure Prototype (1998-10-16)

Discussion in 'General Sonic Discussion' started by Orengefox, May 21, 2013.

  1. evilhamwizard

    evilhamwizard

    Researcher
    1,328
    130
    43
    I got Casinopolis extracted into SA1LVL format but only two of the maps load up in SALVL. Surprisingly all the maps are here but lack any references to textures. So when you view these they will not load any textures even if you specify a prs/pvm to use.

    The level order is like this:
    stg09_0_casino (3B14) - Main Hall (crashes)
    stg09_1_casino (35748) - Dilapidated Way
    stg09_2_casino (47F30) - Sonic Pinball
    stg09_3_casino (65860) - Nights Pinball (crashes)

    From the looks of things, Dilapidated Way appears mostly the same as the final as far as I can tell. That unused section that's well known in the beginning is still there and still leads to no where.

    Sonic Pinball table looks different but not too drastic.

    [​IMG][​IMG]
    Final top, prototype bottom. I used wireframe since the prototype one looks better in wireframe. The color of the wireframe in the picture of the final is probably off due to the loading incorrect textures on my part.
     
  2. Quexinos

    Quexinos

    Since 1997 Oldbie
    1,672
    0
    0
    I vowed never to log into this site again... but... this... this is really awesome. Good job guys. Be proud of this.
     
  3. Certain guy just told me it once happened in SADX PC like an Easter Egg, but no proof exist. May be it can be found while browsing through animations?
     
  4. MainMemory

    MainMemory

    Have no fear...Amy Rose is here! Tech Member
    4,397
    64
    28
    SonLVL
    How are these two images not showing the exact same thing? All you have to do is go into a level as Amy, and jump.
     
  5. Dark Sonic

    Dark Sonic

    Member
    12,533
    169
    43
    Working on my art!
    In the first one the dress flies wayyy upwards, to the point the dress is covering her chest. In SADX and I assume SA final, it only goes up part of the way.
     
  6. Spinksy

    Spinksy

    Member
    219
    0
    16
    UK
    This is awesome stuff, great work!

    Keep it up guys :)
     
  7. Paradigm

    Paradigm

    20
    0
    0
    Primrose Hill
    An original story entitled "Obscured into Hubris"
    So now that we found the beta Windy Valley, does there exist any missing areas that were found on earlier reports (in other levels)?
     
  8. evilhamwizard

    evilhamwizard

    Researcher
    1,328
    130
    43
    I started a disassembly of STG02.BIN yesterday and got somewhere thanks to MainMemory's awesome IDC script for IDA Pro 5.5. Not sure how helpful this is going to be once I get through with some of this. I finished labeling all the strings, marked the two LandTable structs and started locating the MESH/ATTACH/Vertex3/etc for them. I'm not sure if any tool that MainMemory/Dude made will tell you the textures the specific LandTable uses, so here's a list of texture entries for each LandTable:

    For the first level (11ED8)
    Code (ASM):
    1. ROM:0C9137C0 WinVal_00_TexLi:TexListEntry <aS_wt12, 0, 0> ; DATA XREF: ROM:WinVal_00_TexHeo
    2. ROM:0C9137C0                                         ; "s_wt12"
    3. ROM:0C9137CC                 TexListEntry <aS_w0, 0, 0> ; "s_w0"
    4. ROM:0C9137D8                 TexListEntry <aS_wt10, 0, 0> ; "s_wt10"
    5. ROM:0C9137E4                 TexListEntry <aS_m15, 0, 0> ; "s_m15"
    6. ROM:0C9137F0                 TexListEntry <aS_w17, 0, 0> ; "s_w17"
    7. ROM:0C9137FC                 TexListEntry <aS_g17, 0, 0> ; "s_g17"
    8. ROM:0C913808                 TexListEntry <aS_w12, 0, 0> ; "s_w12"
    9. ROM:0C913814                 TexListEntry <aAmi02, 0, 0> ; "ami02"
    10. ROM:0C913820                 TexListEntry <aS_w58, 0, 0> ; "s_w58"
    11. ROM:0C91382C                 TexListEntry <aS_w57, 0, 0> ; "s_w57"
    12. ROM:0C913838                 TexListEntry <aS_wt13, 0, 0> ; "s_wt13"
    13. ROM:0C913844                 TexListEntry <aS_g23, 0, 0> ; "s_g23"
    14. ROM:0C913850                 TexListEntry <aS_wt0, 0, 0> ; "s_wt0"
    15. ROM:0C91385C                 TexListEntry <aS_w59, 0, 0> ; "s_w59"
    16. ROM:0C913868                 TexListEntry <aS_wt29, 0, 0> ; "s_wt29"
    17. ROM:0C913874                 TexListEntry <aS_m25, 0, 0> ; "s_m25"
    18. ROM:0C913880                 TexListEntry <aS_m02, 0, 0> ; "s_m02"
    19. ROM:0C91388C                 TexListEntry <aS_wt7, 0, 0> ; "s_wt7"
    20. ROM:0C913898                 TexListEntry <aS_w56, 0, 0> ; "s_w56"
    21. ROM:0C9138A4                 TexListEntry <aS_wt4, 0, 0> ; "s_wt4"
    22. ROM:0C9138B0                 TexListEntry <aS_m35, 0, 0> ; "s_m35"
    23. ROM:0C9138BC                 TexListEntry <aS_m41, 0, 0> ; "s_m41"
    24. ROM:0C9138C8                 TexListEntry <aS_wt18, 0, 0> ; "s_wt18"
    25. ROM:0C9138D4                 TexListEntry <aS_wt17, 0, 0> ; "s_wt17"
    26. ROM:0C9138E0                 TexListEntry <aS_wt14, 0, 0> ; "s_wt14"
    27. ROM:0C9138EC                 TexListEntry <aS_g13, 0, 0> ; "s_g13"
    28. ROM:0C9138F8                 TexListEntry <aW_wv5, 0, 0> ; "w_wv5"
    29. ROM:0C913904                 TexListEntry <aS_wt15, 0, 0> ; "s_wt15"
    30. ROM:0C913910                 TexListEntry <aS_wt27, 0, 0> ; "s_wt27"
    31. ROM:0C91391C                 TexListEntry <aS_wt20, 0, 0> ; "s_wt20"
    32. ROM:0C913928                 TexListEntry <aS_w3, 0, 0> ; "s_w3"
    33. ROM:0C913934                 TexListEntry <aS_wt11, 0, 0> ; "s_wt11"
    34. ROM:0C913940                 TexListEntry <aS_wt19, 0, 0> ; "s_wt19"
    35. ROM:0C91394C                 TexListEntry <aS_wt24, 0, 0> ; "s_wt24"
    36. ROM:0C913958                 TexListEntry <aS_wt26, 0, 0> ; "s_wt26"
    37. ROM:0C913964                 TexListEntry <aS_wt25, 0, 0> ; "s_wt25"
    38. ROM:0C913970                 TexListEntry <aS_m28, 0, 0> ; "s_m28"
    39. ROM:0C91397C                 TexListEntry <aS_wt8, 0, 0> ; "s_wt8"
    40. ROM:0C913988                 TexListEntry <aS_wt22, 0, 0> ; "s_wt22"
    41. ROM:0C913994                 TexListEntry <aS_wt23, 0, 0> ; "s_wt23"
    42. ROM:0C9139A0                 TexListEntry <aS_wt30, 0, 0> ; "s_wt30"
    43. ROM:0C9139AC                 TexListEntry <aS_wt21, 0, 0> ; "s_wt21"
    44. ROM:0C9139B8 WinVal_00_TexHe:TexListHead <WinVal_00_TexLi, 42> ; DATA XREF: sub_C90803E+4o

    For the third level (1379C):
    Code (ASM):
    1. ROM:0C966D70 WinVal_02_TexLi:TexListEntry <aW_wv6, 0, 0> ; DATA XREF: ROM:WinVal_02_TexHeo
    2. ROM:0C966D70                                         ; "w_wv6"
    3. ROM:0C966D7C                 TexListEntry <aS_w57_0, 0, 0> ; "s_w57"
    4. ROM:0C966D88                 TexListEntry <aMetal01_64, 0, 0> ; "Metal01_64"
    5. ROM:0C966D94                 TexListEntry <aS_g23_0, 0, 0> ; "s_g23"
    6. ROM:0C966DA0                 TexListEntry <aRock03, 0, 0> ; "ROCK03"
    7. ROM:0C966DAC                 TexListEntry <aW_wv4, 0, 0> ; "w_wv4"
    8. ROM:0C966DB8                 TexListEntry <aW_wv1, 0, 0> ; "w_wv1"
    9. ROM:0C966DC4                 TexListEntry <aS_m28_0, 0, 0> ; "s_m28"
    10. ROM:0C966DD0                 TexListEntry <aS_wt8_0, 0, 0> ; "s_wt8"
    11. ROM:0C966DDC                 TexListEntry <aS_wt13_0, 0, 0> ; "s_wt13"
    12. ROM:0C966DE8                 TexListEntry <aS_m26, 0, 0> ; "s_m26"
    13. ROM:0C966DF4                 TexListEntry <aS_w14, 0, 0> ; "s_w14"
    14. ROM:0C966E00                 TexListEntry <aS_m71, 0, 0> ; "s_m71"
    15. ROM:0C966E0C                 TexListEntry <aS_w27, 0, 0> ; "s_w27"
    16. ROM:0C966E18                 TexListEntry <aW_wv17, 0, 0> ; "w_wv17"
    17. ROM:0C966E24                 TexListEntry <aW_wv3, 0, 0> ; "w_wv3"
    18. ROM:0C966E30                 TexListEntry <aS_w3_0, 0, 0> ; "s_w3"
    19. ROM:0C966E3C                 TexListEntry <aS_m43, 0, 0> ; "s_m43"
    20. ROM:0C966E48                 TexListEntry <aS_wt0_0, 0, 0> ; "s_wt0"
    21. ROM:0C966E54                 TexListEntry <aS_w58_0, 0, 0> ; "s_w58"
    22. ROM:0C966E60                 TexListEntry <aS_wt29_0, 0, 0> ; "s_wt29"
    23. ROM:0C966E6C                 TexListEntry <aS_wt11_0, 0, 0> ; "s_wt11"
    24. ROM:0C966E78                 TexListEntry <aS_g24, 0, 0> ; "s_g24"
    25. ROM:0C966E84                 TexListEntry <aW_wv9, 0, 0> ; "w_wv9"
    26. ROM:0C966E90                 TexListEntry <aS_wt30_0, 0, 0> ; "s_wt30"
    27. ROM:0C966E9C                 TexListEntry <aS_m41_0, 0, 0> ; "s_m41"
    28. ROM:0C966EA8                 TexListEntry <aS_m15_0, 0, 0> ; "s_m15"
    29. ROM:0C966EB4                 TexListEntry <aS_m40, 0, 0> ; "s_m40"
    30. ROM:0C966EC0                 TexListEntry <aW_wv8, 0, 0> ; "w_wv8"
    31. ROM:0C966ECC                 TexListEntry <aW_wv10, 0, 0> ; "w_wv10"
    32. ROM:0C966ED8                 TexListEntry <aS_wt7_0, 0, 0> ; "s_wt7"
    33. ROM:0C966EE4                 TexListEntry <aS_w61, 0, 0> ; "s_w61"
    34. ROM:0C966EF0                 TexListEntry <aW_wv12, 0, 0> ; "w_wv12"
    35. ROM:0C966EFC                 TexListEntry <aW_wv13, 0, 0> ; "w_wv13"
    36. ROM:0C966F08                 TexListEntry <aS_m25_0, 0, 0> ; "s_m25"
    37. ROM:0C966F14                 TexListEntry <aW_wv19, 0, 0> ; "w_wv19"
    38. ROM:0C966F20                 TexListEntry <aS_g13_0, 0, 0> ; "s_g13"
    39. ROM:0C966F2C                 TexListEntry <aW_wv15, 0, 0> ; "w_wv15"
    40. ROM:0C966F38                 TexListEntry <aS_wt26_0, 0, 0> ; "s_wt26"
    41. ROM:0C966F44                 TexListEntry <aW_wv18, 0, 0> ; "w_wv18"
    42. ROM:0C966F50                 TexListEntry <aS_m02_0, 0, 0> ; "s_m02"
    43. ROM:0C966F5C                 TexListEntry <aS_wt24_0, 0, 0> ; "s_wt24"
    44. ROM:0C966F68                 TexListEntry <aS_w5, 0, 0> ; "s_w5"
    45. ROM:0C966F74                 TexListEntry <aW_wv20, 0, 0> ; "w_wv20"
    46. ROM:0C966F80                 TexListEntry <aW_wv5_0, 0, 0> ; "w_wv5"
    47. ROM:0C966F8C                 TexListEntry <aS_wt25_0, 0, 0> ; "s_wt25"
    48. ROM:0C966F98                 TexListEntry <aW_wv11, 0, 0> ; "w_wv11"
    49. ROM:0C966FA4                 TexListEntry <aW_wv16, 0, 0> ; "w_wv16"
    50. ROM:0C966FB0                 TexListEntry <aS_wt23_0, 0, 0> ; "s_wt23"
    51. ROM:0C966FBC                 TexListEntry <aW_wv14, 0, 0> ; "w_wv14"
    52. ROM:0C966FC8                 TexListEntry <aS_wt4_0, 0, 0> ; "s_wt4"
    53. ROM:0C966FD4                 TexListEntry <aS_wt22_0, 0, 0> ; "s_wt22"
    54. ROM:0C966FE0                 TexListEntry <aS_w0_0, 0, 0> ; "s_w0"
    55. ROM:0C966FEC                 TexListEntry <aS_wt14_0, 0, 0> ; "s_wt14"
    56. ROM:0C966FF8                 TexListEntry <aS_wt27_0, 0, 0> ; "s_wt27"
    57. ROM:0C967004 WinVal_02_TexHe:TexListHead <WinVal_02_TexLi, 55>
    58.  

    I haven't found any cross references to the object list. But I haven't started disassembling actual code yet (at least with certainty). I still can't find references to the NULL'd out LandTable in here of second part (the Inside the Tornado map) in here. I was able to carve out a list from the other texture names that weren't listed for the other LandTables though. I doubt this is even correct since I don't trust the addressing (I randomly made some parts near the beginning of the file into code and it eventually found a starting location for the texture entry array):

    Code (ASM):
    1. ROM:0C9FE700 stru_C9FE700:   TexListEntry <aGreen_1, 0, 0> ; DATA XREF: ROM:stru_C9FECB8o
    2. ROM:0C9FE700                 TexListEntry <aS_w59_0, 0, 0> ; "green_1"
    3. ROM:0C9FE700                 TexListEntry <aS_w56_0, 0, 0>
    4. ROM:0C9FE700                 TexListEntry <aS_wt15_0, 0, 0>
    5. ROM:0C9FE700                 TexListEntry <aS_w12_0, 0, 0>
    6. ROM:0C9FE700                 TexListEntry <aO_wm14, 0, 0>
    7. ROM:0C9FE700                 TexListEntry <aS_m97, 0, 0>
    8. ROM:0C9FE700                 TexListEntry <aS_m96, 0, 0>
    9. ROM:0C9FE700                 TexListEntry <aO_wm12, 0, 0>
    10. ROM:0C9FE700                 TexListEntry <aS_m81, 0, 0>
    11. ROM:0C9FE700                 TexListEntry <aS_m20, 0, 0>
    12. ROM:0C9FE700                 TexListEntry <aS_m98, 0, 0>
    13. ROM:0C9FE700                 TexListEntry <aS_m99, 0, 0>
    14. ROM:0C9FE700                 TexListEntry <aS_m86, 0, 0>
    15. ROM:0C9FE700                 TexListEntry <aS_m34, 0, 0>
    16. ROM:0C9FE700                 TexListEntry <aGreen01, 0, 0>
    17. ROM:0C9FE700                 TexListEntry <aGreen00, 0, 0>
    18. ROM:0C9FE700                 TexListEntry <aFlo_leaf, 0, 0>
    19. ROM:0C9FE700                 TexListEntry <aFlower01, 0, 0>
    20. ROM:0C9FE700                 TexListEntry <aFlower00, 0, 0>
    21. ROM:0C9FE700                 TexListEntry <aW_tachikimiki, 0, 0>
    22. ROM:0C9FE700                 TexListEntry <aO_wm02, 0, 0>
    23. ROM:0C9FE700                 TexListEntry <aO_wm03, 0, 0>
    24. ROM:0C9FE700                 TexListEntry <aO_wm06, 0, 0>
    25. ROM:0C9FE700                 TexListEntry <aS_m38, 0, 0>
    26. ROM:0C9FE700                 TexListEntry <aS_m21, 0, 0>
    27. ROM:0C9FE700                 TexListEntry <aS_m73, 0, 0>
    28. ROM:0C9FE700                 TexListEntry <aS_m36, 0, 0>
    29. ROM:0C9FE700                 TexListEntry <aWood7_64, 0, 0>
    30. ROM:0C9FE700                 TexListEntry <aWall14_64, 0, 0>
    31. ROM:0C9FE700                 TexListEntry <aWall01_64, 0, 0>
    32. ROM:0C9FE700                 TexListEntry <aWood1_064, 0, 0>
    33. ROM:0C9FE700                 TexListEntry <aWood1_y64, 0, 0>
    34. ROM:0C9FE700                 TexListEntry <aWood_64, 0, 0>
    35. ROM:0C9FE700                 TexListEntry <aNuno13, 0, 0>
    36. ROM:0C9FE700                 TexListEntry <aNuno12, 0, 0>
    37. ROM:0C9FE700                 TexListEntry <aWood5_y64, 0, 0>
    38. ROM:0C9FE700                 TexListEntry <aO_wi04, 0, 0>
    39. ROM:0C9FE700                 TexListEntry <aTx30, 0, 0>
    40. ROM:0C9FE700                 TexListEntry <aO_wi06, 0, 0>
    41. ROM:0C9FE700                 TexListEntry <aTx030, 0, 0>
    42. ROM:0C9FE700                 TexListEntry <aO_wi05, 0, 0>
    43. ROM:0C9FE700                 TexListEntry <aTt030, 0, 0>
    44. ROM:0C9FE700                 TexListEntry <aTai_3, 0, 0>
    45. ROM:0C9FE700                 TexListEntry <aO_wm10, 0, 0>
    46. ROM:0C9FE700                 TexListEntry <aO_wm09, 0, 0>
    47. ROM:0C9FE700                 TexListEntry <aWall53_64, 0, 0>
    48. ROM:0C9FE700                 TexListEntry <aNuno56_64, 0, 0>
    49. ROM:0C9FE700                 TexListEntry <aO_wm07, 0, 0>
    50. ROM:0C9FE700                 TexListEntry <aLeaf1, 0, 0>
    51. ROM:0C9FE700                 TexListEntry <aKuki, 0, 0>
    52. ROM:0C9FE700                 TexListEntry <aTane, 0, 0>
    53. ROM:0C9FE700                 TexListEntry <aS_m37, 0, 0>
    54. ROM:0C9FE700                 TexListEntry <aS_m95, 0, 0>
    55. ROM:0C9FE700                 TexListEntry <aLeaf03, 0, 0>
    56. ROM:0C9FE700                 TexListEntry <aO_wi46, 0, 0>
    57. ROM:0C9FE700                 TexListEntry <aO_wi02, 0, 0>
    58. ROM:0C9FE700                 TexListEntry <aFlower, 0, 0>
    59. ROM:0C9FE700                 TexListEntry <aO_wi48, 0, 0>
    60. ROM:0C9FE700                 TexListEntry <aO_wi40, 0, 0>
    61. ROM:0C9FE700                 TexListEntry <aO_wi34, 0, 0>
    62. ROM:0C9FE700                 TexListEntry <aO_wi35, 0, 0>
    63. ROM:0C9FE700                 TexListEntry <aFlo_kuki, 0, 0>
    64. ROM:0C9FE700                 TexListEntry <aO_wm18, 0, 0>
    65. ROM:0C9FE700                 TexListEntry <aO_wm19, 0, 0>
    66. ROM:0C9FE700                 TexListEntry <aW_wv40, 0, 0>
    67. ROM:0C9FE700                 TexListEntry <aS_m90, 0, 0>
    68. ROM:0C9FE700                 TexListEntry <aS_m48, 0, 0>
    69. ROM:0C9FE700                 TexListEntry <aW_wv41, 0, 0>
    70. ROM:0C9FE700                 TexListEntry <aNuno55_64, 0, 0>
    71. ROM:0C9FE700                 TexListEntry <aS_m89, 0, 0>
    72. ROM:0C9FE700                 TexListEntry <aS_m94, 0, 0>
    73. ROM:0C9FE700                 TexListEntry <aO_wm16, 0, 0>
    74. ROM:0C9FE700                 TexListEntry <aS_w57_1, 0, 0>
    75. ROM:0C9FE700                 TexListEntry <aMetal01_64_0, 0, 0>
    76. ROM:0C9FE700                 TexListEntry <aS_m47, 0, 0>
    77. ROM:0C9FE700                 TexListEntry <aO_wm15, 0, 0>
    78. ROM:0C9FE700                 TexListEntry <aWall51_64, 0, 0>
    79. ROM:0C9FE700                 TexListEntry <aS_m87, 0, 0>
    80. ROM:0C9FE700                 TexListEntry <aS_m79, 0, 0>
    81. ROM:0C9FE700                 TexListEntry <aW_kimiki, 0, 0>
    82. ROM:0C9FE700                 TexListEntry <aW_kusa1, 0, 0>
    83. ROM:0C9FE700                 TexListEntry <aW_tachikiha, 0, 0>
    84. ROM:0C9FE700                 TexListEntry <aW_tachikiha1, 0, 0>
    85. ROM:0C9FE700                 TexListEntry <aW_tachikimiki2, 0, 0>
    86. ROM:0C9FE700                 TexListEntry <aO_wm01, 0, 0>
    87. ROM:0C9FE700                 TexListEntry <aS_g23_1, 0, 0>
    88. ROM:0C9FE700                 TexListEntry <aW_wv19_0, 0, 0>
    89. ROM:0C9FE700                 TexListEntry <aRock03_0, 0, 0>
    90. ROM:0C9FE700                 TexListEntry <aW_wv4_0, 0, 0>
    91. ROM:0C9FE700                 TexListEntry <aW_wv3_0, 0, 0>
    92. ROM:0C9FE700                 TexListEntry <aS_m15_1, 0, 0>
    93. ROM:0C9FE700                 TexListEntry <aW_wv13_0, 0, 0>
    94. ROM:0C9FE700                 TexListEntry <aW_wv6_0, 0, 0>
    95. ROM:0C9FE700                 TexListEntry <aW_wv8_0, 0, 0>
    96. ROM:0C9FE700                 TexListEntry <aW_wv15_0, 0, 0>
    97. ROM:0C9FE700                 TexListEntry <aW_wv16_0, 0, 0>
    98. ROM:0C9FE700                 TexListEntry <aS_wt4_1, 0, 0>
    99. ROM:0C9FE700                 TexListEntry <aS_w0_1, 0, 0>
    100. ROM:0C9FE700                 TexListEntry <aW_wv1_0, 0, 0>
    101. ROM:0C9FE700                 TexListEntry <aW_wv9_0, 0, 0>
    102. ROM:0C9FE700                 TexListEntry <aS_g13_1, 0, 0>
    103. ROM:0C9FE700                 TexListEntry <aS_m28_1, 0, 0>
    104. ROM:0C9FE700                 TexListEntry <aS_m71_0, 0, 0>
    105. ROM:0C9FE700                 TexListEntry <aW_wv12_0, 0, 0>
    106. ROM:0C9FE700                 TexListEntry <aW_wv20_0, 0, 0>
    107. ROM:0C9FE700                 TexListEntry <aS_m41_1, 0, 0>
    108. ROM:0C9FE700                 TexListEntry <aW_wv10_0, 0, 0>
    109. ROM:0C9FE700                 TexListEntry <aW_wv11_0, 0, 0>
    110. ROM:0C9FE700                 TexListEntry <aW_wv14_0, 0, 0>
    111. ROM:0C9FE700                 TexListEntry <aS_wt8_1, 0, 0>
    112. ROM:0C9FE700                 TexListEntry <aS_w3_1, 0, 0>
    113. ROM:0C9FE700                 TexListEntry <aS_wt30_1, 0, 0>
    114. ROM:0C9FE700                 TexListEntry <aS_wt24_1, 0, 0>
    115. ROM:0C9FE700                 TexListEntry <aS_wt25_1, 0, 0>
    116. ROM:0C9FE700                 TexListEntry <aS_wt0_1, 0, 0>
    117. ROM:0C9FE700                 TexListEntry <aS_wt23_1, 0, 0>
    118. ROM:0C9FE700                 TexListEntry <aS_m40_0, 0, 0>
    119. ROM:0C9FE700                 TexListEntry <aS_w58_1, 0, 0>
    120. ROM:0C9FE700                 TexListEntry <aS_wt11_1, 0, 0>
    121. ROM:0C9FE700                 TexListEntry <aW_wv5_1, 0, 0>
    122. ROM:0C9FE700                 TexListEntry <aS_wt27_1, 0, 0>
    123. ROM:0C9FECB8 stru_C9FECB8:   TexListHead <stru_C9FE700, 122> ; DATA XREF: ROM:0C900450o
    124.  

    I more or less want to find the address of the object models themselves so we can see what the modeling looks like for some of those. I haven't found the starting address for those either yet. I'm slowly trying to adapt to IDA Pro.

    EDIT: Come to think of it that last texture list might be for OBJ_WINDY.PRS that's not here. I have no idea though. I think I also have the tex list for BG_WINDY00/01/02.PRS, etc.
     
  9. MainMemory

    MainMemory

    Have no fear...Amy Rose is here! Tech Member
    4,397
    64
    28
    SonLVL
    Are you talking about CreateModelStructs.idc from the SA1 disasm? Are you aware of the functions within it?
    You can type these in the IDC bar at the bottom, using ScreenEA() for address to get the address of the cursor, and it'll turn the data at the cursor and everything it refers to into structs.

    Edit: If you're searching for models, the best way is to look for the sequence of bytes 00 00 80 3F 00 00 80 3F 00 00 80 3F, which equate to 1.0f 1.0f 1.0f, the most common scale value. Then you can go up 0x20 bytes and see if you can turn it into an OBJECT struct.

    I should warn you though, always try making the struct manually before doing it with the script, because if you get it wrong, you could end up destroying the whole disasm (save often).
     
  10. evilhamwizard

    evilhamwizard

    Researcher
    1,328
    130
    43
    Ah, yeah. I know about the functions (I kinda implied the fact when I listed the address of each land table, I used MakeLandTableStructs(0xc91379C) for example for the second one). I think I might've phrased something incorrectly...

    I was more concerned about finding the models since I'm taking a look at your STG01.BIN disassembly and I was trying to figure out how you found the object list for it. I'll try looking for them again now.

    Hehe, yeah I found out that last part the hard way. :P

    EDIT: Ah crap I just realized I copied and pasted from an older version of my idb where I did everything manually. That's why every entry lists it's own address in my paste. I restarted recently and it lists the address of the first entry for all entries instead. Sorry about that
     
  11. MainMemory

    MainMemory

    Have no fear...Amy Rose is here! Tech Member
    4,397
    64
    28
    SonLVL
    Finding an object list is relatively simple. If you can find the string "RING" (or "O RING" or "I RING" or whatever), you can then search for something that references that address (do this by converting the address to a sequence of bytes in little endian, 12345678 -> 78 56 34 12), and it should give you the object name pointer for the first item in the list. Go back however many bytes there are from the name pointer to the beginning, and you should be at the start of the list. Search for a reference to that address, and it should give you the header, which will tell you how many objects there are. You could also search in 1ST_READ.BIN for a reference to the header's address, which will lead you to the master object list list.
     
  12. evilhamwizard

    evilhamwizard

    Researcher
    1,328
    130
    43
    Cool, I got it now. I was also able to locate the models for the objects as well and export just a few of them to view them in SAMDL. I've gone through most of STG02.BIN and I can't find anything for the missing second part of the level. I worked out the texture lists, and while I still don't know what Tomado_##.PVR is supposed to be, it lists the texture names for the first part of the stage, then texture names for the third part of the stage, then texture names for the objects, then textures for the background images. Then you have debugging strings, and then pick up again with more texture names. I noticed the order of the individual texture name lists correlate to the location of where the individual object model/mesh locations. Like for example since Mpoliexp## are the last textures listed, the object struct for this model is the very last one in the entire file. I believe the model is for the gun blast explosion when E-103 shoots at you. The next object structs before that one are for the individual pieces of E-103 (I think anyway), and his texture list is laid out before the Mpoliexp one and so on.

    I can also use some of the halfassed SH4 assembly code that loads each object from the list to try and pinpoint where the code loads the Object Struct. For example, here's Pole1 I think:

    [​IMG]
    Or the ruins of such...

    That's all I have so far. It definitely looks like the Tornado bit doesn't exist, so all we have are parts before and after. :(

    By the way, I remembered something. I wanted to look at AL_RACE.BIN and normally the address is the last one listed in the master list. The key is 0xC900000, which is unusual for the level, and the address would be EE04. But I get an error while trying to extract it with LevelExtractor or view it with SALVL. Maybe this is for something else?

    EDIT: Bah nevermind. I think I have my addressing all messed up. I don't think that's Pole1.
     
  13. Catley

    Catley

    Member
    50
    0
    0
    I bet you guys are dying to see some screens of the beta Windy Valley, eh?

    Part 1:
    [​IMG]

    Part 2:
    [​IMG]

    The reason you're seeing technicolor textures is for darkspines35 and I to develop a better understanding of what textures go where. There's about 53 textures in total, I'm not sure if the beta WV utlizes all 53 textures.
    Part 2 looks like it could almost be an adventure field itself, haha. It contains a lot of the same areas that are seen in some earlier videos and screenshots.

    [​IMG]
    [​IMG]
    Sonic-CulT says hello.
     
  14. RyogaMasaki

    RyogaMasaki

    0xffffffff Oldbie
    Awesome work! Can't wait to see what else is found in the coming weeks.

    Yes. Yes we are.
     
  15. E-122-Psi

    E-122-Psi

    Member
    1,900
    69
    28
    Cool, so the level textures still exist in the game then?

    The second area looks very spacious and branched out. Either they already had the multiple character paths worked out or it indeed SA1 was intended to play very different.
     
  16. Glaber

    Glaber

    Has Beaten Sonic Genesis for GBA Oldbie
    If any one gets part 2 working in game (SA Dreamcast, SADX Gamecube, SADXPC 2004, or SADX Steam) with textures, some one remake that promotional picture with tails.
     
  17. SF94

    SF94

    Tech Member
    776
    2
    18
    Utah
    SA1/2 hax
    Those images are...

    ...from here.
     
  18. Tanks

    Tanks

    Member
    1,028
    0
    16
    I don't think that's the case. I believe they're working with whatever leftover data is indicating which textures went where on the models. The rest will have to come from the imagination that is the Retro group think (or that one basement dweller who's really good at texturing shit.) :P
     
  19. Dude

    Dude

    Tech Member
    3,138
    0
    16
    Southbridge, MA
    Random VR/AR trash
    This is the case. The textures in that image were just numbers so they could see exactly which texture slots were and were not being used, in an attempt to cut down on the amount of texture files they would have to look for from other sources (final game, other levels, etc.)
     
  20. evilhamwizard

    evilhamwizard

    Researcher
    1,328
    130
    43
    I'm slowly starting to get the object model data out of STG02. But I'm having difficulty cross referencing the name the game provides with these objects. Here's some more to wet your appetite:
    [​IMG][​IMG][​IMG][​IMG]
    I plan on trying to get most of the models out, but this stage has a lot of objects so it might take a while. I'm sure there's an easier way and someone already has everything extracted though. :P

    I can see if I can get the dragon out from SHOOTING but everyone's seen that already. :\

    Not sure if I should keep going.