1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-29 23:57:46 +00:00

Merge pull request #937 from MapleHinata/Sapphire_Retail_6.40

Update Retail to 6.40
This commit is contained in:
Mordred 2023-05-29 09:47:53 +02:00 committed by GitHub
commit 45c6e2d833
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 1882 additions and 1472 deletions

View file

@ -15,7 +15,6 @@ add_custom_target( copy_runtime_files ALL
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/web ${CMAKE_BINARY_DIR}/bin/web
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/sql_import.sh ${CMAKE_BINARY_DIR}/bin/sql_import.sh
COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}/bin/data/actions
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/deps/Oodle/oo2net_9_win64.dll ${CMAKE_BINARY_DIR}/bin/oo2net_9_win64.dll
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/deps/ffxiv-actions/actions ${CMAKE_BINARY_DIR}/bin/data/actions )
######################################

View file

@ -15,32 +15,32 @@ set( MYSQL_FOUND 0 )
if( UNIX )
set(MYSQL_CONFIG_PREFER_PATH "$ENV{MYSQL_HOME}/bin" CACHE FILEPATH
"preferred path to MySQL (mysql_config)"
)
"preferred path to MySQL (mysql_config)"
)
find_program(MYSQL_CONFIG mysql_config
${MYSQL_CONFIG_PREFER_PATH}
/usr/local/mysql/bin/
/usr/local/bin/
/usr/bin/
)
${MYSQL_CONFIG_PREFER_PATH}
/usr/local/mysql/bin/
/usr/local/bin/
/usr/bin/
)
if( MYSQL_CONFIG )
message(STATUS "Using mysql-config: ${MYSQL_CONFIG}")
# set INCLUDE_DIR
exec_program(${MYSQL_CONFIG}
ARGS --include
OUTPUT_VARIABLE MY_TMP
)
ARGS --include
OUTPUT_VARIABLE MY_TMP
)
string(REGEX REPLACE "-I([^ ]*)( .*)?" "\\1" MY_TMP "${MY_TMP}")
set(MYSQL_ADD_INCLUDE_PATH ${MY_TMP} CACHE FILEPATH INTERNAL)
#message("[DEBUG] MYSQL ADD_INCLUDE_PATH : ${MYSQL_ADD_INCLUDE_PATH}")
# set LIBRARY_DIR
exec_program(${MYSQL_CONFIG}
ARGS --libs_r
OUTPUT_VARIABLE MY_TMP
)
ARGS --libs_r
OUTPUT_VARIABLE MY_TMP
)
set(MYSQL_ADD_LIBRARIES "")
string(REGEX MATCHALL "-l[^ ]*" MYSQL_LIB_LIST "${MY_TMP}")
foreach(LIB ${MYSQL_LIB_LIST})
@ -67,83 +67,89 @@ endif( UNIX )
if( WIN32 )
SET(PROGRAM_FILES_64 $ENV{ProgramW6432})
if (${PROGRAM_FILES_64})
STRING(REPLACE "\\\\" "/" PROGRAM_FILES_64 ${PROGRAM_FILES_64})
STRING(REPLACE "\\\\" "/" PROGRAM_FILES_64 ${PROGRAM_FILES_64})
endif(${PROGRAM_FILES_64})
endif ( WIN32 )
find_path(MYSQL_INCLUDE_DIR
NAMES
mysql.h
PATHS
${MYSQL_ADD_INCLUDE_PATH}
/usr/include
/usr/include/mariadb
/usr/include/mysql
/usr/local/include
/usr/local/include/mysql
/usr/local/mysql/include
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/include"
"${PROGRAM_FILES_64}/MySQL/include"
"${PROGRAM_FILES_64}/MariaDB 10.3/include/mysql"
"${PROGRAM_FILES_64}/MariaDB 10.4/include/mysql"
"${PROGRAM_FILES_64}/MariaDB 10.5/include/mysql"
"${PROGRAM_FILES_64}/MariaDB 10.6/include/mysql"
"C:/MySQL/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/include"
"$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/include"
"$ENV{SystemDrive}/MySQL/MySQL Server 5.7/include"
"c:/msys/local/include"
"$ENV{MYSQL_ROOT}/include"
DOC
"Specify the directory containing mysql.h."
)
NAMES
mysql.h
PATHS
${MYSQL_ADD_INCLUDE_PATH}
/usr/include
/usr/include/mariadb
/usr/include/mysql
/usr/local/include
/usr/local/include/mysql
/usr/local/mysql/include
"${PROGRAM_FILES_64}/MariaDB 10.3/include/mysql"
"${PROGRAM_FILES_64}/MariaDB 10.4/include/mysql"
"${PROGRAM_FILES_64}/MariaDB 10.5/include/mysql"
"${PROGRAM_FILES_64}/MariaDB 10.6/include/mysql"
"${PROGRAM_FILES_64}/MariaDB 10.7/include/mysql"
"${PROGRAM_FILES_64}/MariaDB 10.8/include/mysql"
"${PROGRAM_FILES_64}/MariaDB 10.9/include/mysql"
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/include"
"${PROGRAM_FILES_64}/MySQL/include"
"C:/MySQL/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/include"
"$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/include"
"$ENV{SystemDrive}/MySQL/MySQL Server 5.7/include"
"c:/msys/local/include"
"$ENV{MYSQL_ROOT}/include"
DOC
"Specify the directory containing mysql.h."
)
if( UNIX )
foreach(LIB ${MYSQL_ADD_LIBRARIES})
find_library( MYSQL_LIBRARY
NAMES
mysql libmysql libmariadb ${LIB}
PATHS
${MYSQL_ADD_LIBRARIES_PATH}
/usr/lib
/usr/lib/mysql
/usr/local/lib
/usr/local/lib/mysql
/usr/local/mysql/lib
/usr/lib/x86_64-linux-gnu
DOC "Specify the location of the mysql library here."
)
NAMES
mysql libmysql libmariadb ${LIB}
PATHS
${MYSQL_ADD_LIBRARIES_PATH}
/usr/lib
/usr/lib/mysql
/usr/local/lib
/usr/local/lib/mysql
/usr/local/mysql/lib
/usr/lib/x86_64-linux-gnu
DOC "Specify the location of the mysql library here."
)
endforeach(LIB ${MYSQL_ADD_LIBRARY})
endif( UNIX )
if( WIN32 )
find_library( MYSQL_LIBRARY
NAMES
libmysql
libmariadb
PATHS
${MYSQL_ADD_LIBRARIES_PATH}
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/lib"
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/lib/opt"
"${PROGRAM_FILES_64}/MySQL/lib"
"${PROGRAM_FILES_64}/MariaDB 10.3/lib"
"${PROGRAM_FILES_64}/MariaDB 10.4/lib"
"${PROGRAM_FILES_64}/MariaDB 10.5/lib"
"${PROGRAM_FILES_64}/MariaDB 10.6/lib"
"C:/MySQL/lib/debug"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/lib/opt"
"$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/lib/opt"
"$ENV{SystemDrive}/MySQL/MySQL Server 5.7/lib/opt"
"c:/msys/local/include"
"$ENV{MYSQL_ROOT}/lib"
DOC "Specify the location of the mysql library here."
)
NAMES
libmysql
libmariadb
PATHS
${MYSQL_ADD_LIBRARIES_PATH}
"${PROGRAM_FILES_64}/MariaDB 10.3/lib"
"${PROGRAM_FILES_64}/MariaDB 10.4/lib"
"${PROGRAM_FILES_64}/MariaDB 10.5/lib"
"${PROGRAM_FILES_64}/MariaDB 10.6/lib"
"${PROGRAM_FILES_64}/MariaDB 10.7/lib"
"${PROGRAM_FILES_64}/MariaDB 10.8/lib"
"${PROGRAM_FILES_64}/MariaDB 10.9/lib"
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/lib"
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/lib/opt"
"${PROGRAM_FILES_64}/MySQL/lib"
"C:/MySQL/lib/debug"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/lib/opt"
"$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/lib/opt"
"$ENV{SystemDrive}/MySQL/MySQL Server 5.7/lib/opt"
"c:/msys/local/include"
"$ENV{MYSQL_ROOT}/lib"
DOC "Specify the location of the mysql library here."
)
STRING( REGEX REPLACE "(.lib)$" ".dll" MYSQL_DLL ${MYSQL_LIBRARY} )
file(COPY ${MYSQL_DLL}
DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/bin/" )
DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/bin/" )
endif( WIN32 )
@ -152,50 +158,51 @@ endif( WIN32 )
if( NOT WIN32 )
find_library( MYSQL_EXTRA_LIBRARIES
NAMES
z zlib
PATHS
/usr/lib
/usr/local/lib
DOC
"if more libraries are necessary to link in a MySQL client (typically zlib), specify them here."
)
NAMES
z zlib
PATHS
/usr/lib
/usr/local/lib
DOC
"if more libraries are necessary to link in a MySQL client (typically zlib), specify them here."
)
else( NOT WIN32 )
set( MYSQL_EXTRA_LIBRARIES "" )
endif( NOT WIN32 )
if( UNIX )
find_program(MYSQL_EXECUTABLE mysql
PATHS
${MYSQL_CONFIG_PREFER_PATH}
/usr/local/mysql/bin/
/usr/local/bin/
/usr/bin/
DOC
"path to your mysql binary."
)
find_program(MYSQL_EXECUTABLE mysql
PATHS
${MYSQL_CONFIG_PREFER_PATH}
/usr/local/mysql/bin/
/usr/local/bin/
/usr/bin/
DOC
"path to your mysql binary."
)
endif( UNIX )
if( WIN32 )
find_program(MYSQL_EXECUTABLE mysql
PATHS
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin"
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin/opt"
"${PROGRAM_FILES_64}/MySQL/bin"
"${PROGRAM_FILES_64}/MariaDB 10.3/bin"
"${PROGRAM_FILES_64}/MariaDB 10.4/bin"
"${PROGRAM_FILES_64}/MariaDB 10.5/bin"
"${PROGRAM_FILES_64}/MariaDB 10.6/bin"
"C:/MySQL/bin/debug"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin/opt"
"$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/bin/opt"
"$ENV{SystemDrive}/MySQL/MySQL Server 5.7/bin/opt"
"c:/msys/local/include"
"$ENV{MYSQL_ROOT}/bin"
DOC
"path to your mysql binary."
)
find_program(MYSQL_EXECUTABLE mysql
PATHS
"${PROGRAM_FILES_64}/MariaDB 10.3/bin"
"${PROGRAM_FILES_64}/MariaDB 10.4/bin"
"${PROGRAM_FILES_64}/MariaDB 10.5/bin"
"${PROGRAM_FILES_64}/MariaDB 10.6/bin"
"${PROGRAM_FILES_64}/MariaDB 10.7/bin"
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin"
"${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin/opt"
"${PROGRAM_FILES_64}/MySQL/bin"
"C:/MySQL/bin/debug"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin/opt"
"$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/bin/opt"
"$ENV{SystemDrive}/MySQL/MySQL Server 5.7/bin/opt"
"c:/msys/local/include"
"$ENV{MYSQL_ROOT}/bin"
DOC
"path to your mysql binary."
)
endif( WIN32 )
if( MYSQL_LIBRARY )

File diff suppressed because it is too large Load diff

View file

