easly1989 / ffxiv_act_dfassist

Duty Finder Assist Plugin for ACT, Based on https://github.com/devunt/DFAssist
GNU General Public License v3.0
83 stars 37 forks source link

Hotfix patch broke plugin #52

Closed sleepiebye closed 4 years ago

sleepiebye commented 4 years ago

Seems like SE is going to change things every time they patch T-T Getting errors again after patch...

[08:57:23] Could not find Duty with 29728, report to the dev! [08:57:23] Could not find Duty with 29728, report to the dev! [08:57:23] Q: Matching State Updated [Unknown Duty (29728) - Tanks: 70/73, Healers: 78/65, Dps: 76/32] [08:57:23] Q: Matching State Updated [Unknown Duty (29728) - Tanks: 75/117, Healers: 106/97, Dps: 116/97]

easly1989 commented 4 years ago

This is a real pain... I don't get why at squareenix do they bother changing the codes after every hotfix ffs

easly1989 commented 4 years ago

2.2.8 should at least show the matched duty correctly (or at least i hope it does... let me know).

I still need to find the rest of the packet opcodes, and I honestly don't have enough time to do it ^^'... but it should be ok, even like this, let me know

Melfice commented 4 years ago

2.2.9 still doesnt work for me

easly1989 commented 4 years ago

yeah... i'll need some more time to find the opcodes for the various packets if square continues on this trend of changing the codes on every hotfix I don't know if I can keep up ^^'

easly1989 commented 4 years ago

If someone has the time to look up for the opcodes it would be awesome. As at the moment I'm unable to play or test.

You may want to use the plugin in Debug mode, and check the opcodes received... Honestly I don't know if there is a better way to retrieve them. (I used to check on the main repository of DFAssist, the one that is no more manteined from devunt/Jaehyuk-Lee)

Maybe @ravahn can help us? @xeropresence do you have any experience with this kind of things?

Also, it would be even better to find a consistent way to update this codes dinamically without the need to make new releases every time those changes.

easly1989 commented 4 years ago

I've just done a recheck and the code for matching state should be correct (0x02B0) still, this remains difficult to "follow up" as the square is changing the opcodes on every hotfix :\

user-nm commented 4 years ago

for 5.15 what's working for me is 0x0164 -> 0x0193 0x02B0 -> 0x0135

easly1989 commented 4 years ago

Version 2.2.12 uses the new opcodes, thank you @user-nm

evanoktavians commented 4 years ago

Patch 5.18 broke the plugin again. Opcode changes again. Any idea how we can help fix this if devs are not around?

esibun commented 4 years ago

Got tired of waiting so I took a look at it myself; turns out it's actually pretty easy to get them, submitted PR #64 to update them.

morpheus305 commented 4 years ago

Any chance we can get an update for 5.18?

dsdamod commented 4 years ago

Cheers @esibun it works. Is there any easy guide out there on how to get those opcodes so we could help update them?

YuraTim commented 4 years ago

@dsdamod Don't know how esibun do it but I usually use this tool. https://github.com/karashiiro/FFXIVOpcodeWizard Just start this tool and for the duty pop opcode (option 21 in the tool) start The Vault unsynced.

dsdamod commented 4 years ago

@YuraTim That did the trick, much appreciated.

Chrisnetika commented 4 years ago

I do not have anything or even know what I need to go about fixing it myself.Is there like some kind of config I can edit to update these codes?

Nypheena commented 4 years ago

@dsdamod Don't know how esibun do it but I usually use this tool. https://github.com/karashiiro/FFXIVOpcodeWizard Just start this tool and for the duty pop opcode (option 21 in the tool) start The Vault unsynced.

the tool is uncompiled, is the only way to compile yourself?

YuraTim commented 4 years ago

@ZeroMaki Yes. If you can't compile the tool than you can't recompile dfassist. For 5.18 there is a working PR. You can just compile it.

Chrisnetika commented 4 years ago

assuming you just load it up in Visual Basic.. and then compile? There is also a version of that opcode wizard goat forked and did a couple edits to https://github.com/goaaats/FFXIVOpcodeWizard Goat is the creator of quick launcher and various other ffxiv tools

Nypheena commented 4 years ago

