Hi. I am a volunteer game developer and am in the process of trying to replace the ancient pos current engine with something better. In my reading I decided Irrlicht was for me, compared to ogre and others.
My problem is simple yet complex. For many of the textures, animations, and cinematic we do have the original 3ds/tga type files. However since this game went from developer to developer it seems the last one sabotaged us. There were many things in the code that made it impossible to compile without fixes. Some things were blatantly deleted. Years have gone by and all is well. However now that we want to replace the 3D engine so we went and looked at all the 3d graphics file sources. Sadly many random, and very important, models are just not there.
We do have the final game models, however some are stored in a format created by the original developer. We even have the converters 3ds2theirformat.exe and it's source but writing an inverse converter is beyond my skill level.
I theorize that since we have the source, we regularly compile and release updates. Could it not work in theory that we fire up the game, let it read and visually display said texture / animation / cinematic... Then we tie into Irrlicht and have it export out a file?
Is this possible? In theory it sounds perfect. I'm sure we could use any linked 3d engine to do this, but can Irrlicht?
Are there tools out there to help us do this?
Any pointers? Any suggestions? Anyone want to volunteer to work on a real game converting the engine? :> Trust me this is fun stuff.
using irrlicht to export?
-
pinballwizard
- Posts: 67
- Joined: Wed Aug 02, 2006 1:47 am
Re: using irrlicht to export?
What do you mean "tie into Irrlicht?" And why do you need to tie into Irrlicht? You have a data file in unknown format. You have the source code for an engine to read and display that file on-screen. Why don't you just modify your engine source code to dump the data to disk instead of displaying it? Surely the data gets converted into triangles/polys to be sent to OpenGL/DX. At that point in your code, just dump the triangle data to disk in the desired format. Textures might be trickier but the data has to get passed to the graphics library at some point... just intercept the data at that point.SirParadox wrote: My problem is simple yet complex.
...
However now that we want to replace the 3D engine so we went and looked at all the 3d graphics file sources. Sadly many random, and very important, models are just not there.
We do have the final game models, however some are stored in a format created by the original developer. We even have the converters 3ds2theirformat.exe and it's source but writing an inverse converter is beyond my skill level.
I theorize that since we have the source, we regularly compile and release updates. Could it not work in theory that we fire up the game, let it read and visually display said texture / animation / cinematic... Then we tie into Irrlicht and have it export out a file?
Of course this requires you to modify your engine source code and write new source code to dump your models out in a format readable by Irrlicht. You have to write that yourself. But since you have the source code to the engine, this should be easy.
<sarcasm>What's the problem? Just retrieve the old data from your backups or source control. </sarcasm>
Joking aside, if you have source code for loading the format then you can write an Irrlicht loader to read the model data and load it into Irrlicht.
Alternatively, you could write an importer for something like MilkShape3D which will then give you myriad export options and allow you to edit your models again.
Joking aside, if you have source code for loading the format then you can write an Irrlicht loader to read the model data and load it into Irrlicht.
Alternatively, you could write an importer for something like MilkShape3D which will then give you myriad export options and allow you to edit your models again.
-
SirParadox
- Posts: 2
- Joined: Fri Jan 12, 2007 11:28 pm
Thanks all for the replies. I love the sarcasm.. :> I think the original developer was using the flame method of source control tied into sneakernet.
We have source control now Razz
pinballwizard > Any pointers on how to go about this. I'm very good with the game engine, heck even good at getting the existing 3d engine to do some new tricks. I have some limited working knowledge on d3d/dx. However I have 0 real experience with this part. I do believe the current 3d engine which reads the files returns to me directx formatted vars. What you said is what I am hoping can be done. Although you have no suggestions on exactly how you just prove my theory that this should be able to be done. As long as the current graphics are making it to a rendered 3d d3d world, we can get them out :>
hybrid> We have no source code on the file converters, just the output, some of the graphics originals, the 2 converter exe's, and wow two .h files. If we could get Irrlicht to just read these formatted files I would gladly jump off a roof for cash in a bet 'can you bounce'
sio2> Ahh yes. Funny sarcasm. I know I've come to the right place when I read exactly what I would have posted in reply myself. Again we lack the code for the 3d engine and the 3d converters. We have the source for the actual game. The 3d engine is tiny, old, gay, etc, etc. It's built on .. brace yourself... directx 6. We've tried a few 3ds type software on the few graphics originals we have but we either get a 'go away this is way too old and I wont even try and load it' or a great wire mesh with no texture. More learning is required on our part.
So keep up the good feedback. Although no answer is found this is great input. I thank all.
To summarize:
Engine
We have the source code to the game, working, released often.
3dEngine
We have the header files to the 3d engine, linked to the libs.
3dFiles
We have the release 3d files.
We have the 3d graphics converters 3ds2who and tga2wha.
We have the .h files for these converters.
We have approx ??% or so of the original graphics files including jpg's that look 10000 times better then what they outputted Razz
We want? oh baby we want Irrlicht. How do we get it? Easy write wrappers for the 500 calls to the current 3d engine and provide it with todays menagerie of formatted files.
We have source control now Razz
pinballwizard > Any pointers on how to go about this. I'm very good with the game engine, heck even good at getting the existing 3d engine to do some new tricks. I have some limited working knowledge on d3d/dx. However I have 0 real experience with this part. I do believe the current 3d engine which reads the files returns to me directx formatted vars. What you said is what I am hoping can be done. Although you have no suggestions on exactly how you just prove my theory that this should be able to be done. As long as the current graphics are making it to a rendered 3d d3d world, we can get them out :>
hybrid> We have no source code on the file converters, just the output, some of the graphics originals, the 2 converter exe's, and wow two .h files. If we could get Irrlicht to just read these formatted files I would gladly jump off a roof for cash in a bet 'can you bounce'
sio2> Ahh yes. Funny sarcasm. I know I've come to the right place when I read exactly what I would have posted in reply myself. Again we lack the code for the 3d engine and the 3d converters. We have the source for the actual game. The 3d engine is tiny, old, gay, etc, etc. It's built on .. brace yourself... directx 6. We've tried a few 3ds type software on the few graphics originals we have but we either get a 'go away this is way too old and I wont even try and load it' or a great wire mesh with no texture. More learning is required on our part.
So keep up the good feedback. Although no answer is found this is great input. I thank all.
To summarize:
Engine
We have the source code to the game, working, released often.
3dEngine
We have the header files to the 3d engine, linked to the libs.
3dFiles
We have the release 3d files.
We have the 3d graphics converters 3ds2who and tga2wha.
We have the .h files for these converters.
We have approx ??% or so of the original graphics files including jpg's that look 10000 times better then what they outputted Razz
We want? oh baby we want Irrlicht. How do we get it? Easy write wrappers for the 500 calls to the current 3d engine and provide it with todays menagerie of formatted files.
If you want to send me the .h files for the converters, maybe there's there might be enough information in the .h to determing the format of the .who and .wha files.
I don't mind taking a crack at it, I deal with this crap at work all the time, albeit not from someone who did it on purpose just from someone who sucks at coding
I don't mind taking a crack at it, I deal with this crap at work all the time, albeit not from someone who did it on purpose just from someone who sucks at coding

-
pinballwizard
- Posts: 67
- Joined: Wed Aug 02, 2006 1:47 am
Oh, it's definitely possible, though it might be tricky. I now see that you have your game engine source code, but you do not have the 3D engine source code (only the headers), so you don't have the source code that actually does the drawing. This makes the problem more difficult.SirParadox wrote:
pinballwizard > Any pointers on how to go about this.
But even if you don't have the source code, you can extract models. For example, see OGLE, http://ogle.eyebeamresearch.org/ which allows you to extract 3D models from OpenGL games even if you don't have the source code. There's probably something similar for DX.