Skip to content
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

What does IINACT depend on that needs to change between updates? #27

Closed
seivan opened this issue Jan 11, 2023 · 5 comments
Closed

What does IINACT depend on that needs to change between updates? #27

seivan opened this issue Jan 11, 2023 · 5 comments

Comments

@seivan
Copy link

seivan commented Jan 11, 2023

If IINACT and/or any of its internally used modules maintained by others are updated. How do I add the changes from the Git repo to an IINACT bundled with XIVOnMac?

XIVOnMac doesn't give you an optional to actually install IINACT, but just to "launch" it. So I was wondering if I wanted to try out the master branch here, or my own branch with changes from upstream, how would I go about it?

Related: #26 (comment)

@marzent
Copy link
Owner

marzent commented Jan 11, 2023

This was already partially answered in #26, but if you want to try out a different version of IINACT with XOM you can just manually replace the .exe it launches while leaving the version file alone (if there is an update available it will override yours though)

@seivan
Copy link
Author

seivan commented Jan 11, 2023

@marzent I see, I also found the update process so it does look like it will update on launch. So launch is both install and launch in one and it always goes for main/master and checks version before, correct?

@marzent
Copy link
Owner

marzent commented Jan 11, 2023

Correct it will update on launch, however it will grab the latest release which is not necessarily whatever is on main

@seivan
Copy link
Author

seivan commented Jan 11, 2023

I see, so the bottleneck now is FFXIV_ACT_Plugin that needs to e.g reverse engineer the binary protocol that changes between Square builds/patches.

Assume for the sake of argument that it gets completed, how would that be added/used by IINACT for a pull request?

How does the OverlayPlugin fit into this? Is it safe to assume remains stable between patches because it's not responsible for decoding the client traffic which falls under FFXIV_ACT_Plugin purvey?

Bonus question: Is it possible to swap out the existing installed FFXIV_ACT_Plugin by an existing IINACT installation, with a different one without having to update IINACT? For faster feedback loop for testing purposes?

@marzent
Copy link
Owner

marzent commented Jan 11, 2023

IINACT will automatically pull the latest version of the parsing plugin by itself on startup (similar to how ACT does not need an update when its parsing plugin updates)

OverlayPlugin has been interacting more and more with the network log lately (and has always enriched the information it provides via web socket with reading game memory), so it will need frequent updates, although mostly only cactbot uses the additional loglines and extra information it provides, i.e. normal damage parsing works without IINACT updates (sometimes even cactbot if the memory sigs do not change).

The vanilla ACT cactbot is also technically a OverlayPlugin plugin, but with IINACT they are integrated into one project. Upstream OverlayPlugin (OverlayPlugin/OverlayPlugin#90) is also working on this but they are not quite there yet.

Interesting side note: After ngld abandoned OverlayPlugin the IINACT version was created months before the new community ACT one so they did develop a bit independent of each other.

Regarding the bonus question: As mentioned above IINACT can load any FFXIV_ACT_Plugin version, however there is a neat little easter egg if you want to load a beta or something custom; you can just delete all contents of the external_dependencies folder and take the published .zip from Ravahn, rename it to FFXIV_ACT_Plugin.zip and place it inside external_dependencies which will make IINACT pick it up instead. You can double check the FFXIV_ACT_Plugin version in the network log afterwards, there is a log line at the start like:
253|2023-01-11T11:04:53.6655686+01:00|This is IINACT based on FFXIV_ACT_Plugin 2.6.7.1|1cfa46d4ccfeceb4

@marzent marzent closed this as completed Jan 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants