2009-05-08 13:28:41 +00:00
/*
* OpenClonk , http : //www.openclonk.org
*
2013-12-17 20:01:09 +00:00
* Copyright ( c ) 1998 - 2000 , Matthes Bender
* Copyright ( c ) 2001 - 2009 , RedWolf Design GmbH , http : //www.clonk.de/
2016-04-03 18:18:29 +00:00
* Copyright ( c ) 2009 - 2016 , The OpenClonk Team and contributors
2009-05-08 13:28:41 +00:00
*
2013-12-17 20:01:09 +00:00
* Distributed under the terms of the ISC license ; see accompanying file
* " COPYING " for details .
2009-05-08 13:28:41 +00:00
*
2013-12-17 20:01:09 +00:00
* " Clonk " is a registered trademark of Matthes Bender , used with permission .
* See accompanying file " TRADEMARK " for details .
2009-05-08 13:28:41 +00:00
*
2013-12-17 20:01:09 +00:00
* To redistribute this file separately , substitute the full license texts
* for the above references .
2009-05-08 13:28:41 +00:00
*/
/* Structures for object and player info components */
2016-04-03 18:07:56 +00:00
# include "C4Include.h"
# include "object/C4InfoCore.h"
# include "object/C4Def.h"
# include "object/C4DefList.h"
# include "lib/C4Random.h"
2016-10-22 11:19:22 +00:00
# include "lib/C4Markup.h"
2016-04-03 18:07:56 +00:00
# include "player/C4RankSystem.h"
# include "c4group/C4Group.h"
# include "c4group/C4Components.h"
# include "game/C4Game.h"
# include "object/C4GameObjects.h"
# include "lib/C4Random.h"
2009-05-08 13:28:41 +00:00
//------------------------------- Player Info ----------------------------------------
C4PlayerInfoCore : : C4PlayerInfoCore ( )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
Default ( ) ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
void C4PlayerInfoCore : : Default ( C4RankSystem * pRanks )
2010-03-28 18:58:01 +00:00
{
2014-09-24 21:08:40 +00:00
* Comment = ' \0 ' ;
* RankName = ' \0 ' ;
TotalScore = 0 ;
Rounds = RoundsWon = RoundsLost = 0 ;
TotalPlayingTime = 0 ;
* LeagueName = ' \0 ' ;
LastRound . Default ( ) ;
ExtraData = C4ValueMapData ( ) ;
PrefControl . Clear ( ) ;
2009-05-08 13:28:41 +00:00
Rank = 0 ;
SCopy ( " Neuling " , PrefName ) ;
if ( pRanks ) SCopy ( pRanks - > GetRankName ( Rank , false ) . getData ( ) , RankName ) ;
else SCopy ( " Rang " , RankName ) ;
2012-01-29 02:16:22 +00:00
PrefClonkSkin = 0 ;
2009-05-08 13:28:41 +00:00
PrefColor = 0 ;
PrefColorDw = 0xff ;
PrefColor2Dw = 0 ;
2016-02-03 02:07:20 +00:00
OldPrefControl = 0 ;
2009-05-08 13:28:41 +00:00
PrefPosition = 0 ;
PrefMouse = 1 ;
2009-10-14 16:46:22 +00:00
OldPrefControlStyle = 0 ;
OldPrefAutoContextMenu = 0 ;
PrefControl . Clear ( ) ;
2009-05-08 13:28:41 +00:00
ExtraData . Reset ( ) ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
DWORD C4PlayerInfoCore : : GetPrefColorValue ( int32_t iPrefColor )
2010-03-28 18:58:01 +00:00
{
2009-09-21 18:52:40 +00:00
DWORD valRGB [ 12 ] = { 0xFF0000E8 , 0xFFF40000 , 0xFF00C800 , 0xFFFCF41C ,
0xFFC48444 , 0xFF784830 , 0xFFA04400 , 0xFFF08050 ,
2010-03-28 18:58:01 +00:00
0xFF848484 , 0xFFFFFFFF , 0xFF0094F8 , 0xFFBC00C0
} ;
2009-05-08 13:28:41 +00:00
if ( Inside < int32_t > ( iPrefColor , 0 , 11 ) )
return valRGB [ iPrefColor ] ;
2009-09-21 18:52:40 +00:00
return 0xFFAAAAAA ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
2009-08-15 18:50:32 +00:00
bool C4PlayerInfoCore : : Load ( C4Group & hGroup )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
// New version
StdStrBuf Source ;
2011-03-05 01:44:26 +00:00
if ( hGroup . LoadEntryString ( C4CFN_PlayerInfoCore , & Source ) )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
// Compile
StdStrBuf GrpName = hGroup . GetFullName ( ) ; GrpName . Append ( DirSep C4CFN_PlayerInfoCore ) ;
2010-03-28 18:58:01 +00:00
if ( ! CompileFromBuf_LogWarn < StdCompilerINIRead > ( * this , Source , GrpName . getData ( ) ) )
2009-08-15 18:50:32 +00:00
return false ;
2009-05-08 13:28:41 +00:00
// Pref for AutoContextMenus is still undecided: default by player's control style
2009-10-14 16:46:22 +00:00
if ( OldPrefAutoContextMenu = = - 1 )
OldPrefAutoContextMenu = OldPrefControlStyle ;
2009-05-08 13:28:41 +00:00
// Determine true color from indexed pref color
if ( ! PrefColorDw )
PrefColorDw = GetPrefColorValue ( PrefColor ) ;
// Validate colors
PrefColorDw & = 0xffffff ;
PrefColor2Dw & = 0xffffff ;
// Validate name
2011-08-27 19:13:15 +00:00
C4Markup : : StripMarkup ( PrefName ) ;
2009-05-08 13:28:41 +00:00
// Success
2009-08-15 18:50:32 +00:00
return true ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
// Old version no longer supported - sorry
2010-03-27 16:05:02 +00:00
return false ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
2009-08-15 18:50:32 +00:00
bool C4PlayerInfoCore : : Save ( C4Group & hGroup )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
StdStrBuf Source , Name = hGroup . GetFullName ( ) ; Name . Append ( DirSep C4CFN_PlayerInfoCore ) ;
2010-03-28 18:58:01 +00:00
if ( ! DecompileToBuf_Log < StdCompilerINIWrite > ( * this , & Source , Name . getData ( ) ) )
2009-08-15 18:50:32 +00:00
return false ;
if ( ! hGroup . Add ( C4CFN_PlayerInfoCore , Source , false , true ) )
return false ;
2011-03-13 16:06:23 +00:00
hGroup . Delete ( " C4Player.ocb " ) ;
2009-08-15 18:50:32 +00:00
return true ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
void C4PlayerInfoCore : : Promote ( int32_t iRank , C4RankSystem & rRanks )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
Rank = iRank ;
SCopy ( rRanks . GetRankName ( Rank , true ) . getData ( ) , RankName , C4MaxName ) ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
2009-08-15 18:50:32 +00:00
bool C4PlayerInfoCore : : CheckPromotion ( C4RankSystem & rRanks )
2010-03-28 18:58:01 +00:00
{
2010-04-21 19:12:49 +00:00
if ( TotalScore > = rRanks . Experience ( Rank + 1 ) )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
Promote ( Rank + 1 , rRanks ) ;
2009-08-15 18:50:32 +00:00
return true ;
2009-05-08 13:28:41 +00:00
}
2010-03-28 18:58:01 +00:00
return false ;
}
2009-05-08 13:28:41 +00:00
void C4PlayerInfoCore : : CompileFunc ( StdCompiler * pComp )
2010-03-28 18:58:01 +00:00
{
2011-03-26 22:59:35 +00:00
C4ValueNumbers numbers ;
2009-05-08 13:28:41 +00:00
pComp - > Name ( " Player " ) ;
2010-03-28 18:58:01 +00:00
pComp - > Value ( mkNamingAdapt ( toC4CStr ( PrefName ) , " Name " , " Neuling " ) ) ;
pComp - > Value ( mkNamingAdapt ( toC4CStr ( Comment ) , " Comment " , " " ) ) ;
pComp - > Value ( mkNamingAdapt ( Rank , " Rank " , 0 ) ) ;
2015-03-25 18:04:04 +00:00
pComp - > Value ( mkNamingAdapt ( toC4CStr ( RankName ) , " RankName " , LoadResStr ( " IDS_MSG_RANK " ) ) ) ; // TODO: check if this would be desirable
2010-04-21 19:12:49 +00:00
pComp - > Value ( mkNamingAdapt ( TotalScore , " Score " , 0 ) ) ;
2010-03-28 18:58:01 +00:00
pComp - > Value ( mkNamingAdapt ( Rounds , " Rounds " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( RoundsWon , " RoundsWon " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( RoundsLost , " RoundsLost " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( TotalPlayingTime , " TotalPlayingTime " , 0 ) ) ;
2011-03-26 22:59:35 +00:00
pComp - > Value ( mkNamingAdapt ( mkParAdapt ( ExtraData , & numbers ) , " ExtraData " , C4ValueMapData ( ) ) ) ;
2011-03-27 16:14:41 +00:00
pComp - > Value ( mkNamingAdapt ( numbers , " ExtraDataValues " ) ) ;
if ( pComp - > isCompiler ( ) )
{
numbers . Denumerate ( ) ;
ExtraData . Denumerate ( & numbers ) ;
}
2010-03-28 18:58:01 +00:00
pComp - > Value ( mkNamingAdapt ( toC4CStr ( LeagueName ) , " LeagueName " , " " ) ) ;
2009-05-08 13:28:41 +00:00
pComp - > NameEnd ( ) ;
pComp - > Name ( " Preferences " ) ;
2009-10-14 16:46:22 +00:00
pComp - > Value ( mkNamingAdapt ( PrefColor , " Color " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( PrefColorDw , " ColorDw " , 0xffu ) ) ;
pComp - > Value ( mkNamingAdapt ( PrefColor2Dw , " AlternateColorDw " , 0u ) ) ;
pComp - > Value ( mkNamingAdapt ( PrefPosition , " Position " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( PrefMouse , " Mouse " , 1 ) ) ;
2016-02-03 02:07:20 +00:00
pComp - > Value ( mkNamingAdapt ( OldPrefControl , " Control " , 1 ) ) ;
2009-10-14 16:46:22 +00:00
pComp - > Value ( mkNamingAdapt ( OldPrefControlStyle , " AutoStopControl " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( OldPrefAutoContextMenu , " AutoContextMenu " , - 1 ) ) ; // compiling default is -1 (if this is detected, AutoContextMenus will be defaulted by control style)
pComp - > Value ( mkNamingAdapt ( PrefControl , " ControlSet " , StdStrBuf ( ) ) ) ;
2012-01-29 02:16:22 +00:00
pComp - > Value ( mkNamingAdapt ( PrefClonkSkin , " ClonkSkin " , 0 ) ) ;
2009-05-08 13:28:41 +00:00
pComp - > NameEnd ( ) ;
2009-10-14 16:46:22 +00:00
pComp - > Value ( mkNamingAdapt ( LastRound , " LastRound " ) ) ;
2009-05-08 13:28:41 +00:00
2014-09-24 21:08:40 +00:00
pComp - > Value ( mkNamingAdapt ( Achievements , " Achievements " ) ) ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
//------------------------------- Object Info ----------------------------------------
C4ObjectInfoCore : : C4ObjectInfoCore ( )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
Default ( ) ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
void C4ObjectInfoCore : : Default ( C4ID n_id ,
2010-03-28 18:58:01 +00:00
C4DefList * pDefs ,
const char * cpNames )
{
2009-05-08 13:28:41 +00:00
// Def
C4Def * pDef = NULL ;
if ( pDefs ) pDef = pDefs - > ID2Def ( n_id ) ;
// Defaults
id = n_id ;
2010-03-27 16:05:02 +00:00
Participation = 1 ;
Rank = 0 ;
2009-05-08 13:28:41 +00:00
Experience = 0 ;
Rounds = 0 ;
DeathCount = 0 ;
Birthday = 0 ;
TotalPlayingTime = 0 ;
SCopy ( " Clonk " , Name , C4MaxName ) ;
SCopy ( " Clonk " , TypeName , C4MaxName ) ;
sRankName . Copy ( " Clonk " ) ;
sNextRankName . Clear ( ) ;
NextRankExp = 0 ;
DeathMessage [ 0 ] = ' \0 ' ;
Age = 0 ;
ExtraData . Reset ( ) ;
// Type
if ( pDef ) SCopy ( pDef - > GetName ( ) , TypeName , C4MaxName ) ;
// Name
if ( cpNames )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
SCopySegment ( cpNames , Random ( SCharCount ( 0x0A , cpNames ) ) , Name , 0x0A , C4MaxName + 1 ) ;
SClearFrontBack ( Name ) ;
SReplaceChar ( Name , 0x0D , 0x00 ) ;
if ( ! Name [ 0 ] ) SCopy ( " Clonk " , Name , C4MaxName ) ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
if ( pDefs ) UpdateCustomRanks ( pDefs ) ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
void C4ObjectInfoCore : : Promote ( int32_t iRank , C4RankSystem & rRanks , bool fForceRankName )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
Rank = iRank ;
// copy new rank name if defined only, or forced to use highest defined rank for too high info ranks
StdStrBuf sNewRank ( rRanks . GetRankName ( Rank , fForceRankName ) ) ;
if ( sNewRank ) sRankName . Copy ( sNewRank ) ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
void C4ObjectInfoCore : : UpdateCustomRanks ( C4DefList * pDefs )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
assert ( pDefs ) ;
C4Def * pDef = pDefs - > ID2Def ( id ) ;
if ( ! pDef ) return ;
if ( pDef - > pRankNames )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
StdStrBuf sRank ( pDef - > pRankNames - > GetRankName ( Rank , false ) ) ;
if ( sRank ) sRankName . Copy ( sRank ) ;
// next rank data
StdStrBuf sNextRank ( pDef - > pRankNames - > GetRankName ( Rank + 1 , false ) ) ;
if ( sNextRank )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
sNextRankName . Copy ( sNextRank ) ;
NextRankExp = pDef - > pRankNames - > Experience ( Rank + 1 ) ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
else
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
// no more promotion possible by custom rank system
sNextRankName . Clear ( ) ;
NextRankExp = C4RankSystem : : EXP_NoPromotion ;
}
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
else
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
// definition does not have custom rank names
sNextRankName . Clear ( ) ;
NextRankExp = 0 ;
}
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
bool C4ObjectInfoCore : : GetNextRankInfo ( C4RankSystem & rDefaultRanks , int32_t * piNextRankExp , StdStrBuf * psNextRankName )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
int32_t iNextRankExp ;
// custom rank assigned?
if ( NextRankExp )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
iNextRankExp = NextRankExp ;
if ( psNextRankName ) psNextRankName - > Copy ( sNextRankName ) ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
else
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
// no custom rank: Get from default set
StdStrBuf sRank ( rDefaultRanks . GetRankName ( Rank + 1 , false ) ) ;
if ( sRank )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
iNextRankExp = rDefaultRanks . Experience ( Rank + 1 ) ;
if ( psNextRankName ) psNextRankName - > Copy ( sRank ) ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
else
// no more promotion
iNextRankExp = C4RankSystem : : EXP_NoPromotion ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
// return result
if ( piNextRankExp ) * piNextRankExp = iNextRankExp ;
// return value is whether additional promotion is possible
return iNextRankExp ! = C4RankSystem : : EXP_NoPromotion ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
2009-08-15 18:50:32 +00:00
bool C4ObjectInfoCore : : Load ( C4Group & hGroup )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
StdStrBuf Source ;
2011-03-05 01:44:26 +00:00
return hGroup . LoadEntryString ( C4CFN_ObjectInfoCore , & Source ) & &
2010-03-28 18:58:01 +00:00
Compile ( Source . getData ( ) ) ;
}
2009-05-08 13:28:41 +00:00
2009-08-15 18:50:32 +00:00
bool C4ObjectInfoCore : : Save ( C4Group & hGroup , C4DefList * pDefs )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
// rank overload by def: Update any NextRank-stuff
if ( pDefs ) UpdateCustomRanks ( pDefs ) ;
char * Buffer ; size_t BufferSize ;
if ( ! Decompile ( & Buffer , & BufferSize ) )
2009-08-15 18:50:32 +00:00
return false ;
if ( ! hGroup . Add ( C4CFN_ObjectInfoCore , Buffer , BufferSize , false , true ) )
{ delete [ ] Buffer ; return false ; }
return true ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
void C4ObjectInfoCore : : CompileFunc ( StdCompiler * pComp )
2010-03-28 18:58:01 +00:00
{
2011-03-26 22:59:35 +00:00
C4ValueNumbers numbers ;
2010-03-28 18:58:01 +00:00
pComp - > Value ( mkNamingAdapt ( id , " id " , C4ID : : None ) ) ;
pComp - > Value ( mkNamingAdapt ( toC4CStr ( Name ) , " Name " , " Clonk " ) ) ;
pComp - > Value ( mkNamingAdapt ( toC4CStr ( DeathMessage ) , " DeathMessage " , " " ) ) ;
pComp - > Value ( mkNamingAdapt ( Rank , " Rank " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( sRankName , " RankName " , " Clonk " ) ) ;
pComp - > Value ( mkNamingAdapt ( sNextRankName , " NextRankName " , " " ) ) ;
pComp - > Value ( mkNamingAdapt ( toC4CStr ( TypeName ) , " TypeName " , " Clonk " ) ) ;
pComp - > Value ( mkNamingAdapt ( Participation , " Participation " , 1 ) ) ;
pComp - > Value ( mkNamingAdapt ( Experience , " Experience " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( NextRankExp , " NextRankExp " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( Rounds , " Rounds " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( DeathCount , " DeathCount " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( Birthday , " Birthday " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( TotalPlayingTime , " TotalPlayingTime " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( Age , " Age " , 0 ) ) ;
2011-03-26 22:59:35 +00:00
pComp - > Value ( mkNamingAdapt ( mkParAdapt ( ExtraData , & numbers ) , " ExtraData " , C4ValueMapData ( ) ) ) ;
2011-03-27 16:14:41 +00:00
pComp - > Value ( mkNamingAdapt ( numbers , " ExtraDataValues " ) ) ;
if ( pComp - > isCompiler ( ) )
{
numbers . Denumerate ( ) ;
ExtraData . Denumerate ( & numbers ) ;
}
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
2009-08-15 18:50:32 +00:00
bool C4ObjectInfoCore : : Compile ( const char * szSource )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
bool ret = CompileFromBuf_LogWarn < StdCompilerINIRead > (
2010-03-28 18:58:01 +00:00
mkNamingAdapt ( * this , " ObjectInfo " ) ,
StdStrBuf ( szSource ) ,
" ObjectInfo " ) ;
2009-05-08 13:28:41 +00:00
// DeathMessages are not allowed to stay forever
if ( ' @ ' = = DeathMessage [ 0 ] ) DeathMessage [ 0 ] = ' ' ;
return ret ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
2009-08-15 18:50:32 +00:00
bool C4ObjectInfoCore : : Decompile ( char * * ppOutput , size_t * ipSize )
2010-03-28 18:58:01 +00:00
{
2009-05-08 13:28:41 +00:00
StdStrBuf Buf ;
2010-03-28 18:58:01 +00:00
if ( ! DecompileToBuf_Log < StdCompilerINIWrite > (
mkNamingAdapt ( * this , " ObjectInfo " ) ,
& Buf ,
" ObjectInfo " ) )
{
if ( ppOutput ) * ppOutput = NULL ;
if ( ipSize ) * ipSize = 0 ;
2009-08-15 18:50:32 +00:00
return false ;
2009-05-08 13:28:41 +00:00
}
2010-03-28 18:58:01 +00:00
if ( ppOutput ) * ppOutput = Buf . GrabPointer ( ) ;
if ( ipSize ) * ipSize = Buf . getSize ( ) ;
return true ;
}
2009-05-08 13:28:41 +00:00
//------------------------------- Round Info ------------------------------------------
void C4RoundResult : : Default ( )
2010-03-28 18:58:01 +00:00
{
2015-11-14 15:17:00 +00:00
InplaceReconstruct ( this ) ;
2010-03-28 18:58:01 +00:00
}
2009-05-08 13:28:41 +00:00
void C4RoundResult : : CompileFunc ( StdCompiler * pComp )
2010-03-28 18:58:01 +00:00
{
pComp - > Value ( mkNamingAdapt ( Title , " Title " , " " ) ) ;
pComp - > Value ( mkNamingAdapt ( Date , " Date " , 0u ) ) ;
pComp - > Value ( mkNamingAdapt ( Duration , " Duration " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( Won , " Won " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( Score , " Score " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( FinalScore , " FinalScore " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( TotalScore , " TotalScore " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( Bonus , " Bonus " , 0 ) ) ;
pComp - > Value ( mkNamingAdapt ( Level , " Level " , 0 ) ) ;
}
2009-05-08 13:28:41 +00:00