private void loadMoves() {
		String[] moveNames = readMoveNames();
		int moveCount = romEntry.getValue("MoveCount");
		int movesOffset = romEntry.getValue("MoveDataOffset");
		// check real move count
		int trueMoveCount = 0;
		for (int i = 1; i <= moveCount; i++) {
			// temp hack for Brown
			if (rom[movesOffset + (i - 1) * 6] != 0
					&& moveNames[i].equals("Nothing") == false) {
				trueMoveCount++;
			}
		}
		moves = new Move[trueMoveCount + 1];
		int trueMoveIndex = 0;

		for (int i = 1; i <= moveCount; i++) {
			int anim = rom[movesOffset + (i - 1) * 6] & 0xFF;
			// another temp hack for brown
			if (anim > 0 && moveNames[i].equals("Nothing") == false) {
				trueMoveIndex++;
				moveNumToRomTable[trueMoveIndex] = i;
				moveRomToNumTable[i] = trueMoveIndex;
				moves[trueMoveIndex] = new Move();
				moves[trueMoveIndex].name = moveNames[i];
				moves[trueMoveIndex].internalId = i;
				moves[trueMoveIndex].number = trueMoveIndex;
				moves[trueMoveIndex].effectIndex = rom[movesOffset + (i - 1)
						* 6 + 1] & 0xFF;
				moves[trueMoveIndex].hitratio = ((rom[movesOffset + (i - 1) * 6
						+ 4] & 0xFF) + 0) / 255.0 * 100;
				moves[trueMoveIndex].power = rom[movesOffset + (i - 1) * 6 + 2] & 0xFF;
				moves[trueMoveIndex].pp = rom[movesOffset + (i - 1) * 6 + 5] & 0xFF;
				moves[trueMoveIndex].type = idToType(rom[movesOffset + (i - 1)
						* 6 + 3] & 0xFF);
			}
		}

	}