Files
2026-06-01 12:46:52 +02:00

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()