Game Development Community

Yak Pak and TGEA

by Scott Warren · in Torque Game Engine Advanced · 05/03/2008 (5:55 pm) · 20 replies

Yak Pak stopped working for TGEA at version 1.0.1 or so.
Not sure if it works with 1.3.0 but surely doesn't work with 1.7.0.

To keep this kind of short I tried to get the Yak Pak installed to the T3D demo of TGEA.
I admit I do not know enough of the engine or the Pak to really complain.
I know for certain that If I worked hard enough at it, i could gain success or an aneurysm
Help me. I have become Windoze-ified... All that plug and Play has made me an average fat and lazy American.
(kidding).

Actually I know the problem, it's Me.
Not knowing enough about everything and too much of nothing.

But I sure would appreciate any feedback from anyone that has done it correctly so that at least I know if I'm staying on the short yellow bus, or If this is my stop.

#1
05/03/2008 (6:09 pm)
I got the yak pack working with TGEA 1.7, but I did it in a very different way, I didn't integrate it into the engine code, but setup my own project code and handled it that way. I could give you an idea of what I did if you want, it works with no issues, but it's not a straight forward thing, but on the plus side, if they make any engine code changes, I only have to add one line to one file, and it's ported...
#2
05/03/2008 (6:19 pm)
Eric thank you for such a fast response.
I am not the first to need a solution to this and I believe that your solution could benefit current owners and prospective new Yak Pak buyers.

How are you at writing a new Tutorial ?
#3
05/03/2008 (8:13 pm)
I've started a TDN article

tdn.garagegames.com/wiki/TorqueShaderEngine/Yack_Pack_TGEA_1_7

I've logged the code side of the changes. It's a quick first run, so it might be a little hard to follow. Let me know if you run into any issues or if things are not very clear. Since there isn't a specific section for Yack Pack owners, I didn't want to post any Yack specific code, so I just do a lot of referring to the merge guide. If you run into any thing that doesn't work, let me know and I'll make sure there wasn't any other changes I need to make.

I'll work on the script changes next. Most of those go over as is, other than changing references in script to our newly made classes, rather than the standard engine classes.

I'll post again when I've updated the article.
#4
05/04/2008 (10:21 am)
Thank you Eric.
Have been reading the example in TDN and although it relates directly to your project it looks like a clever work around.

Clever enough to get my wheels turning about other packs that have lost support to the product.
Seems to me that something like YakPak should be a permanent standard for TGE and TGEA because it adds immersion to the game when a player can interact with NPC's, and the Players.

I haven't dissected the code snippit in the TDN and made anything generic or working yet but at least now I have a direction to follow.
#5
05/06/2008 (9:38 am)
Hi guys. I did the TGEA code for the Yack Pack and I am planning on doing a TGEA 1.7 version for everyone to have. I'm just in a crunch time with my current project for this week. I'll try to squeeze in some time to look at what needs to be changed. I think the GFX calls in GuiTextListCtrl will be the bulk of it.
#6
05/13/2008 (2:21 pm)
Bump..
Hope the project is going well for you Mark.
#7
05/13/2008 (5:37 pm)
Hey Mark, I have everything working in 1.7, although I went about it in a slightly different way. If you check my link above, you can see how I handled the changes. This really didn't take much more than an hour or two, so it shouldn't be a problem. Let me know if you want any of the files or anything, maybe I can save you some time...
#8
05/14/2008 (7:13 pm)
@Eric and Mark - That sounds great! I was hoping someone would do an update. Thanks for the TDN article and taking the time to do this. I'm still keeping my fingers crossed for a feature update to the Yak Pak, too.
#9
05/16/2008 (12:20 pm)
Sorry guys, haven't had a chance to finish this yet. Every time I turn around someone on my team is reporting a new critical bug with our project, so my attention has been diverted. I'll see if I can hammer it out over a couple of lunch hours at work.
#10
05/26/2008 (10:56 am)
Ok, I carved a few lunch hours and got this all hammered out. I'll be submitting the changes to Filament so they can update the product through the GG store. In the mean time Eric, do you mind if I hijack your TDN article to post the instructions for manually making the update changes?
#11
05/26/2008 (12:21 pm)
No man go for it...
#12
05/26/2008 (4:04 pm)
Ok, I've posted my extremely short notes that I took while making the changes. Someone can look them over and let me know if you need more explanation, or if something doesn't work for you.
#13
05/27/2008 (11:49 am)
@ Mark: Thanks for the great tutorial. I really appreciate it. I ran into a problem with the 'guiTextListCtl.cpp'.
I was getting an error with this line of code - saveClipRect = dglGetClipRect();
It said 'identifier not found'

I was wondering where the "Stanley_Sunshine_Dialogue.cs" is located. I could only fine the "Stanley_Sunshine.dla and .dls" files.

Also, I was wondering which file they are referring to in the bugfix for the SFX preload problem. I wasn't sure where to add that bit of code.

Thanks again.
#14
05/27/2008 (12:21 pm)
Ok, fixed up the TDN article Kerry. Looks like I pasted that onRenderCell function to my notepad before I fixed the final bugs. The line you are having a problem with should be changed to:
saveClipRect = GFX->getClipRect();
The answer to both of your last 2 questions is: "Stanley_Sunshine.dla" I have updated the TDN article to be more specific there. Let me know if that solves your problems!
#15
05/27/2008 (5:32 pm)
Thanks for the fix! I was able to get it to compile (with only 3 errors, but I think they are from a different issue).

I went through the rest of the merges, etc. Unfortunately, the T3D demo just crashed when I click on the play button. I checked the console log.

It didn't like the 'Stanley_Sunshine.dla' at first. But then I changed the datablock 'AudioProfile' to 'SFXProfile' and there aren't any more problems with the 'dla'.
Am I supposed to do that? You mention changing the AudioDescription to SFXDescription on the TDN article but not the AudioProfile to SFXProfile (I just took a guess).

Now I'm getting preload problems with things like - ImpactLightSoftSound or FootLightHardSound.

I also may have confused things by adding an 'aiplayer.cs' to the server/scripts folder so I could spawn an NPC.

Anyway, it still crashes and I'm sure there's something I'm doing wrong...

Oh, I know I already asked this, but I'm still not sure.
Am I supposed to add this bit of code to the 'Stanley_Sunshine.dla" from the preload bug fix?

const Resource& SFXProfile::getResource()
{
if ( !mResource )
_preloadBuffer();
return mResource;
}
#16
05/27/2008 (7:33 pm)
I have everything compiling correctly now, I think I very close to a success... However..

I get this error when I try to engage an NPC with chat..

The cross hair turns from a regular to the dialog bubble, and all looks like it's going to work.. except this appears in the console:

scriptsAndAssets/client/scripts/default.bind.cs (665): Unable to find object: 'CrossHair' attempting to call function 'getTarget'

I know it's probably something stupid I've overlooked.. BUt I'd like to ask for help anyway coz my eyballs are aching from re-reading the code over and over.. lol
#17
05/27/2008 (9:06 pm)
Quote:
t didn't like the 'Stanley_Sunshine.dla' at first. But then I changed the datablock 'AudioProfile' to 'SFXProfile' and there aren't any more problems with the 'dla'.
Am I supposed to do that? You mention changing the AudioDescription to SFXDescription on the TDN article but not the AudioProfile to SFXProfile (I just took a guess).
Yes, I should probably note that specifically in the article.

Quote:Unfortunately, the T3D demo just crashed when I click on the play...
Sorry, I should have mentioned that I actually integrated it into the "Stronghold" example since that most closely matches the old "starter.fps"

Quote:Oh, I know I already asked this, but I'm still not sure.
Am I supposed to add this bit of code to the 'Stanley_Sunshine.dla" from the preload bug fix?
Its easiest to just change all occurrences of preload = false to preload = true in "Stanley_Sunshine.dla"
#18
05/27/2008 (9:07 pm)
Quote:
scriptsAndAssets/client/scripts/default.bind.cs (665): Unable to find object: 'CrossHair' attempting to call function 'getTarget'
In your PlayGui.gui file, find the GuiCrossHairHud object and give it the name "CrossHair"
new GuiCrossHairHud(CrossHair)
This, I believe, is one of the "standard" merge steps.
#19
05/28/2008 (9:12 am)
Thanks again, Mark. Everything compiles and works great now in the Stronghold demo.
#20
05/28/2008 (9:23 am)
Glad to hear it Kerry. I've submitted everything to Filament games so hopefully they'll be able to put together a formal update for the GG store.