-
Notifications
You must be signed in to change notification settings - Fork 14
Description
The current naming scheme for mixin classes is as follows:
FCM*
- Modified FC*
classes that retain backwards compatibility with the underlying class
FCX*
- Customised classes with no resrictions or requirement for backwards compatibility
Now that the mixin codebase has been expanding and it has seen use in actual scripts, it seems to me that maintaining backwards compatibility in FCM*
classes is turning out to be more of a headache than anything else.
It's impacting on code organisation, with code having to be split up between related FCM*
and FCX*
classes for no tangible benefit that I can see (eg FCMCustomLuaWindow
and FCXCustomLuaWindow
or FCMCtrlStatic
and FCMCtrlStatic
). This splitting up is also leading to unnecessary code duplication and I can only see this becoming more of a problem as more mixins are written and more RGPLua features are added.
I think that having that backwards compatibility is to a degree an illusion, since the mixin library facilitates unlimited modification anyway.
So I'm proposing that we embrace this and remove the requirement for strict backwards compatibility, so that small things like inserting the window object as the first argument to a handler don't necessitate creating a whole new class.