@YuraTim unfortunately can't compile it for the moment.

esibun commented 4 years ago

Build instructions are here in the wiki: https://github.com/easly1989/ffxiv_act_dfassist/wiki/Building-from-Sources - use Visual Studio 2017; 2019 doesn't support the Windows SDK version used in this project. There's no official build with the patched opcodes right now.

I'm not familiar with the FFXIV opcode wizard, I just used a bit of logging to find the data I was looking for and matched up the opcodes.

Nypheena commented 4 years ago

well it wants me to pay for visual studio so can't compile it at the moment. can't find 2017 for free on microsoft site, if I try to get it they want a subscription.

Chrisnetika commented 4 years ago

community edition is free

Nypheena commented 4 years ago

edited

Chrisnetika commented 4 years ago

https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Community&rel=15 try this?

Chrisnetika commented 4 years ago

great , wasted my time downloading and setting up visual basic just to get this Severity Code Description Project File Line Suppression State Warning Could not resolve this reference. Could not locate the assembly "Windows.UI". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. DFAssist.Core
Warning The referenced component 'Windows.UI' could not be found. DFAssist.Core
Warning Could not resolve this reference. Could not locate the assembly "Windows.Data". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. DFAssist.Core
Warning The referenced component 'Windows.Data' could not be found. DFAssist.Core
Warning The referenced component 'FFXIV_ACT_Plugin' could not be found. DFAssist.Plugin
Warning Could not resolve this reference. Could not locate the assembly "Advanced Combat Tracker". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. DFAssist.Plugin
Warning The referenced component 'FFXIV_ACT_Plugin.Common' could not be found. DFAssist.Plugin
Warning Could not resolve this reference. Could not locate the assembly "FFXIV_ACT_Plugin". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. DFAssist.Plugin
Warning Could not resolve this reference. Could not locate the assembly "FFXIV_ACT_Plugin.Common". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors. DFAssist.Plugin
Warning The referenced component 'Advanced Combat Tracker' could not be found. DFAssist.Plugin

Nypheena commented 4 years ago

Add the reference to your Advanced Combat Tracker.exe in DFAssist.csproj

won't let me add path for the ACT reference.

Chrisnetika commented 4 years ago

look in solution explorer, expand the tree for dfassist, right click reference> add references

Nypheena commented 4 years ago

yeah I figured that one out but I don't have plugin.common for ffxiv plugin

Chrisnetika commented 4 years ago

shit does not wanna compile for me, big issue is i'm using latest version of windows 10 that will not let me use .net lower than 4.8 so.. o well

Nypheena commented 4 years ago

I can't find some of the references so I won't be able to compile it.

Chrisnetika commented 4 years ago

Windows.Data and Windows.UI? that where i am stuck

Nypheena commented 4 years ago

yeah and ffxiv_act_plugin.commons

Chrisnetika commented 4 years ago

i was able download 4.7.2 .net sdk and hasn't changed anything either, not gonna waste my day away if I figure something I will try it.I was able to compile opcode wizard but it's useless if I can complile the plugin if i get the codes.

easly1989 commented 4 years ago

I've added a zip file containing all the needed libraries and ACT exe to compile the solution, without too much hassle. Simply update the sources, and extract the zip file (it already has a folder inside it) Opening the solution file should automatically find the libraries (as i've added a relative path to the dll)

I've also removed the hard link to Windows 10 libraries, and added a nuget package to the latest stable (to avoid this kind of problem).

Anyway the opcode race with squareenix is something we cannot win, but just fight unfortunately :( Unless someone finds an automtic/more reliable way to update the opcodes. Beside that, it seems that the opcodes for the KR version are even different from the ones of the rest of the world... I don't get why they are taking all this time to do this ^^'.

p.s. sorry for the late answer but I was (and I still am!) on vacation ^^' Happy new year to every one :)

YuraTim commented 4 years ago

@easly1989 I think it is pretty easy to answer. Opcodes are generated automatically for every build they make based on a source code and/or message descriptions. I don't think that their intention was to fight reverse engineering, it was just the engine design. The opcode race is just a side effect.

Chrisnetika commented 4 years ago

TY, was able to compile but only in VB 2019, and Happy New Year!

stale[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.