Skip to content

RFC: Slight change to Mixin class naming scheme #399

@ThistleSifter

Description

@ThistleSifter

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions