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

Proc Type API - Groove's Worst Mistake #513

Open
wants to merge 13 commits into
base: master
Choose a base branch
from

Conversation

Priscillalala
Copy link
Contributor

An implementation of custom Proc Types that is not limited by the vanilla mask size. Patches a field onto RoR2.ProcChainMask to store modded proc chain mask information.

This is a draft because documentation/readme is not complete, the implementation is still up for debate, and it would currently not deploy properly (hoping someone else can deal with this).

Main Components are:

  • R2API.ProcType - the user-facing API which functions similarly to damage type API; key methods are ReserveProcType and the AddModdedProc, RemoveModdedProc, and HasModdedProc extensions which mirror ProcChainMask.AddProc, ProcChainMask.RemoveProc, and ProcChainMask.HasProc
  • R2API.ProcType.Patcher - patches a field onto RoR2.ProcChainMask to hold modded data
  • R2API.ProcType.Interop - accesses a patched and heavily stripped down version of RoR2 to expose the new field to R2API.ProcType

@Priscillalala Priscillalala marked this pull request as ready for review December 30, 2023 21:47
@Priscillalala
Copy link
Contributor Author

Removed draft status because most of the initial issues have been addressed. Deployment is still a concern. Testing looks good so far; if anyone has time to run some tests of their own I'd appreciate it.

@xiaoxiao921
Copy link
Member

I'll need to think for redeployment for making it generic ish so that other modules would need to do it it would work in a fast manner, it could be that no one but me have any idea on how to do it lol


[[build.copy]]
source = "./ReleaseOutput"
target = "./plugins/R2API.ProcType"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing another entry for the patcher afaik

[[build.copy]]
source = "./ReleaseOutput/PATCHER_DLL"
target = "./patchers/"

outdir = "./build"

[[build.copy]]
source = "./ReleaseOutput"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

source = "./ReleaseOutput/PLUGIN_DLL.dll" instead of the whole folder

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

Successfully merging this pull request may close these issues.

None yet

3 participants