-
Notifications
You must be signed in to change notification settings - Fork 190
Update data.yml #1412
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update data.yml #1412
Conversation
Additionally, I found that the function __int64 __fastcall ProcessPacketNpcYell(__int64 *packet)
{
int message; // r8d
int u8; // r9d
__int64 sourceID; // rdx
__int128 u10; // [rsp+30h] [rbp-28h] BYREF
message = *((unsigned __int16 *)packet + 6); // 0xC
u8 = *((_DWORD *)packet + 2); // 0x8
sourceID = *packet; // 0x0
u10 = *((_OWORD *)packet + 1); // 0x10
return sub_1409D4DA0((unsigned int)&g_Client::Game::UI::GoldSaucerYell_Instance, sourceID, message, u8, (__int64)&u10);
} Maybe |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you have a look at those 2 addresses again?
ida/data.yml
Outdated
0x140A39D10: ProcessPacketEquipDisplayFlags | ||
0x140A39DE0: ProcessPacketCompletedAchievements | ||
0x140A39E30: ProcessPacketLandSetInitialize | ||
0x140A3B4D0: ProcessPacketDailyQuests |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This address resolves to something GcArmyExpedition (Squadron) related.
Couldn't find anything matching its name up to 10 versions back.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
0x140A3B4D0: ProcessPacketGcArmyExpeditionMissionResult
I have renamed the function. It is triggered by interacting with the Squadron Sergeant after completing a Squadron mission.
ida/data.yml
Outdated
0x140A39B90: ProcessPacketRSVData | ||
0x140A39BB0: ProcessPacketRSFData | ||
0x140A39C10: ProcessPacketHuntingLogEntry | ||
0x140A39C50: ProcessPacketNPCYell | ||
0x140A39D10: ProcessPacketEquipDisplayFlags | ||
0x140A39DE0: ProcessPacketCompletedAchievements | ||
0x140A39E30: ProcessPacketLandSetInitialize |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This address resolves to something Achievement related.
It seems to be matching an address in 7.2hf1. Here the correct address for 7.21:
0x140A39E30: ProcessPacketLandSetInitialize | |
0x140A3A510: ProcessPacketLandSetInitialize |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have some more comments after looking at those functions, but I'd like to make clear, that:
1) I'm not a maintainer - just someone who contributes a lot and looks at things.
2) I didn't test any of these addresses, so I can only guess as to what they do based on static analysis.
ida/data.yml
Outdated
0x140A39E10: ProcessPacketAchievementNearCompletion | ||
0x140A39E30: ProcessPacketAchievementMergeBitmask | ||
0x140A3A510: ProcessPacketLandSetInitialize | ||
0x140A3B450: ProcessPacketGcArmyExpeditionInfo |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This updates the GcArmyData.Members and the agents/addons GcArmyMemberList, and GcArmyMenberProfile (that's SE's typo, not ours).
ida/data.yml
Outdated
0x140A39E30: ProcessPacketAchievementMergeBitmask | ||
0x140A3A510: ProcessPacketLandSetInitialize | ||
0x140A3B450: ProcessPacketGcArmyExpeditionInfo | ||
0x140A3B490: ProcessPacketGcArmyExpeditionInfo2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems to update progress, stats and available expeditions in GcArmyData.
ida/data.yml
Outdated
0x140A3B510: ProcessPacketGcArmyExpeditionEnlistment | ||
0x140A3B610: ProcessPacketLandSetMap | ||
0x140A3B650: ProcessPacketMissionStart | ||
0x140A3B710: ProcessPacketGcArmyExpeditionDailyQuestRepeatFlags | ||
0x140A3B710: ProcessPacketGcArmyExpeditionMissionRepeatFlags |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This has nothing to do with Expeditions or DailyQuests. It has something to do with ENpcs, but I don't know in what way.
ida/data.yml
Outdated
@@ -1041,11 +1041,20 @@ classes: | |||
0x140A3DBF0: ctor | |||
0x140A3E6A0: Finalizer | |||
0x140A3E740: Initialize | |||
0x140A3ED50: ProcessPacketInventoryTransaction | |||
0x140A3F110: ProcessPacketMarketBoardInfo |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This updates InventoryManager.RetainerMarketPrices.
ida/data.yml
Outdated
0x140A3BDF0: ProcessPacketMount | ||
0x140A3C5A0: ProcessPacketPrepareZoning | ||
0x140A3C600: ProcessPacketFall | ||
0x140A3C660: ProcessPacketMSQTrackerComplete |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The "MSQTracker" is called ScenarioTree. At the very end, it also seems to save some value from the ScenarioTree sheet (column Unknown0) into an MsqProgress config option (under certain conditions). I didn't even know that's a thing. 🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your review!
By the way, I noticed that some of these functions eventually call
Component::Exd::ExdModule_GetRowBySheetIndexAndRowId(*(_QWORD *)(g_Client::System::Framework::Framework_InstancePointer2 + 11072), 612i64, a1);
Is there a way to find out what the sheet name is for a given SheetIndex
? (In this case 612)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, sheet indexes are in a the sqpack 0a0000
inside the exd/root.exl
file (basically a csv file).
612 is ScenarioTree
You can extract it with https://github.com/NotNite/Alpha/ for example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot! I can now successfully read the exd/root.exl
file with FFXIV Explorer.
functions related to
ProcessPacket