Game Development Community

RTS/ TGE ver 1.4 build solution

by William Fox · in RTS Starter Kit · 05/11/2006 (7:01 pm) · 85 replies

Thread is complete
I followed the docs 2x tonite complete build
It WORKS
post away flame me whatever I did it
and many thanks to Pat Wilson and special thanks to Matt Fairfax
and posts by Stephen Zepp Employee kept me focused on the end goal
GG support ROCKS!!!

About the author

I recently turned 60 years old I have 5 children and 11 grandchildren And just learned my youngest is due With number 12

Page «Previous 1 2 3 4 5 Last »
#1
05/11/2006 (7:04 pm)
Do not alter steps in any way

::Before beginning make sure you have either::

Microsoft Visual Studio 8 (Commercial) or
Microsoft Visual C++ 2005 Express Edition (FREE)
vcsetup.exe version 2.0.50727.42
builds Microsoft Visual C++ 2005 version 8.0.50727.42
also uses Microsoft .NET Framework version 2.0.50727
http://msdn.microsoft.com/vstudio/express/visualc/download/
Click Me

Microsoft Platform SDK for Windows Server 2003 SP1
PSDK-x86.exe version 6.00.2600.0000
http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en#filelist
Click Me
3 rd file in list
=========Edit====Add credit to ======
http://tdn.garagegames.com/wiki/RTS/Compiling
Author: Dennis De Marco
I forgot to mention this resource
I read this in my first few days in community
Please follow my instructions listed below
some of which came from knowledge gained
by reading this wiki
=======end edit============


Step 1 : Install TGE 1.4 (TorqueGameEngineSDK-1-4.exe)
to C:\Xtra_Torque_RTS\SDK
This should be already on your computer (somewhere)(install fresh copy to directory named)

Step 2 : Unzip TGE_VS2005.zip to C:\Xtra_Torque_RTS\SDK
Step 2 comment: basetsd.h imtl.h exporter.rc DTSplugin.cpp and resource.rc
will be overwritten (if you are extracting to correct directory) and
prompted if: (do not have set to auto overwrite files)
To aquire this file login and view article:: http://tdn.garagegames.com/wiki/Torque/vs2k5
Link:: http://tdn.garagegames.com/wiki/images/e/e8/TGE_VS2005.zip

Step 3 :Install the RTS Starter kit for TGE ver 1.3 (RTSStarterKit-1-0.exe)
to (C:\Xtra_Torque_RTS\RTSStarterKit)

===============This sets up our fresh directory structure=======================
#2
05/11/2006 (9:09 pm)
Should now have
C:\Xtra_Torque_RTS
C:\Xtra_Torque_RTS\RTSStarterKit (with subfolders)
C:\Xtra_Torque_RTS\SDK (with subfolders)

=========================================
At this point you can go to folder ::
C:\Xtra_Torque_RTS\RTSStarterKit\example
and run (click launch) RTS_DEBUG.exe
the RTS_DEBUG.exe has two missions and both will work
but they are not ver 1.4 missions YET
=========================================
================== The conversion begins here ===========
First lets bring up a working torqueDemo_DEBUG.exe under VS2005


Launch:: Microsoft Visual C++ 2005 Express Edition
Go to file and open Project/Solution (ctrl + shift + O)
C:\Xtra_Torque_RTS\SDK\VS2005\Torque SDK.sln

Highlight / select Torque Demo (3rd from bottom under solution pane)
right click select last "properties"
-Configuration Properties
General
Debugging <=== this one
in Configuration(textbox) select Active(Debug)
under Working Directory set to:: ../example
move mouse pointer to elsewhere and hit apply
in Configuration(textbox) select Release
under Working Directory set to:: ../example
move mouse pointer to elsewhere and hit apply
now hit OK
select from solution list
glu2d3d
right click select last "properties"
under configuration properties +linker
change Enable Incremental Linking from
No(/Incremental) to Yes(Incremental) from text box
Hit Apply then hit OK

File Edit View Project Build (from this option)
Build Torque Demo (not a full solution)

