Saturday, September 24, 2011

An Update on BCBG

I know I said I'd have the mod done in a week, a week ago. I've gotten sort of sidetracked with some side-projects, and it's taken a while.

Also, I've now officially doubled the amount of classes in the launcher. Jeez.

The launcher can now load stubs named with MCP class names (ie, in 1.8 GuiMainMenu_Stub.class will patch sf.class).I've also worked out how I'll handle needing to reference methods/fields in the original class but not wanting to override them: with a @nopatch annotation (not ideal but subclasses dun work).

For example, before:
public void patchMe(){
    nonPatchyThings();
    return 1 + 1;
}
//need nonPatchyThings declared even though you won't use it, so it will be patched even though it shouldn't be!
After:
public void patchMe(){
    nonPatchyThings();
    return 1+1;
}
@nopatch
public void nonPatchyThins(){} //won't get patched but will compile without errors, will use actual version at runtime 
I'm also working on the installer that was promised. The manual patch API might get pushed back to a different release because it's a pain.

No comments:

Post a Comment