1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-26 06:27:45 +00:00

Merge branch 'develop' of https://github.com/SapphireMordred/Sapphire into develop

This commit is contained in:
Mordred 2019-01-08 17:09:18 +01:00
commit 6f0f05eb30
5 changed files with 148 additions and 154 deletions

View file

@ -34,7 +34,7 @@ CREATE TABLE `spawnpoint` (
`y` float NOT NULL,
`z` float NOT NULL,
`r` float NOT NULL,
`gimmickId` int(11) NOT NULL,
`gimmickId` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `spawngroupidx` (`spawnGroupId`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

View file

@ -1034,14 +1034,14 @@ Sapphire::Data::ClassJob::ClassJob( uint32_t row_id, Sapphire::Data::ExdDataGene
classJobParent = exdData->getField< uint8_t >( row, 26 );
nameEnglish = exdData->getField< std::string >( row, 27 );
itemStartingWeapon = exdData->getField< int32_t >( row, 28 );
limitBreak1 = exdData->getField< uint16_t >( row, 33 );
limitBreak2 = exdData->getField< uint16_t >( row, 34 );
limitBreak3 = exdData->getField< uint16_t >( row, 35 );
itemSoulCrystal = exdData->getField< uint32_t >( row, 37 );
unlockQuest = exdData->getField< uint32_t >( row, 38 );
relicQuest = exdData->getField< uint32_t >( row, 39 );
prerequisite = exdData->getField< uint32_t >( row, 40 );
startingLevel = exdData->getField< uint8_t >( row, 41 );
limitBreak1 = exdData->getField< uint16_t >( row, 34 );
limitBreak2 = exdData->getField< uint16_t >( row, 35 );
limitBreak3 = exdData->getField< uint16_t >( row, 36 );
itemSoulCrystal = exdData->getField< uint32_t >( row, 38 );
unlockQuest = exdData->getField< uint32_t >( row, 39 );
relicQuest = exdData->getField< uint32_t >( row, 40 );
prerequisite = exdData->getField< uint32_t >( row, 41 );
startingLevel = exdData->getField< uint8_t >( row, 42 );
}
Sapphire::Data::ClassJobCategory::ClassJobCategory( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
@ -1273,10 +1273,10 @@ Sapphire::Data::ContentFinderCondition::ContentFinderCondition( uint32_t row_id,
allowReplacement = exdData->getField< bool >( row, 20 );
highEndDuty = exdData->getField< bool >( row, 26 );
dutyRecorderAllowed = exdData->getField< bool >( row, 30 );
name = exdData->getField< std::string >( row, 32 );
contentType = exdData->getField< uint8_t >( row, 33 );
transient = exdData->getField< uint8_t >( row, 34 );
image = exdData->getField< uint32_t >( row, 37 );
name = exdData->getField< std::string >( row, 34 );
contentType = exdData->getField< uint8_t >( row, 35 );
transient = exdData->getField< uint8_t >( row, 36 );
image = exdData->getField< uint32_t >( row, 39 );
}
Sapphire::Data::ContentFinderConditionTransient::ContentFinderConditionTransient( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
@ -3164,7 +3164,7 @@ Sapphire::Data::InstanceContent::InstanceContent( uint32_t row_id, Sapphire::Dat
instanceClearExp = exdData->getField< uint32_t >( row, 46 );
instanceContentBuff = exdData->getField< int32_t >( row, 51 );
reqInstance = exdData->getField< uint32_t >( row, 52 );
partyCondition = exdData->getField< uint8_t >( row, 55 );
partyCondition = exdData->getField< uint8_t >( row, 54 );
}
Sapphire::Data::InstanceContentBuff::InstanceContentBuff( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
@ -3240,7 +3240,7 @@ Sapphire::Data::Item::Item( uint32_t row_id, Sapphire::Data::ExdDataGenerated* e
materiaSlotCount = exdData->getField< uint8_t >( row, 84 );
isAdvancedMeldingPermitted = exdData->getField< bool >( row, 85 );
isPvP = exdData->getField< bool >( row, 86 );
isGlamourous = exdData->getField< bool >( row, 87 );
isGlamourous = exdData->getField< bool >( row, 88 );
}
Sapphire::Data::ItemAction::ItemAction( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )
@ -4065,8 +4065,8 @@ Sapphire::Data::PublicContent::PublicContent( uint32_t row_id, Sapphire::Data::E
name = exdData->getField< std::string >( row, 3 );
textDataStart = exdData->getField< uint32_t >( row, 4 );
textDataEnd = exdData->getField< uint32_t >( row, 5 );
contentFinderCondition = exdData->getField< uint16_t >( row, 7 );
additionalData = exdData->getField< uint16_t >( row, 8 );
contentFinderCondition = exdData->getField< uint16_t >( row, 8 );
additionalData = exdData->getField< uint16_t >( row, 9 );
}
Sapphire::Data::PublicContentCutscene::PublicContentCutscene( uint32_t row_id, Sapphire::Data::ExdDataGenerated* exdData )

View file

@ -60,8 +60,8 @@ namespace Sapphire::Network::Packets
///////////////////////////////////////////////////
ChatBanned = 0x006B,
Playtime = 0x006C, // updated 4.4
Logout = 0x0077, // updated 4.4
Playtime = 0x006C, // updated 4.5
Logout = 0x0077, // updated 4.5
CFNotify = 0x0078,
CFMemberStatus = 0x0079,
CFDutyInfo = 0x007A,
@ -73,157 +73,157 @@ namespace Sapphire::Network::Packets
SocialRequestResponse = 0x00BB, // updated 4.1
CancelAllianceForming = 0x00C6, // updated 4.2
Chat = 0x00F4, // updated 4.4
SocialList = 0x00FB, // updated 4.4
Chat = 0x00F7, // updated 4.5?
SocialList = 0x0103, // updated 4.5
UpdateSearchInfo = 0x00FE, // updated 4.4
InitSearchInfo = 0x00FF, // updated 4.4
UpdateSearchInfo = 0x0106, // updated 4.5
InitSearchInfo = 0x0107, // updated 4.4
ExamineSearchComment = 0x0102, // updated 4.1
ServerNotice = 0x0104, // updated 4.4
SetOnlineStatus = 0x0105, // updated 4.4
ServerNotice = 0x010C, // updated 4.5
SetOnlineStatus = 0x010D, // updated 4.5
CountdownInitiate = 0x010C, // updated 4.4
CountdownCancel = 0x010D, // updated 4.4
CountdownInitiate = 0x0114, // updated 4.5
CountdownCancel = 0x0115, // updated 4.5
BlackList = 0x0110, // updated 4.4
BlackList = 0x0118, // updated 4.5
LogMessage = 0x00D0,
LinkshellList = 0x0117, // updated 4.4
LinkshellList = 0x011F, // updated 4.5
MailDeleteRequest = 0x0118, // updated 4.4
ReqMoogleMailList = 0x0119, // updated 4.4
ReqMoogleMailLetter = 0x011A, // updated 4.4
MailLetterNotification = 0x011B, // updated 4.4
MailDeleteRequest = 0x0120, // updated 4.5
ReqMoogleMailList = 0x0121, // updated 4.5
ReqMoogleMailLetter = 0x0122, // updated 4.5
MailLetterNotification = 0x0123, // updated 4.5
MarketBoardItemListingCount = 0x011C, // updated 4.4
MarketBoardItemListing = 0x011D, // updated 4.4
MarketBoardItemListingHistory = 0x0121, // updated 4.4
MarketBoardSearchResult = 0x0125, // updated 4.4
MarketBoardItemListingCount = 0x0125, // updated 4.5
MarketBoardItemListing = 0x0126, // updated 4.5
MarketBoardItemListingHistory = 0x012A, // updated 4.5
MarketBoardSearchResult = 0x0139, // updated 4.5
CharaFreeCompanyTag = 0x0127, // updated 4.4
FreeCompanyBoardMsg = 0x0128, // updated 4.4
FreeCompanyInfo = 0x0129, // updated 4.4
ExamineFreeCompanyInfo = 0x013A, // updated 4.1
CharaFreeCompanyTag = 0x013B, // updated 4.5
FreeCompanyBoardMsg = 0x013C, // updated 4.5
FreeCompanyInfo = 0x013D, // updated 4.5
ExamineFreeCompanyInfo = 0x013E, // updated 4.5
StatusEffectList = 0x0149, // updated 4.4
Effect = 0x014C, // updated 4.4
AoeEffect8 = 0x014F, // updated 4.4
AoeEffect16 = 0x0150, // updated 4.4
AoeEffect24 = 0x0151, // updated 4.4
AoeEffect32 = 0x0152, // updated 4.4
PersistantEffect = 0x0153, // updated 4.4
StatusEffectList = 0x0151, // updated 4.5
Effect = 0x0154, // updated 4.5
AoeEffect8 = 0x0157, // updated 4.5
AoeEffect16 = 0x0158, // updated 4.5
AoeEffect24 = 0x0159, // updated 4.5
AoeEffect32 = 0x015A, // updated 4.5
PersistantEffect = 0x015B, // updated 4.5
GCAffiliation = 0x015D, // updated 4.4
GCAffiliation = 0x0165, // updated 4.5
PlayerSpawn = 0x016D, // updated 4.4
NpcSpawn = 0x016E, // updated 4.4
ActorMove = 0x0170, // updated 4.4
ActorSetPos = 0x0172, // updated 4.4
PlayerSpawn = 0x0175, // updated 4.5
NpcSpawn = 0x0176, // updated 4.5
ActorMove = 0x0178, // updated 4.5
ActorSetPos = 0x017A, // updated 4.5
ActorCast = 0x0174, // updated 4.4
ActorCast = 0x017C, // updated 4.5
PartyList = 0x0176, // updated 4.4
HateList = 0x0177, // updated 4.4
PartyList = 0x017E, // updated 4.5
HateList = 0x017F, // updated 4.5
ObjectSpawn = 0x0179, // updated 4.4
ObjectDespawn = 0x017A, // updated 4.4
ObjectSpawn = 0x0181, // updated 4.5
ObjectDespawn = 0x0182, // updated 4.5
UpdateClassInfo = 0x017B, // updated 4.4
SilentSetClassJob = 0x017C, // updated 4.4 - seems to be the case, not sure if it's actually used for anything
UpdateClassInfo = 0x0183, // updated 4.5
SilentSetClassJob = 0x0184, // updated 4.5 - seems to be the case, not sure if it's actually used for anything
InitUI = 0x017D, // updated 4.4
PlayerStats = 0x017E, // updated 4.4
ActorOwner = 0x017F, // updated 4.4 ?
PlayerStateFlags = 0x0180, // updated 4.4
PlayerClassInfo = 0x0181, // updated 4.4
ModelEquip = 0x0182, // updated 4.4
Examine = 0x0183, // updated 4.4
CharaNameReq = 0x0185, // updated 4.4
InitUI = 0x0185, // updated 4.5
PlayerStats = 0x0186, // updated 4.5
ActorOwner = 0x0187, // updated 4.5
PlayerStateFlags = 0x0188, // updated 4.5
PlayerClassInfo = 0x0189, // updated 4.5
ModelEquip = 0x018A, // updated 4.5
Examine = 0x018B, // updated 4.5
CharaNameReq = 0x018D, // updated 4.5
SetLevelSync = 0x0186, // not updated for 4.4, not sure what it is anymore
ItemInfo = 0x018C, // updated 4.4
ContainerInfo = 0x018D, // updated 4.4
InventoryTransactionFinish = 0x018E, // updated 4.4
InventoryTransaction = 0x018F, // updated 4.4
CurrencyCrystalInfo = 0x0190, // updated 4.4
InventoryActionAck = 0x0193, // updated 4.4
UpdateInventorySlot = 0x0194, // updated 4.4
ItemInfo = 0x0196, // updated 4.5
ContainerInfo = 0x0197, // updated 4.5
InventoryTransactionFinish = 0x0198, // updated 4.5
InventoryTransaction = 0x0199, // updated 4.5
CurrencyCrystalInfo = 0x019B, // updated 4.5
InventoryActionAck = 0x019D, // updated 4.5
UpdateInventorySlot = 0x019E, // updated 4.5
EventPlay = 0x01A2, // updated 4.4
EventOpenGilShop = 0x01A9, // updated 4.4
DirectorPlayScene = 0x01A6, // updated 4.4
EventPlay = 0x01AB, // updated 4.5
DirectorPlayScene = 0x01AF, // updated 4.5
EventOpenGilShop = 0x01B2, // updated 4.5
EventStart = 0x01AB, // updated 4.4
EventFinish = 0x01AC, // updated 4.4
EventStart = 0x01B4, // updated 4.5
EventFinish = 0x01B5, // updated 4.5
EventLinkshell = 0x1169,
QuestActiveList = 0x01BF, // updated 4.4
QuestUpdate = 0x01C0, // updated 4.4
QuestCompleteList = 0x01C1, // updated 4.4
QuestActiveList = 0x01C8, // updated 4.5
QuestUpdate = 0x01C9, // updated 4.5
QuestCompleteList = 0x01CA, // updated 4.5
QuestFinish = 0x01C2, // updated 4.4
MSQTrackerComplete = 0x01C3, // updated 4.4
MSQTrackerProgress = 0x01C4, // updated 4.4
QuestFinish = 0x01CB, // updated 4.5
MSQTrackerComplete = 0x01CC, // updated 4.5
MSQTrackerProgress = 0xF1CD, // updated 4.5 ? this actually looks like the two opcodes have been combined, see #474
QuestMessage = 0x01CA, // updated 4.4
QuestMessage = 0x01D3, // updated 4.5
QuestTracker = 0x01CF, // updated 4.4
QuestTracker = 0x01D8, // updated 4.5
Mount = 0x01DF, // updated 4.4
Mount = 0x01E8, // updated 4.5
DirectorVars = 0x01E1, // updated 4.4
DirectorVars = 0x01EA, // updated 4.5
CFAvailableContents = 0xF1FD, // updated 4.2
WeatherChange = 0x01FC, // updated 4.4
PlayerTitleList = 0x01FD, // updated 4.4
Discovery = 0x01FE, // updated 4.4
WeatherChange = 0x0205, // updated 4.5
PlayerTitleList = 0x0206, // updated 4.5?
Discovery = 0x0207, // updated 4.5?
EorzeaTimeOffset = 0x0200, // updated 4.4
EorzeaTimeOffset = 0x0209, // updated 4.5
EquipDisplayFlags = 0x020C, // updated 4.4
EquipDisplayFlags = 0x0215, // updated 4.5
/// Housing //////////////////////////////////////
LandSetInitialize = 0x0220, // updated 4.4
LandUpdate = 0x0221, // updated 4.4
YardObjectSpawn = 0x0222, // updated 4.4
HousingIndoorInitialize = 0x0223,
LandPriceUpdate = 0x0224, // updated 4.4
LandInfoSign = 0x0225, // updated 4.4
LandRename = 0x0226, // updated 4.4
HousingEstateGreeting = 0x0227, // updated 4.4
HousingUpdateLandFlagsSlot = 0x0228, // updated 4.4
HousingLandFlags = 0x0229, // updated 4.4
HousingShowEstateGuestAccess = 0x022A, // updated 4.4
LandSetInitialize = 0x0229, // updated 4.5
LandUpdate = 0x022A, // updated 4.5
YardObjectSpawn = 0x022B, // updated 4.5
HousingIndoorInitialize = 0x022C, // updated 4.5
LandPriceUpdate = 0x022D, // updated 4.5
LandInfoSign = 0x022E, // updated 4.5
LandRename = 0x022F, // updated 4.5
HousingEstateGreeting = 0x0230, // updated 4.5
HousingUpdateLandFlagsSlot = 0x0231, // updated 4.5
HousingLandFlags = 0x0232, // updated 4.5
HousingShowEstateGuestAccess = 0x0233, // updated 4.5
HousingObjectInitialize = 0x022C, // updated 4.4
HousingInternalObjectSpawn = 0x22D, // updated 4.4
HousingObjectInitialize = 0x0235, // updated 4.45
HousingInternalObjectSpawn = 0x236, // updated 4.5
HousingWardInfo = 0x022F, // updated 4.4
HousingObjectMove = 0x0230, // updated 4.4
HousingWardInfo = 0x0238, // updated 4.5
HousingObjectMove = 0x0239, // updated 4.5
SharedEstateSettingsResponse = 0x023C, // updated 4.4
SharedEstateSettingsResponse = 0x0245, // updated 4.5
LandUpdateHouseName = 0x024D, // updated 4.4
LandUpdateHouseName = 0x0257, // updated 4.5
LandSetMap = 0x0251, // updated 4.4
LandSetMap = 0x025B, // updated 4.5
//////////////////////////////////////////////////
DuelChallenge = 0x0277, // 4.2; this is responsible for opening the ui
PerformNote = 0x0286, // updated 4.3
PrepareZoning = 0x028F, // updated 4.4
PrepareZoning = 0x0299, // updated 4.5
ActorGauge = 0x0292, // updated 4.3
// Unknown IPC types that still need to be sent
// TODO: figure all these out properly
IPCTYPE_UNK_320 = 0x0249, // updated 4.4
IPCTYPE_UNK_322 = 0x024B, // updated 4.4
IPCTYPE_UNK_320 = 0x0253, // updated 4.5
IPCTYPE_UNK_322 = 0x0255, // updated 4.5
};
@ -251,24 +251,24 @@ namespace Sapphire::Network::Packets
SocialReqSendHandler = 0x00AE, // updated 4.1
CreateCrossWorldLS = 0x00AF, // updated 4.3
ChatHandler = 0x00D3, // updated 4.3
ChatHandler = 0x00D7, // updated 4.5
SocialListHandler = 0x00DB, // updated 4.3
ReqSearchInfoHandler = 0x00E0, // updated 4.3
ReqExamineSearchCommentHandler = 0x00E1, // updated 4.1
SocialListHandler = 0x00DF, // updated 4.5
ReqSearchInfoHandler = 0x00E4, // updated 4.5
ReqExamineSearchCommentHandler = 0x00E5, // updated 4.5
SetSearchInfoHandler = 0x00DE, // updated 4.3
SetSearchInfoHandler = 0x00E2, // updated 4.3
BlackListHandler = 0x00EC, // updated 4.3
PlayerSearchHandler = 0x00E2, // updated 4.2
BlackListHandler = 0x00F0, // updated 4.5
PlayerSearchHandler = 0x00E6, // updated 4.5
LinkshellListHandler = 0x00F4, // updated 4.3
LinkshellListHandler = 0x00F8, // updated 4.5
MarketBoardRequestItemListingInfo = 0x00FE, // updated 4.4
MarketBoardRequestItemListings = 0x00FF, // updated 4.4
MarketBoardSearch = 0x0103, // updated 4.4
MarketBoardRequestItemListingInfo = 0x0102, // updated 4.5
MarketBoardRequestItemListings = 0x0103, // updated 4.5
MarketBoardSearch = 0x0107, // updated 4.5
ReqExamineFcInfo = 0x010F, // updated 4.1
ReqExamineFcInfo = 0x0113, // updated 4.1
FcInfoReqHandler = 0x011A, // updated 4.2
@ -276,21 +276,21 @@ namespace Sapphire::Network::Packets
ReqJoinNoviceNetwork = 0x0129, // updated 4.2
ReqCountdownInitiate = 0x012F, // updated 4.4
ReqCountdownCancel = 0x0130, // updated 4.4
ClearWaymarks = 0x0131, // updated 4.4
ReqCountdownInitiate = 0x0133, // updated 4.5
ReqCountdownCancel = 0x0134, // updated 4.5
ClearWaymarks = 0x0135, // updated 4.5
ZoneLineHandler = 0x0133, // updated 4.4
ClientTrigger = 0x0134, // updated 4.4 was 13D in 4.3
DiscoveryHandler = 0x0135, // updated 4.4
ZoneLineHandler = 0x0137, // updated 4.5
ClientTrigger = 0x0138, // updated 4.5
DiscoveryHandler = 0x0139, // updated 4.5
AddWaymark = 0x013F, // updated 4.3
AddWaymark = 0x0143, // updated 4.3
SkillHandler = 0x0137, // updated 4.4
GMCommand1 = 0x0138, // updated 4.4
GMCommand2 = 0x0139, // updated 4.4
SkillHandler = 0x013B, // updated 4.5
GMCommand1 = 0x013B, // updated 4.5
GMCommand2 = 0x013C, // updated 4.5
UpdatePositionHandler = 0x013B, // updated 4.4 was 144
UpdatePositionHandler = 0x013F, // updated 4.5
UpdatePositionInstance = 0x0183, // updated 4.3
InventoryModifyHandler = 0x0142, // updated 4.4

View file

@ -759,7 +759,9 @@ struct FFXIVIpcInitZone : FFXIVIpcBasePacket< InitZone >
uint32_t unknown9;
uint32_t unknown10;
uint32_t unknown11;
uint32_t unknown12[4];
Common::FFXIVARR_POSITION3 pos;
uint32_t unknown13;
};

View file

@ -21,7 +21,7 @@ Sapphire::Data::ExdDataGenerated g_exdData;
using namespace Sapphire;
//const std::string datLocation( "/opt/sapphire_3_15_0/bin/sqpack" );
const std::string datLocation( "C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack" );
const std::string datLocation( "/mnt/c/Program Files (x86)/Steam/steamapps/common/FINAL FANTASY XIV Online/game/sqpack" );
int main()
@ -36,22 +36,14 @@ int main()
return 0;
}
//Logger::info( "getting id list " );
//auto idList = g_exdData.getGilShopIdList();
//Logger::info( "getting id list done" );
//for( auto id : idList )
auto gld = g_exdData.get< Sapphire::Data::ClassJob >( 1 );
if( gld )
{
auto teri1 = g_exdData.get< Sapphire::Data::GilShopItem >( 262440, 0 );
Logger::info( "0 -> {0}", teri1->item );
auto teri2 = g_exdData.get< Sapphire::Data::GilShopItem >( 262440, 1 );
Logger::info( "1 -> {0} ", teri2->item );
auto teri3 = g_exdData.get< Sapphire::Data::GilShopItem >( 262440, 2 );
Logger::info( "2 -> {0}", teri3->item );
Logger::info( "got {0}", gld->name );
}
else
Logger::warn( "failed to get classjob {}", 1 );
return 0;
}