don't click here

The SX Engine

Discussion in 'Engineering & Reverse Engineering' started by Uhyve, Dec 2, 2010.

Thread Status:
Not open for further replies.
  1. Mad Echidna

    Mad Echidna

    Gone Oldbie
    5,219
    0
    0
    They are in the first post of the Xtreme def files thread that Scarred Sun made last year.
     
  2. Question: Where do I get this SONCBOOM folder? It won't run without it.

    EDIT: WAIT. Scratch this. I think I know what I should be looking for.
     
  3. Uhyve

    Uhyve

    Master Procrastinator Member
    46
    0
    6
    Huddersfield, England
    SX Engine
    Yeah, you can find it here:
    http://forums.sonicretro.org/index.php?showtopic=18538

    I just wasn't sure about the copyright risks, so I figured I wouldn't distribute the program with it. Though really, Sega could probably still take down the project if they wanted to, but for a big company, they've seemed pretty cool about community projects.

    Edit: Oops, missed Mad Echidna's post.
    Edit 2: I'll be interested whether or not it'll work in Wine, it'd be nice to see it working in Linux, though native support would obviously be better.
     
  4. Alright, I have the folders in their proper locations, yet the program refuses to work. What am I doing wrong?
     
  5. Mad Echidna

    Mad Echidna

    Gone Oldbie
    5,219
    0
    0
    Maybe you could be a little more specific? When I tried to run it last night I got a bunch or render errors and the program never actually ran, 4 or 5 different errors saying stuff like "can't run shader" "can't start 3d" or whatever. Can't remember exact wording but I can double check it when I get home.

    As far as redistributing the original assets, yeah Sega won't give a shit, but it's probably good practice to keep it separate anyway, in the vein of other similar open source projects such as FreeCraft/Stratagus. Who knows, maybe this engine will take off and someone will make unique content for it.

    I can't say enough how happy I am that you chose to restore the original game rather than make a clone from scratch. It's driven me mad since the def files were released that no one was looking in to such a thing.
     
  6. Uhyve

    Uhyve

    Master Procrastinator Member
    46
    0
    6
    Huddersfield, England
    SX Engine
    I'd guess it's some DirectX component that's out of date. If you run the web installer, it should just update the stuff you need:
    http://www.microsoft.com/downloads/details...6a-9b6652cd92a3

    I have the newest SDK installed, so the compiled program needs the newest DLLs. I'm sure there's a way to stop people needing to do this, might look into it.
     
  7. Ok, well I put the folders where the readme instructs, then I start the program, and literally nothing happens. The program doesn't even start.

    EDIT: I just did that before you posted it, and I am 100% up-to-date.
     
  8. Uhyve

    Uhyve

    Master Procrastinator Member
    46
    0
    6
    Huddersfield, England
    SX Engine
    Damn, so it just silently quits, that's really confusing. I added something a while back to throw up an error if it was failing at creating the graphics stuff and there's one for if it can't find the SONCBOOM folder. I'll have a think about it. While annoying, it's probably for the best that I'm getting some debugging info, I've only tried it on 2 computers so far.

    Yeah, I always assumed someone would be working on that, probably why I took so long to try myself.

    *sobs*
    More errors, ack. Shader problems could be fixed pretty easily though, I could make the program disable shaders by default (with the option to enable them in the config). At the moment it's using Pixel Shader 2.0, but I know that even some surprisingly modern onboard cards can still be quite fussy and I was hoping to make it more compatible with older machines at some point anyway.

    Edit: I'm starting to think alot of these problems are caused by my DirectX initialization, even though I thought I was catching those errors. I'll have to start grabbing the graphics adapter specs and using those for the max settings.
    Edit 2: Out of curiosity, has anyone got it working? If not, then that would actually be quite interesting and possibly helpful to know about.
    Edit 3: Probably no more updates tonight, gonna go to bed (yes it's quite early here aswell), but I didn't sleep last night and I'm starting to get alittle loopy... :specialed:
     
  9. FraGag

    FraGag

    Tech Member
    SX Engine.exe works fine for me. SX Engine_d.exe doesn't start up because I'm missing some debug DLLs (D3DX9D_43.DLL, MSVCR90D.DLL and MSVCP90D.DLL — I used Dependency Walker to get that information).
     
  10. Mad Echidna

    Mad Echidna

    Gone Oldbie
    5,219
    0
    0
    Maybe it would be a good idea to port this to OpenGL or SDL before you go any further, especially since you want it to be cross platform. If you don't know how to program for OpenGL and/or no one wants to help you, another option is using the Wine d3d instead of Microsoft's direct x implementation. It works just fine on Windows. http://www.nongnu.org/wined3d/
     
  11. Uhyve

    Uhyve

    Master Procrastinator Member
    46
    0
    6
    Huddersfield, England
    SX Engine
    Huh, I've never heard of that before, that's a really cool idea. I suppose there's no reason not to use it...
    I still feel like I would prefer using native OpenGL for some reason, I'mm not sure why, I bet there wouldn't even be much of a speed difference. I'll give Wine a go though.

    Well that's good. Hadn't occurred to me that the debug version wouldn't work, it was compiled with the SDK DLLs, so you need the SDK, I probably shouldn't include that version in the future. There's not much extra in the debug version other than missing textures getting replaced by a default texture and the debug text being enabled by default... it's also quite a bit slower.
     
  12. n00neimp0rtant

    n00neimp0rtant

    EYES ONLY Member
    262
    0
    0
    South Park, PA
    Creation Kit (Skyrim mods and patches)
    Something about that "Jade Gully" stage card actually being part of the 3D scenery has always been kind of...unsettling to me, if not a little bit creepy...
     
  13. Uhyve

    Uhyve

    Master Procrastinator Member
    46
    0
    6
    Huddersfield, England
    SX Engine
    Heh, it is a bit weird looking. Though, it's got a hex dump, so I guess that's the info for it flying away.
     
  14. kazade

    kazade

    Member
    64
    0
    0
    A 2D Physics Engine
    Porting to SDL/GL outright wouldn't be too difficult, the trouble I had is that the code isn't written to support multiple rendering backends etc. so basically it'll mean having two separate versions which isn't really maintainable.

    If you do decide to go the SDL/GL route, then use my math library: (http://launchpad.net/kazmath) it'll save you a bunch of time I haven't compiled it on Windows recently but it should work. Many of the D3DX functions are there but with a different prefix (km) or name. It's a C-library rather than C++ though. Also, look at the SOIL image loading library.
     
  15. Azookara

    Azookara

    yup Member
    Actually, that part isn't nearly as creepy as the millions of stretched out "Good Job!"s all over the finish line. :psyduck:
     
  16. It's good to know I wasn't the only one unsettled by this.
     
  17. Skeledroid

    Skeledroid

    Member
    227
    0
    0
    I imagine those were just placeholders for when the engine started/ended a level. Later on, the engine would be able to display that the level started/ended and animate and/or disappear accordingly.
     
  18. Mad Echidna

    Mad Echidna

    Gone Oldbie
    5,219
    0
    0
    That's what I was thinking as well. It seems pretty clear that the game was still at the Alpha stage when these DEF files were archived. In Chris Senn's videos you can see that this is how the levels looked back when those VHS demos were made, like with Death Egg Zone's bridge to no where for example. The demo just fades to black when Sonic runs out there. It seems pretty clear that the current maps we have were strictly mockups and would have been expanded upon greatly in the eventual game.

    I'm especially thrilled to see that you got some of the objects animated, by the way. SaNiK's viewer made everything look so half baked and lifeless. Was that stuff already in the leaked files or did you reimagine some of that?
     
  19. Uhyve

    Uhyve

    Master Procrastinator Member
    46
    0
    6
    Huddersfield, England
    SX Engine
    I just made the code look for numbers at the end of loaded textures names, then checked for the same name with 1 added on. So, it wasn't really in the DEF files, but I guess that's similar to how the original engine did it. Some of the loaded textures actually have a max frame variable, so I implemented that, just because I thought that the Sonic sprite might mess up otherwise (and added a default max of 16, as a guess). Though, I thought SANiKs last viewer did have animation.

    That's a shame. I might have a look at how other projects support multiple backends, I know there's not a huge payoff from having native graphics support for both OpenGL and DirectX, but the selfish part of me likes that I can run the engine in 3D Vision (doesn't have OpenGL support on non-Quadro cards for some reason). If I do go native OpenGL, there's a pretty good chance of me needing to use something like that math library, I think I've been alittle spoiled by DirectX holding my hand.

    I really need to start doing something on this soon, I've been procrastinating all week... just got LBP2 and the new NFS which hasn't helped...
     
  20. Mad Echidna

    Mad Echidna

    Gone Oldbie
    5,219
    0
    0
    If you really want to troll everyone, port it to Glide :V

    As for SaNiK's other viewer, I don't think I ever got to try it. IIRC he made the original one, which I used, and then got pissy about something and erased every trace of it from his hard drive, and then later on wrote a new one. I never got to use the new one.
     
Thread Status:
Not open for further replies.