Well, monkey patching basicaly means overwriting a previously defined method with a method defined afterwards. In other words, if you have multiple methods named the same, the method that's last read into the Interpreter (aka the one that's most towards the bottom of the Script Editor) will be the one in effect. Note that all of the hidden scripts, aka hardcoded scripts, are read before all of the Script Editor's scripts, so no need to worry about placement.
So, let's take a look at an easy example. Let's take Window_Base's normal_color as an example. I have no idea how XP's method looked like, so I'll have a shot in the blue here:
class Window_Base
#-------------------------------------------------------------------------------
# lots of other methods
#-------------------------------------------------------------------------------
def normal_color
return Color.new(255, 255, 255, 255)
end
#-------------------------------------------------------------------------------
# more other methods
#-------------------------------------------------------------------------------
end
So, this basically is a cut-out of Window_Base. At the same time, that's about the part you need to have to monkey-patch it. What you do is completely leaving the Window_Base script alone and create a new script somewhere between Main and the default Window_Base. You need to fill it with this:
class Window_Base
#-------------------------------------------------------------------------------
def normal_color
return Color.new(0, 0, 0, 255) # this illustrates how you'd change the font color to black
end
#-------------------------------------------------------------------------------
end
You successfully monkey-patched something now. Once you figured out the gist of it, read some of the very good tutorials in here about aliasing - it's essential for doing that kind of stuff sometimes!
Now of course, with the hidden scripts, that isn't as easy, as you don't have a default method you can start with (unless you do get a script from somewhere). The help file is helpful (nice, eh?) on method names, so you should be able to figure out with a bit of figuring and logic how to get what you need.