Game Development Community

Particle system TGEA 4.2

by Mahmud Hasan · in Torque Game Engine Advanced · 01/25/2007 (1:14 am) · 6 replies

Hi,

I just downloaded the TGEA_MS42 and I found that it is not exactly compatible with the previous particle system we used in the starter.fps ported to MS4.

I found following error message while trying to load the level.

"Error, could not find ClientMissionCleanup group"

And I found following error in the console after it crashed:

Fatal: (d:\tgea_ms42\engine\game\fx\particleemitter.cpp @ 362) Error, could not find ClientMissionCleanup group

I was thinking that it might be incompatible with the legacy particle system. But I could not founs any resource about the new particle system implemented in TGEA_42.

Can anyone point me any of the new particle system resource or how can i port the legacy particle system to new MS42 standard? How can I resolve this error while trying to load the old level I am developing.

Thank you.

#1
01/25/2007 (7:08 am)
There are Script changes that are related to that...
#2
01/25/2007 (10:47 am)
Do a search in the .\example directory and you'll find some script files that reference the ClientMissionCleanup group. It's created in .\example\common\client\mission.cs.

Don't forget to port the scripts when you get new code.
#3
01/25/2007 (5:18 pm)
Having the same problem, actually:

2 part observation...

side a-
Included merged copies of the

./example/common/client/mission.cs
./example/common/main.cs
and
/example/[yourmodhere]/client/scripts/serverconnection.cs
files in a converted starter.racing game. the only difference in runing, or dying horribly is un-remming
//tireEmitter = TireEmitter; // All the tires use the same dust emitter

side b-
on the flip side, taking a straight from download tgea_ms4_2.zip, extracting it, and remming out

new SimGroup( ClientMissionCleanup );
in
function clientCmdMissionStart(%seq)

doesn't produce the expected crash...
#4
01/27/2007 (9:04 am)
Got it. seems on this end, at least, the emmitters were bein created before the
function clientCmdMissionStart(%seq)
was being called, so shifting the
new SimGroup( ClientMissionCleanup );
to
\common\client\missiondownload.cs
function clientCmdMissionStartPhase1(%seq, %missionName, %musicTrack)
gets the group created prior to asset instancing so it can be appended to with that nice automagical setup in the backend
dunno yet if theres any nasty oddball side effects to watch out for, but the thing functions now, at least


edit: found the catch: aiconnection derived bots don't have to download anything... hrm...
#5
01/27/2007 (9:24 am)
What would be cool is if there was a CHANGELOG for the scripts... for those who don't use automatic merging tools. (I like to see what exactly changed and change it manually)
#6
01/27/2007 (5:29 pm)
So in an attempt to get something a bit more robust going on there, shifted the calls from their prior locations, and ended up with:
\common\client\main.cs
function onStart()
{
Parent::onStart();
echo("\n--------- Initializing MOD: Common ---------");
initCommon();
if( !isObject(ClientMissionCleanup) )
{
new SimGroup( ClientMissionCleanup );
}
}

function onExit()
{
echo("Exporting client prefs");
export("$pref::*", "./client/prefs.cs", False);

echo("Exporting server prefs");
export("$Pref::Server::*", "./server/prefs.cs", False);
BanList::Export("./server/banlist.cs");

if( isObject(ClientMissionCleanup) )
{
ClientMissionCleanup.delete();
}

OpenALShutdown();
Parent::onExit();
}

wich works up to and including bots, ect

edit: ignore prior additional bug. that one was my fualt for missing an additional removal entry in the disconnect section.