1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-26 14:37:44 +00:00

Greatly improved initui and changed DB and player field sizes

This commit is contained in:
Mordred 2017-12-16 00:41:51 +01:00
parent e574d4035d
commit 33eeb6acb6
6 changed files with 71 additions and 56 deletions

View file

@ -6,7 +6,7 @@
<!-- Ip the lobby server listens on -->
<ListenIp>127.0.0.1</ListenIp>
<!-- Path of FFXIV dat files -->
<DataPath>H:\\SteamLibrary\\steamapps\\common\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack\\ffxiv</DataPath>
<DataPath>C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack\\ffxiv</DataPath>
<!-- <DataPath>/opt/sapphire_3_15_0/bin/sqpack</DataPath> -->
<!-- IP of the lobby server -->
<LobbyHost>127.0.0.1</LobbyHost>

View file

@ -5,7 +5,7 @@
<!-- Ip the zone server conenctions on -->
<ListenIp>127.0.0.1</ListenIp>
<!-- Path of FFXIV dat files -->
<DataPath>H:\\SteamLibrary\\steamapps\\common\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack\\ffxiv</DataPath>
<DataPath>C:\\SquareEnix\\FINAL FANTASY XIV - A Realm Reborn\\game\\sqpack\\ffxiv</DataPath>
<Scripts>
<!-- where compiled scripts are placed -->

View file

@ -42,3 +42,7 @@ MODIFY COLUMN UPDATE_DATE DATETIME NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURR
ALTER TABLE charainfo
ADD `Orchestrion` binary(38) DEFAULT NULL AFTER `Mounts`;
ALTER TABLE `charainfo` CHANGE `Mounts` `Mounts` BINARY(14) NULL DEFAULT NULL;
ALTER TABLE `charainfo` CHANGE `Orchestrion` `Orchestrion` BINARY(40) NULL DEFAULT NULL;
ALTER TABLE `charainfo` CHANGE `Minions` `Minions` BINARY(35) NULL DEFAULT NULL;

View file

@ -678,12 +678,12 @@ struct FFXIVIpcInitZone : FFXIVIpcBasePacket<InitZone>
struct FFXIVIpcInitUI : FFXIVIpcBasePacket<InitUI>
{
uint64_t contentId;
uint32_t unknown_8;
uint32_t unknown_9;
uint32_t unknown8;
uint32_t unknownC;
uint32_t charId;
uint32_t restedExp;
uint16_t unknown_12;
uint8_t unknown_13;
uint16_t unknown18;
uint8_t maxLevel;
uint8_t expansion;
uint8_t race;
uint8_t tribe;
@ -693,9 +693,9 @@ struct FFXIVIpcInitUI : FFXIVIpcBasePacket<InitUI>
uint8_t deity;
uint8_t namedayMonth;
uint8_t namedayDay;
Common::GrandCompany grandCompany;
uint8_t cityState;
uint8_t homepoint;
uint8_t unknown_19;
uint8_t unknown26;
uint8_t petHotBar;
uint8_t companionRank;
uint8_t companionStars;
@ -703,36 +703,36 @@ struct FFXIVIpcInitUI : FFXIVIpcBasePacket<InitUI>
uint8_t companionUnk1;
uint8_t companionColor;
uint8_t companionFavoFeed;
uint8_t companionUnk2[2];
uint16_t companionUnk2;
float companionTimePassed;
uint32_t companionCurrentExp;
uint32_t unknown_1b;
uint32_t unknown38;
uint32_t unknown3C;
uint32_t fishCaught;
uint32_t useBaitCatalogId;
uint32_t unknown_1c;
uint16_t pvpWolfFoldMatches;
uint16_t pvpWolfFoldVictories;
uint16_t pvpWolfFoldWeeklyMatches;
uint16_t pvpWolfFoldWeeklyVictories;
uint16_t pvpStats[6];
uint16_t playerCommendations;
uint8_t pvpStats[14];
uint16_t pvpStats1;
uint32_t frontlineCampaigns;
uint16_t frontlineCampaignsWeekly;
uint8_t unknown_112;
uint8_t currentRelic;
uint8_t currentBook;
uint8_t masterCrafterMask;
uint8_t unknown_001;
uint8_t unknown_002;
uint8_t unknown_003;
uint8_t unknown_004;
uint16_t unknown_005;
uint8_t unknown_114;
uint8_t padding_114;
uint8_t unknown_1141[61];
uint8_t unknown69;
uint8_t unknown6A;
uint8_t unknown6B;
uint32_t unknown6C;
uint8_t unknown70[61];
uint8_t preNamePadding;
char name[32];
uint8_t unknown_54[16];
uint8_t unknown55[4];
uint8_t unknownOword[16];
uint8_t unknownDE[2];
uint16_t levels[25];
uint16_t levelsPadding;
uint32_t exp[25];
uint8_t unlockBitmask[64];
uint8_t aetheryte[16];
@ -741,6 +741,8 @@ struct FFXIVIpcInitUI : FFXIVIpcBasePacket<InitUI>
uint8_t minions[35];
uint8_t chocoboTaxiMask[8];
uint8_t contentClearMask[105];
uint8_t contentClearPadding;
uint16_t unknown422[8];
uint8_t companionBardingMask[8];
uint8_t companionEquippedHead;
uint8_t companionEquippedBody;
@ -750,13 +752,14 @@ struct FFXIVIpcInitUI : FFXIVIpcBasePacket<InitUI>
uint8_t companionDefRank;
uint8_t companionAttRank;
uint8_t companionHealRank;
uint8_t mountGuideMask[13];
uint8_t fishingGuideMask[77];
uint8_t mountGuideMask[14];
uint8_t fishingGuideMask[89];
uint8_t fishingSpotVisited[25];
uint8_t unknown_41;
uint16_t fishingRecordsFish[26];
uint16_t fishingRecordsFishWeight[26];
uint8_t unknown_590[62];
uint8_t unknownMask4[15];
uint8_t unknownMask4Padding;
uint8_t unknown55C[19];
uint8_t rankAmalJaa;
uint8_t rankSylph;
uint8_t rankKobold;
@ -765,6 +768,7 @@ struct FFXIVIpcInitUI : FFXIVIpcBasePacket<InitUI>
uint8_t rankVanu;
uint8_t rankVath;
uint8_t rankMoogle;
uint8_t rankKojin;
uint16_t expAmalJaa;
uint16_t expSylph;
uint16_t expKobold;
@ -773,28 +777,43 @@ struct FFXIVIpcInitUI : FFXIVIpcBasePacket<InitUI>
uint16_t expVanu;
uint16_t expVath;
uint16_t expMoogle;
uint8_t unknown_0341[20];
uint8_t unknownMask0[5];
uint8_t unknown_0342[15];
uint8_t unknownMask1[28];
uint32_t unknownDword0;
uint8_t unknown_0343[12];
uint8_t sightseeingMask[19];
uint8_t unknown_421;
uint16_t expKojin;
uint8_t unknown58A[10];
uint16_t unknown594[5];
uint8_t unknownMask59E[5];
uint8_t unknown5A3[16];
uint8_t unknownMask5B3[28];
uint8_t unknown_03411;
uint32_t unknownDword5D0;
uint8_t relicBookCompletion[12];
uint8_t sightseeingMask[26];
uint16_t unknown_XXX;
uint32_t pvpFrontlineOverall1st;
uint32_t pvpFrontlineOverall2nd;
uint32_t pvpFrontlineOverall3rd;
uint16_t pvpFrontlineWeekly1st;
uint16_t pvpFrontlineWeekly2nd;
uint16_t pvpFrontlineWeekly3rd;
uint8_t unknownRest[32];
uint8_t tripleTriadCards[26];
uint8_t unknownRest1[21];
uint8_t orchestrionMask[38];
uint8_t unknown60E;
uint8_t unknown60F[32];
uint8_t unknown62F[22];
uint8_t tripleTriadCards[27];
uint8_t unknown660[11];
uint8_t unknownMask66B[22];
uint8_t unknown681[3];
uint8_t orchestrionMask[40];
uint8_t hallOfNoviceCompleteMask[3];
uint8_t unknownMask2[11];
uint8_t unknownMask3[16];
uint8_t unknown_500[9];
uint8_t unknownMask6AF[11];
uint8_t unknownMask6BA[16];
uint8_t unknown6CA[13];
uint8_t unlockedRaids[28];
uint8_t unlockedDungeons[18];
uint8_t unlockedGuildhests[10];
uint8_t unlockedTrails[7];
uint8_t unlockedPvp[5];
uint8_t unknownMask71B[28];
uint8_t unknownMask737[18];
uint8_t unknown749[23];
};
/**

View file

@ -579,8 +579,8 @@ private:
uint16_t m_activeTitle;
uint8_t m_titleList[48];
uint8_t m_howTo[33];
uint8_t m_minions[33];
uint8_t m_mountGuide[13];
uint8_t m_minions[35];
uint8_t m_mountGuide[14];
uint8_t m_homePoint;
uint8_t m_startTown;
uint16_t m_townWarpFstFlags;
@ -592,7 +592,7 @@ private:
uint32_t m_expArray[25];
uint8_t m_aetheryte[16];
uint8_t m_unlocks[64];
uint8_t m_orchestrion[38];
uint8_t m_orchestrion[40];
uint8_t m_openingSequence;

View file

@ -42,11 +42,9 @@ private:
m_data.namedayMonth = player.getBirthMonth();
m_data.namedayDay = player.getBirthDay();
// TODO: Support grand company status.
m_data.grandCompany = static_cast< Common::GrandCompany >( player.getGc() );
m_data.cityState = player.getStartTown();
//m_data.gcRank = GCRank::None;
// TODO: Support starting city.
//m_data.startCity = Town::Gridania;
m_data.homepoint = player.getHomepoint();
memset( &m_data.name[0], 0, sizeof( m_data.name ) );
@ -72,16 +70,10 @@ private:
memcpy( m_data.howto, player.getHowToArray(), sizeof( m_data.howto ) );
m_data.unknown_13 = 0x46;
// possibly max level or current level
m_data.unknown1A = 0x46;
m_data.expansion = 2;
//memset( m_data.unlockBitmask, 0xFF, sizeof( m_data.unlockBitmask ) );
//memset( m_data.unknown_0344, 0xFF, sizeof( m_data.unknown_0344 ) );
//memset( m_data.unknown_F4, 0xFF, sizeof( m_data.unknown_F4 ) );
//m_data.pos.x = player->getPos().getX();
//m_data.pos.y = player->getPos().getY();
//m_data.pos.z = player->getPos().getZ();
};
};