Like all programs, games are split into resources and compiled machine code.
Resource files on disk replace no code, and are handled by Riivolution. You are right, they can be created from scratch or they can replace an existing resource. There are several relocatable binaries that NSMBWii uses that contain code, but we have a way to handle this, as they are always loaded into memory at the same location at specific and predictable times (at launch).
The system we have in place allows you to define a hook to an existing function, and then insert a blr which will be directed to your compiled C++ code, located at a separate address. You may call existing functions by any existing symbols, including self-defined ones, or by addresses in memory.
I can’t really answer your questions better than that, because they’re stupid.
To be more specific about what we need:
We need someone who knows how to code in C++. You must be able to make applications with it.
You DO need to be familiar with XML files, and know how to run python scripts.
You DO NOT need coding experience with the Wii. We will set you up with any libraries and compiling tools that you will need, but you can mostly ignore them. You can treat the game itself as a library, except with no documentation at all and sometimes we don’t know what the functions are called. >.>
You DO NOT need to deal with low level stuff, though understand how pointers and memory allocation work at a low level is a definite benefit.
It would HELP if you are familiar with OpenGL, or better yet, GX.
It would HELP if you are familiar with DevkitPro and Libogc.
It would HELP if you are familiar with Qt.
It would HELP if you have any experience with using 3D libraries at all in any shape or form, or have used 3D programs to make models.
It would HELP if you have used IDA Pro, or have any knowledge of PPC Assembly.
It would also HELP if your friends would not describe you as a douche, and if any questions you ask are pertinent and reflect an understanding of your own limits.