-
Notifications
You must be signed in to change notification settings - Fork 85
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
Migration to Harmony #1060
Migration to Harmony #1060
Conversation
is this the continuation of my initiative #865 ? might worth saying fixes 865 |
Yes, the plan is to fix all issues regards to harmony and finally forget about |
that is a load off my shoulders! thanks! |
we could use reverse patch strategy instead of using static global args struct to pass on arguments But that is too complicated ( I can't understand that code) and if it is hard to understand it is hard to maintain. also not sure if it will be compatible if other people also want to patch the same methods. |
I'll take a look into it. One thing I found is that on Linux Harmony reverse patches tend to cause issues because it seems that mono runtime on linux is way more aggressive when it comes to method inlining. I'll go for easiest route to remove Personally I think it needs to work the same as before, before we will start improving/refactoring that code. |
Tested this last night. Seems like a step in the right direction. It solved some of the issues I've been having on Linux. |
- Replaced ParkingAI reverse redirections with fast delegates (IPassengerCarAIConnection) - Removed unused redirections from CustomCarAI(will be replaced anyways) - Migrated more than half of all redirection to Harmony (10 types left)
I've only played for a few hours but tried using TM:PE and loaded the game 4 times and so far so good. This work is awesome, thank you @krzychu124. |
… for FullDebug target
…n from CustomPathManager to ExtPathManager
Pretty much everything was migrated, removed obsolete Mod still works, Linux users should finally use the mod without any weird crashes or issues. |
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.
Nice
Only style comments and struct construction (not sure if a performance warning or not)
TLM/TLM/Patch/_VehicleAI/_PassengerCarAI/GetLocalizedStatusPatch.cs
Outdated
Show resolved
Hide resolved
…ate calls (PassengerCarAI.GetVehicleInstance)
…rom DebugMenu panel (visible only in debug builds)
@krzychu124 is |
when are you merging to master? |
I'll wait for your changes and merge |
so testing = labs? |
Hmm, maybe "new labs", but I'll remove that branch once merged with |
I'm getting a crash when I try to toggle traffic lights for a junction while editing an intersection in the asset editor. I haven't tried it without Traffic Manager, or even with Traffic Manager on any release other than the one from this thread, but I just thought I'd mention it because it is a part of the game that I'd expect Traffic Manager to have interactions with. |
PR goals
- Delete
RedirectionFramework
from the project in favor ofHarmony
patching library- Improve runtime compatibility on Linux and MacOS #817
Vehicle
patches (partial migration of VehicleAI.StartPathFind into harmony. #943,major-feature-harmony2-migration
)Improvements
CarAI
redirection byTrolleybusAI
redirection resulting in:Individual driving styles
= to be continued =
Closes #864
Closes #865
Closes #1063
Latest build
You can find it here!
Compatible Node Controller:
https://github.com/kianzarrin/NodeController/releases/tag/V2.2.4