mirror of
https://github.com/EQEmu/Server.git
synced 2026-09-03 09:26:36 +00:00
Build Improvements (#5033)
* Start rewrite, add vcpkg * Simple vcpkg manifest, will almost certainly need tweaking * Remove cmake ext we wont be using anymore * Update vcpkg to no longer be from 2022, update cmake lists (wip) * Add finds to the toplevel cmakelists * WIP, luabind and perlbind build. Common only partially builds. * Fix common build. * shared_memory compiles * client files compile * Tests and more cmake version updates * World, had to swap out zlib-ng for now because it wasn't playing nicely along side the zlib install. May revisit. * UCS compiles now too! * queryserv and eqlaunch * loginserver works * Zone works but is messy, tomorrow futher cleanup! * Cleanup main file * remove old zlibng, remove perlwrap, remove hc * More cleanup * vcpkg baseline set for CI * Remove pkg-config, it's the suggested way to use luajit with vcpkg but it causes issues with CI and might be a pain point for windows users * Actually add file * Set perlbind include dir * Perl link got lost * PERL_SET_INTERP causes an issue on newer versions of perl on windows because a symbol is not properly exported in their API, change the lines so it's basically what it used to be * Remove static unix linking, we dont do automated released anymore and this was tightly coupled to that. Can explore this again if we decide to change that. * Remove unused submodules, set cmake policy for boost * Fix some cereal includes * Improve some boilerplate, I'd still like to do better about getting linker stuff set. * Going through and cleaning up the build. * Fix world, separate out data_buckets. * add fixes for other servers * fix zone * Fix client files, loginserver and tests * Newer versions of libmariadb default to tls forced on, return to the default of not forcing that. auto_login were breaking on linux builds loginserver wasn't setting proper openssl compile flag * Move set out of a giant cpp file include. * Convert show * convert find * Add uuid to unix builds * Remove some cpp includes. * Restructure to remove more things. * change db update manifest to header change build yml * Move world CLI include cpps to cmake. * Move zone cli out of source and into cmake * Sidecar stuff wont directly include cpp files now too. * Fix uuid-dev missing on linux runner * Reorg common cmake file * Some cleanup * Fix libsodium support (oops). Fix perl support (more oops) * Change doc --------- Co-authored-by: KimLS <KimLS@peqtgc.com>
This commit is contained in:
+268
-72
@@ -1,6 +1,6 @@
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 3.12)
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
|
||||
SET(zone_sources
|
||||
set(zone_sources
|
||||
aa.cpp
|
||||
aa_ability.cpp
|
||||
aggro.cpp
|
||||
@@ -11,21 +11,27 @@ SET(zone_sources
|
||||
beacon.cpp
|
||||
bonuses.cpp
|
||||
bot.cpp
|
||||
bot_raid.cpp
|
||||
bot_database.cpp
|
||||
bot_raid.cpp
|
||||
botspellsai.cpp
|
||||
cheat_manager.cpp
|
||||
cli/cli_benchmark_databuckets.cpp
|
||||
cli/cli_sidecar_serve_http.cpp
|
||||
cli/tests/cli_databuckets.cpp
|
||||
cli/tests/cli_npc_handins.cpp
|
||||
cli/tests/cli_npc_handins_multiquest.cpp
|
||||
cli/tests/cli_test_util.cpp
|
||||
cli/tests/cli_zone_state.cpp
|
||||
client.cpp
|
||||
client_evolving_items.cpp
|
||||
client_bot.cpp
|
||||
client_evolving_items.cpp
|
||||
client_mods.cpp
|
||||
client_packet.cpp
|
||||
client_process.cpp
|
||||
combat_record.cpp
|
||||
corpse.cpp
|
||||
../common/data_bucket.cpp
|
||||
doors.cpp
|
||||
dialogue_window.cpp
|
||||
doors.cpp
|
||||
dynamic_zone.cpp
|
||||
effects.cpp
|
||||
embparser.cpp
|
||||
@@ -38,24 +44,12 @@ SET(zone_sources
|
||||
fastmath.cpp
|
||||
fearpath.cpp
|
||||
forage.cpp
|
||||
groups.cpp
|
||||
guild.cpp
|
||||
guild_mgr.cpp
|
||||
hate_list.cpp
|
||||
heal_rotation.cpp
|
||||
horse.cpp
|
||||
inventory.cpp
|
||||
loot.cpp
|
||||
embperl.cpp
|
||||
entity.cpp
|
||||
exp.cpp
|
||||
fearpath.cpp
|
||||
forage.cpp
|
||||
global_loot_manager.cpp
|
||||
groups.cpp
|
||||
guild.cpp
|
||||
guild_mgr.cpp
|
||||
hate_list.cpp
|
||||
heal_rotation.cpp
|
||||
horse.cpp
|
||||
inventory.cpp
|
||||
loot.cpp
|
||||
@@ -65,8 +59,8 @@ SET(zone_sources
|
||||
mob.cpp
|
||||
mob_ai.cpp
|
||||
mob_appearance.cpp
|
||||
mob_movement_manager.cpp
|
||||
mob_info.cpp
|
||||
mob_movement_manager.cpp
|
||||
npc.cpp
|
||||
npc_scale_manager.cpp
|
||||
object.cpp
|
||||
@@ -81,16 +75,15 @@ SET(zone_sources
|
||||
position.cpp
|
||||
qglobals.cpp
|
||||
queryserv.cpp
|
||||
questmgr.cpp
|
||||
quest_db.cpp
|
||||
quest_parser_collection.cpp
|
||||
questmgr.cpp
|
||||
raids.cpp
|
||||
raycast_mesh.cpp
|
||||
sidecar_api/sidecar_api.cpp
|
||||
sidecar_api/loot_simulator_controller.cpp
|
||||
shared_task_zone_messaging.cpp
|
||||
sidecar_api/loot_simulator_controller.cpp
|
||||
sidecar_api/sidecar_api.cpp
|
||||
spawn2.cpp
|
||||
spawn2.h
|
||||
spawngroup.cpp
|
||||
special_attacks.cpp
|
||||
spell_effects.cpp
|
||||
@@ -111,17 +104,19 @@ SET(zone_sources
|
||||
worldserver.cpp
|
||||
xtargetautohaters.cpp
|
||||
zone.cpp
|
||||
zone_config.cpp
|
||||
zonedb.cpp
|
||||
zone_base_data.cpp
|
||||
zone_cli.cpp
|
||||
zone_config.cpp
|
||||
zone_event_scheduler.cpp
|
||||
zone_loot.cpp
|
||||
zone_npc_factions.cpp
|
||||
zone_reload.cpp
|
||||
zone_save_state.cpp
|
||||
zonedb.cpp
|
||||
zoning.cpp
|
||||
)
|
||||
|
||||
SET(zone_headers
|
||||
set(zone_headers
|
||||
aa.h
|
||||
aa_ability.h
|
||||
aggromanager.h
|
||||
@@ -139,9 +134,8 @@ SET(zone_headers
|
||||
command.h
|
||||
common.h
|
||||
corpse.h
|
||||
../common/data_bucket.h
|
||||
doors.h
|
||||
dialogue_window.h
|
||||
doors.h
|
||||
dynamic_zone.h
|
||||
embparser.h
|
||||
embperl.h
|
||||
@@ -157,8 +151,8 @@ SET(zone_headers
|
||||
hate_list.h
|
||||
heal_rotation.h
|
||||
horse.h
|
||||
lua_bot.h
|
||||
lua_bit.h
|
||||
lua_bot.h
|
||||
lua_buff.h
|
||||
lua_client.h
|
||||
lua_corpse.h
|
||||
@@ -206,17 +200,15 @@ SET(zone_headers
|
||||
pets.h
|
||||
position.h
|
||||
qglobals.h
|
||||
quest_interface.h
|
||||
queryserv.h
|
||||
quest_interface.h
|
||||
questmgr.h
|
||||
quest_db.h
|
||||
quest_interface.h
|
||||
quest_parser_collection.h
|
||||
questmgr.h
|
||||
raids.h
|
||||
raycast_mesh.h
|
||||
sidecar_api/sidecar_api.h
|
||||
shared_task_zone_messaging.h
|
||||
spawn2.cpp
|
||||
sidecar_api/sidecar_api.h
|
||||
spawn2.h
|
||||
spawngroup.h
|
||||
string_ids.h
|
||||
@@ -231,22 +223,21 @@ SET(zone_headers
|
||||
worldserver.h
|
||||
xtargetautohaters.h
|
||||
zone.h
|
||||
zone_event_scheduler.h
|
||||
zone_config.h
|
||||
zonedb.h
|
||||
zonedump.h
|
||||
zone_cli.h
|
||||
zone_config.h
|
||||
zone_event_scheduler.h
|
||||
zone_reload.h
|
||||
zone_save_state.h
|
||||
zone_cli.cpp)
|
||||
zonedb.h
|
||||
zonedump.h
|
||||
)
|
||||
|
||||
# lua unity build
|
||||
set(lua_sources
|
||||
lua_bot.cpp
|
||||
lua_bit.cpp
|
||||
lua_bot.cpp
|
||||
lua_buff.cpp
|
||||
lua_corpse.cpp
|
||||
lua_client.cpp
|
||||
lua_corpse.cpp
|
||||
lua_database.cpp
|
||||
lua_door.cpp
|
||||
lua_encounter.cpp
|
||||
@@ -277,7 +268,6 @@ set(lua_sources
|
||||
add_library(lua_zone STATIC ${lua_sources})
|
||||
set_target_properties(lua_zone PROPERTIES UNITY_BUILD ON UNITY_BUILD_BATCH_SIZE 8)
|
||||
|
||||
# perl unity build
|
||||
set(perl_sources
|
||||
perl_bot.cpp
|
||||
perl_buff.cpp
|
||||
@@ -308,10 +298,71 @@ set(perl_sources
|
||||
add_library(perl_zone STATIC ${perl_sources})
|
||||
set_target_properties(perl_zone PROPERTIES UNITY_BUILD ON UNITY_BUILD_BATCH_SIZE 8)
|
||||
|
||||
# gm commands
|
||||
set(gm_command_sources
|
||||
command.cpp
|
||||
bot_command.cpp
|
||||
bot_commands/bot_actionable.cpp
|
||||
bot_commands/bot_appearance.cpp
|
||||
bot_commands/bot_apply_poison.cpp
|
||||
bot_commands/bot_apply_potion.cpp
|
||||
bot_commands/bot_attack.cpp
|
||||
bot_commands/bot_behind_mob.cpp
|
||||
bot_commands/bot_blocked_buffs.cpp
|
||||
bot_commands/bot_bot.cpp
|
||||
bot_commands/bot_bot_settings.cpp
|
||||
bot_commands/bot_cast.cpp
|
||||
bot_commands/bot_class_race_list.cpp
|
||||
bot_commands/bot_click_item.cpp
|
||||
bot_commands/bot_copy_settings.cpp
|
||||
bot_commands/bot_default_settings.cpp
|
||||
bot_commands/bot_depart.cpp
|
||||
bot_commands/bot_discipline.cpp
|
||||
bot_commands/bot_distance_ranged.cpp
|
||||
bot_commands/bot_find_aliases.cpp
|
||||
bot_commands/bot_follow.cpp
|
||||
bot_commands/bot_guard.cpp
|
||||
bot_commands/bot_heal_rotation.cpp
|
||||
bot_commands/bot_help.cpp
|
||||
bot_commands/bot_hold.cpp
|
||||
bot_commands/bot_illusion_block.cpp
|
||||
bot_commands/bot_inventory.cpp
|
||||
bot_commands/bot_item_use.cpp
|
||||
bot_commands/bot_max_melee_range.cpp
|
||||
bot_commands/bot_name.cpp
|
||||
bot_commands/bot_owner_option.cpp
|
||||
bot_commands/bot_pet.cpp
|
||||
bot_commands/bot_pick_lock.cpp
|
||||
bot_commands/bot_pickpocket.cpp
|
||||
bot_commands/bot_precombat.cpp
|
||||
bot_commands/bot_pull.cpp
|
||||
bot_commands/bot_release.cpp
|
||||
bot_commands/bot_set_assistee.cpp
|
||||
bot_commands/bot_sit_hp_percent.cpp
|
||||
bot_commands/bot_sit_in_combat.cpp
|
||||
bot_commands/bot_sit_mana_percent.cpp
|
||||
bot_commands/bot_spell.cpp
|
||||
bot_commands/bot_spell_aggro_checks.cpp
|
||||
bot_commands/bot_spell_announce_cast.cpp
|
||||
bot_commands/bot_spell_delays.cpp
|
||||
bot_commands/bot_spell_engaged_priority.cpp
|
||||
bot_commands/bot_spell_holds.cpp
|
||||
bot_commands/bot_spell_idle_priority.cpp
|
||||
bot_commands/bot_spell_max_hp_pct.cpp
|
||||
bot_commands/bot_spell_max_mana_pct.cpp
|
||||
bot_commands/bot_spell_max_thresholds.cpp
|
||||
bot_commands/bot_spell_min_hp_pct.cpp
|
||||
bot_commands/bot_spell_min_mana_pct.cpp
|
||||
bot_commands/bot_spell_min_thresholds.cpp
|
||||
bot_commands/bot_spell_pursue_priority.cpp
|
||||
bot_commands/bot_spell_resist_limits.cpp
|
||||
bot_commands/bot_spell_target_count.cpp
|
||||
bot_commands/bot_spelltypes.cpp
|
||||
bot_commands/bot_summon.cpp
|
||||
bot_commands/bot_suspend.cpp
|
||||
bot_commands/bot_taunt.cpp
|
||||
bot_commands/bot_timer.cpp
|
||||
bot_commands/bot_track.cpp
|
||||
bot_commands/bot_view_combos.cpp
|
||||
command.cpp
|
||||
gm_commands/acceptrules.cpp
|
||||
gm_commands/advnpcspawn.cpp
|
||||
gm_commands/aggrozone.cpp
|
||||
@@ -351,11 +402,37 @@ set(gm_command_sources
|
||||
gm_commands/emptyinventory.cpp
|
||||
gm_commands/enablerecipe.cpp
|
||||
gm_commands/entityvariable.cpp
|
||||
gm_commands/evolving_items.cpp
|
||||
gm_commands/exptoggle.cpp
|
||||
gm_commands/faction.cpp
|
||||
gm_commands/evolving_items.cpp
|
||||
gm_commands/faction_association.cpp
|
||||
gm_commands/feature.cpp
|
||||
gm_commands/find.cpp
|
||||
gm_commands/find/find_aa.cpp
|
||||
gm_commands/find/find_account.cpp
|
||||
gm_commands/find/find_body_type.cpp
|
||||
gm_commands/find/find_bot.cpp
|
||||
gm_commands/find/find_bug_category.cpp
|
||||
gm_commands/find/find_character.cpp
|
||||
gm_commands/find/find_class.cpp
|
||||
gm_commands/find/find_comparison_type.cpp
|
||||
gm_commands/find/find_currency.cpp
|
||||
gm_commands/find/find_deity.cpp
|
||||
gm_commands/find/find_emote.cpp
|
||||
gm_commands/find/find_faction.cpp
|
||||
gm_commands/find/find_item.cpp
|
||||
gm_commands/find/find_language.cpp
|
||||
gm_commands/find/find_ldon_theme.cpp
|
||||
gm_commands/find/find_npctype.cpp
|
||||
gm_commands/find/find_object_type.cpp
|
||||
gm_commands/find/find_race.cpp
|
||||
gm_commands/find/find_recipe.cpp
|
||||
gm_commands/find/find_skill.cpp
|
||||
gm_commands/find/find_special_ability.cpp
|
||||
gm_commands/find/find_spell.cpp
|
||||
gm_commands/find/find_stance.cpp
|
||||
gm_commands/find/find_task.cpp
|
||||
gm_commands/find/find_zone.cpp
|
||||
gm_commands/fish.cpp
|
||||
gm_commands/fixmob.cpp
|
||||
gm_commands/flagedit.cpp
|
||||
@@ -380,9 +457,9 @@ set(gm_command_sources
|
||||
gm_commands/kill.cpp
|
||||
gm_commands/killallnpcs.cpp
|
||||
gm_commands/list.cpp
|
||||
gm_commands/lootsim.cpp
|
||||
gm_commands/loc.cpp
|
||||
gm_commands/logs.cpp
|
||||
gm_commands/lootsim.cpp
|
||||
gm_commands/makepet.cpp
|
||||
gm_commands/memspell.cpp
|
||||
gm_commands/merchantshop.cpp
|
||||
@@ -434,12 +511,119 @@ set(gm_command_sources
|
||||
gm_commands/sensetrap.cpp
|
||||
gm_commands/serverrules.cpp
|
||||
gm_commands/set.cpp
|
||||
gm_commands/set/set_aa_exp.cpp
|
||||
gm_commands/set/set_aa_points.cpp
|
||||
gm_commands/set/set_adventure_points.cpp
|
||||
gm_commands/set/set_alternate_currency.cpp
|
||||
gm_commands/set/set_animation.cpp
|
||||
gm_commands/set/set_anon.cpp
|
||||
gm_commands/set/set_auto_login.cpp
|
||||
gm_commands/set/set_bind_point.cpp
|
||||
gm_commands/set/set_checksum.cpp
|
||||
gm_commands/set/set_class_permanent.cpp
|
||||
gm_commands/set/set_crystals.cpp
|
||||
gm_commands/set/set_date.cpp
|
||||
gm_commands/set/set_endurance.cpp
|
||||
gm_commands/set/set_endurance_full.cpp
|
||||
gm_commands/set/set_exp.cpp
|
||||
gm_commands/set/set_flymode.cpp
|
||||
gm_commands/set/set_frozen.cpp
|
||||
gm_commands/set/set_gender.cpp
|
||||
gm_commands/set/set_gender_permanent.cpp
|
||||
gm_commands/set/set_gm.cpp
|
||||
gm_commands/set/set_gm_speed.cpp
|
||||
gm_commands/set/set_gm_status.cpp
|
||||
gm_commands/set/set_god_mode.cpp
|
||||
gm_commands/set/set_haste.cpp
|
||||
gm_commands/set/set_hero_model.cpp
|
||||
gm_commands/set/set_hide_me.cpp
|
||||
gm_commands/set/set_hp.cpp
|
||||
gm_commands/set/set_hp_full.cpp
|
||||
gm_commands/set/set_invulnerable.cpp
|
||||
gm_commands/set/set_language.cpp
|
||||
gm_commands/set/set_last_name.cpp
|
||||
gm_commands/set/set_level.cpp
|
||||
gm_commands/set/set_loginserver_info.cpp
|
||||
gm_commands/set/set_mana.cpp
|
||||
gm_commands/set/set_mana_full.cpp
|
||||
gm_commands/set/set_motd.cpp
|
||||
gm_commands/set/set_name.cpp
|
||||
gm_commands/set/set_ooc_mute.cpp
|
||||
gm_commands/set/set_password.cpp
|
||||
gm_commands/set/set_pvp.cpp
|
||||
gm_commands/set/set_pvp_points.cpp
|
||||
gm_commands/set/set_race.cpp
|
||||
gm_commands/set/set_race_permanent.cpp
|
||||
gm_commands/set/set_server_locked.cpp
|
||||
gm_commands/set/set_skill.cpp
|
||||
gm_commands/set/set_skill_all.cpp
|
||||
gm_commands/set/set_skill_all_max.cpp
|
||||
gm_commands/set/set_start_zone.cpp
|
||||
gm_commands/set/set_temporary_name.cpp
|
||||
gm_commands/set/set_texture.cpp
|
||||
gm_commands/set/set_time.cpp
|
||||
gm_commands/set/set_time_zone.cpp
|
||||
gm_commands/set/set_title.cpp
|
||||
gm_commands/set/set_title_suffix.cpp
|
||||
gm_commands/set/set_weather.cpp
|
||||
gm_commands/set/set_zone.cpp
|
||||
gm_commands/show.cpp
|
||||
gm_commands/show/show_aa_points.cpp
|
||||
gm_commands/show/show_aas.cpp
|
||||
gm_commands/show/show_aggro.cpp
|
||||
gm_commands/show/show_auto_login.cpp
|
||||
gm_commands/show/show_buffs.cpp
|
||||
gm_commands/show/show_buried_corpse_count.cpp
|
||||
gm_commands/show/show_client_version_summary.cpp
|
||||
gm_commands/show/show_content_flags.cpp
|
||||
gm_commands/show/show_currencies.cpp
|
||||
gm_commands/show/show_distance.cpp
|
||||
gm_commands/show/show_emotes.cpp
|
||||
gm_commands/show/show_field_of_view.cpp
|
||||
gm_commands/show/show_flags.cpp
|
||||
gm_commands/show/show_group_info.cpp
|
||||
gm_commands/show/show_hatelist.cpp
|
||||
gm_commands/show/show_inventory.cpp
|
||||
gm_commands/show/show_ip_lookup.cpp
|
||||
gm_commands/show/show_keyring.cpp
|
||||
gm_commands/show/show_line_of_sight.cpp
|
||||
gm_commands/show/show_network.cpp
|
||||
gm_commands/show/show_network_stats.cpp
|
||||
gm_commands/show/show_npc_global_loot.cpp
|
||||
gm_commands/show/show_npc_stats.cpp
|
||||
gm_commands/show/show_npc_type.cpp
|
||||
gm_commands/show/show_peqzone_flags.cpp
|
||||
gm_commands/show/show_petition.cpp
|
||||
gm_commands/show/show_petition_info.cpp
|
||||
gm_commands/show/show_proximity.cpp
|
||||
gm_commands/show/show_quest_errors.cpp
|
||||
gm_commands/show/show_quest_globals.cpp
|
||||
gm_commands/show/show_recipe.cpp
|
||||
gm_commands/show/show_server_info.cpp
|
||||
gm_commands/show/show_skills.cpp
|
||||
gm_commands/show/show_spawn_status.cpp
|
||||
gm_commands/show/show_special_abilities.cpp
|
||||
gm_commands/show/show_spells.cpp
|
||||
gm_commands/show/show_spells_list.cpp
|
||||
gm_commands/show/show_stats.cpp
|
||||
gm_commands/show/show_timers.cpp
|
||||
gm_commands/show/show_traps.cpp
|
||||
gm_commands/show/show_uptime.cpp
|
||||
gm_commands/show/show_variable.cpp
|
||||
gm_commands/show/show_version.cpp
|
||||
gm_commands/show/show_waypoints.cpp
|
||||
gm_commands/show/show_who.cpp
|
||||
gm_commands/show/show_xtargets.cpp
|
||||
gm_commands/show/show_zone_data.cpp
|
||||
gm_commands/show/show_zone_global_loot.cpp
|
||||
gm_commands/show/show_zone_loot.cpp
|
||||
gm_commands/show/show_zone_points.cpp
|
||||
gm_commands/show/show_zone_status.cpp
|
||||
gm_commands/show/show_zone_variables.cpp
|
||||
gm_commands/shutdown.cpp
|
||||
gm_commands/spawn.cpp
|
||||
gm_commands/spawneditmass.cpp
|
||||
gm_commands/spawnfix.cpp
|
||||
gm_commands/faction_association.cpp
|
||||
gm_commands/stun.cpp
|
||||
gm_commands/summon.cpp
|
||||
gm_commands/summonburiedplayercorpse.cpp
|
||||
@@ -463,46 +647,58 @@ set(gm_command_sources
|
||||
gm_commands/wp.cpp
|
||||
gm_commands/wpadd.cpp
|
||||
gm_commands/zone.cpp
|
||||
gm_commands/zone_instance.cpp
|
||||
gm_commands/zone_shard.cpp
|
||||
gm_commands/zonebootup.cpp
|
||||
gm_commands/zoneshutdown.cpp
|
||||
gm_commands/zonevariable.cpp
|
||||
gm_commands/zone_instance.cpp
|
||||
gm_commands/zone_shard.cpp
|
||||
gm_commands/zsave.cpp
|
||||
)
|
||||
|
||||
source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" PREFIX "Source Files" FILES ${zone_sources})
|
||||
source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" PREFIX "Header Files" FILES ${zone_headers})
|
||||
source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}" PREFIX "Source Files" FILES ${gm_command_sources})
|
||||
|
||||
add_library(gm_commands_zone STATIC ${gm_command_sources})
|
||||
target_link_libraries(gm_commands_zone PRIVATE common)
|
||||
set_target_properties(gm_commands_zone PROPERTIES UNITY_BUILD ON UNITY_BUILD_BATCH_SIZE 32)
|
||||
|
||||
# zone combine sources and headers
|
||||
ADD_EXECUTABLE(zone ${zone_sources} ${zone_headers})
|
||||
add_executable(zone ${zone_sources} ${zone_headers})
|
||||
|
||||
# binary output directory
|
||||
INSTALL(TARGETS zone RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
|
||||
install(TARGETS zone RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
|
||||
|
||||
# precompiled headers
|
||||
IF (EQEMU_BUILD_PCH)
|
||||
if(EQEMU_BUILD_PCH)
|
||||
TARGET_PRECOMPILE_HEADERS(zone PRIVATE ../common/pch/app-pch.h)
|
||||
TARGET_PRECOMPILE_HEADERS(zone PRIVATE ../common/pch/std-pch.h)
|
||||
TARGET_PRECOMPILE_HEADERS(zone PRIVATE ./pch/pch.h)
|
||||
ENDIF()
|
||||
|
||||
ADD_DEFINITIONS(-DZONE)
|
||||
|
||||
# link lua_zone unity build against luabind
|
||||
target_link_libraries(lua_zone PRIVATE luabind)
|
||||
if (EQEMU_BUILD_STATIC AND LUA_LIBRARY)
|
||||
target_link_libraries(zone PRIVATE ${LUA_LIBRARY})
|
||||
endif()
|
||||
|
||||
# perl unity build links against perl_zone
|
||||
target_link_libraries(perl_zone PRIVATE perlbind)
|
||||
if (EQEMU_BUILD_STATIC AND PERL_LIBRARY)
|
||||
target_link_libraries(zone PRIVATE ${PERL_LIBRARY})
|
||||
add_definitions(-DZONE)
|
||||
|
||||
if(EQEMU_BUILD_LUA)
|
||||
target_compile_definitions(lua_zone PUBLIC LUA_EQEMU)
|
||||
target_link_libraries(lua_zone PUBLIC luabind Boost::dynamic_bitset Boost::tuple Boost::foreach common)
|
||||
if (EQEMU_BUILD_STATIC AND LUA_LIBRARY)
|
||||
target_link_libraries(zone PRIVATE ${LUA_LIBRARY})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# link zone against common libraries
|
||||
target_link_libraries(zone PRIVATE lua_zone perl_zone gm_commands_zone ${ZONE_LIBS})
|
||||
if(EQEMU_BUILD_PERL)
|
||||
target_compile_definitions(perl_zone PUBLIC EMBPERL EMBPERL_PLUGIN PERLBIND_NO_STRICT_SCALAR_TYPES)
|
||||
target_link_libraries(perl_zone PUBLIC perlbind common ${PERL_LIBRARY})
|
||||
if (EQEMU_BUILD_STATIC AND PERL_LIBRARY)
|
||||
target_link_libraries(zone PRIVATE ${PERL_LIBRARY})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
|
||||
target_link_libraries(zone PRIVATE gm_commands_zone common RecastNavigation::Detour)
|
||||
|
||||
if(EQEMU_BUILD_LUA)
|
||||
target_link_libraries(zone PRIVATE lua_zone)
|
||||
endif()
|
||||
|
||||
if(EQEMU_BUILD_PERL)
|
||||
target_link_libraries(zone PRIVATE perl_zone)
|
||||
endif()
|
||||
|
||||
SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
|
||||
+1
-1
@@ -5901,7 +5901,7 @@ float Mob::CheckHeroicBonusesDataBuckets(std::string bucket_name)
|
||||
DataBucketKey k = GetScopedBucketKeys();
|
||||
k.key = bucket_name;
|
||||
if (IsOfClientBot()) {
|
||||
bucket_value = DataBucket::GetData(k).value;
|
||||
bucket_value = DataBucket::GetData(&database, k).value;
|
||||
}
|
||||
|
||||
if (bucket_value.empty() || !Strings::IsNumber(bucket_value)) {
|
||||
|
||||
+2
-2
@@ -8224,13 +8224,13 @@ bool Bot::CheckDataBucket(std::string bucket_name, const std::string& bucket_val
|
||||
DataBucketKey k = GetScopedBucketKeys();
|
||||
k.key = bucket_name;
|
||||
|
||||
auto b = DataBucket::GetData(k);
|
||||
auto b = DataBucket::GetData(&database, k);
|
||||
if (b.value.empty() && GetBotOwner()) {
|
||||
// fetch from owner
|
||||
k = GetBotOwner()->GetScopedBucketKeys();
|
||||
k.key = bucket_name;
|
||||
|
||||
b = DataBucket::GetData(k);
|
||||
b = DataBucket::GetData(&database, k);
|
||||
if (b.value.empty()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -863,65 +863,3 @@ void SendSpellTypeWindow(Client* c, const Seperator* sep) {
|
||||
c->SendPopupToClient("Spell Types", popup_text.c_str());
|
||||
}
|
||||
|
||||
#include "bot_commands/actionable.cpp"
|
||||
#include "bot_commands/appearance.cpp"
|
||||
#include "bot_commands/apply_poison.cpp"
|
||||
#include "bot_commands/apply_potion.cpp"
|
||||
#include "bot_commands/attack.cpp"
|
||||
#include "bot_commands/behind_mob.cpp"
|
||||
#include "bot_commands/blocked_buffs.cpp"
|
||||
#include "bot_commands/bot.cpp"
|
||||
#include "bot_commands/bot_settings.cpp"
|
||||
#include "bot_commands/cast.cpp"
|
||||
#include "bot_commands/class_race_list.cpp"
|
||||
#include "bot_commands/click_item.cpp"
|
||||
#include "bot_commands/copy_settings.cpp"
|
||||
#include "bot_commands/default_settings.cpp"
|
||||
#include "bot_commands/depart.cpp"
|
||||
#include "bot_commands/discipline.cpp"
|
||||
#include "bot_commands/distance_ranged.cpp"
|
||||
#include "bot_commands/find_aliases.cpp"
|
||||
#include "bot_commands/follow.cpp"
|
||||
#include "bot_commands/guard.cpp"
|
||||
#include "bot_commands/heal_rotation.cpp"
|
||||
#include "bot_commands/help.cpp"
|
||||
#include "bot_commands/hold.cpp"
|
||||
#include "bot_commands/illusion_block.cpp"
|
||||
#include "bot_commands/inventory.cpp"
|
||||
#include "bot_commands/item_use.cpp"
|
||||
#include "bot_commands/max_melee_range.cpp"
|
||||
#include "bot_commands/name.cpp"
|
||||
#include "bot_commands/owner_option.cpp"
|
||||
#include "bot_commands/pet.cpp"
|
||||
#include "bot_commands/pick_lock.cpp"
|
||||
#include "bot_commands/pickpocket.cpp"
|
||||
#include "bot_commands/precombat.cpp"
|
||||
#include "bot_commands/pull.cpp"
|
||||
#include "bot_commands/release.cpp"
|
||||
#include "bot_commands/set_assistee.cpp"
|
||||
#include "bot_commands/sit_hp_percent.cpp"
|
||||
#include "bot_commands/sit_in_combat.cpp"
|
||||
#include "bot_commands/sit_mana_percent.cpp"
|
||||
#include "bot_commands/spell.cpp"
|
||||
#include "bot_commands/spell_aggro_checks.cpp"
|
||||
#include "bot_commands/spell_announce_cast.cpp"
|
||||
#include "bot_commands/spell_delays.cpp"
|
||||
#include "bot_commands/spell_engaged_priority.cpp"
|
||||
#include "bot_commands/spell_holds.cpp"
|
||||
#include "bot_commands/spell_idle_priority.cpp"
|
||||
#include "bot_commands/spell_max_hp_pct.cpp"
|
||||
#include "bot_commands/spell_max_mana_pct.cpp"
|
||||
#include "bot_commands/spell_max_thresholds.cpp"
|
||||
#include "bot_commands/spell_min_hp_pct.cpp"
|
||||
#include "bot_commands/spell_min_mana_pct.cpp"
|
||||
#include "bot_commands/spell_min_thresholds.cpp"
|
||||
#include "bot_commands/spell_pursue_priority.cpp"
|
||||
#include "bot_commands/spell_resist_limits.cpp"
|
||||
#include "bot_commands/spell_target_count.cpp"
|
||||
#include "bot_commands/spelltypes.cpp"
|
||||
#include "bot_commands/summon.cpp"
|
||||
#include "bot_commands/suspend.cpp"
|
||||
#include "bot_commands/taunt.cpp"
|
||||
#include "bot_commands/timer.cpp"
|
||||
#include "bot_commands/track.cpp"
|
||||
#include "bot_commands/view_combos.cpp"
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "../bot_command.h"
|
||||
#include "../doors.h"
|
||||
|
||||
void bot_command_pick_lock(Client *c, const Seperator *sep)
|
||||
{
|
||||
@@ -1,6 +1,8 @@
|
||||
#include <chrono>
|
||||
#include <iostream>
|
||||
#include <random>
|
||||
#include "../zone_cli.h"
|
||||
#include "../../common/cli/eqemu_command_handler.h"
|
||||
#include "../../common/http/httplib.h"
|
||||
#include "../../common/eqemu_logsys.h"
|
||||
#include "../sidecar_api/sidecar_api.h"
|
||||
@@ -116,7 +118,7 @@ void RunBenchmarkCycle(uint64_t target_rows)
|
||||
break;
|
||||
}
|
||||
|
||||
DataBucket::SetData(e);
|
||||
DataBucket::SetData(&database, e);
|
||||
|
||||
inserted_keys.emplace_back(e);
|
||||
}
|
||||
@@ -129,7 +131,7 @@ void RunBenchmarkCycle(uint64_t target_rows)
|
||||
auto update_start = std::chrono::high_resolution_clock::now();
|
||||
for (auto &key: inserted_keys) {
|
||||
// 🔍 Retrieve existing bucket using scoped `GetData`
|
||||
auto e = DataBucket::GetData(key);
|
||||
auto e = DataBucket::GetData(&database, key);
|
||||
if (e.id > 0) {
|
||||
// create a new key object with the updated values
|
||||
DataBucketKey bucket_entry_key{
|
||||
@@ -145,7 +147,7 @@ void RunBenchmarkCycle(uint64_t target_rows)
|
||||
};
|
||||
|
||||
// 🔄 Update using DataBucket class
|
||||
DataBucket::SetData(bucket_entry_key);
|
||||
DataBucket::SetData(&database, bucket_entry_key);
|
||||
}
|
||||
}
|
||||
auto update_end = std::chrono::high_resolution_clock::now();
|
||||
@@ -188,7 +190,7 @@ void RunBenchmarkCycle(uint64_t target_rows)
|
||||
k.instance_id = entity_choice;
|
||||
}
|
||||
|
||||
DataBucket::GetData(key);
|
||||
DataBucket::GetData(&database, key);
|
||||
}
|
||||
auto read_cached_end = std::chrono::high_resolution_clock::now();
|
||||
std::chrono::duration<double> read_cached_time = read_cached_end - read_cached_start;
|
||||
@@ -206,7 +208,7 @@ void RunBenchmarkCycle(uint64_t target_rows)
|
||||
.character_id = 999999999, // use scoped value
|
||||
};
|
||||
|
||||
DataBucket::GetData(k);
|
||||
DataBucket::GetData(&database, k);
|
||||
}
|
||||
auto read_client_cache_miss_end = std::chrono::high_resolution_clock::now();
|
||||
std::chrono::duration<double> read_client_cache_miss_time = read_client_cache_miss_end - read_client_cache_miss_start;
|
||||
@@ -260,7 +262,7 @@ void RunBenchmarkCycle(uint64_t target_rows)
|
||||
k.instance_id = entity_choice;
|
||||
}
|
||||
|
||||
DataBucket::DeleteData(k);
|
||||
DataBucket::DeleteData(&database, k);
|
||||
}
|
||||
auto delete_end = std::chrono::high_resolution_clock::now();
|
||||
std::chrono::duration<double> delete_time = delete_end - delete_start;
|
||||
@@ -1,3 +1,5 @@
|
||||
#include "../zone_cli.h"
|
||||
#include "../../common/cli/eqemu_command_handler.h"
|
||||
#include "../../common/http/httplib.h"
|
||||
#include "../../common/eqemu_logsys.h"
|
||||
#include "../sidecar_api/sidecar_api.h"
|
||||
@@ -1,3 +1,5 @@
|
||||
#include "../../zone_cli.h"
|
||||
#include "../../common/cli/eqemu_command_handler.h"
|
||||
#include "../../common/http/httplib.h"
|
||||
#include "../../common/eqemu_logsys.h"
|
||||
#include "../../common/platform.h"
|
||||
@@ -7,6 +9,10 @@
|
||||
|
||||
extern Zone* zone;
|
||||
|
||||
void RunTest(const std::string& test_name, const std::string& expected, const std::string& actual);
|
||||
void RunTest(const std::string& test_name, bool expected, bool actual);
|
||||
void RunTest(const std::string& test_name, int expected, int actual);
|
||||
|
||||
void ZoneCLI::TestDataBuckets(int argc, char** argv, argh::parser& cmd, std::string& description)
|
||||
{
|
||||
if (cmd[{"-h", "--help"}]) {
|
||||
@@ -1,3 +1,5 @@
|
||||
#include "../../zone_cli.h"
|
||||
#include "../../common/cli/eqemu_command_handler.h"
|
||||
#include "../../common/http/httplib.h"
|
||||
#include "../../common/eqemu_logsys.h"
|
||||
#include "../../common/platform.h"
|
||||
@@ -9,6 +11,10 @@
|
||||
extern Zone *zone;
|
||||
using json = nlohmann::json;
|
||||
|
||||
void RunTest(const std::string& test_name, const std::string& expected, const std::string& actual);
|
||||
void RunTest(const std::string& test_name, bool expected, bool actual);
|
||||
void RunTest(const std::string& test_name, int expected, int actual);
|
||||
|
||||
struct HandinEntry {
|
||||
std::string item_id = "0";
|
||||
uint32 count = 0;
|
||||
+6
@@ -1,3 +1,5 @@
|
||||
#include "../../zone_cli.h"
|
||||
#include "../../common/cli/eqemu_command_handler.h"
|
||||
#include "../../common/eqemu_logsys.h"
|
||||
#include "../../common/platform.h"
|
||||
#include "../../zone.h"
|
||||
@@ -6,6 +8,10 @@
|
||||
|
||||
extern Zone *zone;
|
||||
|
||||
void RunTest(const std::string& test_name, const std::string& expected, const std::string& actual);
|
||||
void RunTest(const std::string& test_name, bool expected, bool actual);
|
||||
void RunTest(const std::string& test_name, int expected, int actual);
|
||||
|
||||
void ZoneCLI::TestNpcHandinsMultiQuest(int argc, char **argv, argh::parser &cmd, std::string &description)
|
||||
{
|
||||
if (cmd[{"-h", "--help"}]) {
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "../../zone.h"
|
||||
|
||||
inline void RunTest(const std::string &test_name, const std::string &expected, const std::string &actual)
|
||||
void RunTest(const std::string &test_name, const std::string &expected, const std::string &actual)
|
||||
{
|
||||
if (expected == actual) {
|
||||
std::cout << "[✅] " << test_name << " PASSED\n";
|
||||
@@ -12,7 +12,7 @@ inline void RunTest(const std::string &test_name, const std::string &expected, c
|
||||
}
|
||||
}
|
||||
|
||||
inline void RunTest(const std::string &test_name, bool expected, bool actual)
|
||||
void RunTest(const std::string &test_name, bool expected, bool actual)
|
||||
{
|
||||
if (expected == actual) {
|
||||
std::cout << "[✅] " << test_name << " PASSED\n";
|
||||
@@ -25,7 +25,7 @@ inline void RunTest(const std::string &test_name, bool expected, bool actual)
|
||||
}
|
||||
}
|
||||
|
||||
inline void RunTest(const std::string &test_name, int expected, int actual)
|
||||
void RunTest(const std::string &test_name, int expected, int actual)
|
||||
{
|
||||
if (expected == actual) {
|
||||
std::cout << "[✅] " << test_name << " PASSED\n";
|
||||
@@ -40,7 +40,7 @@ inline void RunTest(const std::string &test_name, int expected, int actual)
|
||||
|
||||
extern Zone *zone;
|
||||
|
||||
inline void SetupZone(std::string zone_short_name, uint32 instance_id = 0) {
|
||||
void SetupZone(std::string zone_short_name, uint32 instance_id = 0) {
|
||||
EQEmuLogSys::Instance()->SilenceConsoleLogging();
|
||||
|
||||
EQEmuLogSys::Instance()->log_settings[Logs::ZoneState].log_to_console = std::getenv("DEBUG") ? 3 : 0;
|
||||
@@ -1,11 +1,18 @@
|
||||
extern Zone *zone;
|
||||
|
||||
#include "../../zone_cli.h"
|
||||
#include "../../common/cli/eqemu_command_handler.h"
|
||||
#include <cereal/archives/json.hpp>
|
||||
#include <cereal/types/map.hpp>
|
||||
#include "../../common/repositories/npc_types_repository.h"
|
||||
#include "../../corpse.h"
|
||||
#include "../../../common/repositories/respawn_times_repository.h"
|
||||
|
||||
extern Zone* zone;
|
||||
|
||||
void RunTest(const std::string& test_name, const std::string& expected, const std::string& actual);
|
||||
void RunTest(const std::string& test_name, bool expected, bool actual);
|
||||
void RunTest(const std::string& test_name, int expected, int actual);
|
||||
void SetupZone(std::string zone_short_name, uint32 instance_id = 0);
|
||||
|
||||
inline void ClearState()
|
||||
{
|
||||
ZoneStateSpawnsRepository::DeleteWhere(database, "zone_id = 32 and instance_id = 0");
|
||||
+17
-16
@@ -4840,7 +4840,7 @@ bool Client::IsNameChangeAllowed() {
|
||||
auto k = GetScopedBucketKeys();
|
||||
k.key = "name_change_allowed";
|
||||
|
||||
auto b = DataBucket::GetData(k);
|
||||
auto b = DataBucket::GetData(&database, k);
|
||||
if (!b.value.empty()) {
|
||||
return true;
|
||||
}
|
||||
@@ -4856,7 +4856,7 @@ bool Client::ClearNameChange() {
|
||||
auto k = GetScopedBucketKeys();
|
||||
k.key = "name_change_allowed";
|
||||
|
||||
DataBucket::DeleteData(k);
|
||||
DataBucket::DeleteData(&database, k);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -4878,7 +4878,7 @@ void Client::GrantNameChange() {
|
||||
auto k = GetScopedBucketKeys();
|
||||
k.key = "name_change_allowed";
|
||||
k.value = "allowed"; // potentially put a timestamp here
|
||||
DataBucket::SetData(k);
|
||||
DataBucket::SetData(&database, k);
|
||||
|
||||
InvokeChangeNameWindow(true);
|
||||
}
|
||||
@@ -4891,7 +4891,7 @@ bool Client::IsPetNameChangeAllowed() {
|
||||
DataBucketKey k = GetScopedBucketKeys();
|
||||
k.key = "PetNameChangesAllowed";
|
||||
|
||||
auto b = DataBucket::GetData(k);
|
||||
auto b = DataBucket::GetData(&database, k);
|
||||
if (!b.value.empty()) {
|
||||
return true;
|
||||
}
|
||||
@@ -4915,7 +4915,7 @@ void Client::GrantPetNameChange() {
|
||||
DataBucketKey k = GetScopedBucketKeys();
|
||||
k.key = "PetNameChangesAllowed";
|
||||
k.value = "true";
|
||||
DataBucket::SetData(k);
|
||||
DataBucket::SetData(&database, k);
|
||||
|
||||
InvokeChangePetName(true);
|
||||
}
|
||||
@@ -4924,7 +4924,7 @@ void Client::ClearPetNameChange() {
|
||||
DataBucketKey k = GetScopedBucketKeys();
|
||||
k.key = "PetNameChangesAllowed";
|
||||
|
||||
DataBucket::DeleteData(k);
|
||||
DataBucket::DeleteData(&database, k);
|
||||
}
|
||||
|
||||
bool Client::ChangePetName(std::string new_name)
|
||||
@@ -9671,9 +9671,9 @@ void Client::SetDevToolsEnabled(bool in_dev_tools_enabled)
|
||||
const auto dev_tools_key = fmt::format("{}-dev-tools-disabled", AccountID());
|
||||
|
||||
if (in_dev_tools_enabled) {
|
||||
DataBucket::DeleteData(dev_tools_key);
|
||||
DataBucket::DeleteData(&database, dev_tools_key);
|
||||
} else {
|
||||
DataBucket::SetData(dev_tools_key, "true");
|
||||
DataBucket::SetData(&database, dev_tools_key, "true");
|
||||
}
|
||||
|
||||
Client::dev_tools_enabled = in_dev_tools_enabled;
|
||||
@@ -9846,7 +9846,7 @@ void Client::SendToGuildHall()
|
||||
uint32 expiration_time = (RuleI(Instances, GuildHallExpirationDays) * 86400);
|
||||
uint16 instance_id = 0;
|
||||
std::string guild_hall_instance_key = fmt::format("guild-hall-instance-{}", GuildID());
|
||||
std::string instance_data = DataBucket::GetData(guild_hall_instance_key);
|
||||
std::string instance_data = DataBucket::GetData(&database, guild_hall_instance_key);
|
||||
if (!instance_data.empty() && Strings::ToInt(instance_data) > 0) {
|
||||
instance_id = Strings::ToInt(instance_data);
|
||||
}
|
||||
@@ -9863,6 +9863,7 @@ void Client::SendToGuildHall()
|
||||
}
|
||||
|
||||
DataBucket::SetData(
|
||||
&database,
|
||||
guild_hall_instance_key,
|
||||
std::to_string(instance_id),
|
||||
std::to_string(expiration_time)
|
||||
@@ -10915,7 +10916,7 @@ void Client::SendToInstance(std::string instance_type, std::string zone_short_na
|
||||
instance_identifier,
|
||||
zone_short_name
|
||||
);
|
||||
std::string current_bucket_value = DataBucket::GetData(full_bucket_name);
|
||||
std::string current_bucket_value = DataBucket::GetData(&database, full_bucket_name);
|
||||
uint16 instance_id = 0;
|
||||
|
||||
if (current_bucket_value.length() > 0) {
|
||||
@@ -10931,7 +10932,7 @@ void Client::SendToInstance(std::string instance_type, std::string zone_short_na
|
||||
return;
|
||||
}
|
||||
|
||||
DataBucket::SetData(full_bucket_name, itoa(instance_id), itoa(duration));
|
||||
DataBucket::SetData(&database, full_bucket_name, itoa(instance_id), itoa(duration));
|
||||
}
|
||||
|
||||
AssignToInstance(instance_id);
|
||||
@@ -13149,7 +13150,7 @@ std::string Client::GetAccountBucket(std::string bucket_name)
|
||||
k.account_id = AccountID();
|
||||
k.key = bucket_name;
|
||||
|
||||
return DataBucket::GetData(k).value;
|
||||
return DataBucket::GetData(&database, k).value;
|
||||
}
|
||||
|
||||
void Client::SetAccountBucket(std::string bucket_name, std::string bucket_value, std::string expiration)
|
||||
@@ -13160,7 +13161,7 @@ void Client::SetAccountBucket(std::string bucket_name, std::string bucket_value,
|
||||
k.expires = expiration;
|
||||
k.value = bucket_value;
|
||||
|
||||
DataBucket::SetData(k);
|
||||
DataBucket::SetData(&database, k);
|
||||
}
|
||||
|
||||
void Client::DeleteAccountBucket(std::string bucket_name)
|
||||
@@ -13169,7 +13170,7 @@ void Client::DeleteAccountBucket(std::string bucket_name)
|
||||
k.account_id = AccountID();
|
||||
k.key = bucket_name;
|
||||
|
||||
DataBucket::DeleteData(k);
|
||||
DataBucket::DeleteData(&database, k);
|
||||
}
|
||||
|
||||
std::string Client::GetAccountBucketExpires(std::string bucket_name)
|
||||
@@ -13178,7 +13179,7 @@ std::string Client::GetAccountBucketExpires(std::string bucket_name)
|
||||
k.account_id = AccountID();
|
||||
k.key = bucket_name;
|
||||
|
||||
return DataBucket::GetDataExpires(k);
|
||||
return DataBucket::GetDataExpires(&database, k);
|
||||
}
|
||||
|
||||
std::string Client::GetAccountBucketRemaining(std::string bucket_name)
|
||||
@@ -13187,7 +13188,7 @@ std::string Client::GetAccountBucketRemaining(std::string bucket_name)
|
||||
k.account_id = AccountID();
|
||||
k.key = bucket_name;
|
||||
|
||||
return DataBucket::GetDataRemaining(k);
|
||||
return DataBucket::GetDataRemaining(&database, k);
|
||||
}
|
||||
|
||||
std::string Client::GetBandolierName(uint8 bandolier_slot)
|
||||
|
||||
@@ -1853,7 +1853,7 @@ void Client::Handle_Connect_OP_ZoneEntry(const EQApplicationPacket *app)
|
||||
*/
|
||||
if (Admin() >= EQ::DevTools::GM_ACCOUNT_STATUS_LEVEL) {
|
||||
const auto dev_tools_key = fmt::format("{}-dev-tools-disabled", AccountID());
|
||||
if (DataBucket::GetData(dev_tools_key) == "true") {
|
||||
if (DataBucket::GetData(&database, dev_tools_key) == "true") {
|
||||
dev_tools_enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -874,7 +874,7 @@ void Client::BulkSendMerchantInventory(int merchant_id, int npcid) {
|
||||
DataBucketKey k = GetScopedBucketKeys();
|
||||
k.key = bucket_name;
|
||||
|
||||
auto b = DataBucket::GetData(k);
|
||||
auto b = DataBucket::GetData(&database, k);
|
||||
if (b.value.empty()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -2485,27 +2485,27 @@ std::string Perl__get_rule(const char* rule_name)
|
||||
|
||||
std::string Perl__get_data(std::string bucket_key)
|
||||
{
|
||||
return DataBucket::GetData(bucket_key);
|
||||
return DataBucket::GetData(&database, bucket_key);
|
||||
}
|
||||
|
||||
std::string Perl__get_data_expires(std::string bucket_key)
|
||||
{
|
||||
return DataBucket::GetDataExpires(bucket_key);
|
||||
return DataBucket::GetDataExpires(&database, bucket_key);
|
||||
}
|
||||
|
||||
void Perl__set_data(std::string key, std::string value)
|
||||
{
|
||||
DataBucket::SetData(key, value);
|
||||
DataBucket::SetData(&database, key, value);
|
||||
}
|
||||
|
||||
void Perl__set_data(std::string key, std::string value, std::string expires_at)
|
||||
{
|
||||
DataBucket::SetData(key, value, expires_at);
|
||||
DataBucket::SetData(&database, key, value, expires_at);
|
||||
}
|
||||
|
||||
bool Perl__delete_data(std::string bucket_key)
|
||||
{
|
||||
return DataBucket::DeleteData(bucket_key);
|
||||
return DataBucket::DeleteData(&database, bucket_key);
|
||||
}
|
||||
|
||||
bool Perl__IsClassicEnabled()
|
||||
@@ -3045,7 +3045,7 @@ void Perl__rename(std::string name)
|
||||
|
||||
std::string Perl__get_data_remaining(std::string bucket_name)
|
||||
{
|
||||
return DataBucket::GetDataRemaining(bucket_name);
|
||||
return DataBucket::GetDataRemaining(&database, bucket_name);
|
||||
}
|
||||
|
||||
const int Perl__getitemstat(uint32 item_id, std::string identifier)
|
||||
|
||||
+5
-5
@@ -75,15 +75,15 @@ void Embperl::DoInit()
|
||||
throw "Failed to init Perl (perl_alloc)";
|
||||
}
|
||||
PERL_SET_CONTEXT(my_perl);
|
||||
PERL_SET_INTERP(my_perl);
|
||||
PL_curinterp = (PerlInterpreter*)(my_perl);
|
||||
PL_perl_destruct_level = 1;
|
||||
perl_construct(my_perl);
|
||||
perl_parse(my_perl, xs_init, argc, argv, nullptr);
|
||||
perl_run(my_perl);
|
||||
|
||||
|
||||
//a little routine we use a lot.
|
||||
eval_pv("sub my_eval { eval $_[0];}", TRUE); //dies on error
|
||||
|
||||
|
||||
//ruin the perl exit and command:
|
||||
eval_pv("sub my_exit {}", TRUE);
|
||||
eval_pv("sub my_sleep {}", TRUE);
|
||||
@@ -95,7 +95,7 @@ void Embperl::DoInit()
|
||||
GvCV_set(sleepgp, perl_get_cv("my_sleep", TRUE)); //dies on error
|
||||
GvIMPORTED_CV_on(sleepgp);
|
||||
}
|
||||
|
||||
|
||||
//declare our file eval routine.
|
||||
try {
|
||||
init_eval_file();
|
||||
@@ -181,7 +181,7 @@ Embperl::~Embperl()
|
||||
void Embperl::Reinit()
|
||||
{
|
||||
PERL_SET_CONTEXT(my_perl);
|
||||
PERL_SET_INTERP(my_perl);
|
||||
PL_curinterp = (PerlInterpreter*)(my_perl);
|
||||
PL_perl_destruct_level = 1;
|
||||
perl_destruct(my_perl);
|
||||
perl_free(my_perl);
|
||||
|
||||
+1
-1
@@ -1299,7 +1299,7 @@ uint8 Client::GetCharMaxLevelFromBucket()
|
||||
DataBucketKey k = GetScopedBucketKeys();
|
||||
k.key = "CharMaxLevel";
|
||||
|
||||
auto b = DataBucket::GetData(k);
|
||||
auto b = DataBucket::GetData(&database, k);
|
||||
if (!b.value.empty()) {
|
||||
if (Strings::IsNumber(b.value)) {
|
||||
return static_cast<uint8>(Strings::ToUnsignedInt(b.value));
|
||||
|
||||
@@ -0,0 +1,169 @@
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
|
||||
# gm commands
|
||||
set(gm_command_sources
|
||||
command.cpp
|
||||
bot_command.cpp
|
||||
gm_commands/acceptrules.cpp
|
||||
gm_commands/advnpcspawn.cpp
|
||||
gm_commands/aggrozone.cpp
|
||||
gm_commands/ai.cpp
|
||||
gm_commands/appearance.cpp
|
||||
gm_commands/appearanceeffects.cpp
|
||||
gm_commands/attack.cpp
|
||||
gm_commands/augmentitem.cpp
|
||||
gm_commands/ban.cpp
|
||||
gm_commands/bugs.cpp
|
||||
gm_commands/camerashake.cpp
|
||||
gm_commands/castspell.cpp
|
||||
gm_commands/chat.cpp
|
||||
gm_commands/clearxtargets.cpp
|
||||
gm_commands/copycharacter.cpp
|
||||
gm_commands/corpse.cpp
|
||||
gm_commands/corpsefix.cpp
|
||||
gm_commands/countitem.cpp
|
||||
gm_commands/damage.cpp
|
||||
gm_commands/databuckets.cpp
|
||||
gm_commands/dbspawn2.cpp
|
||||
gm_commands/delacct.cpp
|
||||
gm_commands/delpetition.cpp
|
||||
gm_commands/depop.cpp
|
||||
gm_commands/depopzone.cpp
|
||||
gm_commands/devtools.cpp
|
||||
gm_commands/disablerecipe.cpp
|
||||
gm_commands/disarmtrap.cpp
|
||||
gm_commands/doanim.cpp
|
||||
gm_commands/door.cpp
|
||||
gm_commands/door_manipulation.cpp
|
||||
gm_commands/dye.cpp
|
||||
gm_commands/dz.cpp
|
||||
gm_commands/dzkickplayers.cpp
|
||||
gm_commands/editmassrespawn.cpp
|
||||
gm_commands/emote.cpp
|
||||
gm_commands/emptyinventory.cpp
|
||||
gm_commands/enablerecipe.cpp
|
||||
gm_commands/entityvariable.cpp
|
||||
gm_commands/exptoggle.cpp
|
||||
gm_commands/faction.cpp
|
||||
gm_commands/evolving_items.cpp
|
||||
gm_commands/feature.cpp
|
||||
gm_commands/find.cpp
|
||||
gm_commands/fish.cpp
|
||||
gm_commands/fixmob.cpp
|
||||
gm_commands/flagedit.cpp
|
||||
gm_commands/fleeinfo.cpp
|
||||
gm_commands/forage.cpp
|
||||
gm_commands/gearup.cpp
|
||||
gm_commands/giveitem.cpp
|
||||
gm_commands/givemoney.cpp
|
||||
gm_commands/gmzone.cpp
|
||||
gm_commands/goto.cpp
|
||||
gm_commands/grantaa.cpp
|
||||
gm_commands/grid.cpp
|
||||
gm_commands/guild.cpp
|
||||
gm_commands/hp.cpp
|
||||
gm_commands/illusion_block.cpp
|
||||
gm_commands/instance.cpp
|
||||
gm_commands/interrogateinv.cpp
|
||||
gm_commands/interrupt.cpp
|
||||
gm_commands/invsnapshot.cpp
|
||||
gm_commands/ipban.cpp
|
||||
gm_commands/kick.cpp
|
||||
gm_commands/kill.cpp
|
||||
gm_commands/killallnpcs.cpp
|
||||
gm_commands/list.cpp
|
||||
gm_commands/lootsim.cpp
|
||||
gm_commands/loc.cpp
|
||||
gm_commands/logs.cpp
|
||||
gm_commands/makepet.cpp
|
||||
gm_commands/memspell.cpp
|
||||
gm_commands/merchantshop.cpp
|
||||
gm_commands/modifynpcstat.cpp
|
||||
gm_commands/movechar.cpp
|
||||
gm_commands/movement.cpp
|
||||
gm_commands/myskills.cpp
|
||||
gm_commands/mysql.cpp
|
||||
gm_commands/mystats.cpp
|
||||
gm_commands/npccast.cpp
|
||||
gm_commands/npcedit.cpp
|
||||
gm_commands/npceditmass.cpp
|
||||
gm_commands/npcemote.cpp
|
||||
gm_commands/npcloot.cpp
|
||||
gm_commands/npcsay.cpp
|
||||
gm_commands/npcshout.cpp
|
||||
gm_commands/npcspawn.cpp
|
||||
gm_commands/npctypespawn.cpp
|
||||
gm_commands/nudge.cpp
|
||||
gm_commands/nukebuffs.cpp
|
||||
gm_commands/nukeitem.cpp
|
||||
gm_commands/object.cpp
|
||||
gm_commands/object_manipulation.cpp
|
||||
gm_commands/parcels.cpp
|
||||
gm_commands/path.cpp
|
||||
gm_commands/peqzone.cpp
|
||||
gm_commands/petitems.cpp
|
||||
gm_commands/petname.cpp
|
||||
gm_commands/picklock.cpp
|
||||
gm_commands/profanity.cpp
|
||||
gm_commands/push.cpp
|
||||
gm_commands/raidloot.cpp
|
||||
gm_commands/randomfeatures.cpp
|
||||
gm_commands/refreshgroup.cpp
|
||||
gm_commands/reload.cpp
|
||||
gm_commands/removeitem.cpp
|
||||
gm_commands/repop.cpp
|
||||
gm_commands/resetaa.cpp
|
||||
gm_commands/resetaa_timer.cpp
|
||||
gm_commands/resetdisc_timer.cpp
|
||||
gm_commands/revoke.cpp
|
||||
gm_commands/roambox.cpp
|
||||
gm_commands/rules.cpp
|
||||
gm_commands/save.cpp
|
||||
gm_commands/scale.cpp
|
||||
gm_commands/scribespell.cpp
|
||||
gm_commands/scribespells.cpp
|
||||
gm_commands/sendzonespawns.cpp
|
||||
gm_commands/sensetrap.cpp
|
||||
gm_commands/serverrules.cpp
|
||||
gm_commands/set.cpp
|
||||
gm_commands/show.cpp
|
||||
gm_commands/shutdown.cpp
|
||||
gm_commands/spawn.cpp
|
||||
gm_commands/spawneditmass.cpp
|
||||
gm_commands/spawnfix.cpp
|
||||
gm_commands/faction_association.cpp
|
||||
gm_commands/stun.cpp
|
||||
gm_commands/summon.cpp
|
||||
gm_commands/summonburiedplayercorpse.cpp
|
||||
gm_commands/summonitem.cpp
|
||||
gm_commands/suspend.cpp
|
||||
gm_commands/suspendmulti.cpp
|
||||
gm_commands/takeplatinum.cpp
|
||||
gm_commands/task.cpp
|
||||
gm_commands/traindisc.cpp
|
||||
gm_commands/tune.cpp
|
||||
gm_commands/undye.cpp
|
||||
gm_commands/unmemspell.cpp
|
||||
gm_commands/unmemspells.cpp
|
||||
gm_commands/unscribespell.cpp
|
||||
gm_commands/unscribespells.cpp
|
||||
gm_commands/untraindisc.cpp
|
||||
gm_commands/untraindiscs.cpp
|
||||
gm_commands/wc.cpp
|
||||
gm_commands/worldshutdown.cpp
|
||||
gm_commands/worldwide.cpp
|
||||
gm_commands/wp.cpp
|
||||
gm_commands/wpadd.cpp
|
||||
gm_commands/zone.cpp
|
||||
gm_commands/zonebootup.cpp
|
||||
gm_commands/zoneshutdown.cpp
|
||||
gm_commands/zonevariable.cpp
|
||||
gm_commands/zone_instance.cpp
|
||||
gm_commands/zone_shard.cpp
|
||||
gm_commands/zsave.cpp
|
||||
)
|
||||
|
||||
add_library(gm_commands_zone STATIC ${gm_command_sources})
|
||||
target_link_libraries(gm_commands_zone PRIVATE common)
|
||||
set_target_properties(gm_commands_zone PROPERTIES UNITY_BUILD ON UNITY_BUILD_BATCH_SIZE 32)
|
||||
|
||||
@@ -50,7 +50,7 @@ void command_databuckets(Client *c, const Seperator *sep)
|
||||
!npc_id &&
|
||||
!bot_id
|
||||
) {
|
||||
if (!DataBucket::DeleteData(key_filter)) {
|
||||
if (!DataBucket::DeleteData(&database, key_filter)) {
|
||||
c->Message(
|
||||
Chat::White,
|
||||
fmt::format(
|
||||
@@ -76,7 +76,7 @@ void command_databuckets(Client *c, const Seperator *sep)
|
||||
k.npc_id = npc_id;
|
||||
k.bot_id = bot_id;
|
||||
|
||||
if (!DataBucket::DeleteData(k)) {
|
||||
if (!DataBucket::DeleteData(&database, k)) {
|
||||
c->Message(
|
||||
Chat::White,
|
||||
fmt::format(
|
||||
@@ -123,7 +123,7 @@ void command_databuckets(Client *c, const Seperator *sep)
|
||||
|
||||
const std::string& expires_string = expires == 0 ? "Never" : std::to_string(expires);
|
||||
|
||||
DataBucket::SetData(k);
|
||||
DataBucket::SetData(&database, k);
|
||||
|
||||
c->Message(
|
||||
Chat::White,
|
||||
|
||||
+26
-25
@@ -1,29 +1,30 @@
|
||||
#include "../client.h"
|
||||
#include "find/aa.cpp"
|
||||
#include "find/account.cpp"
|
||||
#include "find/body_type.cpp"
|
||||
#include "find/bot.cpp"
|
||||
#include "find/bug_category.cpp"
|
||||
#include "find/character.cpp"
|
||||
#include "find/class.cpp"
|
||||
#include "find/comparison_type.cpp"
|
||||
#include "find/currency.cpp"
|
||||
#include "find/deity.cpp"
|
||||
#include "find/emote.cpp"
|
||||
#include "find/faction.cpp"
|
||||
#include "find/item.cpp"
|
||||
#include "find/language.cpp"
|
||||
#include "find/ldon_theme.cpp"
|
||||
#include "find/npctype.cpp"
|
||||
#include "find/object_type.cpp"
|
||||
#include "find/race.cpp"
|
||||
#include "find/recipe.cpp"
|
||||
#include "find/skill.cpp"
|
||||
#include "find/stance.cpp"
|
||||
#include "find/spell.cpp"
|
||||
#include "find/special_ability.cpp"
|
||||
#include "find/task.cpp"
|
||||
#include "find/zone.cpp"
|
||||
|
||||
void FindAA(Client* c, const Seperator* sep);
|
||||
void FindAccount(Client* c, const Seperator* sep);
|
||||
void FindBodyType(Client* c, const Seperator* sep);
|
||||
void FindBot(Client* c, const Seperator* sep);
|
||||
void FindBugCategory(Client* c, const Seperator* sep);
|
||||
void FindCharacter(Client* c, const Seperator* sep);
|
||||
void FindClass(Client* c, const Seperator* sep);
|
||||
void FindComparisonType(Client* c, const Seperator* sep);
|
||||
void FindCurrency(Client* c, const Seperator* sep);
|
||||
void FindDeity(Client* c, const Seperator* sep);
|
||||
void FindEmote(Client* c, const Seperator* sep);
|
||||
void FindFaction(Client* c, const Seperator* sep);
|
||||
void FindItem(Client* c, const Seperator* sep);
|
||||
void FindLanguage(Client* c, const Seperator* sep);
|
||||
void FindLDoNTheme(Client* c, const Seperator* sep);
|
||||
void FindNPCType(Client* c, const Seperator* sep);
|
||||
void FindObjectType(Client* c, const Seperator* sep);
|
||||
void FindRace(Client* c, const Seperator* sep);
|
||||
void FindRecipe(Client* c, const Seperator* sep);
|
||||
void FindSkill(Client* c, const Seperator* sep);
|
||||
void FindSpecialAbility(Client* c, const Seperator* sep);
|
||||
void FindStance(Client* c, const Seperator* sep);
|
||||
void FindSpell(Client* c, const Seperator* sep);
|
||||
void FindTask(Client* c, const Seperator* sep);
|
||||
void FindZone(Client* c, const Seperator* sep);
|
||||
|
||||
void command_find(Client *c, const Seperator *sep)
|
||||
{
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "../../client.h"
|
||||
#include "../../common/repositories/account_repository.h"
|
||||
#include "../../../common/repositories/account_repository.h"
|
||||
|
||||
void FindAccount(Client *c, const Seperator *sep)
|
||||
{
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "../../client.h"
|
||||
#include "../../common/repositories/bot_data_repository.h"
|
||||
#include "../../../common/repositories/bot_data_repository.h"
|
||||
|
||||
void FindBot(Client *c, const Seperator *sep)
|
||||
{
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "../../client.h"
|
||||
#include "../../common/repositories/character_data_repository.h"
|
||||
#include "../../../common/repositories/character_data_repository.h"
|
||||
|
||||
void FindCharacter(Client *c, const Seperator *sep)
|
||||
{
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "../../client.h"
|
||||
#include "../../common/repositories/items_repository.h"
|
||||
#include "../../../common/repositories/items_repository.h"
|
||||
|
||||
void FindItem(Client *c, const Seperator *sep)
|
||||
{
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user