Language…
15 users online:  Atari2.0, bradcomp, DanMario24YT,  Deeke, Domokun007,  Donut, drkrdnk, hhuxy, JezJitzu, mathie,  Segment1Zone2, SirMystic,  Telinc1, tOaO, zAce08xZ - Guests: 282 - Bots: 389
Users: 64,795 (2,375 active)
Latest user: mathew

Hacking Star Wars Clone Wars on Gamecube

I love this game. The multiplayer is amazing. The conquest mode is insanely cool. This is just another gamecube hidden gem. So, I wanted to enjoy this game as much as possible and started to look for modding options.

I navigated through the files of the ISO of Star Wars Clone Wars. (I made sure that this ISO was supported by Dolphin). In the ISO, I found very interesting (and self explaining) config files. In "CIS_tank_fighter_multi.odf", which can be opened with notepad, we can see the variables encoding the behavior of the vehicle.

Code
[GameObjectClass]
classLabel = "cw_hover"
geometryName = "cis_tank_fighter_multi.msh"
geometryScale = 1.8
eyePoint = "hp_eyepoint"
unitName = "Tank"
aiProcess = "offensive"
flagCastShadow = 1

[Weapons]
weaponObj1 = "hp_cannon_1" "REP_blaster_fighter1_multi" 0 1 0
weaponObj2 = "hp_cannon_2" "REP_blaster_fighter1_multi" 0 1 0
weaponObj3 = "hp_cannon_1" "REP_missile_fighter1_multi" 1 2 0
weaponObj4 = "hp_cannon_2" "REP_missile_fighter1_multi" 1 2 1

[Status]
maxHull = 700 //Health
maxShield = 150 //Temp Health
addShield = 3 //regen per second
maxAmmoSecondary = 15
addAmmoSecondary = 0.0
minAmmoSpecial = 1.0 //min level to activate
maxAmmoSpecial = 3.0
addAmmoSpecial = 0.2 //regen
impact = .3 //Amount of Knockback caused by hits
impactMaxDamage = 20.0 //Max amount of Knockback

[and much more]


I keep digging and, even better, it seems that the playable characters are parameters as well ! Per example, in MultiplayerButtons.cfg (which seems to encode all the multiplayer missions) :


Code
Mission()

  {
Title("Geonosis");
Descrition("ACADEMY");
ButtonTexture("geonosis2_button.tga");
MissionFile("multi17.wld");
Mode("JEDIACADEMY");
ScoreLimit(0, 0);
TimeLimit(0, 0);
Teams(0, 0);
Powerups(1, 0);
Bonus(4, 20); // usage: Bonus( bonusID, #objectives to unlock);
PlayerODF("rep_inf_anakin_multi","REP_inf_anakin_icon.tga");
PlayerODF("rep_inf_mace_multi","REP_inf_mace_icon.tga");
PlayerODF("rep_inf_obiwan_multi","REP_inf_obiwan_icon.tga");
PlayerODF("rep_inf_jedi_multi","REP_inf_jedi_icon.tga");
PlayerODF("rep_inf_yoda_multi","REP_inf_yoda_icon.tga");
PlayerODF("rep_inf_amidala_multi","REP_inf_amidala_icon.tga"); 
PlayerODF("rep_inf_clone_multi","REP_inf_clone_icon.tga");
PlayerODF("kas_inf_wookiee_gun_multi","kas_inf_wookiee_icon.tga");
PlayerODF("cis_inf_droid_multi","cis_inf_droid_icon.tga");
PlayerODF("cis_inf_sbdroid_multi","cis_inf_sbdroid_icon.tga");
 }


(this looks like a constructor call!)

So, I play with some parameters (starting with gravity related ones, I expect the characters parameters to cause more trouble at runtime), save my files, rebuild the ISO, launch it, and... NOTHING :s

I tried the decompression/recompression of the ISO with various tools : GCIT, GCRebuilder 1.0, 1.1, no success. I take one step back, just decompress the ISO and recompress it, but it still won't work. The crashes differ accoring to the method used :
- GCIT does not go beyond the first loading screen
- GCRebuilder and GCREex allows me to go until the "Pandemic" title screen, and then the game freezes.

Note that I also tried to launch it on a Wii and had the same problem (using GCRebuild)


Any help would be greatly appreciated !

EDIT. I also recorded a screencast, if it helps... https://youtu.be/Cji-St-KuK0
gamecubemod.org where I hack Gamecube games

My YouTube channel where I publish random stuff