Modernization Kit Beta
by Alex Scarborough · in Torque Game Engine · 02/26/2007 (12:02 am) · 331 replies
Due to the absurd length of this thread, a new one has been started HERE. Please post in the new thread!
This thread is essentially a restatement of this except it's crossplatform now.
I am contractually obligated to do at least one (1) shiny thing a month, so here's my shiny thing for this month:
A working Win32 version of the ModernizationKit.
A huge thanks to OneST8 for getting the port started, and to GG for putting me in front of a PC and not minding that I quietly spent around 20 minutes a day getting this working.
Current version is: v0.8 build 0010 released 4-10-07
This is for TGE 1.5.0/1.5.1 ONLY!
Modernization Kit Website
Username: torqueUser
Password: tMK60152
This code is compatible with the latest version of Mac OS X and Windows 2000/XP
Thanks to the fabulous Jeff "Reno" Raab for letting me host this on the server he runs, and to Ben Sparks for setting up the website and forums!
I can't guarantee this code will work, or even compile, on anything other than my personal computer! Backup your copy of TGE if you use this! Actually, download a clean copy and play with that. I am not responsible for any damage done to your hardware or software as a result of using this!
Some notes: Cg is disabled by default, because it saved me the trouble of shoving Cg into TGE under Windows. Trust me, you're not going to miss the Cg layer anyways, GLSL is where it's at. If you do happen to want to enable Cg for whatever reason, uncomment #define SHADER_MANAGER_USE_CG in mkShaderManager.h.
Unit tests are disabled on Windows, to save the trouble of getting the CppUnit library up and running properly. Unit tests are enabled on OS X because you don't have to do anything for them to work; the bundled project file will link with the compiled dylib, copy it into the application bundle, and even change the install path so you really don't have to do a thing to use unit tests.
This code has not been tested on ATI GPUs under Win32. Presumably it will all work, but who knows. It has been confirmed to at least function on nVidia cards (there are a couple of known issues which will be addressed before 2008).
If you would like to subscribe to the Modernization Kit mailing list, submit a bug, or send some general feedback, please use the links on the Modernization Kit Web Center.
Best of luck, and I hope you get some good use, pretty screenshots, or fun out of this code!
This thread is essentially a restatement of this except it's crossplatform now.
I am contractually obligated to do at least one (1) shiny thing a month, so here's my shiny thing for this month:
A working Win32 version of the ModernizationKit.
A huge thanks to OneST8 for getting the port started, and to GG for putting me in front of a PC and not minding that I quietly spent around 20 minutes a day getting this working.
Current version is: v0.8 build 0010 released 4-10-07
This is for TGE 1.5.0/1.5.1 ONLY!
Modernization Kit Website
Username: torqueUser
Password: tMK60152
This code is compatible with the latest version of Mac OS X and Windows 2000/XP
Thanks to the fabulous Jeff "Reno" Raab for letting me host this on the server he runs, and to Ben Sparks for setting up the website and forums!
I can't guarantee this code will work, or even compile, on anything other than my personal computer! Backup your copy of TGE if you use this! Actually, download a clean copy and play with that. I am not responsible for any damage done to your hardware or software as a result of using this!
Some notes: Cg is disabled by default, because it saved me the trouble of shoving Cg into TGE under Windows. Trust me, you're not going to miss the Cg layer anyways, GLSL is where it's at. If you do happen to want to enable Cg for whatever reason, uncomment #define SHADER_MANAGER_USE_CG in mkShaderManager.h.
Unit tests are disabled on Windows, to save the trouble of getting the CppUnit library up and running properly. Unit tests are enabled on OS X because you don't have to do anything for them to work; the bundled project file will link with the compiled dylib, copy it into the application bundle, and even change the install path so you really don't have to do a thing to use unit tests.
This code has not been tested on ATI GPUs under Win32. Presumably it will all work, but who knows. It has been confirmed to at least function on nVidia cards (there are a couple of known issues which will be addressed before 2008).
If you would like to subscribe to the Modernization Kit mailing list, submit a bug, or send some general feedback, please use the links on the Modernization Kit Web Center.
Best of luck, and I hope you get some good use, pretty screenshots, or fun out of this code!
About the author
#322
06/28/2007 (8:14 am)
That's great to hear ArmedGeek!
#323
06/28/2007 (5:39 pm)
OFMG! This resource is insane! WE LOVE YOU ALEX!!!!!!!!!
#324
1) Break time is over.
2) VC8 support now takes priority over VC7 support. XCode support takes priority over both (I'm a Mac guy, deal with it).
3) ArmedGeek very kindly sent me the necessary changes for a Linux version of the MK a while ago. Those files (and official Linux support) will be in the next version of the Modernization Kit.
4) Documentation is very important. I'll probably be dealing with C++ side documentation more to begin, but I'll try and get out more "usage" documentation. (Nothing like two months away to make you realize that your product really could be difficult to use!)
5) I really need to look into the difficulty of using custom normal maps and material definitions.
Now, just because I haven't been working on the MK for the past couple of months doesn't mean I haven't been tinkering with things which might come in handy. That tinkering has led me to the following conslusions.
1) The MK needs to be cleaned up, badly.
2) The MK needs a cleaner interface for defining new resources.
3) The MK needs a cleaner interface for defining new types of existing resources.
The above issues are currently being addressed, in addition to some QA and 1.5.2 support.
In addition to those:
4) Dependencies bad! Abstraction good!
5) Longs Peak will be amazing. I should start prepping for it now
6) Not everyone has a high end card, provide fallbacks.
7) Not everyone has up to date drivers. Check for support and bail if necessary.
Also, I have a shiny new MacBook Pro, which happens to have a GeForce 8600. And just the other day Apple released an update to their drivers which enabled geometry shaders. I assume no one will mind too much if I spend a bit of time looking at integrating geometry shader support into the MK?
Hopefully I covered everyone's concerns there. If I didn't, well, let me know.
07/01/2007 (3:03 am)
Well, I guess I should address some concerns now, shouldn't I? What with being quiet for a couple of months and all that.1) Break time is over.
2) VC8 support now takes priority over VC7 support. XCode support takes priority over both (I'm a Mac guy, deal with it).
3) ArmedGeek very kindly sent me the necessary changes for a Linux version of the MK a while ago. Those files (and official Linux support) will be in the next version of the Modernization Kit.
4) Documentation is very important. I'll probably be dealing with C++ side documentation more to begin, but I'll try and get out more "usage" documentation. (Nothing like two months away to make you realize that your product really could be difficult to use!)
5) I really need to look into the difficulty of using custom normal maps and material definitions.
Now, just because I haven't been working on the MK for the past couple of months doesn't mean I haven't been tinkering with things which might come in handy. That tinkering has led me to the following conslusions.
1) The MK needs to be cleaned up, badly.
2) The MK needs a cleaner interface for defining new resources.
3) The MK needs a cleaner interface for defining new types of existing resources.
The above issues are currently being addressed, in addition to some QA and 1.5.2 support.
In addition to those:
4) Dependencies bad! Abstraction good!
5) Longs Peak will be amazing. I should start prepping for it now
6) Not everyone has a high end card, provide fallbacks.
7) Not everyone has up to date drivers. Check for support and bail if necessary.
Also, I have a shiny new MacBook Pro, which happens to have a GeForce 8600. And just the other day Apple released an update to their drivers which enabled geometry shaders. I assume no one will mind too much if I spend a bit of time looking at integrating geometry shader support into the MK?
Hopefully I covered everyone's concerns there. If I didn't, well, let me know.
#325
07/01/2007 (3:30 am)
Welcome back alex!
#327
07/01/2007 (3:32 pm)
Welcome back Alex - let us know if there is anything we can help you out with anything in updating this.
#328
get the disco effect and either the aww crap,4 error message or one in interiorrender.cpp
got this one as well when i rebuilt it after the last attempt at merging
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(54) : error C2065: 'gClientSceneGraph' : undeclared identifier
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(54) : error C2227: left of '->getWaterObjectList' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(57) : error C2065: 'WaterBlock' : undeclared identifier
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(57) : error C2065: 'pBlock' : undeclared identifier
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(57) : error C2061: syntax error : identifier 'WaterBlock'
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(61) : error C2227: left of '->getRenderTransform' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(61) : error C2228: left of '.getColumn' must have class/struct/union
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(63) : error C2227: left of '->getSurfaceHeight' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(65) : error C2065: 'mkFluid' : undeclared identifier
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(65) : error C2065: 'fluidData' : undeclared identifier
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(65) : error C2227: left of '->getMKFluid' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(68) : error C2227: left of '->setReflectionSize' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(68) : error C2227: left of '->getReflectionSize' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(69) : error C2227: left of '->enableRefraction' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(69) : error C2227: left of '->isRefractive' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(70) : error C2227: left of '->prepReflection' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(76) : error C2227: left of '->getSurfaceHeight' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(97) : error C2065: 'MKGFX' : undeclared identifier
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(97) : error C2227: left of '->renderPlanarReflection' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(127) : error C2227: left of '->endPlanarReflectionRender' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(173) : error C2227: left of '->getWaterObjectList' must point to class/struct/union/generic type
19> type is ''unknown-type''
08/18/2007 (12:08 pm)
Is there an updated version that supports stock tge 1.5.2 when i use beyond compare to merge the files over iget the disco effect and either the aww crap,4 error message or one in interiorrender.cpp
got this one as well when i rebuilt it after the last attempt at merging
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(54) : error C2065: 'gClientSceneGraph' : undeclared identifier
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(54) : error C2227: left of '->getWaterObjectList' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(57) : error C2065: 'WaterBlock' : undeclared identifier
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(57) : error C2065: 'pBlock' : undeclared identifier
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(57) : error C2061: syntax error : identifier 'WaterBlock'
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(61) : error C2227: left of '->getRenderTransform' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(61) : error C2228: left of '.getColumn' must have class/struct/union
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(63) : error C2227: left of '->getSurfaceHeight' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(65) : error C2065: 'mkFluid' : undeclared identifier
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(65) : error C2065: 'fluidData' : undeclared identifier
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(65) : error C2227: left of '->getMKFluid' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(68) : error C2227: left of '->setReflectionSize' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(68) : error C2227: left of '->getReflectionSize' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(69) : error C2227: left of '->enableRefraction' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(69) : error C2227: left of '->isRefractive' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(70) : error C2227: left of '->prepReflection' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(76) : error C2227: left of '->getSurfaceHeight' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(97) : error C2065: 'MKGFX' : undeclared identifier
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(97) : error C2227: left of '->renderPlanarReflection' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(127) : error C2227: left of '->endPlanarReflectionRender' must point to class/struct/union/generic type
19> type is ''unknown-type''
19>c:\torque\tge_1_5_2\engine\game\gametsctrl.cc(173) : error C2227: left of '->getWaterObjectList' must point to class/struct/union/generic type
19> type is ''unknown-type''
#329
You can find info on that on the new MK thread:
http://garagegames.com/mg/forums/result.thread.php?qt=63991
08/20/2007 (4:48 am)
You can find a 1.5.2 MK on the MK website. You can find info on that on the new MK thread:
http://garagegames.com/mg/forums/result.thread.php?qt=63991
#330
08/20/2007 (10:21 am)
Im using the latest version but i had to get the proj file from the person in the posts above us, still getting the errors above, can anyone give me a pointer where to look for that issue?
#331
09/03/2007 (1:12 pm)
Support for this seems awesome
Torque 3D Owner ArmedGeek
I intend to make sure everything works properly on Windows XP and Linux (Kubuntu-Feisty). While there is no reason it won't work on MacOSX, I don't have a Mac so I can't do any testing on that platform. But it really should work.
Due to the length of this thread I've started another: www.garagegames.com/mg/forums/result.thread.php?qt=63991