c:\xtra_torque_rts\sdk\engine\core\unicode.cc(17) : warning C4068: unknown pragma
c:\xtra_torque_rts\sdk\engine\core\unicode.cc(33) : warning C4068: unknown pragma
c:\xtra_torque_rts\sdk\engine\core\unicode.cc(44) : warning C4068: unknown pragma
c:\xtra_torque_rts\sdk\engine\core\unicode.cc(48) : warning C4068: unknown pragma
c:\xtra_torque_rts\sdk\engine\core\unicode.cc(51) : warning C4068: unknown pragma
c:\xtra_torque_rts\sdk\engine\core\unicode.cc(63) : warning C4068: unknown pragma
c:\xtra_torque_rts\sdk\engine\core\unicode.cc(198) : warning C4068: unknown pragma
c:\xtra_torque_rts\sdk\engine\core\unicode.cc(334) : warning C4068: unknown pragma

Torque Demo - 0 error(s), 8 warning(s)
========== Build: 7 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

Ok we now have a VS2005 TGE solution
the 8 pragma warnings are of no concern to our conversion process
#3
05/11/2006 (9:15 pm)
Ready now to begin creating the RTS conversion
=====
In the directory
C:\Xtra_Torque_RTS\SDK\example
use shift delete so you dont place in recycle bin
remove the following folders
C:\Xtra_Torque_RTS\SDK\example\starter.fps
C:\Xtra_Torque_RTS\SDK\example\starter.racing
C:\Xtra_Torque_RTS\SDK\example\tutorial.base
C:\Xtra_Torque_RTS\SDK\example\demo
=>we are making a seperate starter.RTS do not need these
=====
=====
From source directory C:\Xtra_Torque_RTS\RTSStarterKit\example
right click copy folder starter.RTS
and paste into
C:\Xtra_Torque_RTS\SDK\example
Result
C:\Xtra_Torque_RTS\SDK\example\starter.RTS
with directories \client, \data and \server and file main.cs and ReadMe.html

=====
#4
05/11/2006 (9:18 pm)
Now create a shortcut

Open the desktop icons folder
C:\Documents and Settings\*user path*\Start Menu\Programs\Torque Game Engine SDK
now change the starter.fps shortcut properties
target: C:\Xtra_Torque_RTS\SDK\example\torqueDemo_DEBUG.exe -game starter.fps
to:: C:\Xtra_Torque_RTS\SDK\example\torqueDemo_DEBUG.exe -game starter.RTS -console
click Apply the OK should close
again right click the starter.fps shortcut select rename
change to
RTS Starter Kit
if you test this at this point
you will get to load mission screen with place to add name
but it wont launch (YET)

we need to do a few things first
#5
05/11/2006 (9:29 pm)
The RTS kit uses a lobby function and team info
so we are going to copy a few .cs files to enable this

go to directory
C:\Xtra_Torque_RTS\RTSStarterKit\example\common\server
use ctrl+click select all 3
ctrl + c copy all 3
prefs.cs
server.cs
clientConnection.cs

go to directory and right click paste into
C:\Xtra_Torque_RTS\SDK\example\common\server
overwrite server.cs and server.cs and create new prefs.cs file
#6
05/11/2006 (9:43 pm)
Now download and save this zip file
this is compilation provided by
Matt Fairfax Game Programmer GarageGames

file will be terrain.zip
Click Here to get terrain.zip

extract all files to this directory
C:\Xtra_Torque_RTS\SDK\engine\terrain
==next===
We have a folder C:\Xtra_Torque_RTS\RTSStarterKit\engine\game
with a subfolder RTS
we have a folder C:\Xtra_Torque_RTS\SDK\engine\game
without this subfolder
On the folder icon for RTS in C:\Xtra_Torque_RTS\RTSStarterKit\engine\game
right click copy
in the files lists for C:\Xtra_Torque_RTS\SDK\engine\game
paste the copied RTS folder
should now have a C:\Xtra_Torque_RTS\SDK\engine\game\RTS folder
========

Note::during build I edited one file
in terrSelection.cc i changed
c:\xtra_torque_rts\sdk\engine\terrain\terrselection.cc(3)
#include gui/guiCanvas.h to gui/core/guiCanvas.h
due to fatal error C1083

