EURO_INF.CPP 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <conio.h>
  5. #include "eurodefs.h"
  6. #include "euro_fxd.h"
  7. #include "euro.equ"
  8. #include "euro_sym.h"
  9. #include "euro_def.h"
  10. #include "euro_var.h"
  11. #include "euro_gen.h"
  12. #include "euro_grf.h"
  13. #include "euro_dsk.h"
  14. #include "euro_sel.h"
  15. #include "euro_int.h"
  16. #include "defines.h"
  17. //********************************************************************************************************************************
  18. void DisplayPlayerStats()
  19. {
  20. char NumberString[5];
  21. short stat;
  22. short Plyr = (Team*20)+ViewPlyrStats;
  23. short PlyrIndex = SquadInfo[ Plyr ];
  24. short ActPlyrIx = (Team*20)+PlyrIndex;
  25. short tpace = Pace[ ActPlyrIx ] - (50.0 / 100.0)*(100-Fitness[ ActPlyrIx ]);
  26. short tacc = Accuracy[ ActPlyrIx ] - (10.0 / 100.0)*(100-Fitness[ ActPlyrIx ]);
  27. short tflair = Flair[ ActPlyrIx ] - (10.0 / 100.0)*(100-Fitness[ ActPlyrIx ]);
  28. short tstam = Stamina[ ActPlyrIx ] - (50.0 / 100.0)*(100-Fitness[ ActPlyrIx ]);
  29. short tpow = Power[ ActPlyrIx ] - (50.0 / 100.0)*(100-Fitness[ ActPlyrIx ]);
  30. // *** PLAYERS SQUAD FORMATION BALL ***
  31. DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN,
  32. ( SQUD_BALS + PlyrIndex ),
  33. 10, 104, NO_BOX,
  34. spritecopy ); // formation lotto balls.
  35. // *** PLAYERS NAME ***
  36. DisplayString( 44, 107,
  37. ( GetPLAYERSname( SquadInfo[ PlyrIndex ], Team, FULL_NAME )) ,
  38. MEDIUM_FONT, 48, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  39. // *** PLAYERS AGE ***
  40. DisplayString( 43, 136,
  41. ( GetTEXT( PINF_LBLS+Age )) ,
  42. SMALL_FONT, 55, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  43. char age = EUROyear-DOByear[ ActPlyrIx ];
  44. if ( ( DOBmonth[ ActPlyrIx ] < EUROmonth ) || ( DOBmonth[ ActPlyrIx ] == EUROmonth && DOBday[ ActPlyrIx ] < EUROday ) )
  45. age--;
  46. itoa( age, NumberString, 10);
  47. DisplayString( NextXposn+10, 136,
  48. (char *)NumberString,
  49. SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  50. // *** PLAYERS CLUB ***
  51. DisplayString( 43, 158,
  52. ( GetTEXT( PINF_LBLS+Club )) ,
  53. SMALL_FONT, 55, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  54. DisplayString( NextXposn+10, 158,
  55. (char *)Clubnames[ ActPlyrIx ],
  56. SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  57. // *** PLAYERS CAPS ***
  58. itoa( PlayersCaps[ ActPlyrIx ] , NumberString, 10);
  59. DisplayString( 43, 180,
  60. ( GetTEXT( PINF_LBLS+Caps )) ,
  61. SMALL_FONT, 55, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  62. DisplayString( NextXposn+10, 180,
  63. (char *)NumberString,
  64. SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  65. // *** PLAYERS GOALS ***
  66. itoa( PlayersGoals[ ActPlyrIx ] , NumberString, 10);
  67. DisplayString( 43, 202,
  68. ( GetTEXT( PINF_LBLS+Goals )) ,
  69. SMALL_FONT, 55, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  70. DisplayString( NextXposn+10, 202,
  71. (char *)NumberString,
  72. SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  73. // *** PLAYERS POSITION ***
  74. DisplayString( 43, 224,
  75. ( GetTEXT( PINF_LBLS+Posn )) ,
  76. SMALL_FONT, 55, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  77. DisplayString( NextXposn+10, 224,
  78. ( GetTEXT( POSN_LBLE+PlayerPosns[ ActPlyrIx ] )),
  79. SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  80. // *** PLAYERS SPEED *** > 75% pace + 25% stamina
  81. DisplayString( 43, 278,
  82. ( GetTEXT( STAT_LBLS+Spd )) ,
  83. SMALL_FONT, 48, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  84. stat = ((75*Pace[ ActPlyrIx ])/100) +
  85. ((25*Stamina[ ActPlyrIx ])/100);
  86. Image_Widths[PURP_FILL+Dull] = stat*1.14;
  87. if ( stat > 0 )
  88. DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN,
  89. PURP_FILL+Dull, 122, 281, NO_BOX, straightcopy );
  90. stat = ((75*tpace)/100) +
  91. ((25*tstam)/100);
  92. Image_Widths[PURP_FILL+Bright] = stat*1.14;
  93. if ( stat > 0 )
  94. DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN,
  95. PURP_FILL+Bright, 122, 281, NO_BOX, straightcopy );
  96. itoa( stat, NumberString, 10);
  97. DisplayString( 254-
  98. (PixelLengthOfString((char *)NumberString, SMALL_FONT)/2),
  99. 278,
  100. (char *)NumberString,
  101. SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  102. // *** PLAYERS TACKLING *** > 60% power + 40% discipline
  103. DisplayString( 43, 300,
  104. ( GetTEXT( STAT_LBLS+Tackling )) ,
  105. SMALL_FONT, 48, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  106. stat = ((60*Power[ ActPlyrIx ])/100) +
  107. ((40*Discipline[ ActPlyrIx ])/100);
  108. Image_Widths[PURP_FILL+Dull] = stat*1.14;
  109. if ( stat > 0 )
  110. DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN,
  111. PURP_FILL+Dull, 122, 303, NO_BOX, straightcopy );
  112. stat = ((60*tpow)/100) +
  113. ((40*Discipline[ ActPlyrIx ])/100);
  114. Image_Widths[PURP_FILL+Bright] = stat*1.14;
  115. if ( stat > 0 )
  116. DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN,
  117. PURP_FILL+Bright, 122, 303, NO_BOX, straightcopy );
  118. itoa( stat, NumberString, 10);
  119. DisplayString( 254-
  120. (PixelLengthOfString((char *)NumberString, SMALL_FONT)/2),
  121. 300,
  122. (char *)NumberString,
  123. SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  124. // *** PLAYERS PASSING *** > 50% vision + 50% accuracy
  125. DisplayString( 43, 322,
  126. ( GetTEXT( STAT_LBLS+Passing )) ,
  127. SMALL_FONT, 48, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  128. stat = ((50*Vision[ ActPlyrIx ])/100) +
  129. ((50*Accuracy[ ActPlyrIx ])/100);
  130. Image_Widths[PURP_FILL+Dull] = stat*1.14;
  131. if ( stat > 0 )
  132. DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN,
  133. PURP_FILL+Dull, 122, 325, NO_BOX, straightcopy );
  134. stat = ((50*Vision[ ActPlyrIx ])/100) +
  135. ((50*tacc)/100);
  136. Image_Widths[PURP_FILL+Bright] = stat*1.14;
  137. if ( stat > 0 )
  138. DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN,
  139. PURP_FILL+Bright, 122, 325, NO_BOX, straightcopy );
  140. itoa( stat, NumberString, 10);
  141. DisplayString( 254-
  142. (PixelLengthOfString((char *)NumberString, SMALL_FONT)/2),
  143. 322,
  144. (char *)NumberString,
  145. SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  146. // *** PLAYERS SHOOTING *** > 70% accuracy + 30% power
  147. DisplayString( 43, 344,
  148. ( GetTEXT( STAT_LBLS+Shooting )) ,
  149. SMALL_FONT, 48, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  150. stat = ((70*Accuracy[ ActPlyrIx ])/100) +
  151. ((30*Power[ ActPlyrIx ])/100);
  152. Image_Widths[PURP_FILL+Dull] = stat*1.14;
  153. if ( stat > 0 )
  154. DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN,
  155. PURP_FILL+Dull, 122, 347, NO_BOX, straightcopy );
  156. stat = ((70*tacc)/100) +
  157. ((30*tpow)/100);
  158. Image_Widths[PURP_FILL+Bright] = stat*1.14;
  159. if ( stat > 0 )
  160. DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN,
  161. PURP_FILL+Bright, 122, 347, NO_BOX, straightcopy );
  162. itoa( stat, NumberString, 10);
  163. DisplayString( 254-
  164. (PixelLengthOfString((char *)NumberString, SMALL_FONT)/2),
  165. 344,
  166. (char *)NumberString,
  167. SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  168. // *** PLAYERS SKILL *** > 50% flair + 50% control
  169. DisplayString( 43, 366,
  170. ( GetTEXT( STAT_LBLS+Skill )) ,
  171. SMALL_FONT, 48, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  172. stat = ((50*Flair[ ActPlyrIx ])/100) +
  173. ((50*Control[ ActPlyrIx ])/100);
  174. Image_Widths[PURP_FILL+Dull] = stat*1.14;
  175. if ( stat > 0 )
  176. DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN,
  177. PURP_FILL+Dull, 122, 369, NO_BOX, straightcopy );
  178. stat = ((50*tflair)/100) +
  179. ((50*Control[ ActPlyrIx ])/100);
  180. Image_Widths[PURP_FILL+Bright] = stat*1.14;
  181. if ( stat > 0 )
  182. DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN,
  183. PURP_FILL+Bright, 122, 369, NO_BOX, straightcopy );
  184. itoa( stat, NumberString, 10);
  185. DisplayString( 254-
  186. (PixelLengthOfString((char *)NumberString, SMALL_FONT)/2),
  187. 366,
  188. (char *)NumberString,
  189. SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  190. // *** PLAYERS FITNESS ***
  191. DisplayString( 43, 421,
  192. ( GetTEXT( STAT_LBLS+Fit )) ,
  193. SMALL_FONT, 48, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  194. stat = Fitness[ ActPlyrIx ];
  195. itoa( stat, NumberString, 10);
  196. Image_Widths[PURP_FILL+Bright] = stat*1.14;
  197. Image_Widths[BRED_FILL] = stat*1.14;
  198. if ( stat > Injured )
  199. DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN,
  200. PURP_FILL+Bright, 122, 424, NO_BOX, straightcopy );
  201. else
  202. if ( stat > 0 )
  203. DrawIMAGE( &FrontendPseudoDEFN, &FrontendTextureDEFN,
  204. BRED_FILL, 122, 424, NO_BOX, straightcopy );
  205. DisplayString( 254- (PixelLengthOfString((char *)NumberString, SMALL_FONT)/2), 421,
  206. (char *)NumberString, SMALL_FONT, 62, NO_BOX, &FrontendPseudoDEFN, &FrontendTextureDEFN );
  207. }
  208. //********************************************************************************************************************************
  209. void DoPlayerStats( char MENU, signed char BOX, short xposn, short yposn )
  210. {
  211. if ( MENU == PLAYER_STATS && LogicState == RUN_FRONTEND )
  212. {
  213. if ( BOX == RETURN_PSTATS_BOX && ButtonState!=0 )
  214. {
  215. Team = ConfigureTeamView();
  216. if ( ButtonState == LEFT_BUTTON )
  217. Animation_table[ReturnStatHandle].AnimationSpeed = -1.25;
  218. else
  219. Animation_table[ReturnStatHandle].AnimationSpeed = 1.25;
  220. ChangeMenu = SQUAD_SELECT;
  221. DeBounce = TRUE;
  222. }
  223. }
  224. }
  225. //********************************************************************************************************************************
  226. void DisplayTeamStats()
  227. {
  228. short wins = 0;
  229. short draws = 0;
  230. short loses = 0;
  231. int gls_for = 0;
  232. int gls_against = 0;
  233. char ammount[5];
  234. for ( char h=0; h < 10; h++ )
  235. {
  236. if ( PastScores[EUROstatTeam].history[h].scored == PastScores[EUROstatTeam].history[h].conceeded )
  237. draws++;
  238. if ( PastScores[EUROstatTeam].history[h].scored > PastScores[EUROstatTeam].history[h].conceeded )
  239. wins++;
  240. if ( PastScores[EUROstatTeam].history[h].scored < PastScores[EUROstatTeam].history[h].conceeded )
  241. loses++;
  242. gls_for+= (int)PastScores[EUROstatTeam].history[h].scored;
  243. gls_against+= (int)PastScores[EUROstatTeam].history[h].conceeded;
  244. }
  245. // *** LAST FIVE GAMES LABEL ***
  246. DisplayString( 260-(PixelLengthOfString(GetTEXT( TINF_LBLS+Last10 ), MEDIUM_FONT)/2), 412,
  247. ( GetTEXT( TINF_LBLS+Last10 )) ,
  248. MEDIUM_FONT, 29, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  249. // *** WINS ***
  250. DisplayString( 54-(PixelLengthOfString(GetTEXT( TINF_LBLS+Teamwins ), SMALL_FONT)/2), 441,
  251. ( GetTEXT( TINF_LBLS+Teamwins )),
  252. SMALL_FONT, 22, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  253. itoa( wins, ammount, 10);
  254. DisplayString( 107 - (PixelLengthOfString( ammount, SMALL_FONT ) /2 ), 441,
  255. ammount, SMALL_FONT, 15, NO_BOX,
  256. &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  257. // *** DRAWS ***
  258. DisplayString( 154-(PixelLengthOfString(GetTEXT( TINF_LBLS+Teamdraws ), SMALL_FONT)/2), 441,
  259. ( GetTEXT( TINF_LBLS+Teamdraws )),
  260. SMALL_FONT, 22, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  261. itoa( draws, ammount, 10);
  262. DisplayString( 204 - (PixelLengthOfString( ammount, SMALL_FONT ) /2 ), 441,
  263. ammount, SMALL_FONT, 15, NO_BOX,
  264. &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  265. // *** LOST ***
  266. DisplayString( 251-(PixelLengthOfString(GetTEXT( TINF_LBLS+Teamloses ), SMALL_FONT)/2), 441,
  267. ( GetTEXT( TINF_LBLS+Teamloses )),
  268. SMALL_FONT, 22, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  269. itoa( loses, ammount, 10);
  270. DisplayString( 301 - (PixelLengthOfString( ammount, SMALL_FONT ) /2 ), 441,
  271. ammount, SMALL_FONT, 15, NO_BOX,
  272. &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  273. // *** GOALS FOR ***
  274. DisplayString( 348-(PixelLengthOfString(GetTEXT( TINF_LBLS+Teamglsfor ), SMALL_FONT)/2), 441,
  275. ( GetTEXT( TINF_LBLS+Teamglsfor )),
  276. SMALL_FONT, 22, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  277. itoa( gls_for, ammount, 10);
  278. DisplayString( 398 - (PixelLengthOfString( ammount, SMALL_FONT ) /2 ), 441,
  279. ammount, SMALL_FONT, 15, NO_BOX,
  280. &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  281. // *** GOALS AGAINST ***
  282. DisplayString( 445-(PixelLengthOfString(GetTEXT( TINF_LBLS+Teamglsagn ), SMALL_FONT)/2), 441,
  283. ( GetTEXT( TINF_LBLS+Teamglsagn )),
  284. SMALL_FONT, 22, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  285. itoa( gls_against, ammount, 10);
  286. DisplayString( 495 - (PixelLengthOfString( ammount, SMALL_FONT ) /2 ), 441,
  287. ammount, SMALL_FONT, 15, NO_BOX,
  288. &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  289. // *** PRESIDENT ***
  290. DisplayString( 426-(PixelLengthOfString(GetTEXT( TINF_LBLS+President ), MEDIUM_FONT)/2), 282,
  291. ( GetTEXT( TINF_LBLS+President )) ,
  292. MEDIUM_FONT, 29, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  293. DisplayString( 426-(PixelLengthOfString(GetTEXT( PRES_NMES+EUROstatTeam ), SMALL_FONT)/2), 309,
  294. ( GetTEXT( PRES_NMES+EUROstatTeam )) ,
  295. SMALL_FONT, 15, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  296. // *** COACH ***
  297. DisplayString( 426-(PixelLengthOfString(GetTEXT( TINF_LBLS+Coach ), MEDIUM_FONT)/2), 339,
  298. ( GetTEXT( TINF_LBLS+Coach )) ,
  299. MEDIUM_FONT, 29, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  300. DisplayString( 426-(PixelLengthOfString(GetTEXT( COCH_NMES+EUROstatTeam ), SMALL_FONT)/2), 366,
  301. ( GetTEXT( COCH_NMES+EUROstatTeam )) ,
  302. SMALL_FONT, 15, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  303. // *** STAR PLAYERS ***
  304. DisplayString( 426-(PixelLengthOfString(GetTEXT( TINF_LBLS+Starplayr ), MEDIUM_FONT)/2), 164,
  305. ( GetTEXT( TINF_LBLS+Starplayr )) ,
  306. MEDIUM_FONT, 29, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  307. for ( char s=0; s < 3; s++ )
  308. {
  309. DisplayString( 426-(PixelLengthOfString( GetPLAYERSname( StarPlayers[ (EUROstatTeam*3)+s ], EUROstatTeam, FULL_NAME ),
  310. SMALL_FONT)/2), 190+(s*22),
  311. ( GetPLAYERSname( StarPlayers[ (EUROstatTeam*3)+s ], EUROstatTeam, FULL_NAME )) ,
  312. SMALL_FONT, 15, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  313. }
  314. // *** PREVIOUS YEARS ***
  315. DisplayString( 171-(PixelLengthOfString(GetTEXT( TINF_LBLS+Record ), MEDIUM_FONT)/2), 163,
  316. ( GetTEXT( TINF_LBLS+Record )) ,
  317. MEDIUM_FONT, 29, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  318. if ( PreviousEuroYearsTBL[EUROstatTeam] <= 0 )
  319. DrawIMAGE( &FrontendBackgroundDEFN, &FrontendTextureDEFN,
  320. TBAR_SPLT, 70, 188, NO_BOX, spritecopy );
  321. for ( char y=0; y < 9; y++ )
  322. {
  323. if ( y >= PreviousEuroYearsTBL[EUROstatTeam] )
  324. {
  325. DisplayString( 28, 187+(y*22),
  326. ( GetTEXT( YEAR_LBLS+y )) ,
  327. MEDIUM_FONT, 22, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  328. DisplayString( 84, 191+(y*22),
  329. ( GetTEXT( HIST_LBLS+(PreviousEuroHistory[(EUROstatTeam*9)+y]) )) ,
  330. SMALL_FONT, 15, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  331. }
  332. else
  333. DisplayString( 24, 191+(y*22),
  334. ( GetTEXT( HIST_LBLS+(PreviousEuroHistory[(EUROstatTeam*9)+y]) )) ,
  335. SMALL_FONT, 15, NO_BOX, &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  336. }
  337. }
  338. //********************************************************************************************************************************
  339. void DoTeamStats( char MENU, signed char BOX, short xposn, short yposn )
  340. {
  341. if ( MENU == TEAM_STATS && LogicState == RUN_FRONTEND )
  342. {
  343. if ( BOX == RETN_TSTATS_BOX && ButtonState!=0 )
  344. {
  345. if ( ButtonState == LEFT_BUTTON )
  346. Animation_table[ReturnTeamHandle].AnimationSpeed = -1.25;
  347. else
  348. Animation_table[ReturnTeamHandle].AnimationSpeed = 1.25;
  349. ChangeMenu = PLAYER_STATS;
  350. DeBounce = TRUE;
  351. }
  352. if ( BOX == OPPONENT_TEAM_BOX && ButtonState!=0 )
  353. {
  354. if ( ButtonState == LEFT_BUTTON )
  355. {
  356. Animation_table[ViewTeamHandle].AnimationSpeed = -1.25;
  357. EUROstatTeam++;
  358. }
  359. else
  360. {
  361. Animation_table[ViewTeamHandle].AnimationSpeed = 1.25;
  362. EUROstatTeam--;
  363. }
  364. EUROstatTeam&=15;
  365. ChangeMenu = TEAM_STATS;
  366. DeBounce = TRUE;
  367. }
  368. RetnTstatHighlight = ControlOptionHighlight( BOX, RETN_TSTATS_BOX,
  369. RETN_TSTATSdisp_BOX, RetnTstatHighlight,
  370. ReturnTeamHandle, BUTN_LBLS+Done );
  371. }
  372. }
  373. //********************************************************************************************************************************