Game Development Community

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.

farm1.static.flickr.com/123/370544870_646796e1aa.jpg

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!
Page «Previous 1 2 3 4 5 6 7 Last »
#1
02/26/2007 (1:08 am)
Really nice thing :-)

Tried to build it.
But the massive list of conversion errors and overloading errors.
Especially all winXXX.cc files suffer a massive amount of illegal conversion errors.(UTF16* <-> LPCWSTR and UTF16* <-> const wchar_t*)
Overloading errors are mainly stuff used as non-const which in the TGE 1.5 sources are declared as const, that throws errors.

Perhaps an error on my end, but as it is mainly TGE 1.5 stock + some additional resources (no modifications in win32 platform files where most of the errors come from) I assume its more of some kind of TGE 1.4.2 + bugfixes vs true TGE 1.5 issue.
#2
02/26/2007 (1:14 am)
Thank you to all of you that worked on this. This is one hell of a huge contribution.
#3
02/26/2007 (1:16 am)
What compiler and OS are you using Marc?
#4
02/26/2007 (1:21 am)
Visual C++ 2005 Pro on WinXP SP2

Didn't think of this.

At least the conversion error UTF16* <-> LPCWSTR / LPWSTR can easily be fixed by doing it explicitely.
No idea why he treats it as error instead as warning. The project is setup to not handle warnings as errors but I will see if it is just some project settings to get at least rid of those.

The declaration problems with const vs non-const come from a different end I found out after thinking a little about the potential cause: Optimation Kit.
#5
02/26/2007 (1:50 am)
Ok, this has to be specified here(and i'll pitch Alex the updated VC8 project files tomarrow)
It's a wchar_t setting conflict.
To fix, go to the project properties, into C++->Language and set the "Treat wchar_t as Build in Type" to 'no'
Do a rebuild and that fixes it.
Sorry about that guys, I didnt think about that when I was helping Alex test it.
#6
02/26/2007 (5:20 am)
Thats all?
I was sure its some kind of "simple thing" but that makes me look like a dummy.

And no need to be sorry about anything. Its me (us) that do not have full knowledge of the way our tools work and what is related to what.
Thank you for the help on this :-)
#7
02/26/2007 (11:28 am)
No worries man, I constantly forget i have to apply that fix when i get a new project file BECAUSE it's such a small little thing, so i know how that goes.
I take it that did fix it then?
#8
02/26/2007 (12:38 pm)
Yes, that fixed it, was able to compile and run it :-)
#9
02/26/2007 (12:51 pm)
Fantastic Alex! Great Job to everyone who contributed.
#10
02/26/2007 (1:17 pm)
Compiled without any errors for me, the only changes i noticed visualy was, the water turned into a disco floor, random colors as you pan the view around, looks like this and it took noticeably longer to load.
#11
02/26/2007 (1:54 pm)
The disco look only appears if you didn't use the commands that are mentioned in the getting started.rtf in the zip. They are needed to set some prefs that the MK needs to work.
#12
02/26/2007 (4:24 pm)
@Benj: Ya, the disco water is a known bug, but it's just so cool... It's caused by a glitch in the logic to determine if we need to handle specular computation on the CPU, I'll see if I can fix it for the next build.

As for longer load times, it shouldn't take more than an additional 2-4 seconds in the Loading Objects... stage, and the first frame is a killer to get going. The first frame creates a ton of resources for DRL, interiors, etc. While loading objects, the MK kindly generates normal maps for all interiors which lack them, hence the slight additional time there.

Hmm, I should probably do a writeup on how the MK loads everything. Among other things that really need some documentation. Advice on things to document anyone?
#13
02/27/2007 (11:29 am)
I mean, the loading when you first click the exe to when the starting screen appears, without it takes about 2 seconds, with it took about 5 or 6.
#14
02/27/2007 (1:20 pm)
Oh, that would be because the MK initializes and Torque loads up all of the needed shaders between opening the window and getting the starting screen up. On the plus side, you can use shaders on your guis.
#15
02/27/2007 (2:44 pm)
Any idea why after installing this that I get a ton of of unresolved symbol errors when compiling map2dif and map2dif_plus? It goes through all of the files fine until it gets to the linking portion. By the way I am using VS2003.

I am sure I probably just missed something, but maybe you can point me in the right direction.
#16
02/27/2007 (7:03 pm)
Nope not me. I did a full clean install of TGE 1.5 and copied your code directly into it. It compiles for the main executable just fine, but it kills the map2dif exporters.
#17
02/28/2007 (6:58 pm)
Lovely resource! the only problem i had with it after compiling is that when running the demo, the mirror shows up as a plank of wood instead of a mirror!
#18
02/28/2007 (7:43 pm)
@Casey: Ya, that's a known bug. It's also a nasty little bugger, and fixing it properly will probably take a week or two. A hack fix which will only work on nVidia cards should be up later tonight or tomorrow.

@Ron: I never even tried to compile the exporters. They serve no purpose on Macs, and Constructor will most likely make them obsolete anyways.
#19
03/01/2007 (12:55 am)
Compiled into my project ok and very quickly (WinMerge and great commenting).
Removed the Optimization Kit and CG water/DOT3 to make it easier to get this in.
Pretty heavy frame rate hits (in my levels, not stock) near groups of non-portalized interiors with auto normal mapping and a bit near water.
I've been using the few CG shaders, Alpha LODs and the optimization kit and it's been super clean until now.
Time to figure out what I did wrong.
My guess is it's the texture art and auto normals on the interiors (and maybe it's time to upgrade some parts).
Still getting my feet wet w/ the scripts and art and finding what is auto-on.
Thank you so much (and GG for backing you up).
Awesome stuff.

TGE 1.5 (w/ everything including the kitchen sink)
Windows XP Pro
VS2005
Sempron 3000 (o/c 2.25ghz)
1gb DDR2
nVidia GeForce4 AGP BFG 6800 GS OC w/ DDR3
#20
03/01/2007 (4:45 am)
I'm sure my framerate issues are self inflicted.
This stuff is great!
Screenshot
Screenshot

*Edit: I had left the remnant TSControls in my playGUI from the CG resource.
Took them out and re-applied the Optimization Kit and all is well.
Framerates are better than ever, even in areas with huge/many interiors using auto-normals.
Page «Previous 1 2 3 4 5 6 7 Last »