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

Custom class fixes and re-enabling of the flow diagram #40

Merged
merged 8 commits into from
Aug 5, 2023

Conversation

glassfish777
Copy link
Contributor

Pull request template

Custom class fixes and re-enabling of the flow diagram

Implemented:

  • Re-enabled the flow diagram in Wkit 7.x

Fixed:

  • Fix variable declarations in custom classes with type "name" rather than forcing use of CName which is not common
  • Fix variable declarations with vanilla enum types(stopgap fix). Namespace for vanilla enum class needs to be sorted out.
  • Fix custom class and enum types not appearing in Add Chunk dialog. You can now actually add chunks with your custom classes. Adding enum variables whether custom or vanilla still may cause issues due to namespace issue described above.
  • Fix flow diagram not showing any chunks in Wkit 7.x. ReferenceType now actually returns RedType from Reference.
  • Tried to improve flow diagram performance by not drawing connections when panning

I know the flow diagram is slow and probably unusable in big phases but many member of the modding community still find it useful. I have brought it back for them. I hope we can eventually do a proper rewrite of it as these quest were just not meant to be edited in a list. I have also fixed any remaining issues with custom classes so now they can actually be compiled and added with no headache. No more having Wkit 7, 6, 0.3 and W3Edit on your PC just to make a custom classes work.

WolvenKit would refuse to compile custom class with vanilla enum variables. This is because the compiler was fed an enum class that did not properly extend the vanilla enum class. This is because the vanilla enum calss is in WolvenKit.CR2W and not WolvenKit.CR2W.Types. This is stop gap fix that puts the enum class in the WolvenKit.CR2W namespace however in the future the namespace of the vanilla enums should be corrected.
They were not being included before making it impossible to add custom class chunks(since 7.2)
Enables the flow diagram that was missing since 7.0.
Flow diagram was broken due to ReferenceType not returning the REDType from Reference. This fixes that bug enabling use of the flow diagram in Wkit 7.x.
The flow diagram in WolvenKit is very slow when viewing big phases as it loops over thousands of chunks everytime the user zoom/pans redrawing them over and over. Windows Forms is not a suitable interface for such as system and it needs to be rebuilt with a package more suitable for this application. In the meantime, I have tried to improve performance by not drawing the connections when the user is panning but results are still not that great.
Redoes the fix by commenting in old function rather than editing existing one which breaks chunk editing.
The previous version of this fix broke vanilla chunk filtering. This revised version corrects that however custom class chunks do not feature filtering and will always appears in the add chunk drop down.
@nikich340
Copy link
Collaborator

Good job! Merged.

@nikich340 nikich340 merged commit f0a558f into WolvenKit:main Aug 5, 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

Successfully merging this pull request may close these issues.

2 participants