实况2017球队补丁meuchawyz是什么队

后使用快捷导航没有帐号?
查看: 3704|回复: 10
实况足球2015 of2csv2015|可以导出球员数据的工具
主题帖子积分
威望3810 点
贡献3810 次
金钱536128 枚
在线时间7519 小时
马上注册,结交更多好友,享用更多功能,让你轻松玩转实况。
才可以下载或查看,没有帐号?
实况足球2015 of2csv2015这个工具只可以导出,具体的使用方法自己去研究,我贴上源码;/*
*Danilo de Novais Silveira
*14-04-2014
*of2csv: Option File to CSV
*Countries from file PES2014_Countries.cfg - PRO-EVO Editing Studio .0.0
*Teams from file PES2014_Teams.cfg - PRO-EVO Editing Studio .0.0
import java.io.BufferedW
import java.io.IOE
importjava.io.UnsupportedEncodingE
import java.nio.charset.C
import java.nio.file.F
import java.nio.file.P
import java.nio.file.P
import java.util.HashM
public class of2csv2015 {
& && && &//46739 is the number of blocks until it is same to assume we are before thefirst team
& && && &publicstatic final int offset_teams = 5111808;& && &
& && && &//array to store the player
& && && &publicstatic String[]
& && && &//number of blocks of one player (without name and shirt name)
& && && &publicstatic final int blocks = 48;
& && && &//byte array pointer
& && && &publ
& && && &//hashmap for the countries
& && && &publicstatic HashMap&Integer, String&
& && && &//hashmap for the teams
& && && &publicstatic HashMap&Integer, String&
& && && &//hashmap for the player-teams
& && && &publicstatic HashMap&Integer, Integer& player_
& && && &//byte array to store option file
& && && &publicstatic byte[] allB
& && && &pub
& && && &publicstatic void main(String[] args) throws IOException {& && && && &&&
& && && && && && & //Player properties
& && && && && && & intplayerID;
& && && && && && & S
& && && && && && & StringshirtN
& && && && && && & Stringmain_
& && && && && && & S
& && && && && && & Stringoriginal_
& && && && && && &
& && && && && && &
& && && && && && &
& && && && && && & Stringstronger_foot=&&;
& && && && && && & intball_control=0, attack_pr=0, dribbling=0, low_pass=0, lofted_pass=0,finishing=0;
& && && && && && & intplace_kicking=0, controlled_spin=0, header=0, defense_pr=0, ball_winning=0;
& && && && && && & intkicking_power=0, speed=0, explosive_power=0, body_balance=0, jump=0,goalkeeping=0;
& && && && && && & intsaving=0, /* tenacity=0,*/ stamina=0, form=0, injury=0, wfu=0, wfa=0;
& && && && && && & Stringplay_style=&&;
& && && && && && & Stringpos_rating=&&;
& && && && && && & Stringcards_play_styles=&&;
& && && && && && & Stringcards_play_skills=&&;
& && && && && && &
& && && && && && & //name of the option file
& && && && && && & S
& && && && && && & //name of the csv file
& && && && && && & S
& && && && && && & //buffered writer for csv file
& && && && && && & BufferedW
& && && && && && &
& && && && && && & //define array of 108 blocks to store a player
& && && && && && & player= new String[blocks];
& && && && && && & //populate countries and teams hashmap
& && && && && && & populateCountries();
& && && && && && & populateTeams();
& && && && && && &
& && && && && && & //read parameters: OF file and CSV file
& && && && && && & if(args.length &2) {
& && && && && && && && && & System.out.println(&Error:I did not find the parameters.&);
& && && && && && && && && & System.out.println(&Usagef2csv edit_decrypted.bin csv_file.csv&);
& && && && && && & }
& && && && && && & filename= args[0];
& && && && && && & csvfile= args[1];
& && && && && && & //read option file and store it in a byte array& && && &
& && && && && && & readOptionFile(filename);
& && && && && && & bw= createCSVFile(csvfile);
& && && && && && &
& && && && && && & //start pointer at the end of the offset
& && && && && && & //pointer =
& && && && && && & pointer= findFirstPlayer();
& && && && && && & //46739
& && && && && && & //populates a hashmap with players and teams
& && && && && && & //it must be executed after reading OF
& && && && && && & populatePlayerTeams();
& && && && && && & /*
& && && & System.out.println(&playerID;shirtNteamID;main_GK;CB;RB;LB;DMF;CMF;RMF;LMF;AMF;RWF;LWF;SS;CF;&
& && && && && && && && && && && && & +&stronger_attack_ball_&
& && && && && && && && && && && && & +&low_lofted_place_controlled_defense_ball_&
& && && && && && && && && && && && & +&kicking_explosive_body_&
& && && && && && && && && && && && & +&playing_p01_p02_mazing_p03_speeding_p04_incisive_p05_long_ball_&
& && && && && && && && && && && && & +&p06_early_p07_long_s01_scissors_s02_flip_s03_marseille_s04_&
& && && && && && && && && && && && & +&s05_cut_behind_s06_scotch_s07_long_range_s08_knuckle_s09_acrobatic_&
& && && && && && && && && && && && & +&s10_first_time_s11_one_touch_s12_weighted_s13_pinpoint_s14_outside_&
& && && && && && && && && && && && & +&s15_low_punt_s16_long_s17_gk_long_s18_man_s19_track_s20_s21_super_s22_fighting_spirit&);
& && && && && && && && && && && && & */& && && && && &
& && && && && && & //csv header
& && && && && && &
& && && & bw.write(&playerID;shirtNteamID;main_GK;CB;RB;LB;DMF;CMF;RMF;LMF;AMF;RWF;LWF;SS;CF;&
& && && && && && && && && && && && & +&stronger_attack_ball_&
& && && && && && && && && && && && & +&low_lofted_place_controlled_defense_ball_&
& && && && && && && && && && && && & +&kicking_explosive_body_&
& && && && && && && && && && && && & +&playing_p01_p02_mazing_p03_speeding_p04_incisive_p05_long_ball_&
& && && && && && && && && && && && & +&p06_early_p07_long_s01_scissors_s02_flip_s03_marseille_s04_&
& && && && && && && && && && && && & +&s05_cut_behind_s06_scotch_s07_long_range_s08_knuckle_s09_acrobatic_&
& && && && && && && && && && && && & +&s10_first_time_s11_one_touch_s12_weighted_s13_pinpoint_s14_outside_&
& && && && && && && && && && && && & +&s15_low_punt_s16_long_s17_gk_long_s18_man_s19_track_s20_s21_super_s22_fighting_spirit&);& && && &
& && && && && && & bw.write(&\n&);
& && && && && && &
& && && && && && & //while there is a player
& && && && && && & while(true) {
//& && && && && &for(int uu=0; uu&10; uu++) {
& && && && && && && && && & //copy a player block into a variable
& && && && && && && && && & storePlayer();
& && && && && && && && && & //retrieves player properties
& && && && && && && && && & playerID= readPlayerID();
& && && && && && && && && &
& && && && && && && && && & //if playerID is zero, then exits
& && && && && && && && && & if(playerID == 0)
& && && && && && && && && &
& && && && && && && && && & name= readPlayerName();
& && && && && && && && && & shirtName= readPlayerShirtName();
& && && && && && && && && & main_position= readPlayerMainPosition();
& && && && && && && && && & pos_rating= readPlayerPositionRating();
& && && && && && && && && & country= readPlayerCountry();
& && && && && && && && && & original_team= readPlayerTeam(playerID); //teamID;team_name
& && && && && && && && && & height= readPlayerHeight();
& && && && && && && && && & weight= readPlayerWeight();
& && && && && && && && && & age= readPlayerAge();
& && && && && && && && && & stronger_foot= readPlayerStrongerFoot();
& && && && && && && && && &
& && && && && && && && && & attack_pr= readPlayerAttackPr();
& && && && && && && && && & dribbling= readPlayerDribbling();
& && && && && && && && && & ball_control= readPlayerBallControl();
& && && && && && && && && & low_pass= readPlayerLowPass();
& && && && && && && && && & lofted_pass= readPlayerLoftedPass();
& && && && && && && && && & finishing= readPlayerFinishing();
& && && && && && && && && & place_kicking= readPlayerPlaceKicking();
& && && && && && && && && & controlled_spin= readPlayerControlledSpin();
& && && && && && && && && & header= readPlayerHeader();
& && && && && && && && && & defense_pr= readPlayerDefensePr();
& && && && && && && && && & ball_winning= readPlayerBallWinning();
& && && && && && && && && & kicking_power= readPlayerKickingPower();
& && && && && && && && && & speed= readPlayerSpeed();
& && && && && && && && && & explosive_power= readPlayerExplosivePower();
& && && && && && && && && & body_balance= readPlayerBodyBalance();
& && && && && && && && && & jump= readPlayerJump();& && && && && && && && && &
& && && && && && && && && & goalkeeping= readPlayerGoalKeeping();
& && && && && && && && && & saving= readPlayerSaving();
& && && && && && && && && & //tenacity= readPlayerTenacity();
& && && && && && && && && & stamina= readPlayerStamina();
& && && && && && && && && &
& && && && && && && && && & form= readPlayerForm();& && && && && && && && && &
& && && && && && && && && & injury= readPlayerInjury();& && && && && && && && &
& && && && && && && && && & wfu= readPlayerWFU();
& && && && && && && && && & wfa= readPlayerWFA();
& && && && && && && && && &
& && && && && && && && && & play_style= readPlayerStyle();
& && && && && && && && && &
& && && && && && && && && & cards_play_styles= readPlayerCardsPlayStyles();
& && && && && && && && && & cards_play_skills= readPlayerCardsPlaySkills();
& && && && && && && && && &
& && && && && && && && && & System.out.println(playerID+ &;& + name + &;& + shirtName + &;& + country +&;& + original_team + &;& + main_position +
& && && && && && && && && && && && && && && &&&&;&+ pos_rating + &;& + height + &;& + weight +
& && && && && && && && && && && && && && && &&&&;&+ age + &;& + stronger_foot + &;& + attack_pr +&;& + ball_control + &;& + dribbling + &;& +low_pass + &;& +
& && && && && && && && && && && && && && && &&&lofted_pass+ &;& + finishing + &;& + place_kicking + &;& +controlled_spin + &;& +
& && && && && && && && && && && && && && && &&&header+ &;& + defense_pr + &;& + ball_winning + &;& +kicking_power + &;& + speed + &;& +
& && && && && && && && && && && && && && && &&&explosive_power+ &;& + body_balance + &;& + jump + &;& +goalkeeping + &;& +
& && && && && && && && && && && && && && && &&&saving+ &;& + stamina + &;& + form + &;& + injury +&;& + wfu + &;& + wfa + &;& + play_style +&;& +
& && && && && && && && && && && && && && && &&&cards_play_styles+ cards_play_skills
& && && && && && && && && && && && && && && &&&);
& && && && && && && && && && && && && && && &&&
& && && && && && && && && & */
& && && && && && && && && & try{
& && && && && && && && && && && && && && && &&&
& && && && && && && && && & bw.write(playerID+ &;& + name + &;& + shirtName + &;& + country +&;& + original_team + &;& + main_position +
& && && && && && && && && && && && && && && &&&&;&+ pos_rating + &;& + height + &;& + weight +
& && && && && && && && && && && && && && && &&&&;&+ age + &;& + stronger_foot + &;& + attack_pr +&;& + ball_control + &;& + dribbling + &;& +low_pass + &;& +
& && && && && && && && && && && && && && && &&&lofted_pass+ &;& + finishing + &;& + place_kicking + &;& +controlled_spin + &;& +
& && && && && && && && && && && && && && && &&&header+ &;& + defense_pr + &;& + ball_winning + &;& +kicking_power + &;& + speed + &;& +
& && && && && && && && && && && && && && && &&&explosive_power+ &;& + body_balance + &;& + jump + &;& +goalkeeping + &;& +
& && && && && && && && && && && && && && && &&&saving+ &;& + stamina + &;& + form + &;& + injury +&;& + wfu + &;& + wfa + &;& + play_style +&;& +
& && && && && && && && && && && && && && && &&&cards_play_styles+ cards_play_skills
& && && && && && && && && && && && && && && &&&);
& && && && && && && && && & bw.write(&\n&);
& && && && && && && && && & }catch (Exception e) {
& && && && && && && && && && && && & System.out.println(e.getMessage());
& && && && && && && && && & }
& && && && && && && && && &
& && && && && && & }
& && && && && && & //close files
& && && && && && & try{
& && && && && && && && && & bw.close();
& && && && && && & }catch (IOException e) {
& && && && && && && && && & System.out.println(&Erroclosing file.&);
& && && && && && && && && & System.out.println(e.getMessage());
& && && && && && && && && & System.exit(0);
& && && && && && & }
& && && && && && &
& && && && && && & System.out.println(csvfile+ & generated with sucess.&);
& && && && && && &
& && && &}
& && && &//retrieves player ratings per position
& && && &publicstatic String readPlayerPositionRating() {
& && && && && && & String[]rating = { &C&, &B&, &A& };
& && && && && && & String[]rat = new String[13];
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && & //41th block
& && && && && && & dec= Integer.parseInt(player[40], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && &
& && && && && && & //gk 7-8 - 41th
& && && && && && & word= bin.substring(6, 8);
& && && && && && & dec= Integer.parseInt(word, 2);
& && && && && && & rat[0]= rating[dec] + &;& ;
& && && && && && & //40th block
& && && && && && & dec= Integer.parseInt(player[39], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & //cb 5-6 - 40th
& && && && && && & word= bin.substring(4,6);
& && && && && && & dec= Integer.parseInt(word, 2);
& && && && && && & rat[1]= rating[dec] + &;& ;
& && && && && && & //rb 1-2 - 40th
& && && && && && & word= bin.substring(0,2);
& && && && && && & dec= Integer.parseInt(word, 2);
& && && && && && & rat[2]= rating[dec] + &;& ;
& && && && && && & //lb 3-4 - 40th
& && && && && && & word= bin.substring(2,4);
& && && && && && & dec= Integer.parseInt(word, 2);
& && && && && && & rat[3]= rating[dec] + &;& ;
& && && && && && & //rmf 7-8 - 40th
& && && && && && & word= bin.substring(6,8);
& && && && && && & dec= Integer.parseInt(word, 2);
& && && && && && & rat[6]= rating[dec] + &;& ;
& && && && && && & //39th block
& && && && && && & dec= Integer.parseInt(player[38], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & //dmf 5-6 - 39th
& && && && && && & word= bin.substring(4,6);
& && && && && && & dec= Integer.parseInt(word, 2);
& && && && && && & rat[4]= rating[dec] + &;& ;
& && && && && && & //cmf 3-4 - 39th
& && && && && && & word= bin.substring(2,4);
& && && && && && & dec= Integer.parseInt(word, 2);
& && && && && && & rat[5]= rating[dec] + &;& ;
& && && && && && & //lmf 1-2 - 39th
& && && && && && & word= bin.substring(0,2);
& && && && && && & dec= Integer.parseInt(word, 2);
& && && && && && & rat[7]= rating[dec] + &;& ;
& && && && && && & //amf 7-8 - 39th
& && && && && && & word= bin.substring(6,8);
& && && && && && & dec= Integer.parseInt(word, 2);
& && && && && && & rat[8]= rating[dec] + &;& ;
& && && && && && &
& && && && && && & //38th block
& && && && && && & dec= Integer.parseInt(player[37], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & //rwf 1-2 - 38th
& && && && && && & word= bin.substring(0,2);
& && && && && && & dec= Integer.parseInt(word, 2);
& && && && && && & rat[9]= rating[dec] + &;& ;
& && && && && && & //lwf 3-4 - 38th
& && && && && && & word= bin.substring(2,4);
& && && && && && & dec= Integer.parseInt(word, 2);
& && && && && && & rat[10]= rating[dec] + &;& ;
& && && && && && & //ss 5-6 - 38th
& && && && && && & word= bin.substring(4,6);
& && && && && && & dec= Integer.parseInt(word, 2);
& && && && && && & rat[11]= rating[dec] + &;& ;
& && && && && && &
& && && && && && & //cf 7-8 - 38th
& && && && && && & word= bin.substring(6,8);
& && && && && && & dec= Integer.parseInt(word, 2);
& && && && && && & rat[12]= rating[dec] ; // THE CF POSITION DOESNT HAVE A ; AT THE END!!!!
& && && && && && & returnrat[0] + rat[1] + rat[2] + rat[3] + rat[4] + rat[5] + rat[6] + rat[7] + rat[8]+ rat[9] + rat[10] + rat[11] + rat[12] ;
& && && &}
& && && &//retrieves player style
& && && &publicstatic String readPlayerStyle() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && & String[]pos = {&N/A&, &Goal Poacher&, &DummyRunner&,&&&Fox In TheBox&,&&&quotrolificWinger&,&&&ClassicN?0&,&&&Hole Player&,&&
& && && && && && && && && && && && & &Box-To-Box&,&&&Anchor Man&,&&&The Destroyer&,&&&Extra Frontman&,&&&Offensive Full-Back&,&&&Defensive Full-Back&,
& && && && && && && && && && && && & &TargetMan&, &Creative Playmaker&, &Build Up&,&N/A&, &Offensive Goalkeeper&, &DefensiveGoalkeeper&};
& && && && && && & //playing style&&= last bit from 34th block+ 4 first bits from 33th block
& && && && && && & //34th block
& && && && && && & dec= Integer.parseInt(player[32], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(3); // get first bit
& && && && && && &
& && && && && && & stat= Integer.parseInt(word, 2);
& && && && && && &
& && && && && && & if(stat & 19)
& && && && && && && && && & returnpos[stat];
& && && && && && & else
& && && && && && && && && & return&N/A&;
& && && &}
& && && &//retrieves player teamID||original team
& && && &publicstatic String readPlayerTeam(int playerID) {
& && && && && && & S
& && && && && && & intteamID;
& && && && && && &
& && && && && && & try{
& && && && && && && && && & teamID= player_teams.get(playerID);
& && && && && && & }catch (NullPointerException e) {
& && && && && && && && && & return&;&;
& && && && && && & }
& && && && && && & team= teams.get(teamID);
& && && && && && & returnteamID + &;& +
& && && &}
& && && &//retrieves player main position
& && && &publicstatic String readPlayerMainPosition() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && & String[]pos = {&GK&, &CB&, &LB&,&&&RB&,&&&DMF&,&&&CMF&,&&&LMF&,&&&RMF&,&&&AMF&,&&&LWF&,&&&RWF&,&&&SS&,&&&CF& };
& && && && && && & //stamina&&= 5 last bits from 32th
& && && && && && & //32th block
& && && && && && & dec= Integer.parseInt(player[31], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(0,5); // get five last bits
& && && && && && & stat= Integer.parseInt(word, 2);
& && && && && && &
& && && && && && & if(stat & 13)
& && && && && && && && && & returnpos[stat];
& && && && && && &else
& && && && && && && && && & return&&;
& && && &}
& && && &//retrieves player cards &play styles&
& && && &//the result will be like: 1;1;1;1;1;1;1;1;
& && && &publicstatic String readPlayerCardsPlaySkills() {
& && && && && && & S
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && & StringB
& && && && && && & dec= Integer.parseInt(player[45], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(0, 6); // get seven first bits
& && && && && && & tmp= new StringBuffer(word).reverse().toString();
& && && && && && & sb= new StringBuilder();
& && && && && && & for(int i=0; i&6; i++) {
& && && && && && && && && & sb.append(tmp.substring(i,i+1));
& && && && && && && && && & sb.append(&;&);
& && && && && && & }
& && && && && && &
& && && && && && & //45th block
& && && && && && & dec= Integer.parseInt(player[46], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= // get seven first bits
& && && && && && & tmp= new StringBuffer(word).reverse().toString();
& && && && && && & for(int i=0; i&8; i++) {
& && && && && && && && && & sb.append(tmp.substring(i,i+1));
& && && && && && && && && & sb.append(&;&);
& && && && && && & }
& && && && && && &
& && && && && && & //46th block
& && && && && && & dec= Integer.parseInt(player[47], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= // get 4 last bits
& && && && && && & tmp= new StringBuffer(word).reverse().toString();
& && && && && && & for(int i=0; i&8; i++) {
& && && && && && && && && & sb.append(tmp.substring(i,i+1));
& && && && && && && && && & sb.append(&;&);
& && && && && && & }
& && && && && && & returnsb.toString();
& && && &}& && && && && &&&
& && && &//retrieves player cards &play styles&
& && && &//the result will be like: 1;1;1;1;1;1;1;
& && && &publicstatic String readPlayerCardsPlayStyles() {
& && && && && && & S
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & dec= Integer.parseInt(player[44], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& +
& && && && && && & word= bin.substring(0, 5);
& && && && && && & dec= Integer.parseInt(player[45], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(6, 8) +
& && && && && && &
& && && && && && & tmp= new StringBuffer(word).reverse().toString();
& && && && && && & StringBuildersb = new StringBuilder();
& && && && && && & for(int i=0; i&7; i++) {
& && && && && && && && && & sb.append(tmp.substring(i,i+1));
& && && && && && && && && & sb.append(&;&);
& && && && && && & }
& && && && && && & returnsb.toString();
& && && &}& && &&&
& && && &//retrievesplayer stronger foot
& && && &publicstatic String readPlayerStrongerFoot() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && &
& && && && && && & //stronger foot&&= last bit from 43th
& && && && && && & //43th block
& && && && && && & dec= Integer.parseInt(player[44], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & stat= Integer.parseInt(bin.substring(5,6)); // get last bit
& && && && && && & if(stat==0) {
& && && && && && && && && & return&R&;
& && && && && && & }
& && && && && && & else&&{& &&&
& && && && && && && && && & return&L&;
& && && && && && & }& && &&&
& && && &}
& && && &//retrievesplayer weak foot accuracy
& && && &publicstatic int readPlayerWFA() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //&&weak foot accuracy&&= 3 first bits from 32th
& && && && && && & //32th block
& && && && && && & dec= Integer.parseInt(player[23], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(2, 4); // get three first bits
& && && && && && & //now just parse the word with 3bits to integer PLUS 1 (come on Konami!)
& && && && && && & //it seems the minimun value has to be added
& && && && && && & stat= Integer.parseInt(word, 2) + 1;
& && && && && && && && &
& && && &}
& && && &//retrievesplayer weak foot usage
& && && &publicstatic int readPlayerWFU() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //weak foot usage&&= 2 last digits fromblock 35 + first digit from block 34
& && && && && && & //35th block
& && && && && && & dec= Integer.parseInt(player[36], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(0,2); // get two last bits
& && && && && && & //now just parse the word with 3bits to integer PLUS 1
& && && && && && & //it seems the minimun value has to be added
& && && && && && & stat= Integer.parseInt(word, 2) + 1;
& && && && && && && && &
& && && &}
& && && &//retrievesplayer injury
& && && &publicstatic int readPlayerInjury() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //injury&&= digits 3 and 4 from block 34th
& && && && && && & //34th block
& && && && && && & dec= Integer.parseInt(player[35], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(3,6); // get digits 3 and 4
& && && && && && & //now just parse the word with 2bits to integer PLUS 1
& && && && && && & //it seems the minimun value has to be added
& && && && && && & stat= Integer.parseInt(word, 2) + 1;
& && && && && && && && &
& && && &}
& && && &//retrievesplayer form
& && && &publicstatic int readPlayerForm() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //form&&= 5th - 6th - 7th bit of block 34th
& && && && && && & //34th block
& && && && && && & dec= Integer.parseInt(player[27], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(0,4); // get bits 5, 6 and 7
& && && && && && & //now just parse the word with 3bits to integer PLUS 1 (Konami is crazy)
& && && && && && & //it seems the minimun value has to be added
& && && && && && & stat= Integer.parseInt(word, 2) + 1;
& && && && && && && && &
& && && &}
& && && &//retrievesplayer stamina
& && && &publicstatic int readPlayerStamina() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & dec= Integer.parseInt(player[30], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(3); // get six last bits
& && && && && && & dec= Integer.parseInt(player[29], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= word + bin.substring(0, 2);
& && && && && && & stat= Integer.parseInt(word, 2) ;
& && && && && && && && &
& && && &}
& && && &//retrievesplayer saving
& && && &publicstatic int readPlayerSaving() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & dec= Integer.parseInt(player[26], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(3); // get six last bits
& && && && && && & dec= Integer.parseInt(player[25], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= word + bin.substring(0, 2);
& && && && && && & stat= Integer.parseInt(word, 2) ;
& && && && && && && && &
& && && &}
& && && &//retrievesplayer gk
& && && &publicstatic int readPlayerGoalKeeping() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //gk&&= 6 last bits from 20th
& && && && && && & //20th block
& && && && && && & dec= Integer.parseInt(player[18], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(3); // get six last bits
& && && && && && & dec= Integer.parseInt(player[17], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= word + bin.substring(0, 2);
& && && && && && & stat= Integer.parseInt(word, 2) ;
& && && && && && && && &
& && && &}
& && && &//retrievesplayer jump
& && && &publicstatic int readPlayerJump() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //jump&&= 2 last bits from 31th + 4 firstbits from 30th
& && && && && && & //31th block
& && && && && && & dec= Integer.parseInt(player[29], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(2); // get two last bits
& && && && && && & //30th block
& && && && && && & dec= Integer.parseInt(player[28], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= word + bin.substring(0, 1);
& && && && && && & //now just parse the word with 6bits to integer PLUS 40
& && && && && && & //it seems the minimun value has to be added
& && && && && && & stat= Integer.parseInt(word, 2);
& && && && && && && && &
& && && &}
& && && &//retrievesplayer body balance
& && && &publicstatic int readPlayerBodyBalance() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //body balance&&= 6 last bits from 37th
& && && && && && & //37th block
& && && && && && & dec= Integer.parseInt(player[35], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(6); // get six last bits
& && && && && && & dec= Integer.parseInt(player[34], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& +
& && && && && && & word= word + bin.substring(0, 5);
& && && && && && & stat= Integer.parseInt(word, 2) ;
& && && && && && && && &
& && && &}
& && && &//retrievesplayer explosive power
& && && &publicstatic int readPlayerExplosivePower() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //explosive power&&= 4 last bits from 30th+ 2 first bits from 29th
& && && && && && & //30th block
& && && && && && & dec= Integer.parseInt(player[28], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(1); // get four last bits
& && && && && && & //now just parse the word with 6bits to integer PLUS 40
& && && && && && & //it seems the minimun value has to be added
& && && && && && & stat= Integer.parseInt(word, 2) ;
& && && && && && && && &
& && && &}
& && && &//retrievesplayer player speed
& && && &publicstatic int readPlayerSpeed() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //speed&&= 6 last bits from 28th
& && && && && && & //28th block
& && && && && && & dec= Integer.parseInt(player[27], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& +
& && && && && && & word= bin.substring(4);
& && && && && && & dec= Integer.parseInt(player[26], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& +
& && && && && && & word= word + bin.substring(0, 3);
& && && && && && &
& && && && && && & stat= Integer.parseInt(word, 2) ;
& && && && && && && && &
& && && &}
& && && &//retrievesplayer kicking power
& && && &publicstatic int readPlayerKickingPower() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //kicking power&&= 6 last bits from 29th
& && && && && && & //29th block
& && && && && && & dec= Integer.parseInt(player[42], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(2); // get six last bits
& && && && && && & //37th block
& && && && && && & dec= Integer.parseInt(player[41], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= word + bin.substring(0, 1);
& && && && && && & //now just parse the word with 6bits to integer PLUS 40
& && && && && && & //it seems the minimun value has to be added
& && && && && && & low= Integer.parseInt(word, 2) ;
& && && && && && && && &
& && && &}
& && && &//retrievesplayer ball winning
& && && &publicstatic int readPlayerBallWinning() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //ball winning&&= 6 last bits from 25th
& && && && && && & //25th block
& && && && && && & dec= Integer.parseInt(player[41], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(1); // get six last bits
& && && && && && & //now just parse the word with 6bits to integer PLUS 40
& && && && && && & //it seems the minimun value has to be added
& && && && && && & low= Integer.parseInt(word, 2);
& && && && && && && && &
& && && &}
& && && &//retrievesplayer defensive prowness
& && && &publicstatic int readPlayerDefensePr() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & dec= Integer.parseInt(player[17], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(2); // get six first bits
& && && && && && & //37th block
& && && && && && & dec= Integer.parseInt(player[16], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= word + bin.substring(7, 8);
& && && && && && & low= Integer.parseInt(word, 2) ;
& && && && && && && && &
& && && &}
& && && &//retrievesplayer header
& && && &publicstatic int readPlayerHeader() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //finishing&&= 4 last bits from 38th + 2first bits from 37th
& && && && && && & //38th block
& && && && && && & dec= Integer.parseInt(player[34], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(5); // get two last bits
& && && && && && & //37th block
& && && && && && & dec= Integer.parseInt(player[33], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= word + bin.substring(0, 4);
& && && && && && & //now just parse the word with 6bits to integer PLUS 40
& && && && && && & //it seems the minimun value has to be added
& && && && && && & stat= Integer.parseInt(word, 2);
& && && && && && && && &
& && && &}
& && && &//retrievesplayer finishing
& && && &publicstatic int readPlayerControlledSpin() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //finishing&&= 2 last bits from 27th + 4first bits from 26th
& && && && && && & //27th block
& && && && && && & dec= Integer.parseInt(player[25], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(2); // get two last bits
& && && && && && & //26th block
& && && && && && & dec= Integer.parseInt(player[24], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= word + bin.substring(0, 1);
& && && && && && & //now just parse the word with 6bits to integer PLUS 40
& && && && && && & //it seems the minimun value has to be added
& && && && && && & stat= Integer.parseInt(word, 2);
& && && && && && && && &
& && && &}
& && && &//retrievesplayer finishing
& && && &publicstatic int readPlayerPlaceKicking() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //finishing&&= 4 last bits from 26th + 2first bits from 25th
& && && && && && & //26th block
& && && && && && & dec= Integer.parseInt(player[24], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(1); // get four last bits
& && && && && && & //now just parse the word with 6bits to integer PLUS 40
& && && && && && & //it seems the minimun value has to be added
& && && && && && & stat= Integer.parseInt(word, 2) ;
& && && && && && && && &
& && && &}
& && && &//retrievesplayer finishing
& && && &publicstatic int readPlayerFinishing() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //finishing&&= 2 last bits from 23th + 4first bits from 22th
& && && && && && & //23th block
& && && && && && & dec= Integer.parseInt(player[21], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(2); // get two last bits
& && && && && && & //22th block
& && && && && && & dec= Integer.parseInt(player[20], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= word + bin.substring(0, 1);
& && && && && && & //now just parse the word with 6bits to integer PLUS 40
& && && && && && & //it seems the minimun value has to be added
& && && && && && & stat= Integer.parseInt(word, 2) ;
& && && && && && && && &
& && && &}
& && && &//retrievesplayer lofted pass
& && && &publicstatic int readPlayerLoftedPass() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //dribbling&&= 6 last bits from 24th
& && && && && && & //24th block
& && && && && && & dec= Integer.parseInt(player[23], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(4); // get six last bits
& && && && && && & dec= Integer.parseInt(player[22], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= word + bin.substring(0, 3);
& && && && && && & //now just parse the word with 6bits to integer PLUS 40
& && && && && && & //it seems the minimun value has to be added
& && && && && && & low= Integer.parseInt(word, 2) ;
& && && && && && && && &
& && && &}
& && && &//retrievesplayer low pass
& && && &publicstatic int readPlayerLowPass() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & dec= Integer.parseInt(player[22], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(3, 8); // get six last bits
& && && && && && & dec= Integer.parseInt(player[11], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= word + bin.substring(0, 2);
& && && && && && & low= Integer.parseInt(word, 2);
& && && && && && && && &
& && && &}
& && && &//retrievesplayer dribbling
& && && &publicstatic int readPlayerDribbling() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //dribbling&&= 35 - 4 da direita + 34 - 3da esquerda
& && && && && && & dec= Integer.parseInt(player[33], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(4,8); // get six last bits
& && && && && && & dec= Integer.parseInt(player[32], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= word + bin.substring(0, 3);
& && && && && && & dri= Integer.parseInt(word, 2) ;
& && && && && && && && && &
& && && &}
& && && &//retrievesplayer attacking prowess
& && && &publicstatic int readPlayerAttackPr() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //attacking prowess&&= 2 last bits from19th + 4 first bits from 18th
& && && && && && & //19th block
& && && && && && & dec= Integer.parseInt(player[16], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(1); // get seven last bits
& && && && && && &
& && && && && && & //now just parse the word with 6bits to integer PLUS 40
& && && && && && & //it seems the minimun value has to be added
& && && && && && & att= Integer.parseInt(word, 2);
& && && && && && &
& && && &}
& && && &//retrievesplayer ball control
& && && &publicstatic int readPlayerBallControl() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & dec= Integer.parseInt(player[20], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(1,8);
& && && && && && &
& && && && && && & bc= Integer.parseInt(word, 2);
& && && && && && &
& && && &}
& && && &//retrievesplayer tenacity
& && && &/*
& && && &publicstatic int readPlayerTenacity() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //tenacity = 4 last bits from 18th + 2 first bits from 17th
& && && && && && & //18th block
& && && && && && & dec= Integer.parseInt(player[17], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(4);
& && && && && && &
& && && && && && & //17th block
& && && && && && & dec= Integer.parseInt(player[16], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= word + bin.substring(0, 2);
& && && && && && &
& && && && && && & //now just parse the word with 6bits to integer PLUS 40
& && && && && && & //it seems the minimun value has to be added
& && && && && && & ten= Integer.parseInt(word, 2) + 40;
& && && && && && &
& && && &}
& && && &*/
& && && &//retrievesplayer age
& && && &publicstatic int readPlayerAge() {
& && && && && && &
& && && && && && &
& && && && && && & S
& && && && && && & S
& && && && && && &
& && && && && && & //age = 3 last bits from 31th + 3 first bits from 30th
& && && && && && & dec= Integer.parseInt(player[31], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= bin.substring(5);
& && && && && && &
& && && && && && & dec= Integer.parseInt(player[30], 16);
& && && && && && & bin= Integer.toBinaryString(dec);
& && && && && && & while(bin.length()&8) bin = &0& + // have to ensure that that byteis 8bit long
& && && && && && & word= word + bin.substring(0, 3);
& && && && && && &
& && && && && && & //now just parse the word with 6bits to integer PLUS 40
& && && && && && & //it seems the minimun value has to be added
& && && && && && & age= Integer.parseInt(word, 2);
& && && && && && &
& && && &}
& && && &//retrievesplayer height
& && && &publicstatic int readPlayerHeight() {
& && && && && && &
& && && && && && & S
& && && && && && &
& && && && && && & //13o block
& && && && && && & hex= player[12];
& && && && && && & height= Integer.parseInt(hex, 16);
& && && && && && &
& && && && && && &
& && && &}
& && && &//retrievesplayer weight
& && && &publicstatic int readPlayerWeight() {
& && && && && && &
& && && && && && & S
& && && && && && & //14o block
& && && && && && & hex= player[13];
& && && && && && & weight= Integer.parseInt(hex, 16);
& && && && && && &
& && && &}
& && && &//retrievesplayer country
& && && &publicstatic String readPlayerCountry() {
& && && && && && & S
& && && && && && & intcountryID;
& && && && && && & //11o block
& && && && && && & hex= player[10];
& && && && && && & countryID= Integer.parseInt(hex, 16);
& && && && && && &
& && && && && && & returncountries.get(countryID);
& && && &}
& && && &//retrieves player shirt name
& && && &publicstatic String readPlayerShirtName() {
& && && && && && & intk=0;
& && && && && && & StringplayerShirtN
& && && && && && & intshirt_name_size = 18;
& && && && && && & //creates a array byte of size 16 to store the shirt name
& && && && && && & byte[]b_name = new byte[shirt_name_size];
& && && && && && & //iterates over allBytes and store the player name in b_name
& && && && && && & for(int j= j&pointer+shirt_name_ j++) {
& && && && && && && && && & if(allBytes[j] != 0) {
& && && && && && && && && && && && & b_name[k]= allBytes[j];
& && && && && && && && && && && && & k++;// increases with only non-zero bytes
& && && && && && && && && & }
& && && && && && & }
& && && && && && &
& && && && && && & //set the new pointer position
& && && && && && & pointer= pointer + shirt_name_
& && && && && && &
& && && && && && & //creates a name byte array with the exact size of the name
& && && && && && & byte[]real_size_name = new byte[k];
& && && && && && & for(int i=0; i&k; i++) real_size_name = b_name;
& && && && && && &
& && && && && && & //tries to convert array into string with UTF8
& && && && && && & //if an error occurs, tries with default encoding
& && && && && && & try{
& && && && && && && && && & playerShirtName=new String(real_size_name, &UTF8&);
& && && && && && & }catch (UnsupportedEncodingException e) {
& && && && && && && && && & playerShirtName= new String(real_size_name);
& && && && && && & }
& && && && && && & returnplayerShirtN
& && && &}
& && && &//retrieves player name
& && && &publicstatic String readPlayerName() {
& && && && && && & intk=0;
& && && && && && & StringplayerN
& && && && && && & intname_size = 46;
& && && && && && & //creates a array byte of size 46 to store the name
& && && && && && & byte[]b_name = new byte[name_size];
& && && && && && & //iterates over allBytes and store the player name in b_name
& && && && && && & for(int j= j&pointer+name_ j++) {
& && && && && && && && && & if(allBytes[j] != 0) {
& && && && && && && && && && && && & b_name[k]= allBytes[j];
& && && && && && && && && && && && & k++;// increases with only non-zero bytes
& && && && && && && && && & }
& && && && && && & }
& && && && && && & //creates a name byte array with the exact size of the name
& && && && && && & byte[]real_size_name = new byte[k];
& && && && && && & for(int i=0; i&k; i++) real_size_name = b_name;
& && && && && && & //set the new pointer position
& && && && && && & pointer= pointer + name_
& && && && && && &
& && && && && && & //tries to convert array into string with UTF8
& && && && && && & //if an error occurs, tries with default encoding
& && && && && && & try{
& && && && && && && && && & playerName= new String(real_size_name, &UTF8&);
& && && && && && & }catch (UnsupportedEncodingException e) {
& && && && && && && && && & playerName= new String(real_size_name);
& && && && && && & }
& && && && && && & returnplayerN
& && && &}
& && && &//retrieves player id
& && && &publicstatic int readPlayerID () {
& && && && && && & S
& && && && && && & //playerID is block1||block0 in decimal
& && && && && && & hex= player[3] + player[2] + player[1] + player[0];
& && && && && && & returnInteger.parseInt(hex, 16);
& && && &}& && && && && &&&
& && && &//receives OF, read a player block and store it in a variable
& && && &publicstatic void storePlayer() {
& && && && && && & inti, k = 0;
& && && && && && & //starts the loop at the pointer
& && && && && && & //iterates over array until blocks (48)
& && && && && && & //store it at player array
& && && && && && & for(i = i & blocks+ i++) {
& && && && && && && && && & //player[k]= Integer.toHexString(allBytes);
& && && && && && && && && & player[k]= String.format(&%02x&, allBytes &0xff);
& && && && && && && && && & k++;
& && && && && && & }
& && && && && && & //sets the new pointer position
& && && && && && & pointer= pointer +
& && && &}
& && && &//find first player to set the pointer
& && && &publicstatic int findFirstPlayer() {
& && && && && && & intfirst_offset = 384; // hx 180
& && && && && && & intsecond_offset = 80; // hx 50 - offset after the png
& && && && && && & intpng_size = 0; // png size after the offset
& && && && && && & intind = first_
& && && && && && & Stringpoint = &&;
& && && && && && &
& && && && && && & point= String.format(&%02x&, allBytes[ind+3] &0xff) +String.format(&%02x&, allBytes[ind+2] &0xff) +
& && && && && && && && && && && && & String.format(&%02x&,allBytes[ind+1] &0xff) + String.format(&%02x&, allBytes[ind]&0xff);
& && && && && && &
& && && && && && & png_size= Integer.parseInt(point, 16);
& && && && && && &
& && && && && && & ind= ind + png_size + 4; // +4 because of the 4 bytes of the png size
& && && && && && &
& && && && && && & ind= ind + second_
& && && && && && &
& && && && && && &
& && && &}
& && && &//convertsa hex word into a acsii string
& && && &publicstatic String convertHexToString(String hex){
& && && && && && & StringBuildersb = new StringBuilder();
& && && && && && & //split into two characters 49, 20, 4c...
& && && && && && & for(int i=0; i&hex.length()-1; i+=2 ){
& && && && && && && && && & //grabthe hex in pairs
& && && && && && && && && & Stringoutput = hex.substring(i, (i + 2));
& && && && && && && & //converthex to decimal
& && && && && && && & intdecimal = Integer.parseInt(output, 16);
& && && && && && && & //convertthe decimal to character
& && && && && && && &&&if (decimal != 0) sb.append((char)decimal);
& && && && && && & }& && && &
& && && && && && & returnsb.toString();
& && && &}& && && && && &&&
& && && &/*
& && && &//reades the header until first player
& && && &publicstatic void readHeader(FileInputStream in) {
& && && && && && & //numero completamente empirico, nao sei se funciona de fato
& && && && && && & //se nao funcionar, tenho que procurar o EMERSON e comecar a partir daih
& && && && && && &
& && && && && && & try{
& && && && && && && && && & for(int i=0; i& i++) {
& && && && && && && && && && && && & in.read();
& && && && && && && && && & }
& && && && && && & }catch (IOException e) {
& && && && && && && && && & System.out.println(e.getMessage());
& && && && && && && && && & System.exit(0);
& && && && && && & }
& && && &}
& && && &*/
& && && &publicstatic void readOptionFile(String filename) {
& && && && && && & try{
& && && && && && && && && & Pathpath = Paths.get(filename);
& && && && && && && && && & allBytes= Files.readAllBytes(path);
& && && && && && & }catch (IOException e) {
& && && && && && && && && & System.out.println(e.getMessage());
& && && && && && && && && & System.exit(0);& && && && && && && && && && && && && && && && && && &&&
& && && && && && & }
& && && &}& && &&&
& && && &//creates de csv output file
& && && &publicstatic BufferedWriter createCSVFile(String csvfile) {
& && && && && && & BufferedWriterbr =
& && && && && && & try{
& && && && && && && && && & Pathpath = Paths.get(csvfile);
& && && && && && && && && & br= Files.newBufferedWriter(path, Charset.forName(&UTF-8&));
& && && && && && & }catch (IOException e) {
& && && && && && && && && & System.out.println(e.getMessage());
& && && && && && && && && & System.exit(0);& && && && && && && && && && && && && && && && && && &&&
& && && && && && & }
& && && && && && &
& && && &}
& && && &//populates a hashmap with playerid and teamid
& && && &publicstatic void populatePlayerTeams() {
& && && && && && & player_teams= new HashMap&Integer, Integer&();
& && && && && && & intt=0, pt=0, teamID=-1, playerID=0, k=0;
& && && && && && & StringB
& && && && && && & intpoint=0;
& && && && && && & intind=offset_ //start to look here!
& && && && && && & //first,we need to find the first team!
& && && && && && &
& && && && && && & while(point!=1) {
& && && && && && && && && & ind++;
& && && && && && && && && & point= Integer.parseInt(String.format(&%02x&, allBytes[ind]&0xff),16);
& && && && && && & }
& && && && && && &
& && && && && && &
& && && && && && & try{
& && && && && && && && && & while(teamID != 0) { //iterate over teams
& && && && && && && && && && && && & sb= new StringBuilder();
& && && && && && && && && && && && & pt= ind + t * 164;& &&&//set pointer in thebeginning of the next block
& && && && && && && && && && && && & //thefirst four bytes are teamID
& && && && && && && && && && && && & for(int i=0; i&4; i++) sb.insert(0, String.format(&%02x&,allBytes[pt+i] &0xff));
& && && && && && && && && && && && & teamID= Integer.parseInt(sb.toString(), 16);
& && && && && && && && && && && && &
& && && && && && && && && && && && & pt= pt + 4; //adds 4 to go to first player
& && && && && && && && && && && && &
& && && && && && && && && && && && & if(teamID!=0) {
& && && && && && && && && && && && && && && &&&for(k=0; k & 32; k++) { //there are 32 players in each team
& && && && && && && && && && && && && && && && && && &&&sb= new StringBuilder();
& && && && && && && && && && && && && && && && && && &&&//creates a string with 4 bytes - each playerid is a word now
& && && && && && && && && && && && && && && && && && &&&for(int i=0; i&4; i++) sb.insert(0, String.format(&%02x&,allBytes[k*4 + i + pt] &0xff));
& && && && && && && && && && && && && && && && && && &&&playerID= Integer.parseInt(sb.toString(), 16);
& && && && && && && && && && && && && && && && && && &&&//only adds a player to the hashmap if it diff from zero
& && && && && && && && && && && && && && && && && && &&&if(playerID != 0) player_teams.put(playerID, teamID);
& && && && && && && && && && && && && && && &&&}
& && && && && && && && && && && && & }
& && && && && && && && && && && && & t++;
& && && && && && && && && & }
& && && && && && & }
& && && && && && & catch(NumberFormatException e) {
& && && && && && && && && & error= 1;
& && && && && && & }
& && && &}
& && && &//populates a hashmap with all PES teams& & //original file from PEES
& && && &publicstatic void populateTeams() {
& && && &&&teams = new HashMap&Integer, String&();
& && && &&&teams.put(1,&IRELAND&);
& && && &&&teams.put(2,&NORTHERN IRELAND&);
& && && &&&teams.put(3,&SCOTLAND&);
& && && &&&teams.put(4,&WALES&);
& && && &&&teams.put(5,&ENGLAND&);
& && && &&&teams.put(6,&PORTUGAL&);
& && && &&&teams.put(7,&SPAIN&);
& && && &&&teams.put(8,&FRANCE&);
& && && &&&teams.put(9,&BELGIUM&);
& && && &&&teams.put(10,&NETHERLANDS&);
& && && &&&teams.put(11,&SWITZERLAND&);
& && && &&&teams.put(12,&ITALY&);
& && && &&&teams.put(13,&CZECHREPUBLIC&);
& && && &&&teams.put(14,&GERMANY&);
& && && &&&teams.put(15,&DENMARK&);
& && && &&&teams.put(16,&NORWAY&);
& && && &&&teams.put(17,&SWEDEN&);
& && && &&&teams.put(18,&FINLAND&);
& && && &&&teams.put(19,&POLAND&);
& && && &&&teams.put(20,&SLOVAKIA&);
& && && &&&teams.put(21,&AUSTRIA&);
& && && &&&teams.put(22,&HUNGARY&);
& && && &&&teams.put(23,&SLOVENIA&);
& && && &&&teams.put(24,&CROATIA&);
& && && &&&teams.put(26,&ROMANIA&);
& && && &&&teams.put(27,&BULGARIA&);
& && && &&&teams.put(28,&GREECE&);
& && && &&&teams.put(29,&TURKEY&);
& && && &&&teams.put(30,&UKRAINE&);
& && && &&&teams.put(31,&RUSSIA&);
& && && &&&teams.put(32,&MOROCCO&);
& && && &&&teams.put(33,&TUNISIA&);
& && && &&&teams.put(34,&EGYPT&);
& && && &&&teams.put(35,&NIGERIA&);
& && && &&&teams.put(36,&CAMEROON&);
& && && &&&teams.put(37,&SOUTH AFRICA&);
& && && &&&teams.put(38,&SENEGAL&);
& && && &&&teams.put(39,&UNITED STATES&);
& && && &&&teams.put(40,&MEXICO&);
& && && &&&teams.put(41,&JAMAICA&);
& && && &&&teams.put(42,&COSTA RICA&);
& && && &&&teams.put(43,&HONDURAS&);
& && && &&&teams.put(44,&COLOMBIA&);
& && && &&&teams.put(45,&BRAZIL&);
& && && &&&teams.put(46,&PERU&);
& && && &&&teams.put(47,&CHILE&);
& && && &&&teams.put(48,&PARAGUAY&);
& && && &&&teams.put(49,&URUGUAY&);
& && && &&&teams.put(50,&ARGENTINA&);
& && && &&&teams.put(51,&ECUADOR&);
& && && &&&teams.put(52,&JAPAN&);
& && && &&&teams.put(53,&SOUTH KOREA&);
& && && &&&teams.put(54,&CHINA&);
& && && &&&teams.put(55,&IRAN&);
& && && &&&teams.put(56,&SAUDI ARABIA&);
& && && &&&teams.put(57,&AUSTRALIA&);
& && && &&&teams.put(58,&JAPAN&);
& && && &&&teams.put(100,&MANCHESTER UNITED&);
& && && &&&teams.put(101,&NORTH LONDON&);
& && && &&&teams.put(102,&LONDONFC&);
& && && &&&teams.put(103,&MERSEYSIDE RED&);
& && && &&&teams.put(104,&YORKSHIRE WHITES&);
& && && &&&teams.put(105,&EAST LONDON&);
& && && &&&teams.put(106,&TYNESIDE&);
& && && &&&teams.put(107,&WEST MIDLANDS VILLAGE&);
& && && &&&teams.put(108,&FC BARCELONA&);
& && && &&&teams.put(109,&REAL MADRID&);
& && && &&&teams.put(110,&VALENCIA CF&);
& && && &&&teams.put(111,&RC DEPORTIVO&);
& && && &&&teams.put(112,&AS MONACO FC&);
& && && &&&teams.put(113,&OLYMPIQUE DE MARSEILLE&);
& && && &&&teams.put(114,&PARIS SAINT-GERMAIN&);
& && && &&&teams.put(115,&GIRONDINS DE BORDEAUX&);
& && && &&&teams.put(116,&AJAX&);
& && && &&&teams.put(117,&FEYENOORD&);
& && && &&&teams.put(118,&PSV&);
& && && &&&teams.put(119,&INTERNAZIONALE MILANO&);
& && && &&&teams.put(120,&JUVENTUS F.C.&);
& && && &&&teams.put(121,&A.C. MILAN&);
& && && &&&teams.put(122,&S.S. LAZIO&);
& && && &&&teams.put(123,&PARMA F.C.&);
& && && &&&teams.put(124,&ACF FIORENTINA&);
& && && &&&teams.put(125,&A.S. ROMA&);
& && && &&&teams.put(127,&FC BAYERN M躈CHEN&);
& && && &&&teams.put(128,&BAYER 04 LEVERKUSEN&);
& && && &&&teams.put(130,&GALATASARAY A.S.&);
& && && &&&teams.put(133,&OLYMPIACOS FC&);
& && && &&&teams.put(136,&VASCO DA GAMA&);
& && && &&&teams.put(137,&PALMEIRAS&);
& && && &&&teams.put(138,&RIVER PLATE&);
& && && &&&teams.put(139,&BOCA JUNIORS&);
& && && &&&teams.put(140,&ML DEFAULT EUROPE&);
& && && &&&teams.put(172,&AT. MADRID&);
& && && &&&teams.put(173,&MAN BLUE&);
& && && &&&teams.put(174,&RSC ANDERLECHT&);
& && && &&&teams.put(175,&SPARTA PRAHA&);
& && && &&&teams.put(176,&LANCASHIRE BLUE&);
& && && &&&teams.put(177,&MERSEYSIDE BLUE&);
& && && &&&teams.put(178,&WEST LONDON WHITE&);
& && && &&&teams.put(179,&NORTH EAST LONDON&);
& && && &&&teams.put(180,&AJ AUXERRE&);
& && && &&&teams.put(181,&OLYMPIQUE LYONNAIS&);
& && && &&&teams.put(182,&RC LENS&);
& && && &&&teams.put(184,&SCHALKE04&);
& && && &&&teams.put(186,&BONARCHE&);
& && && &&&teams.put(187,&BRUTIE&);
& && && &&&teams.put(188,&A.C. CHIEVO VERONA&);
& && && &&&teams.put(190,&UDINESE CALCIO&);
& && && &&&teams.put(191,&SL BENFICA&);
& && && &&&teams.put(192,&FC PORTO&);
& && && &&&teams.put(193,&SPORTING&);
& && && &&&teams.put(194,&REAL BETIS&);
& && && &&&teams.put(195,&CELTA DE VIGO&);
& && && &&&teams.put(196,&REAL SOCIEDAD&);
& && && &&&teams.put(198,&PANATHINAIKOS F.C.&);
& && && &&&teams.put(199,&PES UNITED&);
& && && && &teams.put(200,&WE UNITED&);
& && && &&&teams.put(201,&WEST MIDLANDS CITY&);
& && && &&&teams.put(202,&MIDDLEBROOK&);
& && && &&&teams.put(203,&SOUTH EAST LONDON REDS&);
& && && &&&teams.put(204,&EAST MIDLANDS&);
& && && &&&teams.put(205,&TEESSIDE&);
& && && &&&teams.put(207,&HAMPSHIRE RED&);
& && && &&&teams.put(208,&WOLVES&);
& && && &&&teams.put(209,&AC AJACCIO&);
& && && &&&teams.put(210,&SC BASTIA&);
& && && &&&teams.put(211,&EA GUINGAMP&);
& && && &&&teams.put(213,&LOSC LILLE&);
& && && && &teams.put(215,&MONTPELLIER H蒖AULTSC&);
& && && &&&teams.put(216,&FC NANTES&);
& && && &&&teams.put(217,&OGC NICE&);
& && && &&&teams.put(218,&STADE RENNAIS FC&);
& && && &&&teams.put(219,&FC SOCHAUX-MONTB蒐IARD&);
& && && &&&teams.put(221,&TOULOUSE FC&);
& && && &&&teams.put(234,&ATALANTA B.C.&);
& && && &&&teams.put(235,&EMPOLI FC&);
& && && &&&teams.put(237,&MOLDA&);
& && && &&&teams.put(238,&U.S.C. PALERMO&);
& && && &&&teams.put(240,&U.C. SAMPDORIA&);
& && && && &teams.put(242,&AZ&);
& && && &&&teams.put(243,&ADO DEN HAAG&);
& && && &&&teams.put(244,&FC GRONINGEN&);
& && && &&&teams.put(245,&SC HEERENVEEN&);
& && && &&&teams.put(246,&NAC BREDA&);
& && && &&&teams.put(250,&FC TWENTE&);
& && && &&&teams.put(251,&FC UTRECHT&);
& && && &&&teams.put(252,&VITESSE&);
& && && &&&teams.put(255,&WILLEM II&);
& && && &&&teams.put(256,&PEC ZWOLLE&);
& && && &&&teams.put(258,&ATHLETIC CLUB&);
& && && &&&teams.put(259,&RCD ESPANYOL&);
& && && &&&teams.put(260,&M罫AGA CF&);
& && && &&&teams.put(261,&RCD MALLORCA&);
& && && &&&teams.put(263,&CA OSASUNA&);
& && && &&&teams.put(264,&REAL RACING&);
& && && &&&teams.put(265,&SEVILLA FC&);
& && && &&&teams.put(266,&REAL VALLADOLID&);
& && && &&&teams.put(267,&VILLARREAL CF&);
& && && &&&teams.put(268,&REAL ZARAGOZA&);
& && && &&&teams.put(272,&FK PARTIZAN&);
& && && &&&teams.put(274,&CRUZEIRO&);
& && && &&&teams.put(319,&BAGNARONI&);
& && && &&&teams.put(320,&CAGLIARI CALCIO&);
& && && &&&teams.put(321,&CATEDOLUNA&);
& && && &&&teams.put(323,&GENOA CFC&);
& && && &&&teams.put(325,&L.I.V. CHIVORTI&);
& && && &&&teams.put(327,&S.S.C. NAPOLI&);
& && && &&&teams.put(328,&PECCHIORA&);
& && && &&&teams.put(331,&TECCARINA&);
& && && && &teams.put(333,&TORINO F.C.&);
& && && &&&teams.put(336,&HELLAS VERONA&);
& && && &&&teams.put(337,&VOCCHAIONI&);
& && && &&&teams.put(338,&CAMBUUR LEEUWARDEN&);
& && && &&&teams.put(341,&DORDRECHT&);
& && && &&&teams.put(344,&SBV EXCELSIOR&);
& && && && &teams.put(346,&GO AHEADEAGLES&);
& && && &&&teams.put(349,&HERACLES ALMELO&);
& && && &&&teams.put(357,&UD ALMER虯&);
& && && &&&teams.put(359,&C覴DOBA CF&);
& && && &&&teams.put(361,&ELCHE CF&);
& && && &&&teams.put(362,&GETAFE CF&);
& && && &&&teams.put(363,&REALSPORTING&);
& && && &&&teams.put(364,&UD LAS PALMAS&);
& && && &&&teams.put(366,&LEVANTE UD&);
& && && &&&teams.put(368,&CD NUMANCIA&);
& && && &&&teams.put(370,&RAYO VALLECANO&);
& && && &&&teams.put(371,&RECREATIVO DE HUELVA&);
& && && &&&teams.put(377,&EAST SUSSEX&);
& && && &&&teams.put(378,&LANCASHIRE CLARET&);
& && && &&&teams.put(379,&SOUTH WALES&);
& && && &&&teams.put(382,&SOUTH NORWOOD&);
& && && &&&teams.put(383,&DERBYSHIRE&);
& && && &&&teams.put(386,&EAST ANGLIA TOWN&);
& && && &&&teams.put(387,&SOUTH BERMONDSEY&);
& && && &&&teams.put(388,&NORFOLK CITY&);
& && && &&&teams.put(389,&NOTTS REDS&);
& && && &&&teams.put(391,&BERKSHIRE BLUES&);
& && && &&&teams.put(394,&SOUTH YORKSHIRE BLUES&);
& && && &&&teams.put(395,&THE POTTERIES&);
& && && &&&teams.put(396,&WEARSIDE&);
& && && &&&teams.put(398,&HERTFORDSHIRE&);
& && && &&&teams.put(399,&WEST MIDLANDS STRIPES&);
& && && &&&teams.put(400,&LANCASHIRE ATHLETIC&);
& && && &&&teams.put(403,&ANGERSSCO&);
& && && &&&teams.put(405,&STADE MALHERBE CAEN&);
& && && &&&teams.put(406,&L.B. CH耇EAUROUX&);
& && && &&&teams.put(407,&CLERMONT FOOT AUVERGNE&);
& && && &&&teams.put(412,&LAVAL&);
& && && &&&teams.put(413,&HAVRE ATHLETIC CLUB&);
& && && &&&teams.put(414,&FC LORIENT&);
& && && &&&teams.put(415,&AS NANCY LORRAINE&);
& && && &&&teams.put(416,&CHAMOIS NIORTAIS&);
& && && &&&teams.put(418,&AS SAINT-ETIENNE&);
& && && &&&teams.put(420,&ESTAC TROYES&);
& && && &&&teams.put(1010,&IRAQ&);
& && && &&&teams.put(1011,&JORDAN&);
& && && &&&teams.put(1012,&NORTH KOREA&);
& && && &&&teams.put(1013,&KUWAIT&);
& && && &&&teams.put(1015,&LEBANON&);
& && && &&&teams.put(1022,&OMAN&);
& && && &&&teams.put(1026,&QATAR&);
& && && &&&teams.put(1031,&THAILAND&);
& && && &&&teams.put(1032,&UAE&);
& && && &&&teams.put(1040,&ALGERIA&);
& && && &&&teams.put(1044,&BURKINA FASO&);
& && && &&&teams.put(1051,&C訲E D'IVOIRE&);
& && && &&&teams.put(1058,&GHANA&);
& && && &&&teams.put(1059,&GUINEA&);
& && && &&&teams.put(1067,&MALI&);
& && && &&&teams.put(1083,&ZAMBIA&);
& && && &&&teams.put(1113,&PANAMA&);
& && && &&&teams.put(1128,&BOLIVIA&);
& && && &&&teams.put(1129,&VENEZUELA&);
& && && &&&teams.put(1141,&NEW ZEALAND&);
& && && &&&teams.put(1164,&ISRAEL&);
& && && &&&teams.put(1170,&BOSNIA AND HERZEGOVINA&);
& && && &&&teams.put(1184,&UZBEKISTAN&);
& && && &&&teams.put(1197,&STANDARD DE LI菺E&);
& && && &&&teams.put(1207,&F.C. COPENHAGEN&);
& && && &&&teams.put(1217,&PFC CSKA MOSKVA&);
& && && &&&teams.put(1218,&FC ZENIT ST. PETERSBURG&);
& && && &&&teams.put(1228,&GRASSHOPPER Z躌ICH&);
& && && &&&teams.put(1232,&SHAKHTAR DONETSK&);
& && && &&&teams.put(1237,&RACING CLUB AVELLANEDA&);
& && && &&&teams.put(1238,&ESTUDIANTES DE LA PLATA&);
& && && &&&teams.put(1239,&GIMNASIA LA PLATA&);
& && && &&&teams.put(1240,&INDEPENDIENTE&);
& && && &&&teams.put(1241,&NEWELL'S OLD BOYS&);
& && && &&&teams.put(1242,&ROSARIO CENTRAL&);
& && && &&&teams.put(1243,&SAN LORENZO&);
& && && &&&teams.put(1244,&C.A. V蒐EZ SARSFIELD&);
& && && &&&teams.put(1245,&ATL

我要回帖

更多关于 实况足球10中国队补丁 的文章

 

随机推荐