#include "ToolsCPA.h"
 
#include "Options/Options.h"
#include "Macros.h"
 
#include "Main.h"
 
#include "Actions/AllActs.h"
 
#include "Structur/3DOSLkTb.h"
#include "Structur/ErrGame.h"
#include "Structur/EngMode.h"
#include "Structur/Objects.h"
#include "Structur/StdObjSt.h"
#include "Structur/GameScpt.h"
#include "Structur/MemGame.h"
 
#include "Always.h"
#include "Basic.h"
#include "Engine.h"
#include "GameEng.h"
#include "LoadLvl.h"
#include "MainChar.h"
#include "ObjType.h"
#include "ZeMem.h"
 
#include "ldt.h"
 
/*****************************************************************
Name: 
Description: Create callback for LDT
Author: Mircea Petrescu
Date: 8/21/98
Modified: 
*****************************************************************/
int fn_iCreateOneCharacter( LDT_tdst_Link *pLink )
{
 
  struct tdstEngineObject_ *p_stEngineObject;
  
  MMG_fn_vAddMemoryInfo( MMG_C_lTypeGAM , MMG_C_lSubTypeEngineObject , 0 );
  p_stEngineObject=(tdstEngineObject *)M_p_GameMallocInHLM(sizeof(struct tdstEngineObject_));
 
  pLink->pObject=(void *)p_stEngineObject;
  return 0;
}
 
/*****************************************************************
Name: 
Description: Load callback for LDT
Author: Mircea Petrescu
Date: 8/21/98
Modified: Scripa Ovidiu 09/01/98
*****************************************************************/
int fn_iLoadOneCharacter( LDT_tdst_Link *pLink )
{
  LDT_tdeParseResult result=ParseResult_BeginSection;
  struct tdstEngineObject_ *p_stEngineObject=(struct tdstEngineObject_ *)pLink->pObject;
 
  char szTextWindows[_MAX_PATH];
  char szForScript[_MAX_PATH];
 
  int iLen;
 
  sprintf(szTextWindows,"Chargement de %s", pLink->szName);
  fn_vChangeWindowTitle(szTextWindows);
 
  iLen=LDT_ComputeSectionName(pLink, szForScript);
  SCR_M_v_Link_SetAdditionalLong(SCR_fnp_st_Link_SetValue(&g_st3DOSLinkTable.stCharacter,szForScript,(unsigned long)p_stEngineObject),1,iLen);
 
	/* OS - load 'Character' subsections : 3dData,  StandardGame, Brain, Dynam, CollSet, SectInfo, CineInfo, MSWay, MSLight*/
	do{
		result=LDT_GetNextEntry();
		if( result== ParseResult_BeginSection )
			LDT_LoadSection( NULL );
 
	}while ( result!=ParseResult_EndSection );
 
 
  return 0;
}
 
