Game Development Community

Engine Crash with diffrent models

by Wolfgang Kurz · in Torque Game Engine Advanced · 03/13/2007 (12:13 am) · 4 replies

Hi everyone,

I recently switched to TGEA and i thought it would be time to solve a problem i already had in TGE.

I am writing a little demo for an rpg with the advanced camera and a click to move setup.

For my tests i have been useing the Rifleman Model from the RTS Starterkit which works fine.

Now when i try to use Kork or Spacekork the engine crashes when the model enters the scene and falls to the ground. it stops right when the model hits the floor.

Now i was wondering if anyone had the same problem or if anyone can point me to some information on how to solve this.

Thx a lot in advance!

#1
03/13/2007 (7:47 am)
Have you loaded the proper animation sequences for Kork via a TSShapeConstructor?
#2
03/15/2007 (2:13 am)
Cool thx a lot:-)

that was the problem:-)

but now i already have another problem:-)

when i moved the rifleman around it showed the walk animation

the spaceorc is just hovering to the next place without animation

how do i start the animation? and why isnt it working like it did with the rifleman?
#3
03/15/2007 (2:56 am)
Well i found this in the engine:

PlayerData::ActionAnimationDef PlayerData::ActionAnimationList[NumTableActionAnims] =
{
   // *** WARNING ***
   // This array is indexed useing the enum values defined in player.h

   // Root is the default animation
   { "root" },       // RootAnim,

   // These are selected in the move state based on velocity
   { "run",  { 0,+1,0 } },       // RunForwardAnim,
   { "back", { 0,-1,0 } },       // BackBackwardAnim
   { "side", { -1,0,0 } },       // SideLeftAnim,

   // These are set explicitly based on player actions
   { "fall" },       // FallAnim
   { "jump" },       // JumpAnim
   { "standjump" },  // StandJumpAnim
   { "land" },       // LandAnim
};
i use this Shape constructor:
datablock TSShapeConstructor(PlayerDts)
{
   baseShape = "./player.dts";
   sequence0 = "./player_root.dsq root";
   sequence1 = "./player_forward.dsq run";
   sequence2 = "./player_back.dsq back";
   sequence3 = "./player_side.dsq side";
   sequence4 = "./player_lookde.dsq look";
   sequence5 = "./player_head.dsq head";
   sequence6 = "./player_fall.dsq fall";
   sequence7 = "./player_land.dsq land";
   sequence8 = "./player_jump.dsq jump";
   sequence9  = "./player_diehead.dsq death1";
   sequence10 = "./player_diechest.dsq death2";
   sequence11 = "./player_dieback.dsq death3";
   sequence12 = "./player_diesidelf.dsq death4";
   sequence13 = "./player_diesidert.dsq death5";
   sequence14 = "./player_dieleglf.dsq death6";
   sequence15 = "./player_dielegrt.dsq death7";
   sequence16 = "./player_dieslump.dsq death8";
   sequence17 = "./player_dieknees.dsq death9";
   sequence18 = "./player_dieforward.dsq death10";
   sequence19 = "./player_diespin.dsq death11";
   sequence20 = "./player_looksn.dsq looksn";
   sequence21 = "./player_lookms.dsq lookms";
   sequence22 = "./player_scoutroot.dsq scoutroot";
   sequence23 = "./player_headside.dsq headside";
   sequence24 = "./player_recoilde.dsq light_recoil";
   sequence25 = "./player_sitting.dsq sitting";
   sequence26 = "./player_celsalute.dsq celsalute";
   sequence27 = "./player_celwave.dsq celwave";
   sequence28 = "./player_standjump.dsq standjump";
   sequence29 = "./player_looknw.dsq looknw";
   sequence30 = "./player_dance.dsq dance";
   sequence31 = "./player_range.dsq range";
};

and i use it like this:
...
Exec("./players/aiPlayer.cs"); // Load the player datablocks and methods
Exec("~/data/shapes/spaceOrc/player.cs");
...
%player = new AIPlayer() {      
     dataBlock = MaleAvatar;      
     client = %this;   
     };   
...
%client.player.setMoveDestination($pos);
#4
03/15/2007 (7:13 am)
Ok found the error myself:-)

just had to switch these lines around:

Exec("./players/aiPlayer.cs"); // Load the player datablocks and methods
Exec("~/data/shapes/spaceOrc/player.cs");