Sonic and Sega Retro Message Board: SADX/SA1 Hacking/Modding - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
  • 180 Pages +
  • ◄ First
  • 173
  • 174
  • 175
  • 176
  • 177
  • Last ►
    Locked
    Locked Forum

SADX/SA1 Hacking/Modding Now with more research and development!

#2611 User is offline Turbohog 

Posted 21 September 2017 - 11:20 PM

  • Posts: 473
  • Joined: 25-June 08
  • Gender:Male
  • Wiki edits:22
This is pretty neat! It's cool to have an easy way to play some of the original DLC. Great work as always PkR.

#2612 User is offline Blue Spikeball 

Posted 22 September 2017 - 12:00 AM

  • Posts: 228
  • Joined: 29-October 16
  • Gender:Male
Good job! :thumbsup: I've been contemplating attempting to port the DLC but never got around to it. Nice to know someone else is willing to do it. That way I don't have to ;)
(Not to mention that I don't even know if I would have been able to. I'm not very savvy on editing and porting of SADX objects :v:)

Two questions about the Y2K DLC:
1) What's the reason the rings had to be manually placed? Is it that the data in the DLC files is still not fully understood, so it's currently unknown where the rings' position values are located?
2) Would it be possible to make the rings solid like in the Dreamcast version?
This post has been edited by Blue Spikeball: 22 September 2017 - 12:45 AM

#2613 User is offline PkR 

Posted 22 September 2017 - 12:10 AM

  • Posts: 152
  • Joined: 04-August 12
  • Gender:Male
  • Project:SADX Dreamcast Conversion, The Emeralds' Awakening

Quote

Is it that the data in the DLC files is still not fully understood, so it's currently unknown where the rings' position values are located?

Both I guess? I looked through the binary and found a bunch of floats, but they didn't make much sense as coordinates or rotation values. So it was easier to just do it all manually rather than figure it out.

Quote

Would it be possible to make the rings solid like in the Dreamcast version?

The ones placed on the ground are solid, but for the ones rotating in the air I disabled collision on purpose. They're very glitchy even in the original, it's nearly impossible to touch them as Gamma for example.

#2614 User is offline Blue Spikeball 

Posted 22 September 2017 - 12:24 AM

  • Posts: 228
  • Joined: 29-October 16
  • Gender:Male

View PostPkR, on 22 September 2017 - 12:10 AM, said:

Both I guess? I looked through the binary and found a bunch of floats, but they didn't make much sense as coordinates or rotation values. So it was easier to just do it all manually rather than figure it out.

I see. Perhaps it would be possible to get the rings' positions by running the DLC in a Dreamcast emulator and looking at the memory?

Failing that, I could try finding all rings in the Dreamcast version to see if there are any missing ones. I was planning to re-play the SA1 DLC challenges sometime anyway, so I guess this is as good a time as any to search for the Millennium Rings again.

View PostPkR, on 22 September 2017 - 12:10 AM, said:

The ones placed on the ground are solid, but for the ones rotating in the air I disabled collision on purpose. They're very glitchy even in the original, it's nearly impossible to touch them as Gamma for example.

In that case, may I request an alternate version that keeps all rings solid like in the original? For me, part of the fun was standing on top of the rings as Sonic and exploiting their curvature with the Spindash to reach high places :v:

Unrelated, but here's a bug report about the Enhanced Emerald Coast mod: The distortion effect in the sea looks glitchy, as only a section of it tends to get distorted. Beyond a certain point, the sea is unaffected by it, resulting in a gap.
This post has been edited by Blue Spikeball: 22 September 2017 - 12:38 AM

#2615 User is offline PkR 

Posted 22 September 2017 - 04:09 AM

  • Posts: 152
  • Joined: 04-August 12
  • Gender:Male
  • Project:SADX Dreamcast Conversion, The Emeralds' Awakening

View PostBlue Spikeball, on 22 September 2017 - 12:24 AM, said:

I see. Perhaps it would be possible to get the rings' positions by running the DLC in a Dreamcast emulator and looking at the memory?

Maybe. This isn't something I'd be interested to do, but if you end up finding anything please post here because it may help with figuring out the other DLC stuff.

Quote

In that case, may I request an alternate version that keeps all rings solid like in the original? For me, part of the fun was standing on top of the rings as Sonic and exploiting their curvature with the Spindash to reach high places :v:

Assuming you have Visual Studio and everything, you can disable the if condition by commenting out or deleting lines 183, 184 and 189 in Y2K.cpp. That will make all rings solid.

Quote

Unrelated, but here's a bug report about the Enhanced Emerald Coast mod: The distortion effect in the sea looks glitchy, as only a section of it tends to get distorted. Beyond a certain point, the sea is unaffected by it, resulting in a gap.