I had seen this mentioned in
http://www.garagegames.com/mg/forums/result.thread.php?qt=28024
regarding
RTS/guiMapHud.h - 1 change
Line near 9
#include "gui/guiTSControl.h"
should be
#include "gui/core/guiTSControl.h"
so it was an obvious correction during build error solution
#7
05/11/2006 (10:08 pm)
Now we need to deal with the RTS files that have incorrect
mConnection = GameConnection::getServerConnection();
should be
mConnection = GameConnection::getConnectionToServer();
and there are a few #includes with incorrect/incomplete paths
ie:#include "gui/guiCanvas.h" should be #include "gui/core/guiCanvas.h"

If you wish to do these edits manually see this forum post
http://www.garagegames.com/mg/forums/result.thread.php?qt=28024
Author:: David Dougher Member Topic:: RTS Pack with 1.4 Release candidate 1

Jay Barnson Member Posted: Jan 13, 2006 19:38
In guiRTSTSCtrl.h, near line 46 (or so):

Change
enum PanEdge {
EdgeNone = bit(0),
EdgeLeft = bit(1),
EdgeRight = bit(2),
EdgeTop = bit(3),
EdgeBottom = bit(4)
};


to

enum PanEdge {
EdgeNone = BIT(0),
EdgeLeft = BIT(1),
EdgeRight = BIT(2),
EdgeTop = BIT(3),
EdgeBottom = BIT(4)
};


is included in this .zip resource

or get them here
Click Here for RTSedits.zip

extract these files
RTSUnit.cc
RTSConnection.cc
guiRTSTSCtrl.cc
RTSCamera.cc
guiMapHudRender.cc
guiMapGen.cc
guiMapHud.h
guiMapHud.cc
guiRTSCtrl.h
to directory C:\Xtra_Torque_RTS\SDK\engine\game\RTS
#8
05/11/2006 (10:37 pm)
Author Unsung Zero Member Posted: Jan 18, 2006 22:32 Topic: 1.4 and RTS compiled and working
http://www.garagegames.com/mg/forums/result.thread.php?qt=38926

================================
we are only doing 2 of the edits from this post
In engine\game\gameProcess.cc
#include "game/RTS/visManager.h"
etc..
In file \engine\game\shapeBase.h
add : friend class RTSUnit;
================================
James Dunlap Member Posted: Feb 15, 2006 13:14 GMT Edited on Feb 15, 2006 13:16 GMT
http://www.garagegames.com/mg/forums/result.thread.php?qt=38926
C:\Xtra_Torque_RTS\SDK\engine\game\objectTypes.h
edit to add #define bit(x) (1 << (x))
to, "engine\game\objectTypes.h" at around line 20,
======should look like this====
enum SimObjectTypes
{
#define bit(x) (1 << (x))
/// @name Types used by the SceneObject class
/// @{
DefaultObjectType = 0,
StaticObjectType = BIT(0),
/// @}
========================

Either browse to those links and edit those three files as instructed
or
Click Here to get Engine_game.zip
and then extract to directory
C:\Xtra_Torque_RTS\SDK\engine\game
#9
05/11/2006 (11:36 pm)
Reload the solution C:\Xtra_Torque_RTS\SDK\VS2005\Torque SDK.sln
in the source explorer find under Torque Demo- Source files -the "game" filter/folder
right click on game add new filter and type RTS
highlight new RTS (select) and add existing existing item
navigate to C:\Xtra_Torque_RTS\SDK\engine\game\RTS (where we put 19 files)
click in files list hit ctrl A (select all)then ADD button
if done properly -game will display
+fps
+fx
+net
- RTS
and all 19 files will be added to source files for Torque Demo
using new project under VS2005 folder

need to also do for Torque Tool Lib -Source Files -game add as above and get all 19 files added
now under the solution explorer
-Torque Demo
-Source Files
-terrain
left click and select/highlight terrain
right click choose add existing item
find
C:\Xtra_Torque_RTS\SDK\engine\terrain\terrSelection.cc
select it in directory listing and ADD
should appear between terrRender.h and waterBlock.cc

once again repeat for Torque Tool Lib

at this time is very much suggested you save all changes to project
after Save all Ctrl+Shift +S or use the file option menu
be sure to hightlight Torque Demo under opengl2d3d (line 15 in solution pane)
if no trees are expanded
File Edit View Project Build (from this option)
Clean Torque Demo(not the solution)
Build Torque Demo (not the solution)

====Output======
opengl2d3d - 0 error(s), 0 warning(s)
ljpeg - 0 error(s), 0 warning(s)
glu2d3d - 0 error(s), 0 warning(s)
lpng - 0 error(s), 0 warning(s)
lungif - 0 error(s), 0 warning(s)
Torque Demo - 0 error(s), 8 warning(s)
========== Build: 7 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
yes we still have 8 pragma warnings from the unicode.cc file
but guess what ?

one last change before we load
Download this file
Build_Icon.zip
extract 4 files to
C:\Xtra_Torque_RTS\SDK\example\starter.RTS\client\ui
and here we go run that RTS shortcut we made
#10
05/11/2006 (11:46 pm)
I hope in creating this conversion I didn't fail to mention anyone deserving credit
Oh yes I created the new build icon and all of this documentation
I have to give most of the credit to outdated forum resources that made me do this :)

