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

Fixed black screen on new character, fixed servernotice size, initial initui adjustments.

This commit is contained in:
Mordred 2019-01-09 23:57:49 +01:00
parent 07d0dc59ea
commit 1cc38c0cca
6 changed files with 128 additions and 125 deletions

View file

@ -185,7 +185,7 @@ enum ActorControlType : uint16_t
LogMsg = 0x205, // LogMessage? LogMsg = 0x205, // LogMessage?
AchievementMsg = 0x206, AchievementMsg = 0x206,
SetItemLevel = 0x209, SetItemLevel = 0x207, //updated 4.5 ( 0x209 before )
ChallengeEntryCompleteMsg = 0x20B, ChallengeEntryCompleteMsg = 0x20B,
ChallengeEntryUnlockMsg = 0x20C, ChallengeEntryUnlockMsg = 0x20C,

View file

@ -158,7 +158,7 @@ struct FFXIVIpcServerNotice :
FFXIVIpcBasePacket< ServerNotice > FFXIVIpcBasePacket< ServerNotice >
{ {
/* 0000 */ uint8_t padding; /* 0000 */ uint8_t padding;
char message[307]; char message[775];
}; };
struct FFXIVIpcSetOnlineStatus : struct FFXIVIpcSetOnlineStatus :
@ -783,8 +783,8 @@ struct FFXIVIpcInitUI : FFXIVIpcBasePacket< InitUI >
unsigned int fishCaught; unsigned int fishCaught;
unsigned int useBaitCatalogId; unsigned int useBaitCatalogId;
unsigned int unknown28; unsigned int unknown28;
unsigned short unknownPvp2C; unsigned __int16 unknownPvp2C;
unsigned short unknown3; unsigned __int16 unknown3;
unsigned int pvpFrontlineOverallCampaigns; unsigned int pvpFrontlineOverallCampaigns;
unsigned int unknownTimestamp34; unsigned int unknownTimestamp34;
unsigned int unknownTimestamp38; unsigned int unknownTimestamp38;
@ -793,122 +793,123 @@ struct FFXIVIpcInitUI : FFXIVIpcBasePacket< InitUI >
unsigned int unknown44; unsigned int unknown44;
float companionTimePassed; float companionTimePassed;
unsigned int unknown4C; unsigned int unknown4C;
unsigned short unknown50; unsigned __int16 unknown50;
unsigned short unknownPvp52[4]; unsigned __int16 unknownPvp52[4];
unsigned short playerCommendations; unsigned __int16 playerCommendations;
unsigned short unknown5C; unsigned __int16 unknown5C;
unsigned short unknown5E; unsigned __int16 unknown5E;
unsigned short pvpFrontlineWeeklyCampaigns; unsigned __int16 pvpFrontlineWeeklyCampaigns;
unsigned short enhancedAnimaGlassProgress; unsigned __int16 enhancedAnimaGlassProgress;
unsigned short unknown64[4]; unsigned __int16 unknown64[4];
unsigned short pvpRivalWingsTotalMatches; unsigned __int16 pvpRivalWingsTotalMatches;
unsigned short pvpRivalWingsTotalVictories; unsigned __int16 pvpRivalWingsTotalVictories;
unsigned short pvpRivalWingsWeeklyMatches; unsigned __int16 pvpRivalWingsWeeklyMatches;
unsigned short pvpRivalWingsWeeklyVictories; unsigned __int16 pvpRivalWingsWeeklyVictories;
unsigned char maxLevel; unsigned __int8 maxLevel;
unsigned char expansion; unsigned __int8 expansion;
unsigned char unknown76; unsigned __int8 unknown76;
unsigned char race; unsigned __int8 race;
unsigned char tribe; unsigned __int8 tribe;
unsigned char gender; unsigned __int8 gender;
unsigned char currentJob; unsigned __int8 currentJob;
unsigned char currentClass; unsigned __int8 currentClass;
unsigned char deity; unsigned __int8 deity;
unsigned char namedayMonth; unsigned __int8 namedayMonth;
unsigned char namedayDay; unsigned __int8 namedayDay;
unsigned char cityState; unsigned __int8 cityState;
unsigned char homepoint; unsigned __int8 homepoint;
unsigned char unknown81; unsigned __int8 unknown81;
unsigned char petHotBar; unsigned __int8 petHotBar;
unsigned char companionRank; unsigned __int8 companionRank;
unsigned char companionStars; unsigned __int8 companionStars;
unsigned char companionSp; unsigned __int8 companionSp;
unsigned char companionUnk86; unsigned __int8 companionUnk86;
unsigned char companionColor; unsigned __int8 companionColor;
unsigned char companionFavoFeed; unsigned __int8 companionFavoFeed;
unsigned char unknown89; unsigned __int8 unknown89;
unsigned char unknown8A[4]; unsigned __int8 unknown8A[4];
unsigned char hasRelicBook; unsigned __int8 hasRelicBook;
unsigned char relicBookId; unsigned __int8 relicBookId;
unsigned char unknown90[4]; unsigned __int8 unknown90[4];
unsigned char craftingMasterMask; unsigned __int8 craftingMasterMask;
unsigned char unknown95[10]; unsigned __int8 unknown95[10];
unsigned char unknown9F[2]; unsigned __int8 unknown9F[2];
unsigned char unknownA1[3]; unsigned __int8 unknownA1[3];
unsigned int exp[26]; unsigned int exp[26];
unsigned int unknown108; unsigned int unknown108;
unsigned int pvpTotalExp; unsigned int pvpTotalExp;
unsigned int unknownPvp110; unsigned int unknownPvp110;
unsigned int pvpExp; unsigned int pvpExp;
unsigned int pvpFrontlineOverallRanks[3]; unsigned int pvpFrontlineOverallRanks[3];
unsigned __int16 levels[26];
unsigned int exploratoryMissionNextTimestamp; unsigned int exploratoryMissionNextTimestamp;
unsigned short levels[26]; unsigned __int16 unknown15C[9];
unsigned short unknown15C[9]; unsigned __int16 fishingRecordsFish[26];
unsigned short fishingRecordsFish[26]; unsigned __int16 fishingRecordsFishWeight[26];
unsigned short fishingRecordsFishWeight[26]; unsigned __int16 beastExp[11];
unsigned short beastExp[11]; unsigned __int16 unknown1EA[5];
unsigned short unknown1EA[5]; unsigned __int16 pvpFrontlineWeeklyRanks[3];
unsigned short pvpFrontlineWeeklyRanks[3]; unsigned __int16 unknownMask1FA[3];
unsigned short unknownMask1FA[3]; unsigned __int8 companionName[21];
unsigned char companionName[21]; unsigned __int8 companionDefRank;
unsigned char companionDefRank; unsigned __int8 companionAttRank;
unsigned char companionAttRank; unsigned __int8 companionHealRank;
unsigned char companionHealRank; unsigned __int8 mountGuideMask[17];
unsigned char mountGuideMask[17];
char name[32]; char name[32];
unsigned char unknownOword[16]; unsigned __int8 unknownOword[15];
unsigned char unknown258; unsigned __int8 unlockBitmask[64];
unsigned char unlockBitmask[64]; unsigned __int8 aetheryte[17];
unsigned char aetheryte[17]; unsigned __int8 unknown258;
unsigned char discovery[421]; unsigned __int8 chocoboTaxiMask[8];
unsigned char howto[33]; unsigned __int8 unknown11111[118];
unsigned char minions[40]; unsigned __int8 companionBardingMask[9];
unsigned char chocoboTaxiMask[8]; unsigned __int8 companionEquippedHead;
unsigned char watchedCutscenes[115]; unsigned __int8 companionEquippedBody;
unsigned char companionBardingMask[9]; unsigned __int8 companionEquippedLegs;
unsigned char companionEquippedHead; unsigned __int8 unknown519[4];
unsigned char companionEquippedBody; unsigned __int8 unknownMask51D[11];
unsigned char companionEquippedLegs; unsigned __int8 fishingGuideMask[89];
unsigned char unknown519[4]; unsigned __int8 fishingSpotVisited[25];
unsigned char unknownMask51D[11]; unsigned __int8 unknown59A[15];
unsigned char fishingGuideMask[89]; unsigned __int8 unknown5A9[2];
unsigned char fishingSpotVisited[25]; unsigned __int8 unknownPvp5AB[2];
unsigned char unknown59A[15]; unsigned __int8 beastRank[11];
unsigned char unknown5A9[2]; unsigned __int8 pose;
unsigned char unknownPvp5AB[2]; unsigned __int8 weaponPose;
unsigned char pvpLevel; unsigned __int8 unknownMask5C4[3];
unsigned char beastRank[11]; unsigned __int8 unknown5C9[2];
unsigned char unknown5B9[11]; unsigned __int8 challengeLogComplete[9];
unsigned char pose; unsigned __int8 unknownMask5DD[28];
unsigned char weaponPose; unsigned __int8 tripleTriadCards[30];
unsigned char unknownMask5C4[3]; unsigned __int8 unknownMask673[10];
unsigned char unknown5C9[2]; unsigned __int8 unknown5B9[11];
unsigned char challengeLogComplete[9]; unsigned __int8 unknown5D4[11];
unsigned char unknown5D4[11]; unsigned __int8 unknown694[3];
unsigned char unknownMask5DD[28]; unsigned __int8 pvpLevel;
unsigned char relicCompletion[12]; unsigned __int8 unknown67D;
unsigned char sightseeingMask[26]; unsigned __int8 howto[34];
unsigned char huntingMarkMask[55]; unsigned __int8 minions[42];
unsigned char tripleTriadCards[30]; unsigned __int8 watchedCutscenes[118];
unsigned char unknownMask673[10]; unsigned __int8 discovery[421];
unsigned char unknown67D; unsigned __int8 relicCompletion[12];
unsigned char aetherCurrentMask[22]; unsigned __int8 sightseeingMask[26];
unsigned char unknown694[3]; unsigned __int8 huntingMarkMask[55];
unsigned char orchestrionMask[40]; unsigned __int8 aetherCurrentMask[22];
unsigned char hallOfNoviceCompleteMask[3]; unsigned __int8 orchestrionMask[40];
unsigned char animaCompletion[11]; unsigned __int8 hallOfNoviceCompleteMask[3];
unsigned char unknown6CD[16]; unsigned __int8 animaCompletion[11];
unsigned char unknownMask6DB[11]; unsigned __int8 unknown6CD[16];
unsigned char unlockedRaids[28]; unsigned __int8 unknownMask6DB[11];
unsigned char unlockedDungeons[18]; unsigned __int8 unlockedRaids[28];
unsigned char unlockedGuildhests[10]; unsigned __int8 unlockedDungeons[18];
unsigned char unlockedTrials[8]; unsigned __int8 unlockedGuildhests[10];
unsigned char unlockedPvp[5]; unsigned __int8 unlockedTrials[8];
unsigned char clearedRaids[28]; unsigned __int8 unlockedPvp[5];
unsigned char clearedDungeons[18]; unsigned __int8 clearedRaids[28];
unsigned char clearedGuildhests[10]; unsigned __int8 clearedDungeons[18];
unsigned char clearedTrials[8]; unsigned __int8 clearedGuildhests[10];
unsigned char clearedPvp[5]; unsigned __int8 clearedTrials[8];
unsigned __int8 clearedPvp[5];
}; };