This is just the way the original wave effect works, which I described here in the part about enhancements. It's actually a bit better than in SA1 now because I used a few UV workarounds to make the ocean look less jittery, also in my implementation the "big" ocean doesn't disappear behind Sonic during the wave effect, and when it ends there is no visible model swap. The gaps, however, are still there because the high-poly ocean model is small and doesn't connect with the rest of the ocean. Other than remodeling the high-poly ocean and rewriting the code for the whole thing the only "fix" I can think of is using vertex welding, the same way body parts are connected in character models. However, I know next to nothing about that stuff.
This post has been edited by PkR: 25 September 2017 - 04:30 PM

#2616 User is online Kono Mike da! 

Posted 22 September 2017 - 06:56 AM

  • Noodle Limbs
  • Posts: 97
  • Joined: 15-July 16
  • Gender:Male
  • Location:Italy
  • Project:Sonic Millenium: God help us all.
I have an issue to report: SADX crashes while selecting a menu option. I ran the game executable as admin, and the following message popped up:

(I translated the Italian parts of the error message)

Le informazioni su come richiamare il debug JIT (Just-In-Time) anziché questa finestra
sono riportate in fondo al messaggio. ("the information on how to call back the JIT debug instead of this window is shown at the bottom of this message")

************** Testo dell'eccezione **************
System.InvalidOperationException: Errore di WaitForInputIdle.  È possibile che il processo non abbia un'interfaccia grafica. (WaitForInputIdle error. It's possibile the process may not have a graphic interface.)
   in System.Diagnostics.Process.WaitForInputIdle(Int32 milliseconds)
   in SADXModManager.MainForm.saveAndPlayButton_Click(Object sender, EventArgs e) in E:\AutoBuild\sadx-mod-loader\SADXModManager\MainForm.cs:riga 798 (line 798)
   in System.Windows.Forms.Control.OnClick(EventArgs e)
   in System.Windows.Forms.Button.OnClick(EventArgs e)
   in System.Windows.Forms.Button.WndProc(Message& m)
   in System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   in System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   in System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Assembly caricati **************
mscorlib
    Versione assembly: 4.0.0.0
    Versione Win32: 4.7.2114.0 built by: NET47REL1LAST
    Base di codice: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
SADXModManager
    Versione assembly: 1.0.0.0
    Versione Win32: 1.0.0.0
    Base di codice: file:///C:/Users/Michele/Desktop/sadx/Sonic%20Adventure%20DX/SADXModManager.exe
----------------------------------------
System.Windows.Forms
    Versione assembly: 4.0.0.0
    Versione Win32: 4.7.2114.0 built by: NET47REL1LAST
    Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Versione assembly: 4.0.0.0
    Versione Win32: 4.7.2114.0 built by: NET47REL1LAST
    Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Versione assembly: 4.0.0.0
    Versione Win32: 4.7.2114.0 built by: NET47REL1LAST
    Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Versione assembly: 4.0.0.0
    Versione Win32: 4.7.2053.0 built by: NET47REL1
    Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Core
    Versione assembly: 4.0.0.0
    Versione Win32: 4.7.2114.0 built by: NET47REL1LAST
    Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
    Versione assembly: 4.0.0.0
    Versione Win32: 4.7.2114.0 built by: NET47REL1LAST
    Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.GeneratedCode
    Versione assembly: 1.0.0.0
    Versione Win32: 4.7.2114.0 built by: NET47REL1LAST
    Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.resources
    Versione assembly: 4.0.0.0
    Versione Win32: 4.6.1055.0 built by: NETFXREL2
    Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.resources/v4.0_4.0.0.0_it_b77a5c561934e089/System.resources.dll
----------------------------------------
System.Windows.Forms.resources
    Versione assembly: 4.0.0.0
    Versione Win32: 4.6.1055.0 built by: NETFXREL2
    Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_it_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
mscorlib.resources
    Versione assembly: 4.0.0.0
    Versione Win32: 4.6.1055.0 built by: NETFXREL2
    Base di codice: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_it_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------

************** Debug JIT **************
Per abilitare il debug JIT, è necessario impostare il valore
jitDebugging nella sezione system.windows.forms del file di configurazione
dell'applicazione o del computer (machine.config).
L'applicazione inoltre deve essere compilata con il debug
abilitato.

Ad esempio:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

Quando il debug JIT è abilitato, tutte le eccezioni non gestite
vengono inviate al debugger JIT registrato nel computer,
anziché essere gestite da questa finestra di dialogo.




Does this have anything to do with the DS3 controller I'm using? For reference, here's a list of the mods I'm using:

Mod1=SADXFE
Mod2=input-mod
Mod3=sadx-dc-lighting
Mod4=adx music
Mod5=DC_Bosses
Mod6=DC_Casinopolis
Mod7=DC_EggCarrier
Mod8=DC_EmeraldCoast
Mod9=DC_FinalEgg
Mod10=DC_General
Mod11=DC_HotShelter
Mod12=DC_IceCap
Mod13=DC_LostWorld
Mod14=DC_MysticRuins
Mod15=DC_Past
Mod16=DC_RedMountain
Mod17=DC_SkyDeck
Mod18=DC_SpeedHighway
Mod19=DC_StationSquare
Mod20=DC_SubGames
Mod21=DC_TwinklePark
Mod22=DC_WindyValley
Mod23=OptionalMods\\Cowgirl
Mod24=OptionalMods\\RevertECDrawDistance
Mod25=OptionalMods\\TrainDaytime
Mod26=SETFixes
Mod27=SoundOverhaul
Mod28=ECGardenOceanFix
Mod29=OptionalMods\\DisableSA1Titlescreen
Mod30=HD_DCStyle
Mod31=DisableUpgradeModels
Mod32=DC_Branding



Thank you in advance.

#2617 User is offline Dark Sonic 

Posted 22 September 2017 - 08:13 AM

  • Posts: 10981
  • Joined: 21-April 06
  • Gender:Male
  • Project:Working on my art!
  • Wiki edits:10
It's possible you didn't update the dll file associated with the lantern lighting mod. I know that caused the game to crash on me under similar circumstances.
This post has been edited by Dark Sonic: 22 September 2017 - 08:13 AM

#2618 User is offline MainMemory 

Posted 22 September 2017 - 09:16 AM

  • Every day's the same old thing... Same place, different day...
  • Posts: 4006
  • Joined: 14-August 09
  • Gender:Not Telling
  • Project:SonLVL
  • Wiki edits:1,339
That error message only means the mod manager timed out while waiting for the game to get properly started, it has no relation to why the game crashed.

#2619 User is online Kono Mike da! 

Posted 22 September 2017 - 12:33 PM

  • Noodle Limbs
  • Posts: 97
  • Joined: 15-July 16
  • Gender:Male
  • Location:Italy
  • Project:Sonic Millenium: God help us all.

View PostDark Sonic, on 22 September 2017 - 08:13 AM, said:

It's possible you didn't update the dll file associated with the lantern lighting mod. I know that caused the game to crash on me under similar circumstances.


Yeah, I think updating the dll is what fixed it.

View PostMainMemory, on 22 September 2017 - 09:16 AM, said:

That error message only means the mod manager timed out while waiting for the game to get properly started, it has no relation to why the game crashed.


Oops. Sorry about that.

Thank you both!

#2620 User is offline PkR 

Posted 22 September 2017 - 01:50 PM

  • Posts: 152
  • Joined: 04-August 12
  • Gender:Male
  • Project:SADX Dreamcast Conversion, The Emeralds' Awakening
You might want to remove DisableSA1TitleScreen and Casinopolis Cowgirl since those do nothing now. You can toggle the SA1 title screen and the cowgirl via config.ini in DC_Branding and DC_Casinopolis folders.
Also HD GUI should be listed after DC Branding. With your current mod order a lot of HD textures are being replaced by Dreamcast resolution textures.

#2621 User is offline sonicblur 

Posted 22 September 2017 - 02:39 PM

  • Posts: 1109
  • Joined: 18-February 08
  • Gender:Male
  • Wiki edits:6

View PostPkR, on 22 September 2017 - 12:10 AM, said:

Quote

Is it that the data in the DLC files is still not fully understood, so it's currently unknown where the rings' position values are located?

Both I guess? I looked through the binary and found a bunch of floats, but they didn't make much sense as coordinates or rotation values. So it was easier to just do it all manually rather than figure it out.

Back when I initially wrote the decryptor, I tried to find the same data as well. I was expecting to see the usual SET format used for other object placement, since the DLC had the ability to place objects and SET entries are pretty easy to recognize on their own, but I didn't see anything like that in any of the files. I also confirmed at that time there is no SH4 assembly code in any of the downloads, so it seems that all logic in the downloads just comes from pre-defined features that the downloads can use. I still think there's got to be some equivalent of SET data in there, since the location of things probably wouldn't have all been defined ahead of time. The other odd thing is the lack of a reference to SSRACING.ADX in the file. In the SA2 downloads, once those were decompressed you could easily find the filename of the custom music track for Kart race downloads and even change it, but here there's no sign of it. Even if it were PRS compressed, text usually doesn't compress well in PRS and you'd still see part of RACING since the characters don't repeat. At some point this may make me want to look at the data again and see if I can figure out some of the unknown regions. Maybe in addition to encrypting the entire file, perhaps some sections were compressed as well. I don't think there's any additional encryption though, the data isn't random enough.

I may have posted some of this information before, I just can't remember at this point if I did or not.

#2622 User is offline PkR 