Oh here's what you should see IN the TGE ver 1.4 converted RTS
www.davox.net/FirstLook.png
#11
05/12/2006 (1:17 am)
The only thing I see that would really spice this up is to have Health bars
on units and building be in the Team Info color
so player 1 would have blue
player 2 red etc for ease in multiplayer targeting
when not using the mip map for targeting positions
but all in all I have played with this a bit and it
really works just like the 1.3 version with 1.4

===== stumbled on this post James Litton Pushed me ======
found this real nice find
Martin "Founder" Hoover
Member Posted: Dec 01, 2004 13:42
http://www.garagegames.com/mg/forums/result.thread.php?qt=23617
You should be looking in the source since it's all generated by Torque.
The magick takes place in game/rts/guiRTSTSctrl.cc in the function: GuiRTSTSCtrl::drawDamage (line 423)
It draws a lovely retangle for the health, then draws an even prettier one for the damage. If you are just looking to change the colors, you can do so in GuiRTSTSCtrl::GuiRTSTSCtrl() where their values are set.
If you are looking for something a bit more complicated then different colors, I can't really help much.
Though you might look for any resources for the FPS version that implement what you desire,
and see if they can't be adapted to the RTS control.
===========thanks Martin I didnt even ask :) ===========

However in reading thru some .cc's I couldnt help but see that health bars/damage bars
selection ring are all displayed via (select) (deselect) meaning if you drag a selection box
around your units and enemies until you release the mouse button all appear selected.
And even if you have selected all 16 starter units if you hold mouse over an enemy
it is impossible to see it as enemy unless you break out the magnifying lens on the mip map.

Ive included a screen shot of 17 selected units the one under mouse pointer aint mine
www.davox.net/Mplay.png
NOW if we just alter the color in GuiRTSTSCtrl::GuiRTSTSCtrl()
all units in selection field will have same color till mouse button is released
making no useful change.. but when released at least our units would be blue
(if teamID is 1) .. and if we mouseover enemy ????also the health bars are only
visible when in a selection box or mouseover

buy eh this was a STARTER Kit not a compile and charge per month to play RTS game:)

still I would love to see a nice code change to make IN game view not mini map
some sort of team indentification .. team colored health bars just seems to be
the simpliest and applicable for a STARTER Kit
#12
05/12/2006 (7:33 am)
I messed with the health bars quite a bit:
www.garagegames.com/mg/forums/result.thread.php?qt=23617
but I did it with changes to the engine
#13
05/12/2006 (4:31 pm)
William, this rocks! Thanks. Great work, all involved. Stuff like this always reminds us of how cool it is that we have smart customers wth access to the source code.

