260 lines
5.4 KiB
C
260 lines
5.4 KiB
C
#pragma once
|
|
|
|
#pragma pack( 1 )
|
|
|
|
struct WorldLocationBase
|
|
{
|
|
WorldLocationBase()
|
|
{
|
|
clear();
|
|
}
|
|
|
|
void clear()
|
|
{
|
|
id = 0;
|
|
text_id = 0;
|
|
x = 0;
|
|
y = 0;
|
|
|
|
apply_location_name = 0;
|
|
apply_light = 0;
|
|
apply_bgm = 0;
|
|
location_type = 0;
|
|
fog_application = 0;
|
|
|
|
time_id = 0;
|
|
weather_id = 0;
|
|
cloud_ratio = 0;
|
|
weather_change_time = 0;
|
|
weather_ratio = 0;
|
|
|
|
sky_start_a = 0;
|
|
sky_start_r = 0;
|
|
sky_start_g = 0;
|
|
sky_start_b = 0;
|
|
sky_mid_a = 0;
|
|
sky_mid_r = 0;
|
|
sky_mid_g = 0;
|
|
sky_mid_b = 0;
|
|
sky_end_a = 0;
|
|
sky_end_r = 0;
|
|
sky_end_g = 0;
|
|
sky_end_b = 0;
|
|
|
|
sky_mid_rate = 0.f;
|
|
|
|
diffuse_a = 0;
|
|
diffuse_r = 0;
|
|
diffuse_g = 0;
|
|
diffuse_b = 0;
|
|
ambient_a = 0;
|
|
ambient_r = 0;
|
|
ambient_g = 0;
|
|
ambient_b = 0;
|
|
specular_a = 0;
|
|
specular_r = 0;
|
|
specular_g = 0;
|
|
specular_b = 0;
|
|
|
|
fog_a = 0;
|
|
fog_r = 0;
|
|
fog_g = 0;
|
|
fog_b = 0;
|
|
|
|
h_start = 0.f;
|
|
h_end = 0.f;
|
|
v_start = 0.f;
|
|
v_end = 0.f;
|
|
|
|
cloud_a = 0;
|
|
cloud_r = 0;
|
|
cloud_g = 0;
|
|
cloud_b = 0;
|
|
|
|
land_specular = 0.f;
|
|
|
|
character_diffuse = 0.f;
|
|
character_ambient = 0.f;
|
|
|
|
memset( sun_texture_file, 0, sizeof(sun_texture_file) );
|
|
memset( moon_texture_file, 0, sizeof(moon_texture_file) );
|
|
memset( cloud_texture_file, 0, sizeof(cloud_texture_file) );
|
|
|
|
memset(bgm_ID, 0, sizeof(bgm_ID));
|
|
memset(bgm_ratio, 0, sizeof(bgm_ratio));
|
|
|
|
memset(environmental_sound_ID, 0, sizeof(environmental_sound_ID));
|
|
memset(environmental_sound_ratio, 0, sizeof(environmental_sound_ratio));
|
|
|
|
environmental_sound_reverb = 0;
|
|
environmental_sound_volume = 100;
|
|
|
|
minimap_ani_file_ID = 0;
|
|
worldmap_ani_file_ID = 0;
|
|
|
|
zoom_map_type = 0;
|
|
display_positoin_x = 0;
|
|
display_positoin_y = 0;
|
|
zoom_x = 0;
|
|
offset_x = 0;
|
|
offset_y = 0;
|
|
size_x = 0;
|
|
size_y = 0;
|
|
blank_resource_ID = 0;
|
|
blank_a = 0;
|
|
blank_r = 0;
|
|
blank_g = 0;
|
|
blank_b = 0;
|
|
precipitation_min = 0;
|
|
precipitation_max = 0;
|
|
|
|
// Aurora.
|
|
aurora_t = 0.0f; // 93 -- 투명도
|
|
aurora_a = 0.0f; // 94 -- 각도
|
|
aurora_s = 0.0f; // 95 -- 크기
|
|
aurora_h = 0.0f; // 96 -- 높이
|
|
|
|
#ifdef CLOUD_LUA_SKYCOLOR
|
|
cloud_set = 0;
|
|
#endif
|
|
}
|
|
~WorldLocationBase() {}
|
|
|
|
int id;
|
|
int text_id;
|
|
int x;
|
|
int y;
|
|
|
|
int preloading_distance; /// 2011.11.09 워프되는 지역의 미리 로딩되는 범위 설정 - prodongi
|
|
int apply_location_name;
|
|
int apply_light;
|
|
int apply_bgm;
|
|
|
|
enum LOCATION_TYPE { // #2.1.2.11.1
|
|
LOCTYPE_NONE = 0,
|
|
LOCTYPE_TOWN,
|
|
LOCTYPE_FIELD,
|
|
LOCTYPE_FIELD_NONPVP,
|
|
LOCTYPE_DUNGEON,
|
|
LOCTYPE_MATCH,
|
|
LOCTYPE_SAFE,
|
|
LOCTYPE_EVENT,
|
|
LOCTYPE_HUNTAHOLIC_LOBBY,
|
|
LOCTYPE_HUNTAHOLIC_DUNGEON,
|
|
LOCTYPE_SHOP_TOWN,
|
|
// 2010.06.15 DB에는 데스매치라고 되어있어서 TOWN_DUNGEON을 데스매치로 수정- prodongi
|
|
//LOCTYPE_TOWN_DUNGEON,
|
|
LOCTYPE_DEATHMATCH,
|
|
LOCTYPE_HIDDEN_DUNGEON, // 숨겨진 던전
|
|
LOCTYPE_FIELD_NO_LENSFLARE, // 렌즈 플레어 없는 필드
|
|
LOCTYPE_INSTANCE_DUNGEON_AUTO, // 인스턴스 던전, 렌즈 플레어 없음 // 2011.07.18 - servantes
|
|
LOCTYPE_ARENA, /// 2012.04.30 아레나 - prodongi
|
|
LOCTYPE_RAMADAN,
|
|
};
|
|
|
|
int location_type;
|
|
int fog_application;
|
|
|
|
int time_id;
|
|
int weather_id;
|
|
int cloud_ratio;
|
|
|
|
int weather_change_time;
|
|
int weather_ratio;
|
|
|
|
int sky_start_a;
|
|
int sky_start_r;
|
|
int sky_start_g;
|
|
int sky_start_b;
|
|
int sky_mid_a;
|
|
int sky_mid_r;
|
|
int sky_mid_g;
|
|
int sky_mid_b;
|
|
int sky_end_a;
|
|
int sky_end_r;
|
|
int sky_end_g;
|
|
int sky_end_b;
|
|
|
|
float sky_mid_rate;
|
|
|
|
int diffuse_a;
|
|
int diffuse_r;
|
|
int diffuse_g;
|
|
int diffuse_b;
|
|
int ambient_a;
|
|
int ambient_r;
|
|
int ambient_g;
|
|
int ambient_b;
|
|
int specular_a;
|
|
int specular_r;
|
|
int specular_g;
|
|
int specular_b;
|
|
int fog_a;
|
|
int fog_r;
|
|
int fog_g;
|
|
int fog_b;
|
|
|
|
float v_start;
|
|
float v_end;
|
|
float h_start;
|
|
float h_end;
|
|
|
|
short fixedTerrainDistance; /// 2011.02.25 - prodongi
|
|
|
|
int cloud_a;
|
|
int cloud_r;
|
|
int cloud_g;
|
|
int cloud_b;
|
|
|
|
float land_specular;
|
|
|
|
float character_diffuse;
|
|
float character_ambient;
|
|
|
|
char sun_texture_file[256];
|
|
char moon_texture_file[256];
|
|
char cloud_texture_file[256];
|
|
|
|
int bgm_ID[3];
|
|
int bgm_ratio[3];
|
|
|
|
int environmental_sound_ID[4];
|
|
int environmental_sound_ratio[4];
|
|
|
|
int environmental_sound_reverb; ///< INT NOT NULL, --72
|
|
int environmental_sound_volume; ///< INT NOT NULL, --73
|
|
|
|
char environmental_sound_equalizer; ///< TINYINT NOT NULL, --74
|
|
|
|
int minimap_ani_file_ID; ///< INT NOT NULL, --75
|
|
int worldmap_ani_file_ID; ///< INT NOT NULL, --76
|
|
|
|
int zoom_map_type; ///< 출력 방식
|
|
int display_positoin_x; ///< 월드맵에서 표시 좌표 X
|
|
int display_positoin_y; ///< 월드맵에서 표시 좌표 Y
|
|
int zoom_x; ///< 확대 배율
|
|
int offset_x;
|
|
int offset_y;
|
|
int size_x; ///< 맵의 가로 크기
|
|
int size_y; ///< 맵의 세로 크기
|
|
int blank_resource_ID; ///< INT NOT NULL, --85
|
|
int blank_a; ///< 여백 칼라
|
|
int blank_r; ///< 여백 칼라
|
|
int blank_g; ///< 여백 칼라
|
|
int blank_b; ///< 여백 칼라
|
|
int zoom_minimap; ///< INT NOT NULL --90
|
|
int precipitation_min; ///< INT NOT NULL, --91
|
|
int precipitation_max; ///< INT NOT NULL --92
|
|
|
|
// Aurora.
|
|
float aurora_t; // 93 -- 투명도
|
|
float aurora_a; // 94 -- 각도
|
|
float aurora_s; // 95 -- 크기
|
|
float aurora_h; // 96 -- 높이
|
|
|
|
#ifdef CLOUD_LUA_SKYCOLOR
|
|
int cloud_set;
|
|
#endif
|
|
};
|
|
|
|
#pragma pack() |