Posted 22 September 2017 - 02:48 PM

  • Posts: 152
  • Joined: 04-August 12
  • Gender:Male
  • Project:SADX Dreamcast Conversion, The Emeralds' Awakening

View Postsonicblur, on 22 September 2017 - 02:39 PM, said:

Back when I initially wrote the decryptor, I tried to find the same data as well. I was expecting to see the usual SET format used for other object placement, since the DLC had the ability to place objects and SET entries are pretty easy to recognize on their own, but I didn't see anything like that in any of the files. I also confirmed at that time there is no SH4 assembly code in any of the downloads, so it seems that all logic in the downloads just comes from pre-defined features that the downloads can use. I still think there's got to be some equivalent of SET data in there, since the location of things probably wouldn't have all been defined ahead of time.

Yeah, I also think there should be something like that in there. For the Y2K DLC, the data probably isn't in the PRS-compressed binary though because most of it is occupied by the ring model. Anyway this needs to be looked into. 0x280 to 0x7C0 in the decrypted VMS file looks interesting.

Quote

The other odd thing is the lack of a reference to SSRACING.ADX in the file. In the SA2 downloads, once those were decompressed you could easily find the filename of the custom music track for Kart race downloads and even change it, but here there's no sign of it.

I'm going to guess it works the same way as the other music tracks - there's a unique track ID for each file, so the argument for the function that plays the music is just a number. The music IDs for Super Sonic Racing (87) and Palmtree Panic (84) are included even in SADX, so that's probably how it works in SA1 too.

EDIT: Looks like someone has figured it out! Now we have the exact coordinates for ring placement.

EDIT2: so ok, there's a 30-byte structure with the following:
0x00 1 byte Level ID
0x01 1 byte Act number
0x02 1 byte X scale multiplied by 10 (typical values: 10, 15, 30 etc.)
0x03 1 byte Y scale multiplied by 10
0x04 1 byte Z scale multiplied by 10
0x05 1 byte X rotation speed (multiple of 16/65535 in BAMS)
0x06 1 byte Y rotation speed (multiple of 16/65535 in BAMS)
0x07 1 byte Z rotation speed (multiple of 16/65535 in BAMS)
0x08 1 byte Probably used to determine if the model has collision. Can be 0 (normal), 80 (no collision) or FF.
0x09 1 byte DLC-specific object type. For Y2K it's 0 for the ring, 3 for the poster
0x0A 1 byte Unknown. Seems to be either 0x10 or 0x01
0x0B 1 byte Unknown
0x0C 1 byte May be used as an ID in missions where you collect items
0x0D 1 byte Probably unused
0x0E 1 byte Message ID to display when you touch the object
0x0F 1 byte Collision sphere radius?
0x10 1 byte Unknown
0x11 1 byte Sound/Music ID to play when touching/collecting the object.
0x12 2 bytes X rotation (BAMS)
0x14 2 bytes Y rotation (BAMS)
0x16 2 bytes Z rotation (BAMS)
0x18 2 bytes X coordinate
0x1A 2 bytes Y coordinate
0x1C 2 bytes Z coordinate
This post has been edited by PkR: 01 October 2017 - 11:47 AM

#2623 User is offline azureinferno 

Posted 22 September 2017 - 05:41 PM

  • Posts: 14
  • Joined: 06-September 17
Is 1A on the first line for the Station Square adventure field? In that video you posted earlier, the action stage rings looked like they all shared the "support Sonic in 2K" message while the posters in Station Square had different messages about Sonic, Tails and Knuckles while the ring's message was explaining the various rings un action stages. Does the 01 in its 0E represent the latter message while the 02 in Emerald Coast 1's 0E and the 0Es from there downward represent the "support Sonic" message?

#2624 User is offline PkR 

Posted 22 September 2017 - 05:50 PM

  • Posts: 152
  • Joined: 04-August 12
  • Gender:Male
  • Project:SADX Dreamcast Conversion, The Emeralds' Awakening
Yes to all of the above. Also it looks like the Halloween and DC Launch Party DLCs are using the same structure, so it was probably some kind of a universal object creation system.

#2625 User is offline azureinferno 

Posted 22 September 2017 - 06:05 PM

  • Posts: 14
  • Joined: 06-September 17
If that object creation system exists and manages to get cracked, that sounds like it would be incredibly helpful for anybody trying to mod SA/SADX.

That reminds me, is the byte structure for the DLC Twinkle Park track any similar, like which ones represent an object's coordinates on a map? You said that you manually added the entrance to the track in SADX to where it was located on the other side of the sewer river in SA1DC, right?

  • 180 Pages +
  • ◄ First
  • 173
  • 174
  • 175
  • 176
  • 177
  • Last ►
    Locked
    Locked Forum

7 User(s) are reading this topic
0 members, 7 guests, 0 anonymous users