Sonic and Sega Retro Message Board: Dreamcast mods for SADX - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
  • 13 Pages +
  • 1
  • 2
  • 3
  • 4
  • Last ►
    Locked
    Locked Forum

Dreamcast mods for SADX DC Branding, textures, level ports, lighting research, etc.

#16 User is offline E-122-Psi 

Posted 31 July 2016 - 09:07 PM

  • Posts: 1729
  • Joined: 29-December 09
  • Gender:Male
  • Wiki edits:41

View PostMorph, on 31 July 2016 - 09:03 PM, said:

The lighting is definitely different in appearance, but the underlying system is the same--it's no more or less dynamic. There can be up to 4 active lights at a time, but DX typically only uses one, and at most two from what I've seen. Like I said, it's just a matter of poor lighting configuration on DX's part.


How complicated would it be to reverse, if possible at all?

#17 User is offline Morph 

Posted 31 July 2016 - 09:19 PM

  • AKA SonicFreak94.
  • Posts: 738
  • Joined: 01-August 08
  • Gender:Male
  • Location:Utah
  • Project:SA1/2 hax
  • Wiki edits:11
As I mentioned, it's something I've been meaning to look into. It should just be a matter of finding the stage and character light data and slotting it into place in the PC version. The problem is finding that data, which is the part that needs "looking into" :v:

#18 User is offline TheArcadeStriker 

Posted 31 July 2016 - 09:58 PM

  • Posts: 16
  • Joined: 29-July 16
  • Gender:Male
  • Location:Venezuela
  • Project:Dreamcast mods for SADX (Formerly SADX99)

View PostMorph, on 31 July 2016 - 09:03 PM, said:

The lighting is definitely different in appearance, but the underlying system is the same--it's no more or less dynamic. There can be up to 4 active lights at a time, but DX typically only uses one, and at most two from what I've seen. Like I said, it's just a matter of poor lighting configuration on DX's part.


Well, what I got to do at most is only changing textures, but I don't know if I should basically change the texture adding some color, simulating as if it had DC lightning (Like JmStHaW did with Twinkle Park DC apparently).
By the way, I'm curious by how JmStHaW done that Dreamcast landtable ports to DX (Red Mountain and Twinkle Park). I tried it many times and all failing to varying degrees, none working properly enough.

I wonder how to place invisible walls in levels with either SADXLVL2 or SALVL, because only to fix the lack of invisible wall at the start of Final Egg 2. I would do this if I knew how to do it, or if someone isn't going to do it yet (Who knows if that ends up in the next version of SADXFE).
Thanks for all the replies and feedback! I done Twinkle Park Act 1 & 2 and its objects, along with Twinkle Circuit with DC textures (The closest I could get for it to look like DC, in Act 1 at least). I also done the Lost World Act 1 and its objects, and done some work with SS Chao Garden. This is all coming for the next version, which will be soon.

And by the way, I was going to ask about the possible "lightning fix", then noticed E-122 asked and Morph replied while I was writing this in the topic summary :V

#19 User is offline PkR 

Posted 31 July 2016 - 11:33 PM

  • Posts: 140
  • Joined: 04-August 12
  • Gender:Male
  • Project:SADX Dreamcast Conversion, The Emeralds' Awakening
Several years ago I did a little experiment and ported Dreamcast landtables to SADX PC with the help of Morph and MainMemory. It involved extracting Dreamcast landtables using Level Extractor, editing the texture list address in the landtable file to make it compatible with the PC version, updating the .EXE with the correct texture count for the level and rebuilding the .EXE with the edited landtable. After this the game would work with Dreamcast levels using original Dreamcast PVMs. However, lighting was completely missing in the levels ported this way. Back then I assumed it was because the lighting system was rewritten for the PC port, and the data for it was relocated, so the Dreamcast levels had it stored somewhere else. This is as far as I could get:
Posted Image
Posted Image
Posted Image

#20 User is offline Jmtshaw 

Posted 01 August 2016 - 06:03 AM

  • Posts: 59
  • Joined: 12-September 10
  • Gender:Not Telling

View PostTheArcadeStriker, on 31 July 2016 - 09:58 PM, said:

Well, what I got to do at most is only changing textures, but I don't know if I should basically change the texture adding some color, simulating as if it had DC lightning (Like JmStHaW did with Twinkle Park DC apparently).
By the way, I'm curious by how JmStHaW done that Dreamcast landtable ports to DX (Red Mountain and Twinkle Park). I tried it many times and all failing to varying degrees, none working properly enough.

