Share, discuss, and develop games.
You are not logged in.
andrew75 wrote:
Couldn't get a file to export. Not sure if I'm doing it correctly, backspace key right?
what happens after that?
Other than that everything works perfectly!
EDIT: just read the bugs section,, guess export wont work in this build anyways.
I've not tested level exporting for a while, but last time I did, it was actually working, it just didn't export any materials. It should create a file called [levelname].x in the media directory, but it might just be failing, though I thought I'd put in an error message for when it fails. Not at my main computer so I can't test right now.
Last edited by Uhyve (2010-12-13 22:34:34)
Offline
oh OK, yeah it worked, does it have any material Id's applied or anything?
i think that would be enough,
Offline
I actually have no idea how the DirectX mesh export function really works. One of the many reasons I've been wanting to do a rewrite of the level export functionality. But I'm gonna guess it doesn't.
Edit: Made a few small changes to the level exporting, figured you might be interested. Scales are now applied, still no textures though. So, here's a slightly new build.
Revision 80
Last edited by Uhyve (2010-12-14 10:16:31)
Offline
I'm gonna steal your spotlight by saying: release 80!
anywho, I can't wait to play the "new worlds" or whatever level when this becomes an engine.
Last edited by Omega (2010-12-14 13:28:33)
Offline
hey have you thought about using another format besides .x ?
Offline
Yeah, I suppose. At the moment, I'm just using ".x" because that's what DirectX exports and I've never written a custom exporter before. I'm thinking I might look into mesh exporting libraries (there must be some out there), because that could become a total timesink.
Offline
https://collada.org/mediawiki/index.php … nge_Schema
this is a very good format. .dae (Collada)
I've used it for years, supports alot of features.
Last edited by andrew75 (2010-12-14 15:48:13)
Offline
I'll keep that in mind.
Figured I'd release the source as a Christmas present. There's no actual progress since last release and it's super messy since I wasn't actually planning on releasing anything, but at least if I get lazy and stop working on it now, people don't have to start again from scratch.
And yes, it's realllly messy.
http://code.google.com/p/sx-engine/source/detail?r=2
Last edited by Uhyve (2010-12-25 17:37:05)
Offline
Merry x-mas! and great present!
Last edited by andrew75 (2010-12-26 09:02:01)
Offline
And so I suppose the development ends here? Oh well... Still this was one of the highlites of the holiday season for me.
Offline
I've been programming alot slower than before the holidays... which I suppose is partially connected because I got a bunch of games but yeah, I'm still going, maybe a bit slower. SANiKs actually been giving me a hand with some of the stuff that I had no idea about, he actually figured out the PATHs in the DEF files, which is going to be so useful when I get around to that part of the code (plus he pointed out a couple of mistakes I made with scaling and suggested some ways to clean up the code, which is currently ongoing).
So yeah, at the moment, mainly making big behind the scene changes to make it easier to make game related changes... annoyingly, if I do this stage right, everything will look exactly the same. You can see individual changes on the google code page:
http://code.google.com/p/sx-engine/source/list
Offline
You really need to work on making it export non-Direct-X files. Direct-X is a dodgey API made by a even more dodgey company -_^
.dae .lwo and .obj are the best formats that multiple 3D packages support, although supposedly Max and some others don't support .lwo
Offline
I'm trying to move away from DirectX at the moment actually, so yeah, I'll need to get rid of the need for DirectX in the exporter. There's a person on the Sonic Retro forums who was looking into porting the code to OpenGL actually. But yeah, it's just I've never actually written a file exporter before, the closest thing I've done is the odd save function in programs, so I've kinda been putting it off. I'd really like to get rid of DirectInput aswell and use something cross-platform, it's just again, I was taught in DInput so it was quicker to just use that (though I just added XInput support aswell, heh).
I probably won't get rid of DirectX completely, just make it an option and less embedded into the program. I think the only reason I want it in is because I've got a 3D monitor and at the moment, the viewer works in 3D Vision (which doesn't work in OpenGL), which is really cool...
Hmmmm, I'm gonna take a look at the exporter now, probably best not to expect anything tonight though.
Edit: There's something that sounds perfect called FCollada (it's a C++ library that makes this sorta stuff easy) but I think they charge for it. So, I'm gonna write my own, and looking at the spec now, I don't think it'll be too hard, it's basically xml... heh, I should make my own free version.
Last edited by Uhyve (2011-01-20 17:10:47)
Offline
Uhyve wrote:
... he actually figured out the PATHs in the DEF files...
You aren't talking about the dynamic pathways from the videos, are you?
Offline
Yeah, those things. They're stored as a massive chunk of hex data in the DEF files. He figured out what was header info and what is position data. The header seems to say what kind of path it is (example: a pathway or floating platform), but the actual cool expending effect was probably hard coded into the engine. Still, you can kinda see how the engine what have used the data:
(Posted on Sonic Retro and not mine... unfortunately)
Last edited by Uhyve (2011-01-20 17:45:21)
Offline
Uhyve wrote:
Yeah, those things. They're stored as a massive chunk of hex data in the DEF files. He figured out what was header info and what is position data. The header seems to say what kind of path it is (example: a pathway or floating platform), but the actual cool expending effect was probably hard coded into the engine. Still, you can kinda see how the engine what have used the data:
(Posted on Sonic Retro and not mine... unfortunately)
Oh my God...
Oh my God. OH MY GOD! YOU FIGURED THOSE OUT?!
Okay, wait wait wait wait...
#1. Give me the link to the retro page please. I would like to see the context of this image.
#2. Where is the data located in the DEF file? I've been searching for the render positions for weeks and haven't been able to find where the pathways are stored.
#3. What else has SANiK been telling you?
Offline
Sonic Retro thread:
http://forums.sonicretro.org/index.php? … p;start=30
The paths are labelled NEW_PATH in the DEF files, the actual position data is inside the hex dump. SANiK did a pretty good job of explaining how it works, so I won't attempt to do better. But yeah, he's just been telling me what he's posted on the topic, he actually posted a pretty sizeable amount of code, which is cool since I can now see if my renderflag guesses were right (alot of them aren't).
Hope he doesn't mind me pointing out the topic, I assume it's fine since it's already on a public forum.
Offline
Uhyve wrote:
There's a person on the Sonic Retro forums who was looking into porting the code to OpenGL actually.
Hehehe, that would be me ;P
This has to be the ONLY forum where my ident isn't segaloco. Anyway, I've got another project occupying my time now, so it'll be a while before I consider trying that. (That, and I have another, more important util to my purposes right now to alter the code of) If I might make one suggestion, try to use some cross-platform API. It doesn't have to be GLUT, it could be SDL or something else, but cross-platform code would be much cleaner and easier to work with than all the specifics you have to put into Windows API code. Seeing as you use command line to launch a rendering window anyway, it shouldn't be too hard to port over as you seem to not use any API features other than a rendering surface. I'd suggest SGL as it's simpler to work with than OpenGL (or so I've heard)
Edit: Wait, I suggested OpenGL there, didn't say I was gonna try it. (I was going to though, but thats around the time Sonic CD 510 caught my attention)
Last edited by Hacking n00b (2011-01-20 23:47:39)
Offline
Hmm... not asking or anything, but it'd be cool to make a Linux/Mac port so those of use that use Linux (There's atleast 4 Linux users on this forum) don't have to run it in WINE.
Offline
Heh, I'll put it on the list. As Hacking n00b said I'm not really using many of the features of DirectX, so it shouldn't be a too difficult port, I'll have to take a look into the cross-platform APIs they could be pretty cool.
Hacking n00b wrote:
Edit: Wait, I suggested OpenGL there, didn't say I was gonna try it. (I was going to though, but thats around the time Sonic CD 510 caught my attention)
Yeah, someone called Kazade said he might look into it.
Edit: Huh, I totally didn't realise you were the guy doing the 510 disassembly.
Last edited by Uhyve (2011-01-21 12:02:47)
Offline
Hehehe, yeah, Sonic CD 510 is my pet project right now. That, and cleaning up the source for PlaneED so I can actually effectively use it
(Right now the source just doesn't build on linux and it's a piece of crap in wine anyway)
Offline
Jinroh wrote:
Looking great guys. The flowing water GIF is totally rad. ^^
Too bad it's not theirs.
Offline