mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-04 17:57:47 +00:00
switch from binary to blobs, fix known array sizes in player obj
This commit is contained in:
parent
bd6c2d8531
commit
bd1130fe73
5 changed files with 51 additions and 31 deletions
|
@ -0,0 +1,15 @@
|
|||
-- Migration generated at 2019/07/06 03:52:54
|
||||
-- 20190706035254_ConvertFixedSizeDataToBlobs.sql
|
||||
|
||||
ALTER TABLE `charainfo`
|
||||
CHANGE COLUMN `TitleList` `TitleList` BLOB NULL DEFAULT NULL AFTER `ActiveTitle`,
|
||||
CHANGE COLUMN `Achievement` `Achievement` BLOB NULL DEFAULT NULL AFTER `TitleList`,
|
||||
CHANGE COLUMN `Aetheryte` `Aetheryte` BLOB NULL DEFAULT NULL AFTER `Achievement`,
|
||||
CHANGE COLUMN `HowTo` `HowTo` BLOB NULL DEFAULT NULL AFTER `Aetheryte`,
|
||||
CHANGE COLUMN `Minions` `Minions` BLOB NULL DEFAULT NULL AFTER `HowTo`,
|
||||
CHANGE COLUMN `Mounts` `Mounts` BLOB NULL DEFAULT NULL AFTER `Minions`,
|
||||
CHANGE COLUMN `Orchestrion` `Orchestrion` BLOB NULL DEFAULT NULL AFTER `Mounts`,
|
||||
CHANGE COLUMN `QuestCompleteFlags` `QuestCompleteFlags` BLOB NULL DEFAULT NULL AFTER `ConfigFlags`,
|
||||
CHANGE COLUMN `QuestTracking` `QuestTracking` BLOB NULL DEFAULT NULL AFTER `OpeningSequence`,
|
||||
CHANGE COLUMN `Discovery` `Discovery` BLOB NULL DEFAULT NULL AFTER `GrandCompanyRank`,
|
||||
CHANGE COLUMN `Unlocks` `Unlocks` BLOB NULL DEFAULT NULL AFTER `Pose`;
|
|
@ -22,7 +22,8 @@ void Sapphire::Db::ZoneDbConnection::doPrepareStatements()
|
|||
m_stmts.resize( MAX_STATEMENTS );
|
||||
|
||||
/// CHARA
|
||||
prepareStatement( CHARA_SEL, "SELECT ContentId, Name, Hp, Mp, Tp, Gp, Mode, Mount, InvincibleGM, Voice, "
|
||||
prepareStatement( CHARA_SEL,
|
||||
"SELECT ContentId, Name, Hp, Mp, Tp, Gp, Mode, Mount, InvincibleGM, Voice, "
|
||||
"Customize, ModelMainWeapon, ModelSubWeapon, ModelSystemWeapon, "
|
||||
"ModelEquip, EmoteModeType, FirstLoginTime, Language, IsNewGame, "
|
||||
"IsNewAdventurer, TerritoryType, TerritoryId, PosX, PosY, PosZ, PosR, "
|
||||
|
@ -33,7 +34,8 @@ void Sapphire::Db::ZoneDbConnection::doPrepareStatements()
|
|||
"QuestCompleteFlags, OpeningSequence, QuestTracking, GrandCompany, "
|
||||
"GrandCompanyRank, Discovery, GMRank, EquipDisplayFlags, Unlocks, CFPenaltyUntil, "
|
||||
"Pose "
|
||||
"FROM charainfo WHERE CharacterId = ?;", CONNECTION_SYNC );
|
||||
"FROM charainfo WHERE CharacterId = ?;",
|
||||
CONNECTION_SYNC );
|
||||
|
||||
|
||||
prepareStatement( CHARA_UP,
|
||||
|
@ -47,14 +49,18 @@ void Sapphire::Db::ZoneDbConnection::doPrepareStatements()
|
|||
"ActiveTitle = ?, TitleList = ?, Achievement = ?, Aetheryte = ?, HowTo = ?, Minions = ?, Mounts = ?, Orchestrion = ?, "
|
||||
"EquippedMannequin = ?, ConfigFlags = ?, QuestCompleteFlags = ?, OpeningSequence = ?, "
|
||||
"QuestTracking = ?, GrandCompany = ?, GrandCompanyRank = ?, Discovery = ?, GMRank = ?, EquipDisplayFlags = ?, Unlocks = ?, "
|
||||
"CFPenaltyUntil = ?, Pose = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
|
||||
"CFPenaltyUntil = ?, Pose = ? WHERE CharacterId = ?;",
|
||||
CONNECTION_ASYNC );
|
||||
|
||||
|
||||
prepareStatement( CHARA_SEL_MINIMAL, "SELECT Name, Customize, ModelMainWeapon, ModelSubWeapon, ModelEquip, TerritoryType, GuardianDeity, "
|
||||
prepareStatement( CHARA_SEL_MINIMAL,
|
||||
"SELECT Name, Customize, ModelMainWeapon, ModelSubWeapon, ModelEquip, TerritoryType, GuardianDeity, "
|
||||
"Class, ContentId, BirthDay, BirthMonth, EquipDisplayFlags "
|
||||
"FROM charainfo WHERE CharacterId = ?;", CONNECTION_SYNC );
|
||||
"FROM charainfo WHERE CharacterId = ?;",
|
||||
CONNECTION_SYNC );
|
||||
|
||||
prepareStatement( CHARA_INS, "INSERT INTO charainfo (AccountId, CharacterId, ContentId, Name, Hp, Mp, "
|
||||
prepareStatement( CHARA_INS,
|
||||
"INSERT INTO charainfo (AccountId, CharacterId, ContentId, Name, Hp, Mp, "
|
||||
"Customize, Voice, IsNewGame, TerritoryType, PosX, PosY, PosZ, PosR, ModelEquip, "
|
||||
"IsNewAdventurer, GuardianDeity, Birthday, BirthMonth, Class, Status, FirstClass, "
|
||||
"HomePoint, StartTown, Discovery, HowTo, QuestCompleteFlags, Unlocks, QuestTracking, "
|
||||
|
|
|
@ -152,7 +152,7 @@ namespace Sapphire::Network::Packets
|
|||
CharaNameReq = 0x0198, // updated 5.0
|
||||
|
||||
// nb: see #565 on github
|
||||
UpdateRetainerItemSalePrice = 0x019D, // updated 5.0
|
||||
UpdateRetainerItemSalePrice = 0x019F, // updated 5.0
|
||||
|
||||
SetLevelSync = 0x1186, // not updated for 4.4, not sure what it is anymore
|
||||
|
||||
|
|
|
@ -1036,19 +1036,19 @@ namespace Sapphire::Entity
|
|||
|
||||
uint16_t m_activeTitle;
|
||||
uint8_t m_titleList[48];
|
||||
uint8_t m_howTo[33];
|
||||
uint8_t m_howTo[34];
|
||||
uint8_t m_minions[40];
|
||||
uint8_t m_mountGuide[17];
|
||||
uint8_t m_mountGuide[19];
|
||||
uint8_t m_homePoint;
|
||||
uint8_t m_startTown;
|
||||
uint16_t m_townWarpFstFlags;
|
||||
uint8_t m_questCompleteFlags[476];
|
||||
uint8_t m_discovery[421];
|
||||
uint8_t m_discovery[445];
|
||||
uint32_t m_playTime;
|
||||
|
||||
uint16_t m_classArray[26];
|
||||
uint32_t m_expArray[26];
|
||||
uint8_t m_aetheryte[17];
|
||||
uint16_t m_classArray[28];
|
||||
uint32_t m_expArray[28];
|
||||
uint8_t m_aetheryte[21];
|
||||
uint8_t m_unlocks[64];
|
||||
uint8_t m_orchestrion[40];
|
||||
|
||||
|
|
|
@ -48,7 +48,6 @@ namespace Sapphire::Network::Packets::Server
|
|||
m_data.pose = player.getPose();
|
||||
|
||||
memset( &m_data.name[ 0 ], 0, sizeof( m_data.name ) );
|
||||
|
||||
strcpy( &m_data.name[ 0 ], player.getName().c_str() );
|
||||
|
||||
memcpy( m_data.aetheryte, player.getAetheryteArray(), sizeof( m_data.aetheryte ) );
|
||||
|
|
Loading…
Add table
Reference in a new issue