I honestly consider what I did with those landtable ports back then to be a bit shoddy because there were a lot of things that didn't work and I ended up breaking some of the levels entirely, haha. I think it was due to the textures but I'm not an expert on it.

Also, ah well. I guess I was wrong about the lighting working totally different between the two games. It makes me happy that reproducing the lighting from the original game is theoretically possible though.

View PostTheArcadeStriker, on 31 July 2016 - 09:58 PM, said:

I wonder how to place invisible walls in levels with either SADXLVL2 or SALVL, because only to fix the lack of invisible wall at the start of Final Egg 2.

I'm curious about how the collision was changed between the two games now though seeing as how not far from where that wall you're talking about is you can also do this in DX, whereas in all the Dreamcast versions there's a more solid barrier there to stop you.

#21 User is offline TheArcadeStriker 

Posted 01 August 2016 - 10:27 AM

  • Posts: 16
  • Joined: 29-July 16
  • Gender:Male
  • Location:Venezuela
  • Project:Dreamcast mods for SADX (Formerly SADX99)

View PostPkR, on 31 July 2016 - 11:33 PM, said:

Several years ago I did a little experiment and ported Dreamcast landtables to SADX PC with the help of Morph and MainMemory. It involved extracting Dreamcast landtables using Level Extractor, editing the texture list address in the landtable file to make it compatible with the PC version, updating the .EXE with the correct texture count for the level and rebuilding the .EXE with the edited landtable. After this the game would work with Dreamcast levels using original Dreamcast PVMs. However, lighting was completely missing in the levels ported this way. Back then I assumed it was because the lighting system was rewritten for the PC port, and the data for it was relocated, so the Dreamcast levels had it stored somewhere else. This is as far as I could get:
Posted Image
Posted Image
Posted Image


All this thing of the lightning seems somewhat curious now that I see this in the folder of the data extracted from splitSADX: Stage Lights.ini, which as it seems to indicate, it has the lightning or stage light data list for the stages. So I think that experimenting with this maybe could get to make stuff closer to DC. I will be trying for now with this if it works (Exporting with Struct Converter and trying with Mod Loader after exporting with Visual Studio).

#22 User is offline MainMemory 

Posted 01 August 2016 - 10:33 AM

  • Every day's the same old thing... Same place, different day...
  • Posts: 3957
  • Joined: 14-August 09
  • Gender:Not Telling
  • Project:SonLVL
  • Wiki edits:1,339

View PostTheArcadeStriker, on 31 July 2016 - 09:58 PM, said:

I wonder how to place invisible walls in levels with either SADXLVL2 or SALVL, because only to fix the lack of invisible wall at the start of Final Egg 2. I would do this if I knew how to do it, or if someone isn't going to do it yet (Who knows if that ends up in the next version of SADXFE).

You have to either import a model, or copy an existing level piece.

View PostTheArcadeStriker, on 01 August 2016 - 10:27 AM, said:

All this thing of the lightning seems somewhat curious now that I see this in the folder of the data extracted from splitSADX: Stage Lights.ini, which as it seems to indicate, it has the lightning or stage light data list for the stages. So I think that experimenting with this maybe could get to make stuff closer to DC. I will be trying for now with this if it works (Exporting with Struct Converter and trying with Mod Loader after exporting with Visual Studio).

All that needs to be done is locating the data in the Dreamcast version, and feeding it into the PC version. Also, you don't have to build a DLL, the mod loader can load data from ini files.

#23 User is offline TheArcadeStriker 

Posted 01 August 2016 - 10:48 AM

  • Posts: 16
  • Joined: 29-July 16
  • Gender:Male
  • Location:Venezuela
  • Project:Dreamcast mods for SADX (Formerly SADX99)

View PostMainMemory, on 01 August 2016 - 10:33 AM, said:

View PostTheArcadeStriker, on 31 July 2016 - 09:58 PM, said:

I wonder how to place invisible walls in levels with either SADXLVL2 or SALVL, because only to fix the lack of invisible wall at the start of Final Egg 2. I would do this if I knew how to do it, or if someone isn't going to do it yet (Who knows if that ends up in the next version of SADXFE).

You have to either import a model, or copy an existing level piece.

View PostTheArcadeStriker, on 01 August 2016 - 10:27 AM, said:

All this thing of the lightning seems somewhat curious now that I see this in the folder of the data extracted from splitSADX: Stage Lights.ini, which as it seems to indicate, it has the lightning or stage light data list for the stages. So I think that experimenting with this maybe could get to make stuff closer to DC. I will be trying for now with this if it works (Exporting with Struct Converter and trying with Mod Loader after exporting with Visual Studio).

All that needs to be done is locating the data in the Dreamcast version, and feeding it into the PC version. Also, you don't have to build a DLL, the mod loader can load data from ini files.


Well, that you can load the inis without building a DLL seems really convenient, though I don't know where I should place them anyways. I also wonder if you can actually do a kind of export of character mods (A.K.A modify CHRMODELS exported data and use it as a mod in Mod Loader), since one time I tried extracting the data for a Dreamcast Sonic mod for SADX, and tried making it into a DLL, but gave me errors in Visual Studio compilation, so it can be considered it couldn't work (I used DLLGenerator or something like that to get the cpp).
I also checked around in Final Egg 2 in SALVL, both SADX and SADC and I didn't find anything that was like a invisible wall in both, so I don't know where I could get one to add it.

By the way, thanks for all the help, and I wonder where the data of the lights could be found in the Dreamcast. Since as I mentioned, I would try changing some values for Ice Cap 2 and:
Posted Image
I just changed some values with Blue and Red RGB values, and that was the result. I didn't intend it for it to look like the DC (And it doesn't indeed) but only a test. It looks overall nicer than DX though, and the change doesn't seem to affect characters or enemies (The snake enemy didn't have lightning like if it was in the modified stage, but in the DX normal stage lightning), so I wonder where the data could be in DX so that it either the lights that affect the characters, or something that makes the stage lights affect the characters too.
EDIT: When I done that, I didn't touch AmbientRGB, so that may be what I needed to change?
This post has been edited by TheArcadeStriker: 01 August 2016 - 11:01 AM

#24 User is offline MainMemory 

Posted 01 August 2016 - 12:31 PM

  • Every day's the same old thing... Same place, different day...
  • Posts: 3957
  • Joined: 14-August 09
  • Gender:Not Telling
  • Project:SonLVL
  • Wiki edits:1,339
Use StructConverter to create the necessary INI files in the mod's folder, then include EXEData=data.ini in mod.ini to get the mod loader to load it.

DLLModGenerator creating broken C++ is a known problem, using the INI option might work, but probably not, because character model swaps require extra stuff to not crash the game.

Objects use different lighting data than the level geometry, I think the location of the data is known, but I'm not sure if the format is.

#25 User is offline E-122-Psi 

Posted 02 August 2016 - 07:00 PM

  • Posts: 1729
  • Joined: 29-December 09
  • Gender:Male
  • Wiki edits:41
