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

Upgrade to .NET 9 and OTAPI Static Hooks for ARM64 #254

Open
wants to merge 13 commits into
base: general-devel
Choose a base branch
from

Conversation

SignatureBeef
Copy link
Member

@SignatureBeef SignatureBeef commented Jan 3, 2025

This PR aims for the following:

  • Target frameworks & workflows updated to net9.0
  • OTAPI and other packages updated
  • Moved to generated OTAPI static hooks, making MonoMod RD optional/supplemental (though, OTAPI.Runtime.dll is still included for those still utilising it)
    • Note: File scoped namespaces was utilised, which is why the diff is more than expected.
  • Expanded workflow to test each platform
  • Reduced OTAPI/ModFw console outputs (e.g. no tile ctor print, short version codes etc)

Considerations that may flow through to a TShock PR (or sooner if desired):

  • OTAPI Static Hook namespace naming preferences e.g. HookEvents.* vs MonoMod RD On.*
  • OTAPI Static Hook EventArgs property naming preferences e.g. ContinueExecution, HookReturnValue
  • If any extra static hooks are needed, current list includes most methods from the following Terraria types:
    • Main, Item, NetMessage, Netplay, NPC, WorldGen, Chat.ChatHelper, IO.WorldFile, Net.NetManager, Projectile, RemoteClient, Liquid, Program.
  • Apple Silicon / ARM64 testing
  • Plugin updates: at the moment should just be a matter of ticking up to net9.0, and matching dependencies/updating

Screenshots

Windows x64

image
image

MacOS Arm64

image image Joining Mac Arm64 from Win64:

image

@SignatureBeef SignatureBeef requested a review from QuiCM January 3, 2025 14:06
@SignatureBeef SignatureBeef self-assigned this Jan 3, 2025
Copy link
Contributor

@Arthri Arthri left a comment

Choose a reason for hiding this comment

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

I have not tested the changes in game, however, the code changes look good. Thank you for working on this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants