We just reached 30,000 articles on this wiki! 🥳
If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Worms (J2ME)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Worms

Developer: Team17
Publishers: THQ
Platform: J2ME
Released internationally: 2003


TextIcon.png This game has unused text.


Worms games are very known for their J2ME versions apart from their console releases. There have been lots of different J2ME releases of Worms games, all thanks to the success of the first version from 2003.

Unused Text

The game has some unused strings inside the *_UTF8.txt files, and the text initializing function in i.class.

Ammo Names

The first strings from *_UTF8.txt files correspond to the ammo names. These ammo names are never shown in the game.

English French Spanish German Italian
Bazooka Bazooka Bazuca Panzerfaust Bazooka
Mortar Mortier Mortero Minenwerfer Mortaio
Cluster Bomb Bombe à fragmentation Bomba de racimo Cluster-Bombe Bomba
Grenade Grenade Granada Granate Granata
Dynamite Dynamite Dinamita Dynamit Dinamite

Back Button

Following the ammo names in *_UTF8.txt, there's a string for a "back" option in the menu, but an icon is used instead.

English French Spanish German Italian
Back Retour Atrás Zurück Indietro

Team Names

At the end of *_UTF8.txt, there are strings for the team names. These strings aren't used, as a "Red team won!" / "Blue team won!" string is used instead.

English French Spanish German Italian
Red team Equipe rouge Equipo rojo Rotes Team Squadra rossa
Blue Team Equipe bleue Equipo azul Blaues Team Squadra blu

Press Joystick

The last string from *_UTF8.txt is an unused press/move joystick string.

English French Spanish German Italian
Press joystick Appuyer joystick Mueve el joystick Joystick drücken Premi joystick

i.class

Inside i.class, there's a text initialization function where we can see more unused strings. If we decompile the file, we can see some of the previous unused strings are loaded in-game, and then ignored, and others are not even loaded. These unused strings are:
The "Weapon" string:

English French Spanish German Italian
Weapon Arme Arma Waffe Arma

and a

Worms

String.


Here is the decompiled function from i.class:

  private void decompiled_text_initializing_function()
  {
    try
    {
      String strings_file_name;
      switch (language)
      {
      case 1:
        strings_file_name = "fr_utf8.txt";
        d_class.HUD = new Player_HUD("/player_strip_fr.png", 3);
        weapon_string = "Arme";						//string initialized but unused!!
        break;
      case 2:
        strings_file_name = "es_utf8.txt";
        d_class.HUD = new Player_HUD("/player_strip_es.png", 3);
        weapon_string = "Arma";						//string initialized but unused!!
        break;
      case 3:
        strings_file_name = "de_utf8.txt";
        d_class.HUD = new Player_HUD("/player_strip_de.png", 3);
        weapon_string = "Waffe";					//string initialized but unused!!
        break;
      case 4:
        strings_file_name = "it_utf8.txt";
        d_class.HUD = new Player_HUD("/player_strip_it.png", 3);
        weapon_string = "Arma";						//string initialized but unused!!
        break;
      default:
        strings_file_name = "en_utf8.txt";
        d_class.HUD = new Player_HUD("/player_strip_en.png", 3);
        weapon_string = "Weapon";					//string initialized but unused!!
      }
      InputStream localInputStream = getClass().getResourceAsStream(strings_file_name);
      DataInputStream localDataInputStream = new DataInputStream(localInputStream);
      localDataInputStream.readUTF();						//"Bazooka" is skipped!!
      localDataInputStream.readUTF();						//"Mortar" is skipped!!
      localDataInputStream.readUTF();						//"Cluster Bomb" is skipped!!
      localDataInputStream.readUTF();						//"Grenade" is skipped!!
      localDataInputStream.readUTF();						//"Dynamite" is skipped!!
	  
      String str1 = "Worms";						//"Worms" string initialized but unused!!
      String str2 = localDataInputStream.readUTF();			//"Back" string initialized but unused!!
      String str3 = localDataInputStream.readUTF();			//"Start"
      String str4 = localDataInputStream.readUTF();			//"Options"
      String str5 = localDataInputStream.readUTF();			//"Instructions"
      String str6 = localDataInputStream.readUTF();			//"About"
      exit_String = localDataInputStream.readUTF();			//"Exit"
	  
      this.menu_Strings_Array[1][0] = str3;					//"Start"
      this.menu_Strings_Array[1][1] = str4;					//"Options"
      this.menu_Strings_Array[1][2] = str5;					//"Instructions"
      this.menu_Strings_Array[1][3] = str6;					//"About"
      this.menu_Strings_Array[1][4] = exit_String;				//"Exit"
      this.menu_Strings_Array[2][0] = localDataInputStream.readUTF();		//"Player vs. Player"
      this.menu_Strings_Array[2][1] = localDataInputStream.readUTF();		//"Player vs. Phone"
      this.menu_Strings_Array[3][0] = localDataInputStream.readUTF();		//"Sound"
      this.menu_Strings_Array[3][1] = localDataInputStream.readUTF();		//"Vibration"
      this.menu_Strings_Array[6][2] = localDataInputStream.readUTF();		//"Red team won!"
      this.menu_Strings_Array[6][3] = localDataInputStream.readUTF();		//"Blue team won!"
      this.menu_Strings_Array[4][0] = localDataInputStream.readUTF();		//Intructions content
      this.menu_Strings_Array[5][0] = localDataInputStream.readUTF();	//About content
	  //"Red team", "Blue team" and "Press joystick" strings get unread!!
    }
    catch (Exception localException)
    {
    }
  }