PathedInterior 1.5.1!!!!!!!
by Ryan Mick · 06/07/2007 (11:11 am) · 62 comments
This is long awaited update of the pathed interior resource to the 1.5.1 code base. This version works in multi-player.
I have included all the new files (just unzip into your torque directory) and two patch files created with winmerge. An tutorial can be found in
the "Pathed Docs" folder along with the an example file for constructor. This also includes the transparent interior files, that can be
enabled by including the files InteriorTrans.* in your project and enabling with the preprocessor directive
(USE_TRANSENTITIES).
you will need to add the interiorTrans.c and interiorTrans.h files to your project. I have also included the guiImgHealthbar controls, if you want to use them they are located in the engine/game/fps directory, just add them to the project and compile.
Make sure you have a back up of your code base before applying this patch. I had problems running this in debug mode but there were no problems when ran in release mode.
Due to the file size limitation you can download the file here.
1.5.2 version is here.
Original Resource:
http://www.garagegames.com/index.php?sec=mg&mod=resource&page=view&q...
GuiImgHealthBarHud resource:
http://www.garagegames.com/index.php?sec=mg&mod=resource&page=view&q...
PathedInterior 1.4
http://www.garagegames.com/index.php?sec=mg&mod=resource&page=view&q...
I have included all the new files (just unzip into your torque directory) and two patch files created with winmerge. An tutorial can be found in
the "Pathed Docs" folder along with the an example file for constructor. This also includes the transparent interior files, that can be
enabled by including the files InteriorTrans.* in your project and enabling with the preprocessor directive
(USE_TRANSENTITIES).
you will need to add the interiorTrans.c and interiorTrans.h files to your project. I have also included the guiImgHealthbar controls, if you want to use them they are located in the engine/game/fps directory, just add them to the project and compile.
Make sure you have a back up of your code base before applying this patch. I had problems running this in debug mode but there were no problems when ran in release mode.
Due to the file size limitation you can download the file here.
1.5.2 version is here.
Original Resource:
http://www.garagegames.com/index.php?sec=mg&mod=resource&page=view&q...
GuiImgHealthBarHud resource:
http://www.garagegames.com/index.php?sec=mg&mod=resource&page=view&q...
PathedInterior 1.4
http://www.garagegames.com/index.php?sec=mg&mod=resource&page=view&q...
About the author
#2
05/20/2007 (8:14 am)
If you are using visual studio open the properties of the Torque Demo project and then go to Resources -> General. There is a line that says Preprocessor Definitions, add the USE_TRANSENTITIES to this line. I still need to update the documentation so that it uses contructor instead of quark but it is still valid. Does anyone know if Constructor can export/import entity definitions?
#3
05/21/2007 (5:40 am)
Ryan I thank you for the speedy response but I am now having compile errors and don't know what is causing them. I am using Visual Studio 2005. I am going to try to use winmerge, I have never had any luck with it and actually hate the patch process because it seems I always wind up doing it by hand. But your patch file only have codes in it not file names where the code goes, so I can't do it by hand. That will make this resource impossible in the next version or two because the patch will be out of place. There has to be a better way. Not ragging on your work just the patch thing. Anyhoo I will get winMerge and install it and try it and keep you posted. Thanks again for your hard work.
#4
05/21/2007 (6:17 am)
OK I downloaded WinMerge and tried to make sense of how to merge a patch. I feel like an idiot and don't know what to do. I can't find any options to merge a patch file. Only something about .WinMerge projects. So help please!!!
#5
05/21/2007 (7:18 am)
Shon, I will take a look and see what I can do. I wish there wasn't such a limit on the file upload size.
#6
17.9. Patch files
17.9.1. Is there way to create patch files from the commandline?
No. It may be added in later versions but until then Win32 port of diffutils can be used. The Win32 port of diffutils (and patch) can be downloaded from GnuWin32 project from SourceForge: http://sourceforge.net/projects/gnuwin32
17.9.2. Can patches be applied using WinMerge?
No. The patch tool from GnuWin32 project can be used for patch applying since WinMerge produces GNU/diffutils compatible patch files. See above question.
05/21/2007 (8:32 pm)
Shon, I have fixed the patch files. Here is what I found in the winmerge help file about patch files. There are also several posts in the forums about applying patch files.17.9. Patch files
17.9.1. Is there way to create patch files from the commandline?
No. It may be added in later versions but until then Win32 port of diffutils can be used. The Win32 port of diffutils (and patch) can be downloaded from GnuWin32 project from SourceForge: http://sourceforge.net/projects/gnuwin32
17.9.2. Can patches be applied using WinMerge?
No. The patch tool from GnuWin32 project can be used for patch applying since WinMerge produces GNU/diffutils compatible patch files. See above question.
#7
Once again thanks for your help. It was way easier and better than the help I supposedly pay for.
05/22/2007 (4:54 am)
I thank you very much for your time and appreciate it greatly. I downloaded diffutils and will give it a try today. You said you fixed the patch files. I downloaded them again and will look at them soon. Got my hands full today with setting up new servers. We will have a web server at AtomixWorld.com and a separate server for mysql tied into the torque engine with a mysql mod, the only way to access the mysql server will be through the main server and hopefully less hackable. Not sure anyone has done this before the way we are doing it. Talk about a hard time finding help, I have an Actiontec DSL Modem and a I had a Belkin router which was not forwarding ports. Call the DSL provider and they said call ActionTec and they say call Belkin, no help but found that the Belkin was the problem with a little experimentation. So I changed it to a Cisco switch instead and everything is starting to work now. The Belkin has way too many features.Once again thanks for your help. It was way easier and better than the help I supposedly pay for.
#8
Got the code in need to test and I will let you know how it goes. Had a warning I don't understand:
\engine\interior\pathedinterior.cc(90) : warning C4715: 'PathedInteriorData::preload' : not all control paths return a value
Any Ideas
Thanks again
05/22/2007 (7:05 am)
Hey RyanGot the code in need to test and I will let you know how it goes. Had a warning I don't understand:
\engine\interior\pathedinterior.cc(90) : warning C4715: 'PathedInteriorData::preload' : not all control paths return a value
Any Ideas
Thanks again
#9
05/22/2007 (7:18 am)
Not a problem. If you still have problems trying to patch it let me know and I will send you the files. I just can't post on a public site full code file of the engine. That is against the rules. I need to get in contact with Ben Garney and find out about submitting this as an addition to the engine. It's been around for a few years now and it takes a lot to migrate it from version to version. I only post a few resources so it is easier to help people out. The GG guys are just swamped, as a lead developer myself I can understand that when work needs to get done it's hard to find the time to help others. Do you have to use MySql? I have played around with MySql before and it drove me crazy. SQL 2005 express isn't bad and is also free. The only thing you don't get is the ability to create scheduled jobs, and has a 2 gig database size limit. But there are a few resources for adding database support to Torque. Let me know how it goes and if you need any help.
#10
05/22/2007 (7:23 am)
There should be a return true as the last line in the method. It should look like this:bool PathedInteriorData::preload(bool server, char errorBuffer[256])
{
if(!Parent::preload(server, errorBuffer))
return false;
// Resolve objects transmitted from server
if (!server)
{
for (S32 i = 0; i < MaxSounds; i++)
if (mSounds[i])
Sim::findObject(SimObjectId(mSounds[i]), mSounds[i]);
}
return true;
}
#11
Answering your question I have been using MySql for a few years now and know it very well. We used Microsoft SQL back in the ninties and found Microsoft to be like IBM. A money pit! We prided ourselves on being all Microsoft but it cost us a fortune with support, upgrades and configuration costs (Consultants). Our MSDN subscription was 3 grand a year just for the compiler and sdk upgrades in those days. So we really like working with Open Source because not only is it free, but support is unequaled, not only do you get the support staff at the developer of the Open Source product which you can pay for, but you get user support on forums like GarageGames, which is much better. Ever try to get help from Microsoft, even online, hah. You also get the source code if you want it. I wish there was more acceptance for Linux because then I could get rid of Windows. But as a developer I have to go where the money is and I have to face the fact that Windows is the dominant OS right now.
We have always had a problem with Microsoft's file size limitations and at one point we rewrote the sdk to allow for 9 terabyte file sizes, later we doubled that to 18TB, I still have the code. Now Microsoft's sdk has extended file size and seek functions up to 9TB built in but MFC still uses the old 2 gig limit. Of course Linux had it all along up to 9TB, but you can't make any money with Linux except for tech support.
Once again I appreciate your offer and your help.
05/22/2007 (8:59 am)
Ryan; I agree! It would be a great addition to the engine. Especially when everything is tied in with Constructor (which our Artist Maylock loves).Answering your question I have been using MySql for a few years now and know it very well. We used Microsoft SQL back in the ninties and found Microsoft to be like IBM. A money pit! We prided ourselves on being all Microsoft but it cost us a fortune with support, upgrades and configuration costs (Consultants). Our MSDN subscription was 3 grand a year just for the compiler and sdk upgrades in those days. So we really like working with Open Source because not only is it free, but support is unequaled, not only do you get the support staff at the developer of the Open Source product which you can pay for, but you get user support on forums like GarageGames, which is much better. Ever try to get help from Microsoft, even online, hah. You also get the source code if you want it. I wish there was more acceptance for Linux because then I could get rid of Windows. But as a developer I have to go where the money is and I have to face the fact that Windows is the dominant OS right now.
We have always had a problem with Microsoft's file size limitations and at one point we rewrote the sdk to allow for 9 terabyte file sizes, later we doubled that to 18TB, I still have the code. Now Microsoft's sdk has extended file size and seek functions up to 9TB built in but MFC still uses the old 2 gig limit. Of course Linux had it all along up to 9TB, but you can't make any money with Linux except for tech support.
Once again I appreciate your offer and your help.
#12
As always I appreciate any and all input/help and thank you all in advance. Also major kudos to Ryan for keeping up and putting up with us.
05/26/2007 (10:39 am)
Here we go again with another upgrade to the TGE engine and the majority of the update is for Constructor. Check out the release notes tdn.garagegames.com/wiki/Torque/1.5/1.5.2_ReleaseNotes for TGE 1.5.2 and as the release note said we will have another update but there is no timeline. Hopefully they will fix Constructor so we don't have to keep updating. As our artist MAylock is crazy about Constructor and has been re-doing all of our dif's, we now have a problem of the new buildings because the new update of Constructor does not work in TGE 1.5.1 so artists are stuck unless they download the update TGE 1.5.2, the only problem is that integrating this resource which worked great in 1.5.1 and the last build of Constructor, now has several errors in 1.5.2, aaaaaaaah will it never end. Here are the errors and I hope someone can help us.These 2 errors were made to [b]go away?[/b] by changing the arguments from
mesh->render(false, true, lightmap, getLMHandle(), instancelmhandle);
to
mesh->render(false, true, lightmap, false, getLMHandle(), instancelmhandle);
which raises the issue of what is IS_CONSTRUCTOR - does it mean when compiling the Constructor .exe or if we are using Constructor?
Also what does the argument [b]bool lightmapinunit0[/b] mean and should it be true or false?
#ifdef IS_CONSTRUCTOR
void ConstructorSimpleMesh::render(bool transparent, bool texture, bool lightmap)
{
#else
void ConstructorSimpleMesh::render(bool transparent, bool texture, bool lightmap, bool lightmapinunit0,
U32 interiorlmhandle, U32 instancelmhandle)
{
if(!materialList)
return;
#endif
error C2660: 'ConstructorSimpleMesh::render' : function does not take 5 arguments engine\interior\interiorRender.cc 441 - takes 6 arguments
error C2660: 'ConstructorSimpleMesh::render' : function does not take 5 arguments engine\interior\interiorRender.cc 465 -- takes 6 arguments
That leaves us with these 2 anomolies which show them declared in [b]interior.h[/b] as protected elements of class Interior - so my poor mind doesn't know how to fix them.
error C2511: 'bool Interior::castRay_r(const U32,const U16,const Point3F &,const Point3F &,RayInfo *)' : overloaded member function not found in 'Interior' engine\interior\interiorCollision.cc 306
error C2511: 'void Interior::scanZone_r(const U32,const Point3F &,const Point3F &,const Point3F &,const Point3F &,U16 *,U32 *)' : overloaded member function not found in 'Interior' engine\interior\interiorCollision.cc 1121
These 5 errors were fixed by putting in interior.h in the class Interior right after the
static bool smLightingCastRays;
[b]add[/b]
static bool smLightingBuildPolyList;
error C2039: 'smLightingBuildPolyList' : is not a member of 'Interior' engine\interior\interiorCollision.cc 803
error C2065: 'smLightingBuildPolyList' : undeclared identifier engine\interior\interiorCollision.cc 803
error C2039: 'smLightingBuildPolyList' : is not a member of 'Interior' engine\game\shadow.cc 519
error C2065: 'smLightingBuildPolyList' : undeclared identifier engine\game\shadow.cc 519
error C2039: 'smLightingBuildPolyList' : is not a member of 'Interior' engine\game\shadow.cc 525So if we can solve these last couple of questions then we have an update for TGE 1.5.2 and the new Constructor.As always I appreciate any and all input/help and thank you all in advance. Also major kudos to Ryan for keeping up and putting up with us.
#13
05/26/2007 (11:09 am)
It seems the download link for 1.5.2 is down. As soon as it's back up I will upgrade this to 1.5.2.
#14
05/26/2007 (1:27 pm)
Thanks for your efforts Ryan it's coming together.
#15
05/30/2007 (7:14 am)
Shon, the download server came back up yesterday and I was able to download 1.5.2. I will look into this this week and see if I can get the working in 1.5.2. Now with the release of Constructor 1.0.2 I wonder if 1.5.3 is about to rear it's little head? I wish constructor had an easy way of maintaining custom entities. I have added the new entities to my entitiy list and removed the ones that no longer apply but I would have to distribute the whole file which means you would loose any custom entities you may have already defined. Oh well, growing pains I guess. Stay tuned, as soon as I get this fixed I will post an update.
#16
05/31/2007 (4:48 am)
We eagerly await! Am going to the northern coast of California for a few days to work with my artist Maylock. So talk at you as soon as we can.
#17
06/01/2007 (10:02 pm)
I have migrated this to 1.5.2 but it seems that something in constructor 1.0.2 has changed and it won't export the entities anymore. I'm going to test it some more to see if it's something I'm doing wrong but it worked before and now it doesn't.
#18
Wow that figures brother. I just downloaded the new Constructor update and will install it later, but Shon and I have to go to Takilma, Oregon to our friends worldwide radio station takilmafm.com for a business meeting, so if you tune in around 2pm or so today PST on the internet we will see if we can get some of our music played around that time, depending on what the DJ is doing then of course /smiles.
As for the new build for Big C? hahaha that figures, and Shon will be back home Monday afternoon sometime so he will shoot you an email and you guys can talk about stuff if you have not got it figured out by then, or will email you anyway.
I was thinking that the GG staff on Constructor should maybe get a heads up with you about now or once you get caught up to them? They should anyway as you do very good work brother and I would like to see these in each new build in the head as having no .dts windows has made our game faster it seems to us, and unless there is a good reason for glass breaking a .dif window is very cool. In my humble opinion.
I have been using the first build mostly, as I was finding the second build a bit tweaky with export into TGE 1.5.2 atm, but hadn't had the time to post yet until I was sure it was the build and not me /wry grin... so now I will check the new build out first before I post, maybe they fixed what I had trouble with so will read the notes, but I do recommend that everyone keep the first build or backups anyway of builds to get back to just in case one goes south on us for all the artists out there. It has helped me allot I know.
OK we have to head out now so we will get back soon /bows.
DeathTwister aka Maylock
06/02/2007 (7:58 am)
Hay Ryan,Wow that figures brother. I just downloaded the new Constructor update and will install it later, but Shon and I have to go to Takilma, Oregon to our friends worldwide radio station takilmafm.com for a business meeting, so if you tune in around 2pm or so today PST on the internet we will see if we can get some of our music played around that time, depending on what the DJ is doing then of course /smiles.
As for the new build for Big C? hahaha that figures, and Shon will be back home Monday afternoon sometime so he will shoot you an email and you guys can talk about stuff if you have not got it figured out by then, or will email you anyway.
I was thinking that the GG staff on Constructor should maybe get a heads up with you about now or once you get caught up to them? They should anyway as you do very good work brother and I would like to see these in each new build in the head as having no .dts windows has made our game faster it seems to us, and unless there is a good reason for glass breaking a .dif window is very cool. In my humble opinion.
I have been using the first build mostly, as I was finding the second build a bit tweaky with export into TGE 1.5.2 atm, but hadn't had the time to post yet until I was sure it was the build and not me /wry grin... so now I will check the new build out first before I post, maybe they fixed what I had trouble with so will read the notes, but I do recommend that everyone keep the first build or backups anyway of builds to get back to just in case one goes south on us for all the artists out there. It has helped me allot I know.
OK we have to head out now so we will get back soon /bows.
DeathTwister aka Maylock
#19
Tnx :)
JoZ
06/04/2007 (3:25 pm)
Hi guys... about the transparent interiors... will transp. shapes like trees show correctly trough?Tnx :)
JoZ
#20
DT
06/04/2007 (3:44 pm)
Hi, yup, Ryan and Shon have been working on it, well Ryan is the father of it anyway, Shon lending a helping hand here and there and hope for that fix later this week if all goes well, unless they release 1.5.3 of course hahahaha ROTFL then we do it all over again maybe, which not so fun after a while /Ack.DT

Torque Owner Shon Gale
Your help is greatly appreciated.