View file

@ -56,8 +56,8 @@ private:
auto item = player.addItem( itemId, 1, false, true ); auto item = player.addItem( itemId, 1, false, true );
if( item ) //if( item )
player.equipItem( Common::GearSetSlot::Ring2, item, true ); // player.equipItem( Common::GearSetSlot::Ring2, item, true );
player.setOpeningSequence( 1 ); player.setOpeningSequence( 1 );
Scene00001( player ); Scene00001( player );
@ -65,12 +65,13 @@ private:
player.playScene( getId(), 0, NO_DEFAULT_CAMERA | INVIS_ENPC | player.playScene( getId(), 0, NO_DEFAULT_CAMERA | INVIS_ENPC |
CONDITION_CUTSCENE | HIDE_UI | CONDITION_CUTSCENE | HIDE_UI |
HIDE_HOTBAR | SILENT_ENTER_TERRI_ENV, 0, 1, callback ); HIDE_HOTBAR | SILENT_ENTER_TERRI_ENV | SILENT_ENTER_TERRI_BGM | SILENT_ENTER_TERRI_SE |
DISABLE_SKIP | DISABLE_STEALTH, 0, 1, callback );
} }
void Scene00001( Entity::Player& player ) void Scene00001( Entity::Player& player )
{ {
player.playScene( getId(), 1, NO_DEFAULT_CAMERA | HIDE_HOTBAR, 1, 0x32 ); player.playScene( getId(), 1, NO_DEFAULT_CAMERA | HIDE_HOTBAR, 0, 0 );
} }
void Scene00020( Entity::Player& player ) void Scene00020( Entity::Player& player )

View file

@ -81,7 +81,8 @@ private:
player.playScene( getId(), 0, NO_DEFAULT_CAMERA | INVIS_ENPC | player.playScene( getId(), 0, NO_DEFAULT_CAMERA | INVIS_ENPC |
CONDITION_CUTSCENE | HIDE_UI | CONDITION_CUTSCENE | HIDE_UI |
HIDE_HOTBAR | SILENT_ENTER_TERRI_ENV, 0, 1, callback ); HIDE_HOTBAR | SILENT_ENTER_TERRI_ENV | SILENT_ENTER_TERRI_BGM | SILENT_ENTER_TERRI_SE |
DISABLE_SKIP | DISABLE_STEALTH, 0, 1, callback );
} }
void Scene00001( Entity::Player& player ) void Scene00001( Entity::Player& player )

View file

@ -66,7 +66,8 @@ private:
player.playScene( getId(), 0, NO_DEFAULT_CAMERA | INVIS_ENPC | player.playScene( getId(), 0, NO_DEFAULT_CAMERA | INVIS_ENPC |
CONDITION_CUTSCENE | HIDE_UI | CONDITION_CUTSCENE | HIDE_UI |
HIDE_HOTBAR | SILENT_ENTER_TERRI_ENV, 0, 1, callback ); HIDE_HOTBAR | SILENT_ENTER_TERRI_ENV | SILENT_ENTER_TERRI_BGM | SILENT_ENTER_TERRI_SE |
DISABLE_SKIP | DISABLE_STEALTH, 0, 1, callback );
} }
void Scene00001( Entity::Player& player ) void Scene00001( Entity::Player& player )

View file

@ -1694,19 +1694,18 @@ void Sapphire::Entity::Player::sendTitleList()
void void
Sapphire::Entity::Player::sendZoneInPackets( uint32_t param1, uint32_t param2 = 0, uint32_t param3 = 0, uint32_t param4 = 0, Sapphire::Entity::Player::sendZoneInPackets( uint32_t param1, uint32_t param2 = 0, uint32_t param3 = 0, uint32_t param4 = 0,
bool shouldSetStatus = false ) bool shouldSetStatus = false )
{ {
auto zoneInPacket = makeActorControl143( getId(), ZoneIn, param1, param2, param3, param4 ); auto zoneInPacket = makeActorControl143( getId(), ZoneIn, param1, param2, param3, param4 );
auto SetStatusPacket = makeActorControl142( getId(), SetStatus, static_cast< uint8_t >( Common::ActorStatus::Idle ) ); auto SetStatusPacket = makeActorControl142( getId(), SetStatus, static_cast< uint8_t >( Common::ActorStatus::Idle ) );
if( !getGmInvis() ) if( !getGmInvis() )
sendToInRangeSet( zoneInPacket, true ); sendToInRangeSet( zoneInPacket );
if( shouldSetStatus ) if( shouldSetStatus )
sendToInRangeSet( SetStatusPacket ); sendToInRangeSet( SetStatusPacket, true );
else
queuePacket( zoneInPacket ); queuePacket( zoneInPacket );
if( shouldSetStatus )
queuePacket( SetStatusPacket );
setZoningType( Common::ZoneingType::None ); setZoningType( Common::ZoneingType::None );
unsetStateFlag( PlayerStateFlag::BetweenAreas ); unsetStateFlag( PlayerStateFlag::BetweenAreas );