We really ought to just get this up on the site, so people don't have to download .zips, follow all the directions, and recompile. I'd say the best route would be to package up the completed RTS SK 1.4 zip, send it on over to us (using yousendit.com, or a password-secured server dl) and then we'll put it up on the GG website as "RTS Starter Kit 1.4 (Beta1)". That way, we can get everyone doing testing with it, and if it's good to go, we'll remove the beta tag.

Thanks again, this rocks!
#14
05/12/2006 (6:50 pm)
I have just created an install solution file
RTS_Starter_kit-1-4_Beta1.zip

Install TorqueGameEngineSDK-1-4.exe
to C:\RTS_Starter_kit-1-4_Beta1\SDK\
Install (extract all) TGE_VS2005.zip
to C:\RTS_Starter_kit-1-4_Beta1\SDK\
Install (extract all) RTS_Starter_Kit-1-4_Beta1.zip
to C:\
open C:\RTS_Starter_Kit-1-4_Beta1\SDK\example
run Shortcut RTS_Starter_kit-1-4_Beta1

includes full VC2005 solution files for use
RTS_Starter_Kit-1-4_Beta1.sln
and all necessary .vcproj files
Output build is ..\example\torqueDemo_DEBUG.exe
Please be sure
Microsoft Platform SDK for Windows Server 2003 SP1
PSDK-x86.exe version 6.00.2600.0000
is installed on target computer

whew!! are we there yet?
#15
05/12/2006 (11:44 pm)
Check out my "ad" in general forum
we may be seeing a larger community here soon :)
http://www.garagegames.com/mg/forums/result.thread.php?qt=44148#337606
#16
05/13/2006 (10:51 am)
Finished your instructions err ~15hrs ago :-) but forgot to post back on my SUCCESS!! Well I did have a nights sleep in between too.

Very concise instructions, and not a single error or warning in the process.

Thanks a lot for your work on this
#17
05/14/2006 (2:54 am)
Use of GuiRTSTSCtrl::GuiRTSTSCtrl() in GuiRTSTSCtrl.cc is not going to be easy
in the section of code where the mDamageFillColor.set statement
sets the hardcoded %red,%green,%blue,%opacity value of 100% green and 100% opacity
there is no HitInfo to build into a static char buff for holding teamColor values

later in the same file
void GuiRTSTSCtrl::on3DMouseMove(const Gui3DMouseEvent & event)
accompishes this because the code is conditional on a mouseover event

what i first need to do is create a valid PASSOVER till valid condition
with a default to statement if condition is in PASSOVER till valid condition
so that once units exists with team info the color of thier Health bars
can be set to teamcolors

In addition, I want to render health bars always if unit is within visiblity range.
I have already succeded in turning off healthbar rendering and selection ring rendering.
I know where the process exists. Once I get the color feature implemented,
I will add permanent render with visibilty conditions to the health bars
so that a unit will basically use the health bar for a second purpose;
to display team info.

Basically the process of rendering the health bars needs to be added where the conditions
of selected or mouseover are not met. And within the new process a condition of within
visibilty range needs to be set and met before rendering in the client.
Once I have this, the same conditions can be passed to the mini map rendering to exclude
positions of units out of visible range.

I feel this will be my last contribution to a starter kit build
any thing after that will be specialized to projects that I feel
necessary for my own game project and therefore may not share much of that.

I am also going to correct the VS2005 solution for TOTAL solution so that it builds
under VC++ 2005/VC8 . Any changes I make, that I feel fully correct, without corrupting,
will also be made public in appropriate documentation.
#18
05/14/2006 (9:29 pm)
Will,

Did you send the zip to GG? for the Beta DL? I'm curious if they are going to release it? Any plans on getting the TLK to work with the 1.4? ;)

- Dennis
#19
05/15/2006 (8:29 am)
Is the TLK also in need? of similiar work?
it was to be my next pack purchase
shadows on ground and all nice stuff
#20
05/15/2006 (9:02 am)
I'm sure once this is sent to GG and they make it a download, John will patch up the TLK to work with it. That's what he's been waiting on is a GG release update.

Also do you know how good this will work with Visual Studio 2003?
Page «Previous 1 2 3 4 5 Last »