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
#222
05/07/2007 (12:17 am)
Anyone have a VC8 project files required for the latest version to work ? Please email to iroach@westnet.com.au
#223
I'd like to get my hands on that one to :)
jorgen.ewelonn@gmail.com
05/07/2007 (1:45 am)
Quote:Anyone have a VC8 project files required for the latest version to work ?
I'd like to get my hands on that one to :)
jorgen.ewelonn@gmail.com
#224
(edit) Nevermind, got it.
05/09/2007 (10:00 am)
Has anyone merged this with the new release of afx yet? I can get it to compile, run and all, but the water just isn't working at all, drl and materials work right though.(edit) Nevermind, got it.
#225
When i load levels everything is black (every player/terrain/object). I believe the problem is running under windows vista.
Anyone else running the modernization kit on vista ? Ive sent my .exe to other people and it runs fine for them, so i think it must be due to windows vista gimped opengl support.
05/09/2007 (11:17 pm)
Ok so last night i managed to successfully compile in vs2005. But...When i load levels everything is black (every player/terrain/object). I believe the problem is running under windows vista.
Anyone else running the modernization kit on vista ? Ive sent my .exe to other people and it runs fine for them, so i think it must be due to windows vista gimped opengl support.
#226
dglMatrix.obj : error LNK2019: unresolved external symbol "public: class Point2I __thiscall _MKGFX::getCurrentRenderBounds(void)" (?getCurrentRenderBounds@_MKGFX@@QAE?AVPoint2I@@XZ) referenced in function "void __cdecl dglSetViewport(class RectI const &)" (?dglSetViewport@@YAXABVRectI@@@Z)
sceneGraph.obj : error LNK2001: unresolved external symbol "class _MKGFX * MKGFX" (?MKGFX@@3PAV_MKGFX@@A)
fluidRender.obj : error LNK2001: unresolved external symbol "class _MKGFX * MKGFX" (?MKGFX@@3PAV_MKGFX@@A)
waterBlock.obj : error LNK2001: unresolved external symbol "class _MKGFX * MKGFX" (?MKGFX@@3PAV_MKGFX@@A)
dglMatrix.obj : error LNK2019: unresolved external symbol "class _MKGFX * MKGFX" (?MKGFX@@3PAV_MKGFX@@A) referenced in function "void __cdecl dglSetViewport(class RectI const &)" (?dglSetViewport@@YAXABVRectI@@@Z)
gameTSCtrl.obj : error LNK2001: unresolved external symbol "class _MKGFX * MKGFX" (?MKGFX@@3PAV_MKGFX@@A)
fxFoliageReplicator.obj : error LNK2001: unresolved external symbol "class _MKGFX * MKGFX" (?MKGFX@@3PAV_MKGFX@@A)
interiorRender.obj : error LNK2001: unresolved external symbol "class _MKGFX * MKGFX" (?MKGFX@@3PAV_MKGFX@@A)
gameTSCtrl.obj : error LNK2019: unresolved external symbol "public: void __thiscall _MKGFX::endPlanarReflectionRender(void)" (?endPlanarReflectionRender@_MKGFX@@QAEXXZ) referenced in function "public: virtual void __thiscall GameTSCtrl::renderWorld(class RectI const &)" (?renderWorld@GameTSCtrl@@UAEXABVRectI@@@Z)
.........
../example/torqueDemo.exe : fatal error LNK1120: 40 unresolved externals
Build log was saved at "file://c:\Torque\TGE_1_5_1\engine\out.VC8.RELEASE\BuildLog.htm"
Torque Demo - 51 error(s), 0 warning(s)
========== Rebuild All: 6 succeeded, 1 failed, 0 skipped ==========
05/11/2007 (5:43 am)
Can anyone help me with these linking errors? I'm using the latest download of TGE 1.5.1, the latest download of MK, CG 1.5 is installed, I'm using VC++ Express 2005 SP1 and I've added the path to the CG Lib and Header directories to the VC++ Directories section:dglMatrix.obj : error LNK2019: unresolved external symbol "public: class Point2I __thiscall _MKGFX::getCurrentRenderBounds(void)" (?getCurrentRenderBounds@_MKGFX@@QAE?AVPoint2I@@XZ) referenced in function "void __cdecl dglSetViewport(class RectI const &)" (?dglSetViewport@@YAXABVRectI@@@Z)
sceneGraph.obj : error LNK2001: unresolved external symbol "class _MKGFX * MKGFX" (?MKGFX@@3PAV_MKGFX@@A)
fluidRender.obj : error LNK2001: unresolved external symbol "class _MKGFX * MKGFX" (?MKGFX@@3PAV_MKGFX@@A)
waterBlock.obj : error LNK2001: unresolved external symbol "class _MKGFX * MKGFX" (?MKGFX@@3PAV_MKGFX@@A)
dglMatrix.obj : error LNK2019: unresolved external symbol "class _MKGFX * MKGFX" (?MKGFX@@3PAV_MKGFX@@A) referenced in function "void __cdecl dglSetViewport(class RectI const &)" (?dglSetViewport@@YAXABVRectI@@@Z)
gameTSCtrl.obj : error LNK2001: unresolved external symbol "class _MKGFX * MKGFX" (?MKGFX@@3PAV_MKGFX@@A)
fxFoliageReplicator.obj : error LNK2001: unresolved external symbol "class _MKGFX * MKGFX" (?MKGFX@@3PAV_MKGFX@@A)
interiorRender.obj : error LNK2001: unresolved external symbol "class _MKGFX * MKGFX" (?MKGFX@@3PAV_MKGFX@@A)
gameTSCtrl.obj : error LNK2019: unresolved external symbol "public: void __thiscall _MKGFX::endPlanarReflectionRender(void)" (?endPlanarReflectionRender@_MKGFX@@QAEXXZ) referenced in function "public: virtual void __thiscall GameTSCtrl::renderWorld(class RectI const &)" (?renderWorld@GameTSCtrl@@UAEXABVRectI@@@Z)
.........
../example/torqueDemo.exe : fatal error LNK1120: 40 unresolved externals
Build log was saved at "file://c:\Torque\TGE_1_5_1\engine\out.VC8.RELEASE\BuildLog.htm"
Torque Demo - 51 error(s), 0 warning(s)
========== Rebuild All: 6 succeeded, 1 failed, 0 skipped ==========
#227
I'm running the MK on 1.5.1 under Vista without any problems. I have an Nvidia card with 158.18 drivers. My exe was compiled with VC2005 express and the Feb 2007 dxsdk.
Don
05/11/2007 (6:21 pm)
@Ian RoachI'm running the MK on 1.5.1 under Vista without any problems. I have an Nvidia card with 158.18 drivers. My exe was compiled with VC2005 express and the Feb 2007 dxsdk.
Don
#228
What did you do to get it to work? I merged last night with zero errors or warnings, but have the exact same problems you described. Care to share you're solution? =)
- Alan
05/11/2007 (7:20 pm)
@Jason,What did you do to get it to work? I merged last night with zero errors or warnings, but have the exact same problems you described. Care to share you're solution? =)
- Alan
#229
in client/default.cs you need to add this code:
you can modify the setting, of course. they need to be called in console if you don't put it here. Mine is right before the first block of afx modified code as you can see... This is the local call.
Also copy material.cs from "RELEASE151\example\common\client" and add this code to afx's common\client\canvas.cs
Main.cs needs this code added after initClient(); in the function onStart() this is the global call.
Lastly copy the Shaders folder into the root afx folder.
For the normals, there is this code in arcane.afx/data/init.cs
which you can change for adding your own normals, but i don't think you have to make this call since there isn't even a lightingPack directory that contains an autogenMatlist.cs. I'm still having issue with using my own materials so i'm tweaking code now that i think should work right. None the less that call isn't need really if you just want normals to autogen. I think thats it...
05/12/2007 (9:13 am)
Sure Alan,in client/default.cs you need to add this code:
$pref::Player::zoomSpeed = 0; //------------------------------------------------------------------ // TGE Modernization Kit //------------------------------------------------------------------ $pref::DRL::enable = "1"; $pref::DRL::bloomQuality = "3"; $pref::Water::reflectionSize = "1024"; $pref::Water::Refract = "1"; $pref::Material::qualityLevel = "200"; //------------------------------------------------------------------ // TGE Modernization Kit //------------------------------------------------------------------ // AFX $pref::Player::corpsesHiddenFromRayCast = false; ...
you can modify the setting, of course. they need to be called in console if you don't put it here. Mine is right before the first block of afx modified code as you can see... This is the local call.
Also copy material.cs from "RELEASE151\example\common\client" and add this code to afx's common\client\canvas.cs
exec("~/ui/defaultProfiles.cs");
//------------------------------------------------------------------
// TGE Modernization Kit
//------------------------------------------------------------------
// Everyone needs shaders, yes?
// Shader stuff
exec("Shaders/globalParameters.cs");
exec("./materials.cs");
exec("~/ui/MKBugReporter.gui");
//------------------------------------------------------------------
// TGE Modernization Kit
//------------------------------------------------------------------Main.cs needs this code added after initClient(); in the function onStart() this is the global call.
//------------------------------------------------------------------
// TGE Modernization Kit
//------------------------------------------------------------------
exec("./data/init.cs");
DRL::setGoalIntensity(0.23);
DRL::setBiasLimits(-0.05, 0);
DRL::setBloomMultiplier(0.5);
//------------------------------------------------------------------
// TGE Modernization Kit
//------------------------------------------------------------------Lastly copy the Shaders folder into the root afx folder.
For the normals, there is this code in arcane.afx/data/init.cs
//------------------------------------------------------------------
// TGE Modernization Kit
//------------------------------------------------------------------
exec("./interiors/lightingPack/autogenMatList.cs");
//------------------------------------------------------------------
// TGE Modernization Kit
//------------------------------------------------------------------which you can change for adding your own normals, but i don't think you have to make this call since there isn't even a lightingPack directory that contains an autogenMatlist.cs. I'm still having issue with using my own materials so i'm tweaking code now that i think should work right. None the less that call isn't need really if you just want normals to autogen. I think thats it...
#230
I'd double check dglMatrix.cc or dglMatrix.h for errors.
05/12/2007 (9:19 am)
@ Ian Dale, it looks like you're missing a few bits of code or they were copied wrong.I'd double check dglMatrix.cc or dglMatrix.h for errors.
#231
Thanks! I still have a little weirdness, but I'm just too tired from my regular 9 to 5 to look at it too closely. Appreciate the help a lot. I'll sit down and go through it a bit more carefully tomorrow.
05/13/2007 (12:42 am)
@Jason,Thanks! I still have a little weirdness, but I'm just too tired from my regular 9 to 5 to look at it too closely. Appreciate the help a lot. I'll sit down and go through it a bit more carefully tomorrow.
#232
05/13/2007 (12:55 pm)
The kit looks awesome, but does anyone have a list of all the additions it makes?
#233
05/14/2007 (9:14 pm)
Found out what my problem was. I forgot to include the modernization kit directory in the project. Oops!!
#234
Had someone Tryed to convert this to a TGE/TLK 1.4-Version?
PS: Have tryed to merge this ressource with TGE/TLK 1.4, but it seems to be a lot of work...
The MK-Code is pretty well marked, and its simple to merge it. But unfortunately TLK seems to be heavy modified since 1.4
05/15/2007 (4:24 am)
Sure its one of the best Ressources for TGE!Had someone Tryed to convert this to a TGE/TLK 1.4-Version?
PS: Have tryed to merge this ressource with TGE/TLK 1.4, but it seems to be a lot of work...
The MK-Code is pretty well marked, and its simple to merge it. But unfortunately TLK seems to be heavy modified since 1.4
#235
Oh ya what renderer does it use? OpenGL or Direct X.
05/15/2007 (7:31 am)
Could it be possible for some one to write a tutorial on how to install and compile this? Oh ya what renderer does it use? OpenGL or Direct X.
#236
05/15/2007 (7:48 am)
@Dro It uses Open GL and theres a pretty well documented pdf that covers the install. It really depends on what your using to compile it with and on what platform.
#237
05/24/2007 (8:01 am)
Anyone working on getting this going with 1.5.2? I just finished getting RTSkit into 1.5.2 and this would make a nice addition, I think. I have some free time this weekend if no one has started on it yet...
#238
Sweet! If you have the RTS kit working in 1.5.2 we need to talk! I am soon to release an update of the RTS Environment Pack and have delayed if because of the hurdle of getting the RTS kit brought up to date and functional.
Regarding getting the MK working with 1.5.2, Jon Jorajuria has, but we have seen some strange lighting if there are any DIFF's in a level.
I am about to go off line and will not be back on for about a week, but email me and lets see if we can get together on the RTS kit.
05/24/2007 (8:53 am)
@ J. Coleman,Sweet! If you have the RTS kit working in 1.5.2 we need to talk! I am soon to release an update of the RTS Environment Pack and have delayed if because of the hurdle of getting the RTS kit brought up to date and functional.
Regarding getting the MK working with 1.5.2, Jon Jorajuria has, but we have seen some strange lighting if there are any DIFF's in a level.
I am about to go off line and will not be back on for about a week, but email me and lets see if we can get together on the RTS kit.
#239
I haven't gotten around to dealing with the 1.5.2 merge yet (I haven't even downloaded 1.5.2). I've been doing more and more stuff interning at GG and all, which means less and less time for the MK and a certain loss of will to work with Torque in my spare time. To be completely honest I haven't looked at the MK in Torque for nearly two weeks.
With luck I'll get the next build out with 1.5.0 and 1.5.2 support in very early June. No guarantees though.
05/25/2007 (9:49 pm)
Hey Guys,I haven't gotten around to dealing with the 1.5.2 merge yet (I haven't even downloaded 1.5.2). I've been doing more and more stuff interning at GG and all, which means less and less time for the MK and a certain loss of will to work with Torque in my spare time. To be completely honest I haven't looked at the MK in Torque for nearly two weeks.
With luck I'll get the next build out with 1.5.0 and 1.5.2 support in very early June. No guarantees though.
#240
05/26/2007 (7:49 am)
I've merged the Torque 1.5.2 code base with MK (Torque v1.5.1 MK Build 0010) and it runs beautifully, didn't have to correct a single issue for any out there that want to go ahead and try. Also merged with Afx without an issue too, great work on this Alex thanks very much it looks fantastic.
Torque 3D Owner Daniel Eden