111 lines
2.0 KiB
C
111 lines
2.0 KiB
C
#pragma once
|
|
#pragma pack( 1 )
|
|
|
|
#include "KTypes.h"
|
|
|
|
namespace
|
|
{
|
|
const short MAX_BONE_EFFECT = 15;
|
|
};
|
|
|
|
struct ModelEffectResource
|
|
{
|
|
ModelEffectResource()
|
|
{
|
|
id = 0;
|
|
effect_file_ID = 0;
|
|
effect_loop = 0;
|
|
effect_position = 0;
|
|
|
|
swap_event_id = 0;
|
|
swap_model_ID = 0;
|
|
|
|
for( int i(0); MAX_BONE_EFFECT>i; i++ )
|
|
{
|
|
bone_name[i][255] = '\0';
|
|
bone_effect[i] = 0;
|
|
}
|
|
}
|
|
|
|
int id; ///< -- 01
|
|
int effect_file_ID; ///< INT NOT NULL, -- 02
|
|
int effect_loop; ///< INT NOT NULL, -- 03
|
|
int effect_position; ///< -- 04
|
|
|
|
int swap_event_id; ///< -- 05
|
|
int swap_model_ID; ///< INT NOT NULL, -- 06
|
|
|
|
char bone_name[MAX_BONE_EFFECT][256];
|
|
int bone_effect[MAX_BONE_EFFECT]; ///< -- 36
|
|
};
|
|
|
|
#pragma pack()
|
|
|
|
struct ModelEffectResourceGame
|
|
{
|
|
ModelEffectResourceGame()
|
|
{
|
|
id = 0;
|
|
effect_file_ID = 0;
|
|
effect_loop = 0;
|
|
effect_position = 0;
|
|
|
|
swap_event_id = 0;
|
|
swap_model_ID = 0;
|
|
|
|
for( int i(0); MAX_BONE_EFFECT>i; i++ )
|
|
{
|
|
bone_name[i] = NULL;
|
|
bone_effect[i] = NULL;
|
|
bUseEffect[i] = false;
|
|
}
|
|
}
|
|
|
|
~ModelEffectResourceGame()
|
|
{
|
|
for( int i(0); MAX_BONE_EFFECT>i; i++ )
|
|
{
|
|
SAFE_DELETE_ARRAY( bone_name[i] );
|
|
}
|
|
}
|
|
|
|
|
|
void SetData( ModelEffectResource & data )
|
|
{
|
|
id = data.id;
|
|
|
|
effect_file_ID = data.effect_file_ID;
|
|
effect_loop = data.effect_loop;
|
|
effect_position = data.effect_position;
|
|
|
|
swap_event_id = data.swap_event_id;
|
|
swap_model_ID = data.swap_model_ID;
|
|
|
|
int n03Size = 0;
|
|
for( int i(0); MAX_BONE_EFFECT>i; i++ )
|
|
{
|
|
bone_effect[i] = data.bone_effect[i];
|
|
|
|
n03Size = strlen( data.bone_name[i] );
|
|
if( n03Size > 1 )
|
|
{
|
|
bone_name[i] = new char[n03Size+1];
|
|
memcpy( bone_name[i], data.bone_name[i], n03Size+1 );
|
|
bone_name[i][n03Size] = '\0';
|
|
bUseEffect[i] = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
int id;
|
|
int effect_file_ID;
|
|
int effect_loop;
|
|
int effect_position;
|
|
|
|
int swap_event_id;
|
|
int swap_model_ID;
|
|
|
|
char *bone_name[MAX_BONE_EFFECT];
|
|
int bone_effect[MAX_BONE_EFFECT];
|
|
bool bUseEffect[MAX_BONE_EFFECT];
|
|
}; |