by Master Kyodai » Tue May 06, 2014 4:42 am
I'm not sure if the memory address changes are the best approach. I would probably try finding the references in the files and hex edit these. That way the hack can also be distributed easily and should be much more stable.
I might be wrong but i believe that pretty much all bike motions are in SCENE\01\FREE\M_BIKE.BIN... If you look at the first 1024 bytes it already gives the descriptors for the content. So "AKI" is actually Ryo. You can see references to the motorcycle motions - i think "AKI_TAOSU_FOR_TURN180_AMERICANBIKE_F" for example is a 180 degree turn on the motorcycle. What is interesting is that there is also a "AKI_TAOSU_C_TURN180_JITENSYA"... Well if you don't speak Japanese that doesn't mean much but "Jitensha" means "bicycle", like one without an engine.
My memory is foggy, but i think Ryo pulls the 180 degree turn when he has to race the motorcycle to get Nozomi, right?
Since the beginning of that file is kinda index i guess it would be suitable to just swap "AKI_TAOSU_FOR_TURN180_AMERICANBIKE_F" and "AKI_TAOSU_C_TURN180_JITENSYA" and see if Ryo suddenly does the 180 degree turn on a bicycle instead of a motorcycle. AT least taht's what i would try first since it's easy to pull off - maybe 20 minutes of work, it won't affect the file size and thus be pretty safe and it would shed some light on these motion files. A second step would be to swap all motorcycle related ones with bicycle ones and see what will come out.
Another thing to look into would be the M_FREE.BIN in the same dir. These are the normal motions - like "AKI_AKI_SUWARU" (Ryo Sit). Obviously there must be some reference to these, prolly in the scene file scripts or main binary. Swapping these references successfully would mean you could make Ryo ride a bike instead of sitting.
The 1st_read.bin also holds many interesting things - since it is kinda "main exe" for Shenmue loads of manipulation can be done here. You did a good job at editing the beta disc, so take a look at its 1st_read...
If you search a bit you can find a line starting with "NL_POINTXZ BikeRoot%02d[]"...
A few lines above that is something like "NL_POINT3 Root%02d[]=", why not try swapping that, so it will be "NL_POINT3 BikeRoot%02d[]=" and "NL_POINTXZ Root%02d[]", see what happens? ALso around that area in the 1st_read you will see more interesting stuff... "JUMP CHARA(Now Dead)", so obviously they originally had jumping in the game as well...
Also search for "Mo_InitBikePos" a few lines under that spot. Maybe you can swap "Mo_ExecSit" with "Mo_InitBikePos" to make Ryo ride a bike instead of sitting here...
I think there are still a few things left to try out with hex editing and it is probably easier than memory juggling.
MOTION.BIN in the MOTION directory might also be a place to try some edits. Try swapping "AKI_AKI_PUSH_DOOR" and "AKI_AKI_PULL_DOOR", can you make Ryo pushing doors instead of pulling them? Might look funny... But easy testing to see what you can get done here...
Another very interesting find:
compare MISC\CM_D000.BIN and SCENE\01\D000\CYCLEMAN.BIN - same size. Same file? Nearly i would say. Maybe swapping these two would be worth a shot?
D000\MPK00.PKS also seems interesting, if you search for "BIKE" it reveals some QTE motions...
M_FREE.BIN might also be worth taking a look at. Try swapping "AKI_ORIRU_FORKLIFT_F" and "AKI_AKI_BIKE3_LP" ?
Master Kyodai has received 2 thanks from: shengoro86, wude