@ -557,17 +557,17 @@ Sapphire::Data::AOZContent::AOZContent( uint32_t row_id, Sapphire::Data::ExdData
act1FightType = exdData->getField< uint8_t >( row, 2 );
act1 = exdData->getField< uint16_t >( row, 3 );
arenaType1 = exdData->getField< uint8_t >( row, 4 );
act2FightType = exdData->getField< uint8_t >( row, 5 );
act2 = exdData->getField< uint16_t >( row, 6 );
arenaType2 = exdData->getField< uint8_t >( row, 7 );
act3FightType = exdData->getField< uint8_t >( row, 8 );
act3 = exdData->getField< uint16_t >( row, 9 );
arenaType3 = exdData->getField< uint8_t >( row, 10 );
contentEntry = exdData->getField< uint32_t >( row, 11 );
order = exdData->getField< uint8_t >( row, 12 );
gilReward = exdData->getField< uint16_t >( row, 13 );
alliedSealsReward = exdData->getField< uint16_t >( row, 14 );
tomestonesReward = exdData->getField< uint16_t >( row, 15 );
act2FightType = exdData->getField< uint8_t >( row, 6 );
act2 = exdData->getField< uint16_t >( row, 7 );
arenaType2 = exdData->getField< uint8_t >( row, 8 );
act3FightType = exdData->getField< uint8_t >( row, 10 );
act3 = exdData->getField< uint16_t >( row, 11 );
arenaType3 = exdData->getField< uint8_t >( row, 12 );
contentEntry = exdData->getField< uint32_t >( row, 14 );
order = exdData->getField< uint8_t >( row, 15 );
gilReward = exdData->getField< uint16_t >( row, 16 );
alliedSealsReward = exdData->getField< uint16_t >( row, 17 );
tomestonesReward = exdData->getField< uint16_t >( row, 18 );
}
Sapphire::Data::AOZContentBriefingBNpc::AOZContentBriefingBNpc( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
@ -600,6 +600,12 @@ Sapphire::Data::AOZContentBriefingBNpc::AOZContentBriefingBNpc( uint32_t row_id,
flatOrDeathVuln = exdData->getField< bool >( row, 24 );
}
Sapphire::Data::AOZContentBriefingObject::AOZContentBriefingObject( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_AOZContentBriefingObjectDat.get_row( row_id, subRow );
icon = exdData->getField< uint32_t >( row, 0 );
}
Sapphire::Data::AOZReport::AOZReport( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_AOZReportDat.get_row( row_id );
@ -1956,11 +1962,11 @@ Sapphire::Data::CollectablesShopItem::CollectablesShopItem( uint32_t row_id, uin
item = exdData->getField< uint32_t >( row, 0 );
collectablesShopItemGroup = exdData->getField< uint8_t >( row, 1 );
levelMin = exdData->getField< uint16_t >( row, 2 );
levelMax = exdData->getField< uint16_t >( row, 3 );
stars = exdData->getField< uint8_t >( row, 4 );
key = exdData->getField< uint8_t >( row, 5 );
collectablesShopRefine = exdData->getField< uint16_t >( row, 6 );
collectablesShopRewardScrip = exdData->getField< uint16_t >( row, 7 );
levelMax = exdData->getField< uint16_t >( row, 4 );
stars = exdData->getField< uint8_t >( row, 5 );
key = exdData->getField< uint8_t >( row, 6 );
collectablesShopRefine = exdData->getField< uint16_t >( row, 7 );
collectablesShopRewardScrip = exdData->getField< uint16_t >( row, 8 );
}
Sapphire::Data::CollectablesShopItemGroup::CollectablesShopItemGroup( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
@ -2408,11 +2414,11 @@ Sapphire::Data::ContentRoulette::ContentRoulette( uint32_t row_id, Sapphire::Dat
rewardTomeA = exdData->getField< uint16_t >( row, 17 );
rewardTomeB = exdData->getField< uint16_t >( row, 18 );
rewardTomeC = exdData->getField< uint16_t >( row, 19 );
sortKey = exdData->getField< uint8_t >( row, 22 );
contentMemberType = exdData->getField< uint8_t >( row, 24 );
requireAllDuties = exdData->getField< bool >( row, 35 );
contentRouletteOpenRule = exdData->getField< uint8_t >( row, 37 );
instanceContent = exdData->getField< uint16_t >( row, 38 );
sortKey = exdData->getField< uint8_t >( row, 23 );
contentMemberType = exdData->getField< uint8_t >( row, 25 );
requireAllDuties = exdData->getField< bool >( row, 36 );
contentRouletteOpenRule = exdData->getField< uint8_t >( row, 38 );
instanceContent = exdData->getField< uint16_t >( row, 39 );
}
Sapphire::Data::ContentRouletteOpenRule::ContentRouletteOpenRule( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
@ -2661,6 +2667,11 @@ Sapphire::Data::CustomTalk::CustomTalk( uint32_t row_id, Sapphire::Data::ExdData
specialLinks = exdData->getField< uint32_t >( row, 75 );
}
Sapphire::Data::CustomTalkDefineClient::CustomTalkDefineClient( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_CustomTalkDefineClientDat.get_row( row_id, subRow );
}
Sapphire::Data::CustomTalkNestHandlers::CustomTalkNestHandlers( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_CustomTalkNestHandlersDat.get_row( row_id, subRow );
@ -3465,6 +3476,12 @@ Sapphire::Data::EventIconPriority::EventIconPriority( uint32_t row_id, Sapphire:
icon.push_back( exdData->getField< uint32_t >( row, 18 ) );
}
Sapphire::Data::EventIconPriorityPair::EventIconPriorityPair( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_EventIconPriorityPairDat.get_row( row_id );
icon1 = exdData->getField< uint32_t >( row, 0 );
}
Sapphire::Data::EventIconType::EventIconType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_EventIconTypeDat.get_row( row_id );
@ -3838,6 +3855,18 @@ Sapphire::Data::FishingBaitParameter::FishingBaitParameter( uint32_t row_id, Sap
auto row = exdData->m_FishingBaitParameterDat.get_row( row_id );
}
Sapphire::Data::FishingNoteInfo::FishingNoteInfo( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_FishingNoteInfoDat.get_row( row_id );
size = exdData->getField< uint8_t >( row, 0 );
aquariumWater = exdData->getField< uint8_t >( row, 1 );
weatherRestriction = exdData->getField< uint8_t >( row, 2 );
timeRestriction = exdData->getField< uint8_t >( row, 3 );
specialConditions = exdData->getField< uint8_t >( row, 4 );
isCollectable = exdData->getField< uint8_t >( row, 5 );
item = exdData->getField< int32_t >( row, 6 );
}
Sapphire::Data::FishingRecordType::FishingRecordType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_FishingRecordTypeDat.get_row( row_id );
@ -3890,13 +3919,13 @@ Sapphire::Data::FishParameter::FishParameter( uint32_t row_id, Sapphire::Data::E
text = exdData->getField< std::string >( row, 0 );
item = exdData->getField< int32_t >( row, 1 );
gatheringItemLevel = exdData->getField< uint16_t >( row, 2 );
oceanStars = exdData->getField< uint8_t >( row, 3 );
isHidden = exdData->getField< bool >( row, 4 );
fishingRecordType = exdData->getField< uint8_t >( row, 6 );
fishingSpot = exdData->getField< uint16_t >( row, 8 );
gatheringSubCategory = exdData->getField< uint16_t >( row, 9 );
isInLog = exdData->getField< bool >( row, 10 );
timeRestricted = exdData->getField< bool >( row, 11 );
weatherRestricted = exdData->getField< bool >( row, 12 );
fishingRecordType = exdData->getField< uint8_t >( row, 5 );
fishingSpot = exdData->getField< uint16_t >( row, 6 );
gatheringSubCategory = exdData->getField< uint16_t >( row, 7 );
isInLog = exdData->getField< bool >( row, 8 );
achievementCredit = exdData->getField< uint32_t >( row, 9 );
}
Sapphire::Data::FittingShop::FittingShop( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
@ -3936,14 +3965,6 @@ Sapphire::Data::Frontline03::Frontline03( uint32_t row_id, Sapphire::Data::ExdDa
immortalFlamesIcon.push_back( exdData->getField< uint32_t >( row, 20 ) );
}
Sapphire::Data::Frontline04::Frontline04( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_Frontline04Dat.get_row( row_id );
level1 = exdData->getField< int32_t >( row, 0 );
level2 = exdData->getField< int32_t >( row, 1 );
level3 = exdData->getField< int32_t >( row, 2 );
}
Sapphire::Data::FurnitureCatalogCategory::FurnitureCatalogCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_FurnitureCatalogCategoryDat.get_row( row_id );
@ -4891,11 +4912,9 @@ Sapphire::Data::GuildleveAssignment::GuildleveAssignment( uint32_t row_id, Sapph
{
auto row = exdData->m_GuildleveAssignmentDat.get_row( row_id );
type = exdData->getField< std::string >( row, 0 );
typeId = exdData->getField< uint8_t >( row, 1 );
assignmentTalk = exdData->getField< uint32_t >( row, 2 );
quest.push_back( exdData->getField< uint32_t >( row, 3 ) );
quest.push_back( exdData->getField< uint32_t >( row, 4 ) );
grandCompanyRank = exdData->getField< uint8_t >( row, 10 );
}
Sapphire::Data::GuildleveAssignmentCategory::GuildleveAssignmentCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
@ -6334,8 +6353,8 @@ Sapphire::Data::IKDRoute::IKDRoute( uint32_t row_id, Sapphire::Data::ExdDataGene
{
auto row = exdData->m_IKDRouteDat.get_row( row_id );
image = exdData->getField< uint32_t >( row, 6 );
territoryType = exdData->getField< uint32_t >( row, 7 );
name = exdData->getField< std::string >( row, 8 );
territoryType = exdData->getField< uint32_t >( row, 9 );
name = exdData->getField< std::string >( row, 11 );
}
Sapphire::Data::IKDRouteTable::IKDRouteTable( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
@ -6558,11 +6577,6 @@ Sapphire::Data::Item::Item( uint32_t row_id, Sapphire::Data::ExdDataGenerated* e
isPvP = exdData->getField< bool >( row, 88 );
subStatCategory = exdData->getField< uint8_t >( row, 89 );
isGlamourous = exdData->getField< bool >( row, 90 );
for( int i = 0; i < 6; ++i )
{
param[i].baseparam = exdData->getField< uint8_t >( row, 59 + i * 2 );
param[i].value = exdData->getField< int16_t >( row, 60 + i * 2 );
}
}
Sapphire::Data::ItemAction::ItemAction( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
@ -7041,6 +7055,11 @@ Sapphire::Data::MainCommandCategory::MainCommandCategory( uint32_t row_id, Sapph
name = exdData->getField< std::string >( row, 1 );
}
Sapphire::Data::MandervilleWeaponEnhance::MandervilleWeaponEnhance( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_MandervilleWeaponEnhanceDat.get_row( row_id );
}
Sapphire::Data::ManeuversArmor::ManeuversArmor( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_ManeuversArmorDat.get_row( row_id );
@ -7134,7 +7153,7 @@ Sapphire::Data::Marker::Marker( uint32_t row_id, Sapphire::Data::ExdDataGenerate
{
auto row = exdData->m_MarkerDat.get_row( row_id );
icon = exdData->getField< int32_t >( row, 0 );
name = exdData->getField< std::string >( row, 1 );
name = exdData->getField< std::string >( row, 2 );
}
Sapphire::Data::Materia::Materia( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
@ -7150,17 +7169,17 @@ Sapphire::Data::Materia::Materia( uint32_t row_id, Sapphire::Data::ExdDataGenera
item.push_back( exdData->getField< int32_t >( row, 7 ) );
item.push_back( exdData->getField< int32_t >( row, 8 ) );
item.push_back( exdData->getField< int32_t >( row, 9 ) );
baseParam = exdData->getField< uint8_t >( row, 10 );
value.push_back( exdData->getField< int16_t >( row, 11 ) );
value.push_back( exdData->getField< int16_t >( row, 12 ) );
value.push_back( exdData->getField< int16_t >( row, 13 ) );
value.push_back( exdData->getField< int16_t >( row, 14 ) );
value.push_back( exdData->getField< int16_t >( row, 15 ) );
value.push_back( exdData->getField< int16_t >( row, 16 ) );
baseParam = exdData->getField< uint8_t >( row, 16 );
value.push_back( exdData->getField< int16_t >( row, 17 ) );
value.push_back( exdData->getField< int16_t >( row, 18 ) );
value.push_back( exdData->getField< int16_t >( row, 19 ) );
value.push_back( exdData->getField< int16_t >( row, 20 ) );
value.push_back( exdData->getField< int16_t >( row, 21 ) );
value.push_back( exdData->getField< int16_t >( row, 22 ) );
value.push_back( exdData->getField< int16_t >( row, 23 ) );
value.push_back( exdData->getField< int16_t >( row, 24 ) );
value.push_back( exdData->getField< int16_t >( row, 25 ) );
value.push_back( exdData->getField< int16_t >( row, 26 ) );
}
Sapphire::Data::MateriaGrade::MateriaGrade( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
@ -7222,6 +7241,41 @@ Sapphire::Data::MiniGameRA::MiniGameRA( uint32_t row_id, Sapphire::Data::ExdData
bGM = exdData->getField< int32_t >( row, 3 );
}
Sapphire::Data::MiniGameTurnBreakAction::MiniGameTurnBreakAction( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_MiniGameTurnBreakActionDat.get_row( row_id );
}
Sapphire::Data::MiniGameTurnBreakConst::MiniGameTurnBreakConst( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_MiniGameTurnBreakConstDat.get_row( row_id );
}
Sapphire::Data::MiniGameTurnBreakEnemy::MiniGameTurnBreakEnemy( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_MiniGameTurnBreakEnemyDat.get_row( row_id );
}
Sapphire::Data::MiniGameTurnBreakPop::MiniGameTurnBreakPop( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_MiniGameTurnBreakPopDat.get_row( row_id, subRow );
}
Sapphire::Data::MiniGameTurnBreakPopOffset::MiniGameTurnBreakPopOffset( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_MiniGameTurnBreakPopOffsetDat.get_row( row_id );
}
Sapphire::Data::MiniGameTurnBreakStage::MiniGameTurnBreakStage( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_MiniGameTurnBreakStageDat.get_row( row_id );
}
Sapphire::Data::MiniGameTurnBreakStatus::MiniGameTurnBreakStatus( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_MiniGameTurnBreakStatusDat.get_row( row_id );
}
Sapphire::Data::MinionRace::MinionRace( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_MinionRaceDat.get_row( row_id );
@ -7371,6 +7425,16 @@ Sapphire::Data::MJICraftworksPopularity::MJICraftworksPopularity( uint32_t row_i
popularity.push_back( exdData->getField< uint8_t >( row, 68 ) );
popularity.push_back( exdData->getField< uint8_t >( row, 69 ) );
popularity.push_back( exdData->getField< uint8_t >( row, 70 ) );
popularity.push_back( exdData->getField< uint8_t >( row, 71 ) );
popularity.push_back( exdData->getField< uint8_t >( row, 72 ) );
popularity.push_back( exdData->getField< uint8_t >( row, 73 ) );
popularity.push_back( exdData->getField< uint8_t >( row, 74 ) );
popularity.push_back( exdData->getField< uint8_t >( row, 75 ) );
popularity.push_back( exdData->getField< uint8_t >( row, 76 ) );
popularity.push_back( exdData->getField< uint8_t >( row, 77 ) );
popularity.push_back( exdData->getField< uint8_t >( row, 78 ) );
popularity.push_back( exdData->getField< uint8_t >( row, 79 ) );
popularity.push_back( exdData->getField< uint8_t >( row, 80 ) );
}
Sapphire::Data::MJICraftworksPopularityType::MJICraftworksPopularityType( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
@ -7427,6 +7491,13 @@ Sapphire::Data::MJIFunction::MJIFunction( uint32_t row_id, Sapphire::Data::ExdDa
auto row = exdData->m_MJIFunctionDat.get_row( row_id );
}
Sapphire::Data::MJIGardenscaping::MJIGardenscaping( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_MJIGardenscapingDat.get_row( row_id );
level = exdData->getField< uint8_t >( row, 0 );
item = exdData->getField< int32_t >( row, 5 );
}
Sapphire::Data::MJIGathering::MJIGathering( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_MJIGatheringDat.get_row( row_id );
@ -7530,6 +7601,18 @@ Sapphire::Data::MJIMinionPopAreas::MJIMinionPopAreas( uint32_t row_id, Sapphire:
auto row = exdData->m_MJIMinionPopAreasDat.get_row( row_id );
}
Sapphire::Data::MJIName::MJIName( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_MJINameDat.get_row( row_id );
singular = exdData->getField< std::string >( row, 0 );
adjective = exdData->getField< int8_t >( row, 1 );
plural = exdData->getField< std::string >( row, 2 );
possessivePronoun = exdData->getField< int8_t >( row, 3 );
startsWithVowel = exdData->getField< int8_t >( row, 4 );
pronoun = exdData->getField< int8_t >( row, 6 );
article = exdData->getField< int8_t >( row, 7 );
}
Sapphire::Data::MJIProgress::MJIProgress( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_MJIProgressDat.get_row( row_id );
@ -7746,7 +7829,7 @@ Sapphire::Data::Mount::Mount( uint32_t row_id, Sapphire::Data::ExdDataGenerated*
equipFoot = exdData->getField< int32_t >( row, 28 );
order = exdData->getField< int16_t >( row, 29 );
icon = exdData->getField< uint16_t >( row, 30 );
uIPriority = exdData->getField< uint8_t >( row, 31 );
uIPriority = exdData->getField< uint16_t >( row, 31 );
radiusRate = exdData->getField< uint8_t >( row, 32 );
baseMotionSpeed_Run = exdData->getField< uint8_t >( row, 33 );
baseMotionSpeed_Walk = exdData->getField< uint8_t >( row, 34 );
@ -8021,10 +8104,10 @@ Sapphire::Data::OmikujiGuidance::OmikujiGuidance( uint32_t row_id, Sapphire::Dat
Sapphire::Data::OnlineStatus::OnlineStatus( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_OnlineStatusDat.get_row( row_id );
list = exdData->getField< bool >( row, 0 );
priority = exdData->getField< uint8_t >( row, 2 );
name = exdData->getField< std::string >( row, 3 );
list = exdData->getField< bool >( row, 1 );
priority = exdData->getField< uint8_t >( row, 3 );
icon = exdData->getField< uint32_t >( row, 4 );
name = exdData->getField< std::string >( row, 6 );
}
Sapphire::Data::OpenContent::OpenContent( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
@ -8491,13 +8574,10 @@ Sapphire::Data::Quest::Quest( uint32_t row_id, Sapphire::Data::ExdDataGenerated*
previousQuest.push_back( exdData->getField< uint32_t >( row, 9 ) );
previousQuest0Sequence = exdData->getField< uint8_t >( row, 10 );
previousQuest.push_back( exdData->getField< uint32_t >( row, 11 ) );
previousQuest.push_back( exdData->getField< uint32_t >( row, 12 ) );
questLockJoin = exdData->getField< uint8_t >( row, 13 );
questLock.push_back( exdData->getField< uint32_t >( row, 14 ) );
questLock.push_back( exdData->getField< uint32_t >( row, 15 ) );
header = exdData->getField< uint16_t >( row, 16 );
startTown = exdData->getField< uint8_t >( row, 17 );
classJobUnlockFlag = exdData->getField< uint8_t >( row, 18 );
classJobUnlock = exdData->getField< uint8_t >( row, 19 );
grandCompany = exdData->getField< uint8_t >( row, 20 );
grandCompanyRank = exdData->getField< uint8_t >( row, 21 );
@ -9779,7 +9859,7 @@ Sapphire::Data::Quest::Quest( uint32_t row_id, Sapphire::Data::ExdDataGenerated*
optionalItemStainReward.push_back( exdData->getField< uint8_t >( row, 1496 ) );
optionalItemStainReward.push_back( exdData->getField< uint8_t >( row, 1497 ) );
optionalItemStainReward.push_back( exdData->getField< uint8_t >( row, 1498 ) );
emoteReward = exdData->getField< uint8_t >( row, 1499 );
emoteReward = exdData->getField< uint16_t >( row, 1499 );
actionReward = exdData->getField< uint16_t >( row, 1500 );
generalActionReward.push_back( exdData->getField< uint8_t >( row, 1501 ) );
generalActionReward.push_back( exdData->getField< uint8_t >( row, 1502 ) );
@ -10280,11 +10360,24 @@ Sapphire::Data::QuestEffectDefine::QuestEffectDefine( uint32_t row_id, uint32_t
effect = exdData->getField< uint16_t >( row, 0 );
}
Sapphire::Data::QuestEventAreaEntranceInfo::QuestEventAreaEntranceInfo( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_QuestEventAreaEntranceInfoDat.get_row( row_id, subRow );
quest = exdData->getField< uint32_t >( row, 0 );
location = exdData->getField< uint32_t >( row, 2 );
}
Sapphire::Data::QuestLinkMarker::QuestLinkMarker( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_QuestLinkMarkerDat.get_row( row_id, subRow );
}
Sapphire::Data::QuestLinkMarkerIcon::QuestLinkMarkerIcon( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_QuestLinkMarkerIconDat.get_row( row_id );
icon = exdData->getField< uint32_t >( row, 0 );
}
Sapphire::Data::QuestLinkMarkerSet::QuestLinkMarkerSet( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_QuestLinkMarkerSetDat.get_row( row_id );
@ -11140,9 +11233,9 @@ Sapphire::Data::SpearfishingItem::SpearfishingItem( uint32_t row_id, Sapphire::D
description = exdData->getField< std::string >( row, 0 );
item = exdData->getField< int32_t >( row, 1 );
gatheringItemLevel = exdData->getField< uint16_t >( row, 2 );
fishingRecordType = exdData->getField< uint8_t >( row, 5 );
territoryType = exdData->getField< uint16_t >( row, 6 );
isVisible = exdData->getField< bool >( row, 9 );
fishingRecordType = exdData->getField< uint8_t >( row, 4 );
territoryType = exdData->getField< uint16_t >( row, 5 );
isVisible = exdData->getField< bool >( row, 7 );
}
Sapphire::Data::SpearfishingNotebook::SpearfishingNotebook( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
@ -11394,7 +11487,7 @@ Sapphire::Data::Status::Status( uint32_t row_id, Sapphire::Data::ExdDataGenerate
auto row = exdData->m_StatusDat.get_row( row_id );
name = exdData->getField< std::string >( row, 0 );
description = exdData->getField< std::string >( row, 1 );
icon = exdData->getField< uint16_t >( row, 2 );
icon = exdData->getField< uint32_t >( row, 2 );
maxStacks = exdData->getField< uint8_t >( row, 4 );
classJobCategory = exdData->getField< uint8_t >( row, 5 );
statusCategory = exdData->getField< uint8_t >( row, 6 );
@ -13311,7 +13404,7 @@ Sapphire::Data::SubmarineExploration::SubmarineExploration( uint32_t row_id, Sap
y = exdData->getField< int16_t >( row, 3 );
z = exdData->getField< int16_t >( row, 4 );
map = exdData->getField< uint8_t >( row, 5 );
passengers = exdData->getField< bool >( row, 6 );
startingPoint = exdData->getField< bool >( row, 6 );
stars = exdData->getField< uint8_t >( row, 7 );
rankReq = exdData->getField< uint8_t >( row, 8 );
ceruleumTankReq = exdData->getField< uint8_t >( row, 9 );
@ -13456,6 +13549,21 @@ Sapphire::Data::TofuObjectCategory::TofuObjectCategory( uint32_t row_id, Sapphir
auto row = exdData->m_TofuObjectCategoryDat.get_row( row_id );
}
Sapphire::Data::TofuPreset::TofuPreset( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_TofuPresetDat.get_row( row_id );
}
Sapphire::Data::TofuPresetCategory::TofuPresetCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_TofuPresetCategoryDat.get_row( row_id );
}
Sapphire::Data::TofuPresetObject::TofuPresetObject( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_TofuPresetObjectDat.get_row( row_id );
}
Sapphire::Data::Tomestones::Tomestones( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_TomestonesDat.get_row( row_id );
@ -13814,9 +13922,9 @@ Sapphire::Data::VVDRouteData::VVDRouteData( uint32_t row_id, uint32_t subRow, Sa
auto row = exdData->m_VVDRouteDataDat.get_row( row_id, subRow );
}
Sapphire::Data::VVDVariantAction::VVDVariantAction( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
Sapphire::Data::VVDVariantAction::VVDVariantAction( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData )
{
auto row = exdData->m_VVDVariantActionDat.get_row( row_id );
auto row = exdData->m_VVDVariantActionDat.get_row( row_id, subRow );
action = exdData->getField< uint32_t >( row, 0 );
}
@ -14134,6 +14242,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path )
m_AOZBossDat = setupDatAccess( "AOZBoss", xiv::exd::Language::none );
m_AOZContentDat = setupDatAccess( "AOZContent", xiv::exd::Language::none );
m_AOZContentBriefingBNpcDat = setupDatAccess( "AOZContentBriefingBNpc", xiv::exd::Language::none );
m_AOZContentBriefingObjectDat = setupDatAccess( "AOZContentBriefingObject", xiv::exd::Language::none );
m_AOZReportDat = setupDatAccess( "AOZReport", xiv::exd::Language::none );
m_AOZScoreDat = setupDatAccess( "AOZScore", xiv::exd::Language::en );
m_AquariumFishDat = setupDatAccess( "AquariumFish", xiv::exd::Language::none );
@ -14269,6 +14378,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path )
m_CreditListDat = setupDatAccess( "CreditList", xiv::exd::Language::none );
m_CreditListTextDat = setupDatAccess( "CreditListText", xiv::exd::Language::en );
m_CustomTalkDat = setupDatAccess( "CustomTalk", xiv::exd::Language::en );
m_CustomTalkDefineClientDat = setupDatAccess( "CustomTalkDefineClient", xiv::exd::Language::none );
m_CustomTalkNestHandlersDat = setupDatAccess( "CustomTalkNestHandlers", xiv::exd::Language::none );
m_CutsceneDat = setupDatAccess( "Cutscene", xiv::exd::Language::none );
m_CutSceneIncompQuestDat = setupDatAccess( "CutSceneIncompQuest", xiv::exd::Language::none );
@ -14336,6 +14446,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path )
m_EventActionDat = setupDatAccess( "EventAction", xiv::exd::Language::en );
m_EventCustomIconTypeDat = setupDatAccess( "EventCustomIconType", xiv::exd::Language::none );
m_EventIconPriorityDat = setupDatAccess( "EventIconPriority", xiv::exd::Language::none );
m_EventIconPriorityPairDat = setupDatAccess( "EventIconPriorityPair", xiv::exd::Language::none );
m_EventIconTypeDat = setupDatAccess( "EventIconType", xiv::exd::Language::none );
m_EventItemDat = setupDatAccess( "EventItem", xiv::exd::Language::en );
m_EventItemCastTimelineDat = setupDatAccess( "EventItemCastTimeline", xiv::exd::Language::none );
@ -14370,6 +14481,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path )
m_FestivalDat = setupDatAccess( "Festival", xiv::exd::Language::none );
m_FieldMarkerDat = setupDatAccess( "FieldMarker", xiv::exd::Language::en );
m_FishingBaitParameterDat = setupDatAccess( "FishingBaitParameter", xiv::exd::Language::none );
m_FishingNoteInfoDat = setupDatAccess( "FishingNoteInfo", xiv::exd::Language::none );
m_FishingRecordTypeDat = setupDatAccess( "FishingRecordType", xiv::exd::Language::none );
m_FishingRecordTypeTransientDat = setupDatAccess( "FishingRecordTypeTransient", xiv::exd::Language::none );
m_FishingSpotDat = setupDatAccess( "FishingSpot", xiv::exd::Language::en );
@ -14379,7 +14491,6 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path )
m_FittingShopCategoryItemDat = setupDatAccess( "FittingShopCategoryItem", xiv::exd::Language::none );
m_FittingShopItemSetDat = setupDatAccess( "FittingShopItemSet", xiv::exd::Language::en );
m_Frontline03Dat = setupDatAccess( "Frontline03", xiv::exd::Language::none );
m_Frontline04Dat = setupDatAccess( "Frontline04", xiv::exd::Language::none );
m_FurnitureCatalogCategoryDat = setupDatAccess( "FurnitureCatalogCategory", xiv::exd::Language::en );
m_FurnitureCatalogItemListDat = setupDatAccess( "FurnitureCatalogItemList", xiv::exd::Language::none );
m_GameRewardObtainTypeDat = setupDatAccess( "GameRewardObtainType", xiv::exd::Language::none );
@ -14547,6 +14658,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path )
m_MacroIconRedirectOldDat = setupDatAccess( "MacroIconRedirectOld", xiv::exd::Language::none );
m_MainCommandDat = setupDatAccess( "MainCommand", xiv::exd::Language::en );
m_MainCommandCategoryDat = setupDatAccess( "MainCommandCategory", xiv::exd::Language::en );
m_MandervilleWeaponEnhanceDat = setupDatAccess( "MandervilleWeaponEnhance", xiv::exd::Language::none );
m_ManeuversArmorDat = setupDatAccess( "ManeuversArmor", xiv::exd::Language::en );
m_MapDat = setupDatAccess( "Map", xiv::exd::Language::none );
m_MapConditionDat = setupDatAccess( "MapCondition", xiv::exd::Language::none );
@ -14566,6 +14678,13 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path )
m_McGuffinDat = setupDatAccess( "McGuffin", xiv::exd::Language::none );
m_McGuffinUIDataDat = setupDatAccess( "McGuffinUIData", xiv::exd::Language::en );
m_MiniGameRADat = setupDatAccess( "MiniGameRA", xiv::exd::Language::none );
m_MiniGameTurnBreakActionDat = setupDatAccess( "MiniGameTurnBreakAction", xiv::exd::Language::en );
m_MiniGameTurnBreakConstDat = setupDatAccess( "MiniGameTurnBreakConst", xiv::exd::Language::none );
m_MiniGameTurnBreakEnemyDat = setupDatAccess( "MiniGameTurnBreakEnemy", xiv::exd::Language::none );
m_MiniGameTurnBreakPopDat = setupDatAccess( "MiniGameTurnBreakPop", xiv::exd::Language::none );
m_MiniGameTurnBreakPopOffsetDat = setupDatAccess( "MiniGameTurnBreakPopOffset", xiv::exd::Language::none );
m_MiniGameTurnBreakStageDat = setupDatAccess( "MiniGameTurnBreakStage", xiv::exd::Language::none );
m_MiniGameTurnBreakStatusDat = setupDatAccess( "MiniGameTurnBreakStatus", xiv::exd::Language::en );
m_MinionRaceDat = setupDatAccess( "MinionRace", xiv::exd::Language::en );
m_MinionRulesDat = setupDatAccess( "MinionRules", xiv::exd::Language::en );
m_MinionSkillTypeDat = setupDatAccess( "MinionSkillType", xiv::exd::Language::en );
@ -14584,6 +14703,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path )
m_MJIDisposalShopUICategoryDat = setupDatAccess( "MJIDisposalShopUICategory", xiv::exd::Language::en );
m_MJIFarmPastureRankDat = setupDatAccess( "MJIFarmPastureRank", xiv::exd::Language::none );
m_MJIFunctionDat = setupDatAccess( "MJIFunction", xiv::exd::Language::none );
m_MJIGardenscapingDat = setupDatAccess( "MJIGardenscaping", xiv::exd::Language::none );
m_MJIGatheringDat = setupDatAccess( "MJIGathering", xiv::exd::Language::none );
m_MJIGatheringItemDat = setupDatAccess( "MJIGatheringItem", xiv::exd::Language::none );
m_MJIGatheringObjectDat = setupDatAccess( "MJIGatheringObject", xiv::exd::Language::none );
@ -14596,6 +14716,7 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path )
m_MJILandmarkPlaceDat = setupDatAccess( "MJILandmarkPlace", xiv::exd::Language::none );
m_MJILivelyActorDat = setupDatAccess( "MJILivelyActor", xiv::exd::Language::none );
m_MJIMinionPopAreasDat = setupDatAccess( "MJIMinionPopAreas", xiv::exd::Language::none );
m_MJINameDat = setupDatAccess( "MJIName", xiv::exd::Language::en );
m_MJIProgressDat = setupDatAccess( "MJIProgress", xiv::exd::Language::en );
m_MJIRankDat = setupDatAccess( "MJIRank", xiv::exd::Language::none );
m_MJIRecipeDat = setupDatAccess( "MJIRecipe", xiv::exd::Language::none );
@ -14697,7 +14818,9 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path )
m_QuestDerivedClassDat = setupDatAccess( "QuestDerivedClass", xiv::exd::Language::none );
m_QuestEffectDat = setupDatAccess( "QuestEffect", xiv::exd::Language::none );
m_QuestEffectDefineDat = setupDatAccess( "QuestEffectDefine", xiv::exd::Language::none );
m_QuestEventAreaEntranceInfoDat = setupDatAccess( "QuestEventAreaEntranceInfo", xiv::exd::Language::none );
m_QuestLinkMarkerDat = setupDatAccess( "QuestLinkMarker", xiv::exd::Language::none );
m_QuestLinkMarkerIconDat = setupDatAccess( "QuestLinkMarkerIcon", xiv::exd::Language::none );
m_QuestLinkMarkerSetDat = setupDatAccess( "QuestLinkMarkerSet", xiv::exd::Language::none );
m_QuestRedoDat = setupDatAccess( "QuestRedo", xiv::exd::Language::none );
m_QuestRedoChapterUIDat = setupDatAccess( "QuestRedoChapterUI", xiv::exd::Language::en );
@ -14793,6 +14916,9 @@ bool Sapphire::Data::ExdDataGenerated::init( const std::string& path )
m_TofuEditParamDat = setupDatAccess( "TofuEditParam", xiv::exd::Language::en );
m_TofuObjectDat = setupDatAccess( "TofuObject", xiv::exd::Language::en );
m_TofuObjectCategoryDat = setupDatAccess( "TofuObjectCategory", xiv::exd::Language::en );
m_TofuPresetDat = setupDatAccess( "TofuPreset", xiv::exd::Language::en );
m_TofuPresetCategoryDat = setupDatAccess( "TofuPresetCategory", xiv::exd::Language::en );
m_TofuPresetObjectDat = setupDatAccess( "TofuPresetObject", xiv::exd::Language::none );
m_TomestonesDat = setupDatAccess( "Tomestones", xiv::exd::Language::none );
m_TomestonesItemDat = setupDatAccess( "TomestonesItem", xiv::exd::Language::none );
m_TopicSelectDat = setupDatAccess( "TopicSelect", xiv::exd::Language::en );

View file

@ -76,6 +76,7 @@ struct AOZArrangement;
struct AOZBoss;
struct AOZContent;
struct AOZContentBriefingBNpc;
struct AOZContentBriefingObject;
struct AOZReport;
struct AOZScore;
struct AquariumFish;
@ -211,6 +212,7 @@ struct CreditCast;
struct CreditList;
struct CreditListText;
struct CustomTalk;
struct CustomTalkDefineClient;
struct CustomTalkNestHandlers;
struct Cutscene;
struct CutSceneIncompQuest;
@ -278,6 +280,7 @@ struct EurekaSphereElementAdjust;
struct EventAction;
struct EventCustomIconType;
struct EventIconPriority;
struct EventIconPriorityPair;
struct EventIconType;
struct EventItem;
struct EventItemCastTimeline;
@ -312,6 +315,7 @@ struct FCRights;
struct Festival;
struct FieldMarker;
struct FishingBaitParameter;
struct FishingNoteInfo;
struct FishingRecordType;
struct FishingRecordTypeTransient;
struct FishingSpot;
@ -321,7 +325,6 @@ struct FittingShopCategory;
struct FittingShopCategoryItem;
struct FittingShopItemSet;
struct Frontline03;
struct Frontline04;
struct FurnitureCatalogCategory;
struct FurnitureCatalogItemList;
struct GameRewardObtainType;
@ -489,6 +492,7 @@ struct MacroIcon;
struct MacroIconRedirectOld;
struct MainCommand;
struct MainCommandCategory;
struct MandervilleWeaponEnhance;
struct ManeuversArmor;
struct Map;
struct MapCondition;
@ -508,6 +512,13 @@ struct MateriaTomestoneRate;
struct McGuffin;
struct McGuffinUIData;
struct MiniGameRA;
struct MiniGameTurnBreakAction;
struct MiniGameTurnBreakConst;
struct MiniGameTurnBreakEnemy;
struct MiniGameTurnBreakPop;
struct MiniGameTurnBreakPopOffset;
struct MiniGameTurnBreakStage;
struct MiniGameTurnBreakStatus;
struct MinionRace;
struct MinionRules;
struct MinionSkillType;
@ -526,6 +537,7 @@ struct MJIDisposalShopItem;
struct MJIDisposalShopUICategory;
struct MJIFarmPastureRank;
struct MJIFunction;
struct MJIGardenscaping;
struct MJIGathering;
struct MJIGatheringItem;
struct MJIGatheringObject;
@ -538,6 +550,7 @@ struct MJILandmark;
struct MJILandmarkPlace;
struct MJILivelyActor;
struct MJIMinionPopAreas;
struct MJIName;
struct MJIProgress;
struct MJIRank;
struct MJIRecipe;
@ -639,7 +652,9 @@ struct QuestDefineClient;
struct QuestDerivedClass;
struct QuestEffect;
struct QuestEffectDefine;
struct QuestEventAreaEntranceInfo;
struct QuestLinkMarker;
struct QuestLinkMarkerIcon;
struct QuestLinkMarkerSet;
struct QuestRedo;
struct QuestRedoChapterUI;
@ -735,6 +750,9 @@ struct Title;
struct TofuEditParam;
struct TofuObject;
struct TofuObjectCategory;
struct TofuPreset;
struct TofuPresetCategory;
struct TofuPresetObject;
struct Tomestones;
struct TomestonesItem;
struct TopicSelect;
@ -1397,6 +1415,13 @@ struct AOZContentBriefingBNpc
AOZContentBriefingBNpc( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct AOZContentBriefingObject
{
uint32_t icon;
AOZContentBriefingObject( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData );
};
struct AOZReport
{
uint8_t reward;
@ -3040,6 +3065,12 @@ struct CustomTalk
CustomTalk( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct CustomTalkDefineClient
{
CustomTalkDefineClient( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData );
};
struct CustomTalkNestHandlers
{
uint32_t nestHandler;
@ -3750,6 +3781,13 @@ struct EventIconPriority
EventIconPriority( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct EventIconPriorityPair
{
uint32_t icon1;
EventIconPriorityPair( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct EventIconType
{
uint32_t npcIconAvailable;
@ -4082,6 +4120,19 @@ struct FishingBaitParameter
FishingBaitParameter( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct FishingNoteInfo
{
uint8_t size;
uint8_t aquariumWater;
uint8_t weatherRestriction;
uint8_t timeRestriction;
uint8_t specialConditions;
uint8_t isCollectable;
int32_t item;
FishingNoteInfo( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct FishingRecordType
{
int32_t addon;
@ -4127,13 +4178,13 @@ struct FishParameter
std::string text;
int32_t item;
uint16_t gatheringItemLevel;
uint8_t oceanStars;
bool isHidden;
uint8_t fishingRecordType;
uint16_t fishingSpot;
uint16_t gatheringSubCategory;
bool isInLog;
bool timeRestricted;
bool weatherRestricted;
uint32_t achievementCredit;
FishParameter( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
@ -4172,15 +4223,6 @@ struct Frontline03
Frontline03( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct Frontline04
{
int32_t level1;
int32_t level2;
int32_t level3;
Frontline04( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct FurnitureCatalogCategory
{
std::string category;
@ -5890,6 +5932,12 @@ struct MainCommandCategory
MainCommandCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct MandervilleWeaponEnhance
{
MandervilleWeaponEnhance( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct ManeuversArmor
{
std::vector< uint32_t > bNpcBase;
@ -6055,6 +6103,48 @@ struct MiniGameRA
MiniGameRA( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct MiniGameTurnBreakAction
{
MiniGameTurnBreakAction( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct MiniGameTurnBreakConst
{
MiniGameTurnBreakConst( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct MiniGameTurnBreakEnemy
{
MiniGameTurnBreakEnemy( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct MiniGameTurnBreakPop
{
MiniGameTurnBreakPop( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData );
};
struct MiniGameTurnBreakPopOffset
{
MiniGameTurnBreakPopOffset( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct MiniGameTurnBreakStage
{
MiniGameTurnBreakStage( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct MiniGameTurnBreakStatus
{
MiniGameTurnBreakStatus( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct MinionRace
{
std::string name;
@ -6198,6 +6288,14 @@ struct MJIFunction
MJIFunction( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct MJIGardenscaping
{
uint8_t level;
int32_t item;
MJIGardenscaping( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct MJIGathering
{
uint8_t gatheringObject;
@ -6305,6 +6403,19 @@ struct MJIMinionPopAreas
MJIMinionPopAreas( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct MJIName
{
std::string singular;
int8_t adjective;
std::string plural;
int8_t possessivePronoun;
int8_t startsWithVowel;
int8_t pronoun;
int8_t article;
MJIName( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct MJIProgress
{
std::string vision;
@ -6532,7 +6643,7 @@ struct Mount
int32_t equipFoot;
int16_t order;
uint16_t icon;
uint8_t uIPriority;
uint16_t uIPriority;
uint8_t radiusRate;
uint8_t baseMotionSpeed_Run;
uint8_t baseMotionSpeed_Walk;
@ -6830,8 +6941,8 @@ struct OnlineStatus
{
bool list;
uint8_t priority;
std::string name;
uint32_t icon;
std::string name;
OnlineStatus( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
@ -7332,7 +7443,7 @@ struct Quest
std::vector< uint8_t > optionalItemCountReward;
std::vector< bool > optionalItemIsHQReward;
std::vector< uint8_t > optionalItemStainReward;
uint8_t emoteReward;
uint16_t emoteReward;
uint16_t actionReward;
std::vector< uint8_t > generalActionReward;
uint16_t systemReward0;
@ -7433,12 +7544,27 @@ struct QuestEffectDefine
QuestEffectDefine( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData );
};
struct QuestEventAreaEntranceInfo
{
uint32_t quest;
uint32_t location;
QuestEventAreaEntranceInfo( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData );
};
struct QuestLinkMarker
{
QuestLinkMarker( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData );
};
struct QuestLinkMarkerIcon
{
uint32_t icon;
QuestLinkMarkerIcon( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct QuestLinkMarkerSet
{
@ -8186,7 +8312,7 @@ struct Status
{
std::string name;
std::string description;
uint16_t icon;
uint32_t icon;
uint8_t maxStacks;
uint8_t classJobCategory;
uint8_t statusCategory;
@ -8266,7 +8392,7 @@ struct SubmarineExploration
int16_t y;
int16_t z;
uint8_t map;
bool passengers;
bool startingPoint;
uint8_t stars;
uint8_t rankReq;
uint8_t ceruleumTankReq;
@ -8428,6 +8554,24 @@ struct TofuObjectCategory
TofuObjectCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct TofuPreset
{
TofuPreset( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct TofuPresetCategory
{
TofuPresetCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct TofuPresetObject
{
TofuPresetObject( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
};
struct Tomestones
{
uint16_t weeklyLimit;
@ -8770,7 +8914,7 @@ struct VVDVariantAction
{
uint32_t action;
VVDVariantAction( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData );
VVDVariantAction( uint32_t row_id, uint32_t subRow, Sapphire::Data::ExdDataGenerated* exdData );
};
struct Warp
@ -9088,6 +9232,7 @@ struct ZoneSharedGroup
xiv::exd::Exd m_AOZBossDat;
xiv::exd::Exd m_AOZContentDat;
xiv::exd::Exd m_AOZContentBriefingBNpcDat;
xiv::exd::Exd m_AOZContentBriefingObjectDat;
xiv::exd::Exd m_AOZReportDat;
xiv::exd::Exd m_AOZScoreDat;
xiv::exd::Exd m_AquariumFishDat;
@ -9223,6 +9368,7 @@ struct ZoneSharedGroup
xiv::exd::Exd m_CreditListDat;
xiv::exd::Exd m_CreditListTextDat;
xiv::exd::Exd m_CustomTalkDat;
xiv::exd::Exd m_CustomTalkDefineClientDat;
xiv::exd::Exd m_CustomTalkNestHandlersDat;
xiv::exd::Exd m_CutsceneDat;
xiv::exd::Exd m_CutSceneIncompQuestDat;
@ -9290,6 +9436,7 @@ struct ZoneSharedGroup
xiv::exd::Exd m_EventActionDat;
xiv::exd::Exd m_EventCustomIconTypeDat;
xiv::exd::Exd m_EventIconPriorityDat;
xiv::exd::Exd m_EventIconPriorityPairDat;
xiv::exd::Exd m_EventIconTypeDat;
xiv::exd::Exd m_EventItemDat;
xiv::exd::Exd m_EventItemCastTimelineDat;
@ -9324,6 +9471,7 @@ struct ZoneSharedGroup
xiv::exd::Exd m_FestivalDat;
xiv::exd::Exd m_FieldMarkerDat;
xiv::exd::Exd m_FishingBaitParameterDat;
xiv::exd::Exd m_FishingNoteInfoDat;
xiv::exd::Exd m_FishingRecordTypeDat;
xiv::exd::Exd m_FishingRecordTypeTransientDat;
xiv::exd::Exd m_FishingSpotDat;
@ -9333,7 +9481,6 @@ struct ZoneSharedGroup
xiv::exd::Exd m_FittingShopCategoryItemDat;
xiv::exd::Exd m_FittingShopItemSetDat;
xiv::exd::Exd m_Frontline03Dat;
xiv::exd::Exd m_Frontline04Dat;
xiv::exd::Exd m_FurnitureCatalogCategoryDat;
xiv::exd::Exd m_FurnitureCatalogItemListDat;
xiv::exd::Exd m_GameRewardObtainTypeDat;
@ -9501,6 +9648,7 @@ struct ZoneSharedGroup
xiv::exd::Exd m_MacroIconRedirectOldDat;
xiv::exd::Exd m_MainCommandDat;
xiv::exd::Exd m_MainCommandCategoryDat;
xiv::exd::Exd m_MandervilleWeaponEnhanceDat;
xiv::exd::Exd m_ManeuversArmorDat;
xiv::exd::Exd m_MapDat;
xiv::exd::Exd m_MapConditionDat;
@ -9520,6 +9668,13 @@ struct ZoneSharedGroup
xiv::exd::Exd m_McGuffinDat;
xiv::exd::Exd m_McGuffinUIDataDat;
xiv::exd::Exd m_MiniGameRADat;
xiv::exd::Exd m_MiniGameTurnBreakActionDat;
xiv::exd::Exd m_MiniGameTurnBreakConstDat;
xiv::exd::Exd m_MiniGameTurnBreakEnemyDat;
xiv::exd::Exd m_MiniGameTurnBreakPopDat;
xiv::exd::Exd m_MiniGameTurnBreakPopOffsetDat;
xiv::exd::Exd m_MiniGameTurnBreakStageDat;
xiv::exd::Exd m_MiniGameTurnBreakStatusDat;
xiv::exd::Exd m_MinionRaceDat;
xiv::exd::Exd m_MinionRulesDat;
xiv::exd::Exd m_MinionSkillTypeDat;
@ -9538,6 +9693,7 @@ struct ZoneSharedGroup
xiv::exd::Exd m_MJIDisposalShopUICategoryDat;
xiv::exd::Exd m_MJIFarmPastureRankDat;
xiv::exd::Exd m_MJIFunctionDat;
xiv::exd::Exd m_MJIGardenscapingDat;
xiv::exd::Exd m_MJIGatheringDat;
xiv::exd::Exd m_MJIGatheringItemDat;
xiv::exd::Exd m_MJIGatheringObjectDat;
@ -9550,6 +9706,7 @@ struct ZoneSharedGroup
xiv::exd::Exd m_MJILandmarkPlaceDat;
xiv::exd::Exd m_MJILivelyActorDat;
xiv::exd::Exd m_MJIMinionPopAreasDat;
xiv::exd::Exd m_MJINameDat;
xiv::exd::Exd m_MJIProgressDat;
xiv::exd::Exd m_MJIRankDat;
xiv::exd::Exd m_MJIRecipeDat;
@ -9651,7 +9808,9 @@ struct ZoneSharedGroup
xiv::exd::Exd m_QuestDerivedClassDat;
xiv::exd::Exd m_QuestEffectDat;
xiv::exd::Exd m_QuestEffectDefineDat;
xiv::exd::Exd m_QuestEventAreaEntranceInfoDat;
xiv::exd::Exd m_QuestLinkMarkerDat;
xiv::exd::Exd m_QuestLinkMarkerIconDat;
xiv::exd::Exd m_QuestLinkMarkerSetDat;
xiv::exd::Exd m_QuestRedoDat;
xiv::exd::Exd m_QuestRedoChapterUIDat;
@ -9747,6 +9906,9 @@ struct ZoneSharedGroup
xiv::exd::Exd m_TofuEditParamDat;
xiv::exd::Exd m_TofuObjectDat;
xiv::exd::Exd m_TofuObjectCategoryDat;
xiv::exd::Exd m_TofuPresetDat;
xiv::exd::Exd m_TofuPresetCategoryDat;
xiv::exd::Exd m_TofuPresetObjectDat;
xiv::exd::Exd m_TomestonesDat;
xiv::exd::Exd m_TomestonesItemDat;
xiv::exd::Exd m_TopicSelectDat;
@ -9861,6 +10023,7 @@ struct ZoneSharedGroup
using AOZBossPtr = std::shared_ptr< AOZBoss >;
using AOZContentPtr = std::shared_ptr< AOZContent >;
using AOZContentBriefingBNpcPtr = std::shared_ptr< AOZContentBriefingBNpc >;
using AOZContentBriefingObjectPtr = std::shared_ptr< AOZContentBriefingObject >;
using AOZReportPtr = std::shared_ptr< AOZReport >;
using AOZScorePtr = std::shared_ptr< AOZScore >;
using AquariumFishPtr = std::shared_ptr< AquariumFish >;
@ -9996,6 +10159,7 @@ struct ZoneSharedGroup
using CreditListPtr = std::shared_ptr< CreditList >;
using CreditListTextPtr = std::shared_ptr< CreditListText >;
using CustomTalkPtr = std::shared_ptr< CustomTalk >;
using CustomTalkDefineClientPtr = std::shared_ptr< CustomTalkDefineClient >;
using CustomTalkNestHandlersPtr = std::shared_ptr< CustomTalkNestHandlers >;
using CutscenePtr = std::shared_ptr< Cutscene >;
using CutSceneIncompQuestPtr = std::shared_ptr< CutSceneIncompQuest >;
@ -10063,6 +10227,7 @@ struct ZoneSharedGroup
using EventActionPtr = std::shared_ptr< EventAction >;
using EventCustomIconTypePtr = std::shared_ptr< EventCustomIconType >;
using EventIconPriorityPtr = std::shared_ptr< EventIconPriority >;
using EventIconPriorityPairPtr = std::shared_ptr< EventIconPriorityPair >;
using EventIconTypePtr = std::shared_ptr< EventIconType >;
using EventItemPtr = std::shared_ptr< EventItem >;
using EventItemCastTimelinePtr = std::shared_ptr< EventItemCastTimeline >;
@ -10097,6 +10262,7 @@ struct ZoneSharedGroup
using FestivalPtr = std::shared_ptr< Festival >;
using FieldMarkerPtr = std::shared_ptr< FieldMarker >;
using FishingBaitParameterPtr = std::shared_ptr< FishingBaitParameter >;
using FishingNoteInfoPtr = std::shared_ptr< FishingNoteInfo >;
using FishingRecordTypePtr = std::shared_ptr< FishingRecordType >;
using FishingRecordTypeTransientPtr = std::shared_ptr< FishingRecordTypeTransient >;
using FishingSpotPtr = std::shared_ptr< FishingSpot >;
@ -10106,7 +10272,6 @@ struct ZoneSharedGroup
using FittingShopCategoryItemPtr = std::shared_ptr< FittingShopCategoryItem >;
using FittingShopItemSetPtr = std::shared_ptr< FittingShopItemSet >;
using Frontline03Ptr = std::shared_ptr< Frontline03 >;
using Frontline04Ptr = std::shared_ptr< Frontline04 >;
using FurnitureCatalogCategoryPtr = std::shared_ptr< FurnitureCatalogCategory >;
using FurnitureCatalogItemListPtr = std::shared_ptr< FurnitureCatalogItemList >;
using GameRewardObtainTypePtr = std::shared_ptr< GameRewardObtainType >;
@ -10274,6 +10439,7 @@ struct ZoneSharedGroup
using MacroIconRedirectOldPtr = std::shared_ptr< MacroIconRedirectOld >;
using MainCommandPtr = std::shared_ptr< MainCommand >;
using MainCommandCategoryPtr = std::shared_ptr< MainCommandCategory >;
using MandervilleWeaponEnhancePtr = std::shared_ptr< MandervilleWeaponEnhance >;
using ManeuversArmorPtr = std::shared_ptr< ManeuversArmor >;
using MapPtr = std::shared_ptr< Map >;
using MapConditionPtr = std::shared_ptr< MapCondition >;
@ -10293,6 +10459,13 @@ struct ZoneSharedGroup
using McGuffinPtr = std::shared_ptr< McGuffin >;
using McGuffinUIDataPtr = std::shared_ptr< McGuffinUIData >;
using MiniGameRAPtr = std::shared_ptr< MiniGameRA >;
using MiniGameTurnBreakActionPtr = std::shared_ptr< MiniGameTurnBreakAction >;
using MiniGameTurnBreakConstPtr = std::shared_ptr< MiniGameTurnBreakConst >;
using MiniGameTurnBreakEnemyPtr = std::shared_ptr< MiniGameTurnBreakEnemy >;
using MiniGameTurnBreakPopPtr = std::shared_ptr< MiniGameTurnBreakPop >;
using MiniGameTurnBreakPopOffsetPtr = std::shared_ptr< MiniGameTurnBreakPopOffset >;
using MiniGameTurnBreakStagePtr = std::shared_ptr< MiniGameTurnBreakStage >;
using MiniGameTurnBreakStatusPtr = std::shared_ptr< MiniGameTurnBreakStatus >;
using MinionRacePtr = std::shared_ptr< MinionRace >;
using MinionRulesPtr = std::shared_ptr< MinionRules >;
using MinionSkillTypePtr = std::shared_ptr< MinionSkillType >;
@ -10311,6 +10484,7 @@ struct ZoneSharedGroup
using MJIDisposalShopUICategoryPtr = std::shared_ptr< MJIDisposalShopUICategory >;
using MJIFarmPastureRankPtr = std::shared_ptr< MJIFarmPastureRank >;
using MJIFunctionPtr = std::shared_ptr< MJIFunction >;
using MJIGardenscapingPtr = std::shared_ptr< MJIGardenscaping >;
using MJIGatheringPtr = std::shared_ptr< MJIGathering >;
using MJIGatheringItemPtr = std::shared_ptr< MJIGatheringItem >;
using MJIGatheringObjectPtr = std::shared_ptr< MJIGatheringObject >;
@ -10323,6 +10497,7 @@ struct ZoneSharedGroup
using MJILandmarkPlacePtr = std::shared_ptr< MJILandmarkPlace >;
using MJILivelyActorPtr = std::shared_ptr< MJILivelyActor >;
using MJIMinionPopAreasPtr = std::shared_ptr< MJIMinionPopAreas >;
using MJINamePtr = std::shared_ptr< MJIName >;
using MJIProgressPtr = std::shared_ptr< MJIProgress >;
using MJIRankPtr = std::shared_ptr< MJIRank >;
using MJIRecipePtr = std::shared_ptr< MJIRecipe >;
@ -10424,7 +10599,9 @@ struct ZoneSharedGroup
using QuestDerivedClassPtr = std::shared_ptr< QuestDerivedClass >;
using QuestEffectPtr = std::shared_ptr< QuestEffect >;
using QuestEffectDefinePtr = std::shared_ptr< QuestEffectDefine >;
using QuestEventAreaEntranceInfoPtr = std::shared_ptr< QuestEventAreaEntranceInfo >;
using QuestLinkMarkerPtr = std::shared_ptr< QuestLinkMarker >;
using QuestLinkMarkerIconPtr = std::shared_ptr< QuestLinkMarkerIcon >;
using QuestLinkMarkerSetPtr = std::shared_ptr< QuestLinkMarkerSet >;
using QuestRedoPtr = std::shared_ptr< QuestRedo >;
using QuestRedoChapterUIPtr = std::shared_ptr< QuestRedoChapterUI >;
@ -10520,6 +10697,9 @@ struct ZoneSharedGroup
using TofuEditParamPtr = std::shared_ptr< TofuEditParam >;
using TofuObjectPtr = std::shared_ptr< TofuObject >;
using TofuObjectCategoryPtr = std::shared_ptr< TofuObjectCategory >;
using TofuPresetPtr = std::shared_ptr< TofuPreset >;
using TofuPresetCategoryPtr = std::shared_ptr< TofuPresetCategory >;
using TofuPresetObjectPtr = std::shared_ptr< TofuPresetObject >;
using TomestonesPtr = std::shared_ptr< Tomestones >;
using TomestonesItemPtr = std::shared_ptr< TomestonesItem >;
using TopicSelectPtr = std::shared_ptr< TopicSelect >;
@ -10634,6 +10814,7 @@ struct ZoneSharedGroup
std::set< uint32_t > m_AOZBossIdList;
std::set< uint32_t > m_AOZContentIdList;
std::set< uint32_t > m_AOZContentBriefingBNpcIdList;
std::set< uint32_t > m_AOZContentBriefingObjectIdList;
std::set< uint32_t > m_AOZReportIdList;
std::set< uint32_t > m_AOZScoreIdList;
std::set< uint32_t > m_AquariumFishIdList;
@ -10769,6 +10950,7 @@ struct ZoneSharedGroup
std::set< uint32_t > m_CreditListIdList;
std::set< uint32_t > m_CreditListTextIdList;
std::set< uint32_t > m_CustomTalkIdList;
std::set< uint32_t > m_CustomTalkDefineClientIdList;
std::set< uint32_t > m_CustomTalkNestHandlersIdList;
std::set< uint32_t > m_CutsceneIdList;
std::set< uint32_t > m_CutSceneIncompQuestIdList;
@ -10836,6 +11018,7 @@ struct ZoneSharedGroup
std::set< uint32_t > m_EventActionIdList;
std::set< uint32_t > m_EventCustomIconTypeIdList;
std::set< uint32_t > m_EventIconPriorityIdList;
std::set< uint32_t > m_EventIconPriorityPairIdList;
std::set< uint32_t > m_EventIconTypeIdList;
std::set< uint32_t > m_EventItemIdList;
std::set< uint32_t > m_EventItemCastTimelineIdList;
@ -10870,6 +11053,7 @@ struct ZoneSharedGroup
std::set< uint32_t > m_FestivalIdList;
std::set< uint32_t > m_FieldMarkerIdList;
std::set< uint32_t > m_FishingBaitParameterIdList;
std::set< uint32_t > m_FishingNoteInfoIdList;
std::set< uint32_t > m_FishingRecordTypeIdList;
std::set< uint32_t > m_FishingRecordTypeTransientIdList;
std::set< uint32_t > m_FishingSpotIdList;
@ -10879,7 +11063,6 @@ struct ZoneSharedGroup
std::set< uint32_t > m_FittingShopCategoryItemIdList;
std::set< uint32_t > m_FittingShopItemSetIdList;
std::set< uint32_t > m_Frontline03IdList;
std::set< uint32_t > m_Frontline04IdList;
std::set< uint32_t > m_FurnitureCatalogCategoryIdList;
std::set< uint32_t > m_FurnitureCatalogItemListIdList;
std::set< uint32_t > m_GameRewardObtainTypeIdList;
@ -11047,6 +11230,7 @@ struct ZoneSharedGroup
std::set< uint32_t > m_MacroIconRedirectOldIdList;
std::set< uint32_t > m_MainCommandIdList;
std::set< uint32_t > m_MainCommandCategoryIdList;
std::set< uint32_t > m_MandervilleWeaponEnhanceIdList;
std::set< uint32_t > m_ManeuversArmorIdList;
std::set< uint32_t > m_MapIdList;
std::set< uint32_t > m_MapConditionIdList;
@ -11066,6 +11250,13 @@ struct ZoneSharedGroup
std::set< uint32_t > m_McGuffinIdList;
std::set< uint32_t > m_McGuffinUIDataIdList;
std::set< uint32_t > m_MiniGameRAIdList;
std::set< uint32_t > m_MiniGameTurnBreakActionIdList;
std::set< uint32_t > m_MiniGameTurnBreakConstIdList;
std::set< uint32_t > m_MiniGameTurnBreakEnemyIdList;
std::set< uint32_t > m_MiniGameTurnBreakPopIdList;
std::set< uint32_t > m_MiniGameTurnBreakPopOffsetIdList;
std::set< uint32_t > m_MiniGameTurnBreakStageIdList;
std::set< uint32_t > m_MiniGameTurnBreakStatusIdList;
std::set< uint32_t > m_MinionRaceIdList;
std::set< uint32_t > m_MinionRulesIdList;
std::set< uint32_t > m_MinionSkillTypeIdList;
@ -11084,6 +11275,7 @@ struct ZoneSharedGroup
std::set< uint32_t > m_MJIDisposalShopUICategoryIdList;
std::set< uint32_t > m_MJIFarmPastureRankIdList;
std::set< uint32_t > m_MJIFunctionIdList;
std::set< uint32_t > m_MJIGardenscapingIdList;
std::set< uint32_t > m_MJIGatheringIdList;
std::set< uint32_t > m_MJIGatheringItemIdList;
std::set< uint32_t > m_MJIGatheringObjectIdList;
@ -11096,6 +11288,7 @@ struct ZoneSharedGroup
std::set< uint32_t > m_MJILandmarkPlaceIdList;
std::set< uint32_t > m_MJILivelyActorIdList;
std::set< uint32_t > m_MJIMinionPopAreasIdList;
std::set< uint32_t > m_MJINameIdList;
std::set< uint32_t > m_MJIProgressIdList;
std::set< uint32_t > m_MJIRankIdList;
std::set< uint32_t > m_MJIRecipeIdList;
@ -11197,7 +11390,9 @@ struct ZoneSharedGroup
std::set< uint32_t > m_QuestDerivedClassIdList;
std::set< uint32_t > m_QuestEffectIdList;
std::set< uint32_t > m_QuestEffectDefineIdList;
std::set< uint32_t > m_QuestEventAreaEntranceInfoIdList;
std::set< uint32_t > m_QuestLinkMarkerIdList;
std::set< uint32_t > m_QuestLinkMarkerIconIdList;
std::set< uint32_t > m_QuestLinkMarkerSetIdList;
std::set< uint32_t > m_QuestRedoIdList;
std::set< uint32_t > m_QuestRedoChapterUIIdList;
@ -11293,6 +11488,9 @@ struct ZoneSharedGroup
std::set< uint32_t > m_TofuEditParamIdList;
std::set< uint32_t > m_TofuObjectIdList;
std::set< uint32_t > m_TofuObjectCategoryIdList;
std::set< uint32_t > m_TofuPresetIdList;
std::set< uint32_t > m_TofuPresetCategoryIdList;
std::set< uint32_t > m_TofuPresetObjectIdList;
std::set< uint32_t > m_TomestonesIdList;
std::set< uint32_t > m_TomestonesItemIdList;
std::set< uint32_t > m_TopicSelectIdList;
@ -11677,6 +11875,12 @@ const std::set< uint32_t >& getAOZContentBriefingBNpcIdList()
loadIdList( m_AOZContentBriefingBNpcDat, m_AOZContentBriefingBNpcIdList );
return m_AOZContentBriefingBNpcIdList;
}
const std::set< uint32_t >& getAOZContentBriefingObjectIdList()
{
if( m_AOZContentBriefingObjectIdList.size() == 0 )
loadIdList( m_AOZContentBriefingObjectDat, m_AOZContentBriefingObjectIdList );
return m_AOZContentBriefingObjectIdList;
}
const std::set< uint32_t >& getAOZReportIdList()
{
if( m_AOZReportIdList.size() == 0 )
@ -12487,6 +12691,12 @@ const std::set< uint32_t >& getCustomTalkIdList()
loadIdList( m_CustomTalkDat, m_CustomTalkIdList );
return m_CustomTalkIdList;
}
const std::set< uint32_t >& getCustomTalkDefineClientIdList()
{
if( m_CustomTalkDefineClientIdList.size() == 0 )
loadIdList( m_CustomTalkDefineClientDat, m_CustomTalkDefineClientIdList );
return m_CustomTalkDefineClientIdList;
}
const std::set< uint32_t >& getCustomTalkNestHandlersIdList()
{
if( m_CustomTalkNestHandlersIdList.size() == 0 )
@ -12889,6 +13099,12 @@ const std::set< uint32_t >& getEventIconPriorityIdList()
loadIdList( m_EventIconPriorityDat, m_EventIconPriorityIdList );
return m_EventIconPriorityIdList;
}
const std::set< uint32_t >& getEventIconPriorityPairIdList()
{
if( m_EventIconPriorityPairIdList.size() == 0 )
loadIdList( m_EventIconPriorityPairDat, m_EventIconPriorityPairIdList );
return m_EventIconPriorityPairIdList;
}
const std::set< uint32_t >& getEventIconTypeIdList()
{
if( m_EventIconTypeIdList.size() == 0 )
@ -13093,6 +13309,12 @@ const std::set< uint32_t >& getFishingBaitParameterIdList()
loadIdList( m_FishingBaitParameterDat, m_FishingBaitParameterIdList );
return m_FishingBaitParameterIdList;
}
const std::set< uint32_t >& getFishingNoteInfoIdList()
{
if( m_FishingNoteInfoIdList.size() == 0 )
loadIdList( m_FishingNoteInfoDat, m_FishingNoteInfoIdList );
return m_FishingNoteInfoIdList;
}
const std::set< uint32_t >& getFishingRecordTypeIdList()
{
if( m_FishingRecordTypeIdList.size() == 0 )
@ -13147,12 +13369,6 @@ const std::set< uint32_t >& getFrontline03IdList()
loadIdList( m_Frontline03Dat, m_Frontline03IdList );
return m_Frontline03IdList;
}
const std::set< uint32_t >& getFrontline04IdList()
{
if( m_Frontline04IdList.size() == 0 )
loadIdList( m_Frontline04Dat, m_Frontline04IdList );
return m_Frontline04IdList;
}
const std::set< uint32_t >& getFurnitureCatalogCategoryIdList()
{
if( m_FurnitureCatalogCategoryIdList.size() == 0 )
@ -14155,6 +14371,12 @@ const std::set< uint32_t >& getMainCommandCategoryIdList()
loadIdList( m_MainCommandCategoryDat, m_MainCommandCategoryIdList );
return m_MainCommandCategoryIdList;
}
const std::set< uint32_t >& getMandervilleWeaponEnhanceIdList()
{
if( m_MandervilleWeaponEnhanceIdList.size() == 0 )
loadIdList( m_MandervilleWeaponEnhanceDat, m_MandervilleWeaponEnhanceIdList );
return m_MandervilleWeaponEnhanceIdList;
}
const std::set< uint32_t >& getManeuversArmorIdList()
{
if( m_ManeuversArmorIdList.size() == 0 )
@ -14269,6 +14491,48 @@ const std::set< uint32_t >& getMiniGameRAIdList()
loadIdList( m_MiniGameRADat, m_MiniGameRAIdList );
return m_MiniGameRAIdList;
}
const std::set< uint32_t >& getMiniGameTurnBreakActionIdList()
{
if( m_MiniGameTurnBreakActionIdList.size() == 0 )
loadIdList( m_MiniGameTurnBreakActionDat, m_MiniGameTurnBreakActionIdList );
return m_MiniGameTurnBreakActionIdList;
}
const std::set< uint32_t >& getMiniGameTurnBreakConstIdList()
{
if( m_MiniGameTurnBreakConstIdList.size() == 0 )
loadIdList( m_MiniGameTurnBreakConstDat, m_MiniGameTurnBreakConstIdList );
return m_MiniGameTurnBreakConstIdList;
}
const std::set< uint32_t >& getMiniGameTurnBreakEnemyIdList()
{
if( m_MiniGameTurnBreakEnemyIdList.size() == 0 )
loadIdList( m_MiniGameTurnBreakEnemyDat, m_MiniGameTurnBreakEnemyIdList );
return m_MiniGameTurnBreakEnemyIdList;
}
const std::set< uint32_t >& getMiniGameTurnBreakPopIdList()
{
if( m_MiniGameTurnBreakPopIdList.size() == 0 )
loadIdList( m_MiniGameTurnBreakPopDat, m_MiniGameTurnBreakPopIdList );
return m_MiniGameTurnBreakPopIdList;
}
const std::set< uint32_t >& getMiniGameTurnBreakPopOffsetIdList()
{
if( m_MiniGameTurnBreakPopOffsetIdList.size() == 0 )
loadIdList( m_MiniGameTurnBreakPopOffsetDat, m_MiniGameTurnBreakPopOffsetIdList );
return m_MiniGameTurnBreakPopOffsetIdList;
}
const std::set< uint32_t >& getMiniGameTurnBreakStageIdList()
{
if( m_MiniGameTurnBreakStageIdList.size() == 0 )
loadIdList( m_MiniGameTurnBreakStageDat, m_MiniGameTurnBreakStageIdList );
return m_MiniGameTurnBreakStageIdList;
}
const std::set< uint32_t >& getMiniGameTurnBreakStatusIdList()
{
if( m_MiniGameTurnBreakStatusIdList.size() == 0 )
loadIdList( m_MiniGameTurnBreakStatusDat, m_MiniGameTurnBreakStatusIdList );
return m_MiniGameTurnBreakStatusIdList;
}
const std::set< uint32_t >& getMinionRaceIdList()
{
if( m_MinionRaceIdList.size() == 0 )
@ -14377,6 +14641,12 @@ const std::set< uint32_t >& getMJIFunctionIdList()
loadIdList( m_MJIFunctionDat, m_MJIFunctionIdList );
return m_MJIFunctionIdList;
}
const std::set< uint32_t >& getMJIGardenscapingIdList()
{
if( m_MJIGardenscapingIdList.size() == 0 )
loadIdList( m_MJIGardenscapingDat, m_MJIGardenscapingIdList );
return m_MJIGardenscapingIdList;
}
const std::set< uint32_t >& getMJIGatheringIdList()
{
if( m_MJIGatheringIdList.size() == 0 )
@ -14449,6 +14719,12 @@ const std::set< uint32_t >& getMJIMinionPopAreasIdList()
loadIdList( m_MJIMinionPopAreasDat, m_MJIMinionPopAreasIdList );
return m_MJIMinionPopAreasIdList;
}
const std::set< uint32_t >& getMJINameIdList()
{
if( m_MJINameIdList.size() == 0 )
loadIdList( m_MJINameDat, m_MJINameIdList );
return m_MJINameIdList;
}
const std::set< uint32_t >& getMJIProgressIdList()
{
if( m_MJIProgressIdList.size() == 0 )
@ -15055,12 +15331,24 @@ const std::set< uint32_t >& getQuestEffectDefineIdList()
loadIdList( m_QuestEffectDefineDat, m_QuestEffectDefineIdList );
return m_QuestEffectDefineIdList;
}
const std::set< uint32_t >& getQuestEventAreaEntranceInfoIdList()
{
if( m_QuestEventAreaEntranceInfoIdList.size() == 0 )
loadIdList( m_QuestEventAreaEntranceInfoDat, m_QuestEventAreaEntranceInfoIdList );
return m_QuestEventAreaEntranceInfoIdList;
}
const std::set< uint32_t >& getQuestLinkMarkerIdList()
{
if( m_QuestLinkMarkerIdList.size() == 0 )
loadIdList( m_QuestLinkMarkerDat, m_QuestLinkMarkerIdList );
return m_QuestLinkMarkerIdList;
}
const std::set< uint32_t >& getQuestLinkMarkerIconIdList()
{
if( m_QuestLinkMarkerIconIdList.size() == 0 )
loadIdList( m_QuestLinkMarkerIconDat, m_QuestLinkMarkerIconIdList );
return m_QuestLinkMarkerIconIdList;
}
const std::set< uint32_t >& getQuestLinkMarkerSetIdList()
{
if( m_QuestLinkMarkerSetIdList.size() == 0 )
@ -15631,6 +15919,24 @@ const std::set< uint32_t >& getTofuObjectCategoryIdList()
loadIdList( m_TofuObjectCategoryDat, m_TofuObjectCategoryIdList );
return m_TofuObjectCategoryIdList;
}
const std::set< uint32_t >& getTofuPresetIdList()
{
if( m_TofuPresetIdList.size() == 0 )
loadIdList( m_TofuPresetDat, m_TofuPresetIdList );
return m_TofuPresetIdList;
}
const std::set< uint32_t >& getTofuPresetCategoryIdList()
{
if( m_TofuPresetCategoryIdList.size() == 0 )
loadIdList( m_TofuPresetCategoryDat, m_TofuPresetCategoryIdList );
return m_TofuPresetCategoryIdList;
}
const std::set< uint32_t >& getTofuPresetObjectIdList()
{
if( m_TofuPresetObjectIdList.size() == 0 )
loadIdList( m_TofuPresetObjectDat, m_TofuPresetObjectIdList );
return m_TofuPresetObjectIdList;
}
const std::set< uint32_t >& getTomestonesIdList()
{
if( m_TomestonesIdList.size() == 0 )

View file

@ -3,468 +3,466 @@
#include <stdint.h>
namespace Sapphire::Network::Packets
namespace Sapphire::Network::Packets {
////////////////////////////////////////////////////////////////////////////////
/// Lobby Connection IPC Codes
/**
* Server IPC Lobby Type Codes.
*/
enum ServerLobbyIpcType :
uint16_t
{
LobbyError = 0x0002,
LobbyServiceAccountList = 0x000C,
LobbyCharList = 0x000D,
LobbyCharCreate = 0x000E,
LobbyEnterWorld = 0x000F,
LobbyServerList = 0x0015,
LobbyRetainerList = 0x0017,
////////////////////////////////////////////////////////////////////////////////
/// Lobby Connection IPC Codes
/**
* Server IPC Lobby Type Codes.
};
/**
* Client IPC Lobby Type Codes.
*/
enum ClientLobbyIpcType :
uint16_t
{
ReqCharList = 0x0003, ReqEnterWorld = 0x0004, ClientVersionInfo = 0x0005,
ReqCharDelete = 0x000A, ReqCharCreate = 0x000B,
};
////////////////////////////////////////////////////////////////////////////////
/// Zone Connection IPC Codes
/**
* Server IPC Zone Type Codes.
*/
enum ServerZoneIpcType :
uint16_t
{
Ping = 0x2c0, // updated 6.40
Init = 0x12a, // updated 6.40
ActorFreeSpawn = 0x8a, // updated 6.40
InitZone = 0x347, // updated 6.40
PrepareZoning = 0x17a, // updated 6.40
EffectResult = 0x3b4, // updated 6.40
EffectResultBasic = 0x295, // updated 6.40
ActorControl = 0x381, // updated 6.40
ActorControlTarget = 0x131, // updated 6.40
ActorControlSelf = 0x14f, // updated 6.40
ActorCast = 0x31c, // updated 6.40
ActorSetPos = 0xea, // updated 6.40
ActorMove = 0x2a9, // updated 6.40
ActorGauge = 0x164, // updated 6.40
/*!
* @brief Used when resting
*/
enum ServerLobbyIpcType : uint16_t
{
LobbyError = 0x0002,
LobbyServiceAccountList = 0x000C,
LobbyCharList = 0x000D,
LobbyCharCreate = 0x000E,
LobbyEnterWorld = 0x000F,
LobbyServerList = 0x0015,
LobbyRetainerList = 0x0017,
};
/**
* Client IPC Lobby Type Codes.
*/
enum ClientLobbyIpcType : uint16_t
{
ReqCharList = 0x0003,
ReqEnterWorld = 0x0004,
ClientVersionInfo = 0x0005,
ReqCharDelete = 0x000A,
ReqCharCreate = 0x000B,
};
////////////////////////////////////////////////////////////////////////////////
/// Zone Connection IPC Codes
/**
* Server IPC Zone Type Codes.
*/
enum ServerZoneIpcType : uint16_t
{
Ping = 0x2c6, // updated 6.38
Init = 0x37b, // updated 6.38
ActorFreeSpawn = 0x3a2, // updated 6.38
InitZone = 0x1fe, // updated 6.38
PrepareZoning = 0x267, // updated 6.38
EffectResult = 0x3b5, // updated 6.38
EffectResultBasic = 0x2c4, // updated 6.38
ActorControl = 0x2c2, // updated 6.38
ActorControlTarget = 0x1b8, // updated 6.38
ActorControlSelf = 0x256, // updated 6.38
ActorCast = 0x15f, // updated 6.38
ActorSetPos = 0x2f0, // updated 6.38
ActorMove = 0x25b, // updated 6.38
ActorGauge = 0x136, // updated 6.38
/*!
* @brief Used when resting
*/
UpdateHpMpTp = 0x268, // updated 6.38
UpdateClassInfo = 0x2f7, // updated 6.38
///////////////////////////////////////////////////
ChatBanned = 0xF06B,
Playtime = 0xa3, // updated 6.38
Logout = 0x146, // updated 6.38
CFNotify = 0x38a, // updated 6.38
CFMemberStatus = 0x0079,
CFDutyInfo = 0x21d, // updated 6.38
CFPlayerInNeed = 0xF07F,
CFPreferredRole = 0xbb, // updated 6.38
CFCancel = 0x227, // updated 6.38
SocialRequestError = 0xF0AD,
CFRegistered = 0x029F, // updated 5.58h
SocialRequestResponse = 0x397, // updated 6.38
SocialMessage = 0x03CB, // updated 5.58h
SocialMessage2 = 0x01D7, // updated 5.58h
CancelAllianceForming = 0xF0C6, // updated 4.2
LogMessage = 0x30f, // updated 6.38
Chat = 0x1e4, // updated 6.38
PartyChat = 0x0065,
WorldVisitList = 0xF0FE, // added 4.5
SocialList = 0x219, // updated 6.38
ExamineSearchInfo = 0x213, // updated 6.38
UpdateSearchInfo = 0x3dc, // updated 6.38
InitSearchInfo = 0x1eb, // updated 6.38
ExamineSearchComment = 0x357, // updated 6.38
ServerNoticeShort = 0x0333, // updated 5.58h
ServerNotice = 0x92, // updated 6.38
SystemLogMessage = 0x1a6, // updated 6.38
SetOnlineStatus = 0x2e9, // updated 6.38
CountdownInitiate = 0x3b0, // updated 6.38
CountdownCancel = 0x194, // updated 6.38
PlayerAddedToBlacklist = 0x2e6, // updated 6.38
PlayerRemovedFromBlacklist = 0x2b5, // updated 6.38
BlackList = 0xde, // updated 6.38
LinkshellList = 0x241, // updated 6.38
CrossWorldLinkshellList = 0x240, // updated 6.38
FellowshipList = 0x26d, // updated 6.38
MailDeleteRequest = 0x1b7, // updated 6.38
// 12D - 137 - constant gap between 4.5x -> 5.0
ReqMoogleMailList = 0xF138, // updated 5.0
ReqMoogleMailLetter = 0xF139, // updated 5.0
MailLetterNotification = 0x013A, // updated 5.0
MarketTaxRates = 0x01F8, // updated 5.35h
MarketBoardSearchResult = 0xea, // updated 6.38
MarketBoardItemListingCount = 0x174, // updated 6.38
MarketBoardItemListingHistory = 0x3cd, // updated 6.38
MarketBoardItemListing = 0x379, // updated 6.38
MarketBoardPurchase = 0x370, // updated 6.38
ItemMarketBoardInfo = 0x209, // updated 6.38
CharaFreeCompanyTag = 0x013B, // updated 4.5
FreeCompanyBoardMsg = 0x03DB, // updated 5.58h
FreeCompanyInfo = 0x199, // updated 6.38
FreeCompanyDialog = 0x1d6, // updated 6.38
ExamineFreeCompanyInfo = 0x29a, // updated 6.38
FreeCompanyUpdateShortMessage = 0xF157, // added 5.0
StatusEffectList = 0x317, // updated 6.38
EurekaStatusEffectList = 0x23b, // updated 6.38
BossStatusEffectList = 0xc8, // updated 6.38
StatusEffectList2 = 0x30d, // updated 6.38
StatusEffectList3 = 0x12b, // updated 6.38
Effect = 0xfb, // updated 6.38
AoeEffect8 = 0x2ef, // updated 6.38
AoeEffect16 = 0x3c6, // updated 6.38
AoeEffect24 = 0x97, // updated 6.38
AoeEffect32 = 0x24b, // updated 6.38
PersistantEffect = 0x12b, // updated 6.38
PlaceFieldMarker = 0x354, // updated 6.38
PlaceFieldMarkerPreset = 0x286, // updated 6.38
GCAffiliation = 0x264, // updated 6.38
PlayerSpawn = 0x94, // updated 6.38
NpcSpawn = 0x269, // updated 6.38
NpcSpawn2 = 0x196, // updated 6.38
SomeCustomiseChangePacketProbably = 0x00CD, // added 5.18
PartyList = 0x186, // updated 6.38
PartyMessage = 0x75, // updated 6.38
HateRank = 0xe5, // updated 6.38
HateList = 0x99, // updated 6.38
ObjectSpawn = 0x2d1, // updated 6.38
ObjectDespawn = 0x132, // updated 6.38
SilentSetClassJob = 0xF18E, // updated 5.0 - seems to be the case, not sure if it's actually used for anything
PlayerSetup = 0x2bf, // updated 6.38
PlayerStats = 0x2d8, // updated 6.38
ActorOwner = 0x2bf, // updated 6.38
PlayerStateFlags = 0x3e5, // updated 6.38
PlayerClassInfo = 0x27b, // updated 6.38
PlayerUpdateLook = 0x114, // updated 6.38
CharaVisualEffect = 0x121, // updated 6.38
ModelEquip = 0x2e2, // updated 6.38
Examine = 0x22f, // updated 6.38
CharaNameReq = 0x170, // updated 6.38
// nb: see #565 on github
UpdateRetainerItemSalePrice = 0xF19F, // updated 5.0
RetainerSaleHistory = 0x1e1, // updated 6.38
RetainerInformation = 0x260, // updated 6.38
SetLevelSync = 0x1186, // not updated for 4.4, not sure what it is anymore
ItemInfo = 0x34d, // updated 6.38
ContainerInfo = 0x2e4, // updated 6.38
InventoryTransactionFinish = 0x2fc, // updated 6.38
InventoryTransaction = 0x31b, // updated 6.38
CurrencyCrystalInfo = 0x39a, // updated 6.38
InventoryActionAck = 0x2cf, // updated 6.38
UpdateInventorySlot = 0x335, // updated 6.38
HuntingLogEntry = 0x2f3, // updated 6.38
EventPlay = 0x284, // updated 6.38
EventPlay4 = 0xe2, // updated 6.38
EventPlay8 = 0x2c1, // updated 6.38
EventPlay16 = 0x7f, // updated 6.38
EventPlay32 = 0xd3, // updated 6.38
EventPlay64 = 0xc1, // updated 6.38
EventPlay128 = 0x29d, // updated 6.38
EventPlay255 = 0x326, // updated 6.38
EventStart = 0x8b, // updated 6.38
EventFinish = 0x362, // updated 6.38
EventContinue = 0x33e, // updated 6.38
EventLinkshell = 0x1169,
QuestActiveList = 0xcf, // updated 6.38
QuestUpdate = 0x17c, // updated 6.38
QuestCompleteList = 0x2f2, // updated 6.38
QuestFinish = 0x25c, // updated 6.38
MSQTrackerComplete = 0x3bb, // updated 6.38
MSQTrackerProgress = 0xF1CD, // updated 4.5 ? this actually looks like the two opcodes have been combined, see #474
QuestMessage = 0x0220, // updated 5.58h
QuestTracker = 0xa8, // updated 6.38
Mount = 0x2df, // updated 6.38
DirectorVars = 0x1c7, // updated 6.38
SomeDirectorUnk1 = 0x0084, // updated 5.18
SomeDirectorUnk2 = 0xF0C1, // updated 5.18
SomeDirectorUnk4 = 0x03DD, // updated 5.58h
SomeDirectorUnk8 = 0x028A, // updated 5.18
SomeDirectorUnk16 = 0x028C, // updated 5.18
DirectorPopUp = 0x03DF, // updated 5.58h
DirectorPopUp4 = 0x019B, // updated 5.58h
DirectorPopUp8 = 0x0271, // updated 5.58h
CFAvailableContents = 0xF1FD, // updated 4.2
WeatherChange = 0x17a, // updated 6.38
PlayerTitleList = 0x2b3, // updated 6.38
Discovery = 0x1f7, // updated 6.38
EorzeaTimeOffset = 0x2bc, // updated 6.38
EquipDisplayFlags = 0x248, // updated 6.38
MiniCactpotInit = 0x0286, // added 5.31
ShopMessage = 0x0287, // updated 5.58h
LootMessage = 0x65, // updated 6.38
ResultDialog = 0x113, // updated 6.38
DesynthResult = 0x308, // updated 6.38
/// Housing //////////////////////////////////////
LandSetInitialize = 0xd4, // updated 6.38
LandUpdate = 0x151, // updated 6.38
LandAvailability = 0x81, // updated 6.38
YardObjectSpawn = 0x3b9, // updated 6.38
HousingIndoorInitialize = 0x271, // updated 6.38
LandPriceUpdate = 0x215, // updated 6.38
LandInfoSign = 0xa9, // updated 6.38
LandRename = 0x22c, // updated 6.38
HousingEstateGreeting = 0xa7, // updated 6.38
HousingUpdateLandFlagsSlot = 0x177, // updated 6.38
HousingLandFlags = 0x3ba, // updated 6.38
HousingShowEstateGuestAccess = 0x2ec, // updated 6.38
HousingObjectInitialize = 0xc7, // updated 6.38
HousingInternalObjectSpawn = 0x1d3, // updated 6.38
HousingWardInfo = 0x28e, // updated 6.38
HousingObjectMove = 0x282, // updated 6.38
HousingObjectDye = 0x3ce, // updated 6.38
SharedEstateSettingsResponse = 0x3a0, // updated 6.38
LandUpdateHouseName = 0x1a7, // updated 6.38
LandSetMap = 0x1b0, // updated 6.38
CeremonySetActorAppearance = 0x1a9, // updated 6.38
//////////////////////////////////////////////////
UpdateHpMpTp = 0x21a, // updated 6.40
UpdateClassInfo = 0x380, // updated 6.40
///////////////////////////////////////////////////
ChatBanned = 0xF06B, Playtime = 0x181, // updated 6.40
Logout = 0x18a, // updated 6.40
CFNotify = 0x3e0, // updated 6.40
CFMemberStatus = 0x0079, CFDutyInfo = 0xe0, // updated 6.40
CFPlayerInNeed = 0xF07F, CFPreferredRole = 0x221, // updated 6.40
CFCancel = 0x77, // updated 6.40
SocialRequestError = 0xF0AD,
CFRegistered = 0x029F, // updated 5.58h
SocialRequestResponse = 0x323, // updated 6.40
SocialMessage = 0x03CB, // updated 5.58h
SocialMessage2 = 0x01D7, // updated 5.58h
CancelAllianceForming = 0xF0C6, // updated 4.2
LogMessage = 0x113, // updated 6.40
Chat = 0x335, // updated 6.40
PartyChat = 0x0065,
WorldVisitList = 0xF0FE, // added 4.5
SocialList = 0x281, // updated 6.40
ExamineSearchInfo = 0x2b0, // updated 6.40
UpdateSearchInfo = 0x339, // updated 6.40
InitSearchInfo = 0x37f, // updated 6.40
ExamineSearchComment = 0x314, // updated 6.40
ServerNoticeShort = 0x0333, // updated 5.58h
ServerNotice = 0x273, // updated 6.40
SystemLogMessage = 0x19b, // updated 6.40
SetOnlineStatus = 0xb1, // updated 6.40
CountdownInitiate = 0x292, // updated 6.40
CountdownCancel = 0x2ba, // updated 6.40
PlayerAddedToBlacklist = 0x3be, // updated 6.40
PlayerRemovedFromBlacklist = 0x8b, // updated 6.40
BlackList = 0x2ad, // updated 6.40
LinkshellList = 0x287, // updated 6.40
CrossWorldLinkshellList = 0x358, // updated 6.40
FellowshipList = 0x238, // updated 6.40
MailDeleteRequest = 0x2e3, // updated 6.40
// 12D - 137 - constant gap between 4.5x -> 5.0
ReqMoogleMailList = 0xF138, // updated 5.0
ReqMoogleMailLetter = 0xF139, // updated 5.0
MailLetterNotification = 0x013A, // updated 5.0
MarketTaxRates = 0x01F8, // updated 5.35h
MarketBoardSearchResult = 0x197, // updated 6.40
MarketBoardItemListingCount = 0x1a4, // updated 6.40
MarketBoardItemListingHistory = 0x2b4, // updated 6.40
MarketBoardItemListing = 0xa7, // updated 6.40
MarketBoardPurchase = 0x120, // updated 6.40
ItemMarketBoardInfo = 0x3c4, // updated 6.40
CharaFreeCompanyTag = 0x013B, // updated 4.5
FreeCompanyBoardMsg = 0x03DB, // updated 5.58h
FreeCompanyInfo = 0x1ce, // updated 6.40
FreeCompanyDialog = 0x2a1, // updated 6.40
ExamineFreeCompanyInfo = 0x229, // updated 6.40
FreeCompanyUpdateShortMessage = 0xF157, // added 5.0
StatusEffectList = 0x13f, // updated 6.40
EurekaStatusEffectList = 0x25d, // updated 6.40
BossStatusEffectList = 0x1b0, // updated 6.40
StatusEffectList2 = 0x149, // updated 6.40
StatusEffectList3 = 0xe7, // updated 6.40
Effect = 0x3c9, // updated 6.40
AoeEffect8 = 0x21e, // updated 6.40
AoeEffect16 = 0x34c, // updated 6.40
AoeEffect24 = 0x379, // updated 6.40
AoeEffect32 = 0x33f, // updated 6.40
PersistantEffect = 0xe7, // updated 6.40
PlaceFieldMarker = 0xd8, // updated 6.40
PlaceFieldMarkerPreset = 0xFFFF, // updated 6.40
GCAffiliation = 0x159, // updated 6.40
PlayerSpawn = 0x2cf, // updated 6.40
NpcSpawn = 0x1c4, // updated 6.40
NpcSpawn2 = 0x123, // updated 6.40
SomeCustomiseChangePacketProbably = 0x00CD, // added 5.18
PartyList = 0x110, // updated 6.40
PartyMessage = 0x374, // updated 6.40
HateRank = 0x22d, // updated 6.40
HateList = 0x22e, // updated 6.40
ObjectSpawn = 0x184, // updated 6.40
ObjectDespawn = 0xb8, // updated 6.40
SilentSetClassJob = 0xF18E, // updated 5.0 - seems to be the case, not sure if it's actually used for anything
PlayerSetup = 0x218, // updated 6.40
PlayerStats = 0x1a3, // updated 6.40
ActorOwner = 0x218, // updated 6.40
PlayerStateFlags = 0x37a, // updated 6.40
PlayerClassInfo = 0xd9, // updated 6.40
PlayerUpdateLook = 0x1a7, // updated 6.40
CharaVisualEffect = 0x1ef, // updated 6.40
ModelEquip = 0x297, // updated 6.40
Examine = 0x364, // updated 6.40
CharaNameReq = 0xc1, // updated 6.40
// nb: see #565 on github
UpdateRetainerItemSalePrice = 0xF19F, // updated 5.0
RetainerSaleHistory = 0x16d, // updated 6.40
RetainerInformation = 0x39c, // updated 6.40
SetLevelSync = 0x1186, // not updated for 4.4, not sure what it is anymore
ItemInfo = 0x128, // updated 6.40
ContainerInfo = 0x122, // updated 6.40
InventoryTransactionFinish = 0x2d9, // updated 6.40
InventoryTransaction = 0x2e9, // updated 6.40
CurrencyCrystalInfo = 0x2be, // updated 6.40
InventoryActionAck = 0x19c, // updated 6.40
UpdateInventorySlot = 0x119, // updated 6.40
HuntingLogEntry = 0xec, // updated 6.40
EventPlay = 0xfb, // updated 6.40
EventPlay4 = 0x307, // updated 6.40
EventPlay8 = 0x252, // updated 6.40
EventPlay16 = 0x214, // updated 6.40
EventPlay32 = 0x6c, // updated 6.40
EventPlay64 = 0x223, // updated 6.40
EventPlay128 = 0x340, // updated 6.40
EventPlay255 = 0x3dc, // updated 6.40
EventStart = 0x1a2, // updated 6.40
EventFinish = 0x2b2, // updated 6.40
EventContinue = 0x298, // updated 6.40
EventLinkshell = 0x1169,
QuestActiveList = 0x11d, // updated 6.40
QuestUpdate = 0x92, // updated 6.40
QuestCompleteList = 0x36f, // updated 6.40
QuestFinish = 0x13a, // updated 6.40
MSQTrackerComplete = 0x28c, // updated 6.40
MSQTrackerProgress = 0xF1CD, // updated 4.5 ? this actually looks like the two opcodes have been combined, see #474
QuestMessage = 0x0220, // updated 5.58h
QuestTracker = 0x1b5, // updated 6.40
Mount = 0x3c0, // updated 6.40
DirectorVars = 0x27e, // updated 6.40
SomeDirectorUnk1 = 0x0084, // updated 5.18
SomeDirectorUnk2 = 0xF0C1, // updated 5.18
SomeDirectorUnk4 = 0x03DD, // updated 5.58h
SomeDirectorUnk8 = 0x028A, // updated 5.18
SomeDirectorUnk16 = 0x028C, // updated 5.18
DirectorPopUp = 0x03DF, // updated 5.58h
DirectorPopUp4 = 0x019B, // updated 5.58h
DirectorPopUp8 = 0x0271, // updated 5.58h
CFAvailableContents = 0xF1FD, // updated 4.2
WeatherChange = 0x1d2, // updated 6.40
PlayerTitleList = 0x22f, // updated 6.40
Discovery = 0x22c, // updated 6.40
EorzeaTimeOffset = 0x1b8, // updated 6.40
EquipDisplayFlags = 0x38c, // updated 6.40
MiniCactpotInit = 0x0286, // added 5.31
ShopMessage = 0x0287, // updated 5.58h
LootMessage = 0x319, // updated 6.40
ResultDialog = 0x1cb, // updated 6.40
DesynthResult = 0x1ba, // updated 6.40
/// Housing //////////////////////////////////////
LandSetInitialize = 0x24d, // updated 6.40
LandUpdate = 0x232, // updated 6.40
LandAvailability = 0x67, // updated 6.40
YardObjectSpawn = 0x1e3, // updated 6.40
HousingIndoorInitialize = 0x22b, // updated 6.40
LandPriceUpdate = 0x345, // updated 6.40
LandInfoSign = 0x1dc, // updated 6.40
LandRename = 0xf2, // updated 6.40
HousingEstateGreeting = 0x3d1, // updated 6.40
HousingUpdateLandFlagsSlot = 0x1b4, // updated 6.40
HousingLandFlags = 0x32c, // updated 6.40
HousingShowEstateGuestAccess = 0x36c, // updated 6.40
HousingObjectInitialize = 0x330, // updated 6.40
HousingInternalObjectSpawn = 0x327, // updated 6.40
HousingWardInfo = 0x320, // updated 6.40
HousingObjectMove = 0x245, // updated 6.40
HousingObjectDye = 0x28b, // updated 6.40
SharedEstateSettingsResponse = 0x2d1, // updated 6.40
LandUpdateHouseName = 0x233, // updated 6.40
LandSetMap = 0x34b, // updated 6.40
CeremonySetActorAppearance = 0x362, // updated 6.40
//////////////////////////////////////////////////
DuelChallenge = 0x0277, // 4.2; this is responsible for opening the ui
PerformNote = 0xb3, // updated 6.38
DuelChallenge = 0x0277, // 4.2; this is responsible for opening the ui
PerformNote = 0x1df, // updated 6.40
DutyGauge = 0x02E5, // updated 5.58h
DutyGauge = 0x02E5, // updated 5.58h
// daily quest info -> without them sent, login will take longer...
DailyQuests = 0x21f, // updated 6.38
DailyQuestRepeatFlags = 0x184, // updated 6.38
// daily quest info -> without them sent, login will take longer...
DailyQuests = 0x11f, // updated 6.40
DailyQuestRepeatFlags = 0x1c0, // updated 6.40
MapUpdate = 0x2cd, // updated 6.38
MapUpdate4 = 0x3c8, // updated 6.38
MapUpdate8 = 0x1d9, // updated 6.38
MapUpdate16 = 0x389, // updated 6.38
MapUpdate32 = 0x9a, // updated 6.38
MapUpdate64 = 0x361, // updated 6.38
MapUpdate128 = 0x1c9, // updated 6.38
MapUpdate = 0x392, // updated 6.40
MapUpdate4 = 0x237, // updated 6.40
MapUpdate8 = 0xd5, // updated 6.40
MapUpdate16 = 0x36e, // updated 6.40
MapUpdate32 = 0x2df, // updated 6.40
MapUpdate64 = 0x2b6, // updated 6.40
MapUpdate128 = 0x3ac, // updated 6.40
/// Doman Mahjong //////////////////////////////////////
MahjongOpenGui = 0x02A4, // only available in mahjong instance
MahjongNextRound = 0x02BD, // initial hands(baipai), # of riichi(wat), winds, honba, score and stuff
MahjongPlayerAction = 0x02BE, // tsumo(as in drawing a tile) called chi/pon/kan/riichi
MahjongEndRoundTsumo = 0x02BF, // called tsumo
MahjongEndRoundRon = 0x2C0, // called ron or double ron (waiting for action must be flagged from discard packet to call)
MahjongTileDiscard = 0x02C1, // giri (discarding a tile.) chi(1)/pon(2)/kan(4)/ron(8) flags etc..
MahjongPlayersInfo = 0xF2C2, // actor id, name, rating and stuff..
// 2C3 and 2C4 are currently unknown
MahjongEndRoundDraw = 0x02C5, // self explanatory
MahjongEndGame = 0x02C6, // finished oorasu(all-last) round; shows a result screen.
/// Doman Mahjong //////////////////////////////////////
MahjongOpenGui = 0x02A4, // only available in mahjong instance
MahjongNextRound = 0x02BD, // initial hands(baipai), # of riichi(wat), winds, honba, score and stuff
MahjongPlayerAction = 0x02BE, // tsumo(as in drawing a tile) called chi/pon/kan/riichi
MahjongEndRoundTsumo = 0x02BF, // called tsumo
MahjongEndRoundRon = 0x2C0, // called ron or double ron (waiting for action must be flagged from discard packet to call)
MahjongTileDiscard = 0x02C1, // giri (discarding a tile.) chi(1)/pon(2)/kan(4)/ron(8) flags etc..
MahjongPlayersInfo = 0xF2C2, // actor id, name, rating and stuff..
// 2C3 and 2C4 are currently unknown
MahjongEndRoundDraw = 0x02C5, // self explanatory
MahjongEndGame = 0x02C6, // finished oorasu(all-last) round; shows a result screen.
/// Airship & Submarine //////////////////////////////////////
AirshipTimers = 0x3d0, // updated 6.38
AirshipStatus = 0x314, // updated 6.38
AirshipStatusList = 0x257, // updated 6.38
AirshipExplorationResult = 0x288, // updated 6.38
/// Airship & Submarine //////////////////////////////////////
AirshipTimers = 0x132, // updated 6.40
AirshipStatus = 0x1eb, // updated 6.40
AirshipStatusList = 0x2cb, // updated 6.40
AirshipExplorationResult = 0x2c4, // updated 6.40
SubmarineTimers = 0x16d, // updated 6.38
SubmarineProgressionStatus = 0x31a, // updated 6.38
SubmarineStatusList = 0x1a4, // updated 6.38
SubmarineExplorationResult = 0x147, // updated 6.38
SubmarineTimers = 0x2b7, // updated 6.40
SubmarineProgressionStatus = 0x385, // updated 6.40
SubmarineStatusList = 0x81, // updated 6.40
SubmarineExplorationResult = 0x2c9, // updated 6.40
EnvironmentControl = 0x118, // updated 6.38
IslandWorkshopSupplyDemand = 0x168, // updated 6.38
};
/**
* Client IPC Zone Type Codes.
*/
enum ClientZoneIpcType : uint16_t
{
PingHandler = 0x032A, // updated 6.38
InitHandler = 0x0090, // updated 6.38
EnvironmentControl = 0x108, // updated 6.40
IslandWorkshopSupplyDemand = 0x1b7, // updated 6.40
};
/**
* Client IPC Zone Type Codes.
*/
enum ClientZoneIpcType :
uint16_t
{
PingHandler = 0x272, // updated 6.40
InitHandler = 0x397, // updated 6.40
FinishLoadingHandler = 0x037B, // updated 6.38
FinishLoadingHandler = 0x12a, // updated 6.40
CFCommenceHandler = 0x0381, // updated 5.58h
CFCommenceHandler = 0x0381, // updated 5.58h
CFCancelHandler = 0x02B2, // updated 5.58h
CFRegisterDuty = 0x01BD, // updated 5.58h
CFRegisterRoulette = 0x037A, // updated 5.58h
PlayTimeHandler = 0x02B7, // updated 5.58h
LogoutHandler = 0x02E5, // updated 6.38
CancelLogout = 0x01e3, // updated 6.31h
CFDutyInfoHandler = 0xF078, // updated 4.2
SocialReqSendHandler = 0x00D7, // updated 5.58h
SocialResponseHandler = 0x023B, // updated 5.58h
CreateCrossWorldLS = 0x035D, // updated 5.58h
ChatHandler = 0x01F2, // Updated 6.38
PartyChatHandler = 0x0065,
PartySetLeaderHandler = 0x036C, // updated 5.58h
LeavePartyHandler = 0x019D, // updated 5.58h
KickPartyMemberHandler = 0x0262, // updated 5.58h
DisbandPartyHandler = 0x0276, // updated 5.58h
SocialListHandler = 0x0200, // updated 6.31
SetSearchInfoHandler = 0x0165, // updated 6.38
ReqSearchInfoHandler = 0x03b0, // updated 6.31h
ReqExamineSearchCommentHandler = 0x00E7, // updated 5.0
ReqRemovePlayerFromBlacklist = 0x00B4, // updated 5.58h
BlackListHandler = 0x010c, // updated 6.31h
PlayerSearchHandler = 0x037D, // updated 5.58h
LinkshellListHandler = 0x03B6, // updated 5.58h
MarketBoardRequestItemListingInfo = 0x00F4, // updated 5.58h
MarketBoardRequestItemListings = 0x0122, // updated 5.58h
MarketBoardSearch = 0x0082, // updated 5.58h
MarketBoardPurchaseHandler = 0x0397, // updated 6.38
ReqExamineFcInfo = 0xF37B, // updated 5.58h (prepended F. Conflicts with FinishLoadingHandler 6.38)
FcInfoReqHandler = 0x9999, // unknown
FreeCompanyUpdateShortMessageHandler = 0x0123, // added 5.0
ReqMarketWishList = 0x00C3, // updated 5.58h
ReqJoinNoviceNetwork = 0x0129, // updated 4.2
ReqCountdownInitiate = 0x03e1, // updated 6.31h
ReqCountdownCancel = 0x023a, // updated 6.31h
ZoneLineHandler = 0x00ce, // updated 6.31h
ClientTrigger = 0x01BE, // updated 6.38
DiscoveryHandler = 0x038B, // updated 5.58h
SkillHandler = 0x0133, // updated 6.31h
GMCommand1 = 0x0273, // updated 6.38
GMCommand2 = 0x0328, // updated 6.38
AoESkillHandler = 0x0152, // updated 5.58h
UpdatePositionHandler = 0x025F, // updated 6.38
InventoryModifyHandler = 0x024D, // updated 6.38
InventoryEquipRecommendedItems = 0x01C9, // updated 5.58h
ReqPlaceHousingItem = 0x02D4, // updated 5.58h
BuildPresetHandler = 0x0223, // updated 5.58h
TalkEventHandler = 0x02C4, // updated 6.38
EmoteEventHandler = 0x00B0, // updated 5.58h
WithinRangeEventHandler = 0x02B6, // updated 5.58h
OutOfRangeEventHandler = 0x00b4, // updated 6.31h
EnterTeriEventHandler = 0x018F, // updated 6.38
ShopEventHandler = 0x0384, // updated 5.58h
ReturnEventHandler = 0x0268, // updated 6.38
TradeReturnEventHandler = 0x00FB, // updated 6.38
TradeReturnEventHandler2 = 0x023C, // updated 5.58h
EventYield2Handler = 0x021D, // updated 5.58h
EventYield16Handler = 0x0207, // updated 5.58h
CFCancelHandler = 0x02B2, // updated 5.58h
CFRegisterDuty = 0x01BD, // updated 5.58h
CFRegisterRoulette = 0x037A, // updated 5.58h
PlayTimeHandler = 0x02B7, // updated 5.58h
LogoutHandler = 0xac, // updated 6.40
CancelLogout = 0x01e3, // updated 6.31h
CFDutyInfoHandler = 0xF078, // updated 4.2
SocialReqSendHandler = 0x00D7, // updated 5.58h
SocialResponseHandler = 0x023B, // updated 5.58h
CreateCrossWorldLS = 0x9999, // updated 5.58h
ChatHandler = 0xd3, // updated 6.40
PartyChatHandler = 0x0065, PartySetLeaderHandler = 0x036C, // updated 5.58h
LeavePartyHandler = 0x019D, // updated 5.58h
KickPartyMemberHandler = 0x0262, // updated 5.58h
DisbandPartyHandler = 0x0276, // updated 5.58h
SocialListHandler = 0x206, // updated 6.40
SetSearchInfoHandler = 0x3b6, // updated 6.40
ReqSearchInfoHandler = 0x03b0, // updated 6.31h
ReqExamineSearchCommentHandler = 0x00E7, // updated 5.0
ReqRemovePlayerFromBlacklist = 0x00B4, // updated 5.58h
BlackListHandler = 0x29c, // updated 6.40
PlayerSearchHandler = 0x037D, // updated 5.58h
LinkshellListHandler = 0x03B6, // updated 5.58h
MarketBoardRequestItemListingInfo = 0x00F4, // updated 5.58h
MarketBoardRequestItemListings = 0x0122, // updated 5.58h
MarketBoardSearch = 0x0082, // updated 5.58h
MarketBoardPurchaseHandler = 0x0256, // updated 6.40
ReqExamineFcInfo = 0xF37B, // updated 5.58h (prepended F. Conflicts with FinishLoadingHandler 6.38)
FcInfoReqHandler = 0x9999, // unknown
FreeCompanyUpdateShortMessageHandler = 0x0123, // added 5.0
ReqMarketWishList = 0x00C3, // updated 5.58h
ReqJoinNoviceNetwork = 0x0129, // updated 4.2
ReqCountdownInitiate = 0x03e1, // updated 6.31h
ReqCountdownCancel = 0x023a, // updated 6.31h
ZoneLineHandler = 0x02b9, // updated 6.40
ClientTrigger = 0x01BC, // updated 6.40
DiscoveryHandler = 0x038B, // updated 5.58h
SkillHandler = 0x0228, // updated 6.40
GMCommand1 = 0x0139, // updated 6.40
GMCommand2 = 0x0195, // updated 6.40
AoESkillHandler = 0x016f, // updated 6.40
UpdatePositionHandler = 0x0179, // updated 6.40
InventoryModifyHandler = 0x02DB, // updated 6.40
InventoryEquipRecommendedItems = 0x01C9, // updated 5.58h
ReqPlaceHousingItem = 0x02D4, // updated 5.58h
BuildPresetHandler = 0x0223, // updated 5.58h
TalkEventHandler = 0x035D, // updated 6.40
EmoteEventHandler = 0x00B0, // updated 5.58h
WithinRangeEventHandler = 0x0213, // updated 6.40
OutOfRangeEventHandler = 0x03A6, // updated 6.40
EnterTeriEventHandler = 0x0247, // updated 6.40
ShopEventHandler = 0x0384, // updated 5.58h
ReturnEventHandler = 0x0131, // updated 6.40
TradeReturnEventHandler = 0x021A, // updated 6.40
TradeReturnEventHandler2 = 0x03C9, // updated 6.40
EventYield2Handler = 0x021D, // updated 5.58h
EventYield16Handler = 0x0207, // updated 5.58h
LinkshellEventHandler = 0x9999, // unknown
LinkshellEventHandler1 = 0x9999, // unknown
LinkshellEventHandler = 0x9999, // unknown
LinkshellEventHandler1 = 0x9999, // unknown
ReqEquipDisplayFlagsChange = 0x03BC, // updated 6.30h
ReqEquipDisplayFlagsChange = 0x03BC, // updated 6.30h
LandRenameHandler = 0x028E, // updated 5.58h
HousingUpdateHouseGreeting = 0x0343, // updated 5.58h
HousingUpdateObjectPosition = 0x9999, // unknown
HousingEditExterior = 0x027B, // updated 5.58h
HousingEditInterior = 0x02E3, // updated 5.58h
SetSharedEstateSettings = 0x00D2, // updated 5.58h
LandRenameHandler = 0x028E, // updated 5.58h
HousingUpdateHouseGreeting = 0x0343, // updated 5.58h
HousingUpdateObjectPosition = 0x9999, // unknown
HousingEditExterior = 0x027B, // updated 5.58h
HousingEditInterior = 0x02E3, // updated 5.58h
SetSharedEstateSettings = 0x00D2, // updated 5.58h
UpdatePositionInstance = 0x00E5, // updated 6.40
UpdatePositionInstance = 0x01A0, // Updated 6.38
PerformNoteHandler = 0x0243, // updated 5.58h
PerformNoteHandler = 0x0243, // updated 5.58h
WorldInteractionHandler = 0x0274, // updated 5.58h
Dive = 0x018C, // updated 6.30h
};
WorldInteractionHandler = 0x0274, // updated 5.58h
Dive = 0x018C, // updated 6.30h
};
////////////////////////////////////////////////////////////////////////////////
/// Chat Connection IPC Codes
/**
* Server IPC Chat Type Codes.
*/
enum ServerChatIpcType :
uint16_t
{
Tell = 0x0064, // updated for sb
PublicContentTell = 0xF0FB, // added 4.5, this is used when receiving a /tell in PublicContent instances such as Eureka or Bozja (prepended F conflicts with TradeReturnEventHandler 6.38)
TellErrNotFound = 0x0066,
////////////////////////////////////////////////////////////////////////////////
/// Chat Connection IPC Codes
/**
* Server IPC Chat Type Codes.
*/
enum ServerChatIpcType : uint16_t
{
Tell = 0x0064, // updated for sb
PublicContentTell = 0xF0FB, // added 4.5, this is used when receiving a /tell in PublicContent instances such as Eureka or Bozja (prepended F conflicts with TradeReturnEventHandler 6.38)
TellErrNotFound = 0x0066,
FreeCompanyEvent = 0x012C, // added 5.0
};
FreeCompanyEvent = 0x012C, // added 5.0
};
/**
* Client IPC Chat Type Codes.
*/
enum ClientChatIpcType : uint16_t
{
TellReq = 0x0064,
PublicContentTellReq = 0x0326, // updated 5.35 hotfix, this is used when sending a /tell in PublicContent instances such as Eureka or Bozja
};
/**
* Client IPC Chat Type Codes.
*/
enum ClientChatIpcType :
uint16_t
{
TellReq = 0x0064,
PublicContentTellReq = 0x0326, // updated 5.35 hotfix, this is used when sending a /tell in PublicContent instances such as Eureka or Bozja
};
}

View file

@ -44,6 +44,7 @@ namespace Sapphire::Network::Packets::Server
Common::ChatType chatType;
char name[32];
char msg[1012];
uint8_t unknown[12]; //possibly padding?
};
struct FFXIVIpcPartyChat : FFXIVIpcBasePacket< PartyChat >
@ -184,7 +185,7 @@ namespace Sapphire::Network::Packets::Server
char searchComment[195];
char padding;
};
/**
* Structural representation of the packet sent by the server
* to display a server notice message
@ -199,7 +200,7 @@ namespace Sapphire::Network::Packets::Server
// 5 = on screen message + chat log
char message[538];
};
/**
* Structural representation of the packet sent by the server
* to display a server notice message
@ -981,7 +982,7 @@ namespace Sapphire::Network::Packets::Server
uint16_t unknown5E;
uint16_t pvpFrontlineWeeklyCampaigns;
uint16_t enhancedAnimaGlassProgress;
uint16_t unknown64[4];
uint16_t unknown64[8];
uint16_t pvpRivalWingsTotalMatches;
uint16_t pvpRivalWingsTotalVictories;
uint16_t pvpRivalWingsWeeklyMatches;
@ -1044,25 +1045,26 @@ namespace Sapphire::Network::Packets::Server
uint8_t companionHealRank;
uint8_t mountGuideMask[33];
uint8_t ornamentMask[4];
uint8_t unknown281[13];
uint8_t unknown281[16];
char name[32];
uint8_t unknown293[16];
uint8_t unknown2A3;
uint8_t unlockBitmask[64];
uint8_t aetheryte[26];
uint8_t favoriteAetheryteIds[4];
uint8_t freeAetheryteId;
uint16_t favoriteAetheryteIds[4];
uint16_t freeAetheryteId;
uint16_t psPlusFreeAetheryteId;
uint8_t discovery[472];
uint8_t howto[36];
uint8_t unknown554[4];
uint8_t minions[60];
uint8_t chocoboTaxiMask[12];
uint8_t watchedCutscenes[152];
uint8_t watchedCutscenes[154];
uint8_t companionBardingMask[12];
uint8_t unknownMask64E[23];
uint8_t companionEquippedHead;
uint8_t companionEquippedBody;
uint8_t companionEquippedLegs;
uint8_t unknown5D1[4];
uint8_t unknownMask5D5[11];
uint8_t fishingGuideMask[161];
uint8_t fishingSpotVisited[38];
uint8_t unknown694[34];
@ -1079,11 +1081,12 @@ namespace Sapphire::Network::Packets::Server
uint8_t sightseeingMask[37];
uint8_t huntingMarkMask[102];
uint8_t tripleTriadCards[45];
uint8_t unknown7D7[14];
uint8_t unknown895;
uint8_t unknown7D7[15];
uint8_t unknown7D8;
uint8_t unknown7E6[49];
uint8_t regionalFolkloreMask[6];
uint8_t orchestrionMask[75];
uint8_t orchestrionMask[87];
uint8_t hallOfNoviceCompletion[3];
uint8_t animaCompletion[11];
uint8_t unknown85E[16];
@ -1093,16 +1096,17 @@ namespace Sapphire::Network::Packets::Server
uint8_t unlockedRaids[28];
uint8_t unlockedDungeons[18];
uint8_t unlockedGuildhests[10];
uint8_t unlockedTrials[11];
uint8_t unlockedTrials[12];
uint8_t unlockedPvp[5];
uint8_t clearedRaids[28];
uint8_t clearedDungeons[18];
uint8_t clearedGuildhests[10];
uint8_t clearedTrials[11];
uint8_t clearedTrials[12];
uint8_t clearedPvp[5];
uint8_t unknown948[4];
uint8_t unknown948[6];
uint8_t unknown94C[2];
uint8_t unknown94E[2];
uint8_t unknownA06[2];
};
@ -2129,7 +2133,7 @@ namespace Sapphire::Network::Packets::Server
char otherName[32];
};
struct FFXIVIpcRetainerInformation : FFXIVIpcBasePacket< RetainerInformation >
{
uint8_t unknown0[8];

View file

@ -132,7 +132,7 @@ int main( int argc, char** argv )
result += generateEnum( "GuardianDeity", 0, "uint8_t" );
result += generateEnum( "ItemUICategory", 0, "uint8_t" );
result += generateEnum( "ItemSearchCategory", 0, "uint8_t" );
result += generateEnum( "OnlineStatus", 3, "uint8_t" );
result += generateEnum( "OnlineStatus", 6, "uint8_t" );
result += generateEnum( "Race", 1, "uint8_t" );
result += generateEnum( "Tribe", 0, "uint8_t" );
result += generateEnum( "Town", 0, "uint8_t" );