Looking at those comparisons, the distance lighting in DX was a nice effect on paper, but clashes badly with the backgrounds (unless there's a way to illuminate the windows separately from the buildings themselves to match the art).

I think the character lighting is what does in a lot of the ambience in DX, they're always the same illumination, never matching the shadowing of their surrounding.

#26 User is offline PkR 

Posted 08 August 2016 - 11:33 PM

  • Posts: 140
  • Joined: 04-August 12
  • Gender:Male
  • Project:SADX Dreamcast Conversion, The Emeralds' Awakening
Not sure if this is known already, but it seems that there are at least 3 types of lighting-related data in SADX. Have a look at this comparison:
Dreamcast:
Posted Image

SADX PC 2004:
Posted Image

SADX PC 2004 with Dreamcast landtables and textures:
Posted Image


As you can see, the shadow on the right disappears when you load the Dreamcast landtable in SADX PC. This leads me to believe there are the following types of lighting:
1. Lighting baked into the landtable itself - apparently the Dreamcast version doesn't use it, which explains why Dreamcast landtables are often smaller in size and why the lighting is odd when you port Dreamcast landtables to SADX PC.
2. "Stage lights" that you can edit in SADX thanks to MainMemory's tools. This may be the "Dreamcast lighting" we're looking for, which may restore the original DC lighting if it is found and ported from DC.
3. Character lighting data, which is used a lot by the Dreamcast version and to a lesser extent the PC version.

#27 User is offline Dude 

Posted 09 August 2016 - 08:52 AM

  • Posts: 3130
  • Joined: 11-September 04
  • Gender:Male
  • Location:Southbridge, MA
  • Project:Random VR/AR trash
  • Wiki edits:43
The first one is the lighting in the vertex color channel. And yes, I believe that the dreamcast version of the game did little to none of this kind of lighting. As far as I can tell, your assessment of the different kinds of lighting is correct.

#28 User is offline Morph 

Posted 09 August 2016 - 11:00 AM

  • AKA SonicFreak94.
  • Posts: 738
  • Joined: 01-August 08
  • Gender:Male
  • Location:Utah
  • Project:SA1/2 hax
  • Wiki edits:11

View PostPkR, on 08 August 2016 - 11:33 PM, said:

As you can see, the shadow on the right disappears when you load the Dreamcast landtable in SADX PC.


The shadow is literally just a transparent black model that they overlayed on top of the standard detail mesh, iirc. I wouldn't call that lighting per se. =P

#29 User is offline Dude 

Posted 09 August 2016 - 07:40 PM

  • Posts: 3130
  • Joined: 11-September 04
  • Gender:Male
  • Location:Southbridge, MA
  • Project:Random VR/AR trash
  • Wiki edits:43

View PostMorph, on 09 August 2016 - 11:00 AM, said:

View PostPkR, on 08 August 2016 - 11:33 PM, said:

As you can see, the shadow on the right disappears when you load the Dreamcast landtable in SADX PC.


The shadow is literally just a transparent black model that they overlayed on top of the standard detail mesh, iirc. I wouldn't call that lighting per se. =P


It could also be extra slices made into the model with darker vertex colors in the cut-out segment. Both kinds of 'fake' shadows were used in the Emerald Coast upgrade, but you're right in that it's only faux-lighting. I actually like Emerald Coast much more in the GameCube version, but it's obvious that Emerald Coast got all the love and the other levels got a more 'meh' level of polish. Interestingly enough if they had wanted to they could have added vibrant lighting with lots of shadows like I did with the WV restoration, but if you go with high contrast then the character models look out of place in the shadows and stuff, so it makes sense that they didn't do it. They'd have to do an octree lightfield thing like they did in Generations / Unleashed or just live with weirdly bright character models chillin in the shade.

#30 User is offline PkR 

Posted 06 September 2016 - 09:18 AM

  • Posts: 140
  • Joined: 04-August 12
  • Gender:Male
  • Project:SADX Dreamcast Conversion, The Emeralds' Awakening
So it appears that the lighting data in the Dreamcast version is stored in PL_ and SL_ .bin files. As evilhamwizard pointed out in the SA DC Prototype thread:

Quote

In other news, I finally figured out what the hell was going on with the lack of lighting/shading in some stages. As it turns out, the build of the game is missing tons of PL_/SL_ (Palette/Source respectively) files, which are used by the game's lighting engine (which is called LANTERN, a palette based engine). The LANTERN lighting engine is exclusive to the Dreamcast version, which is why no other version quite looks like it I think. The game stores two lantern data files for use in the engine for every act/segment. The file names are formed PL_/SL_*Letter*Segment Number*B.BIN, where "letter" is the representation of the stage number (not hex, for some reason). So for example, the lantern palette and source files for Windy Valley act three would be PL_ or SL_22B.BIN.


Although the post says the LANTERN engine is only functional in the Dreamcast version, I found the same files in the Gamecube version and tried to load a modified ISO. After replacing all PL_ and SL_ files with their Dreamcast counterparts I couldn't see any differences. I tried replacing them on both the final version and the "Preview" prototype, which has some noticeable lighting differences from the final version. It stayed exactly the same, including character lighting and stage lights. I then tried to rebuild the ISO without any PL/SL files altogether. The game worked and looked just fine. So it seems the Gamecube version doesn't use these fles.

Well, at least now we know where the Dreamcast version stores its lighting. Maybe this data is compatible with SADX and it's only a matter of reimporting it into the correct place, or maybe the LANTERN engine is just non-existent on the GC and PC versions at all. I still hope this helps us get a little closer to restoring Dreamcast lighting in SADX PC.

EDIT: I removed all SL_ and PL_ files in the Dreamcast version and got some really interesting results:

Posted Image

Posted Image

Posted Image

Pretty much all lighting disappeared from the game, including character gloss. This is interesting because it means these files could also contain character lighting data.

EDIT2: Tried to boot Dreamcast SA with PL_ and SL_ files from the Gamecube version. Level lighting and character gloss are back, but everything is tinted blue for whatever reason. It does look like Dreamcast lighting though, so my guess is it's just a minor format incompatibility between DC and GC, and the files in the GC version contain DC lighting, which isn't used in the game.

Here's another comparison. So the files in the Gamecube version indeed contain Dreamcast lighting but it's not used in the game.
This post has been edited by PkR: 06 September 2016 - 09:18 PM

  • 13 Pages +
  • 1
  • 2
  • 3
  • 4
  • Last ►
    Locked
    Locked Forum

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