OLDFIX.CPP 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <conio.h>
  5. #include "euro_fxd.h"
  6. #include "euro.equ"
  7. #include "euro_sym.h"
  8. #include "euro_def.h"
  9. #include "euro_var.h"
  10. #include "euro_grf.h"
  11. #include "euro_dsk.h"
  12. #include "euro_cnt.h"
  13. #include "euro_gen.h"
  14. #include "euro_rnd.h"
  15. #include "defines.h"
  16. //********************************************************************************************************************************
  17. void DisplayRedrawButton( char Match )
  18. {
  19. if ( Match == 0 )
  20. {
  21. RedrawHandle = AddAnimation( 507, 180,
  22. ( (float)WHT_BLUE_BUTTON ), ( (float)WHT_BLUE_BUTTON+11.9 ),
  23. 0.0, REDRAW_BOX, CONT_ANIM );
  24. RedrawHighlight = ControlOptionHighlight( -1, REDRAW_BOX, REDRAWdisp_BOX,
  25. -1, RedrawHandle, BUTN_LBLS+Redraw );
  26. }
  27. }
  28. //********************************************************************************************************************************
  29. char FindTeamInLeague( char posn )
  30. {
  31. char team = 0;
  32. for ( char t=0; t < 16 ; t++ )
  33. {
  34. if ( GroupDrawInfo[t] == posn )
  35. {
  36. team = t;
  37. break;
  38. }
  39. }
  40. return (team);
  41. }
  42. //********************************************************************************************************************************
  43. void GroupFixturesPage( char MENU, signed char BOX )
  44. {
  45. if ( MENU == GROUP_FIXTURES && LogicState == RUN_FRONTEND )
  46. {
  47. if ( BOX == REDRAW_BOX && ButtonState != 0 )
  48. {
  49. Animation_table[RedrawHandle].AnimationSpeed =
  50. WhichButton( ButtonState, 0.85);
  51. ChangeMenu = EURO_REDRAW;
  52. DeBounce = TRUE;
  53. }
  54. if ( BOX == NXT_MTCH_BOX && ButtonState != 0 )
  55. {
  56. /// tempory transfer to next match....
  57. EUROteamA = FindTeamInLeague( Fixtures[MatchNumber].HomeTeam );
  58. EUROteamB = FindTeamInLeague( Fixtures[MatchNumber].AwayTeam );
  59. EUROteamA = 0;
  60. EUROteamB = 1;
  61. ///
  62. Animation_table[NextMatchHandle].AnimationSpeed =
  63. WhichButton( ButtonState, 0.85);
  64. RunMatch = Yes;
  65. ChangeMenu = MAIN;
  66. DeBounce = TRUE;
  67. }
  68. RedrawHighlight = ControlOptionHighlight( BOX, REDRAW_BOX, REDRAWdisp_BOX, RedrawHighlight,
  69. RedrawHandle, BUTN_LBLS+Redraw );
  70. NextMatchHighlight = ControlOptionHighlight( BOX, NXT_MTCH_BOX, NXT_MTCHdisp_BOX, NextMatchHighlight,
  71. NextMatchHandle, BUTN_LBLS+NextMatch );
  72. }
  73. }
  74. //********************************************************************************************************************************
  75. void CalculateLeagueTables()
  76. {
  77. //ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
  78. //º º
  79. //º VERBOSE INFORMATION, DISPLAYS LEAGUE TABLE DATA IF REQUESTED º
  80. //º º
  81. //ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
  82. if ( EUROverbose != 0 )
  83. {
  84. printf("\n LEAGUE TABLE CALCULATION DATA:\n\n");
  85. printf("  Points for a win: %d\n", WinPts);
  86. printf("  Points for a draw: %d\n", DrawPts);
  87. }
  88. for ( char t=0; t < 16 ; t++ )
  89. {
  90. LeaguePositions[t] = t;
  91. LeagueTable[t].points =
  92. ((LeagueTable[t].won*WinPts) + (LeagueTable[t].drew*DrawPts));
  93. LeagueTable[t].goalDiff =
  94. (LeagueTable[t].goalsFor-LeagueTable[t].goalsAgainst);
  95. if ( EUROverbose != 0 )
  96. printf(" (%d)  W: %d D: %d L: %d Gf: %d Ga: %d Pts: %d %s\n",
  97. LeaguePositions[t],
  98. LeagueTable[t].won, LeagueTable[t].drew, LeagueTable[t].lost,
  99. LeagueTable[t].goalsFor, LeagueTable[t].goalsAgainst,
  100. LeagueTable[t].points, GetTEXT(TEAM_NMES+t ) );
  101. }
  102. char SwapTemp;
  103. for ( char scans = 0; scans < 16; scans++ )
  104. {
  105. // for ( char group = 0; group < 4; group++ )
  106. // {
  107. for ( char teama = 0; teama < 16; teama++ )
  108. {
  109. for ( char teamb = 0; teamb < 16; teamb++ )
  110. {
  111. if ( teama != teamb && ( (GroupDrawInfo[teama] & 12) == (GroupDrawInfo[teamb] & 12)) )
  112. {
  113. if ( ( LeagueTable[ ((group*4)+teama) ].points < LeagueTable[ ((group*4)+teamb) ].points &&
  114. LeaguePositions[ ((group*4)+teama) ] < LeaguePositions[ ((group*4)+teamb) ] )
  115. || ( LeagueTable[ ((group*4)+teama) ].points == LeagueTable[ ((group*4)+teamb) ].points &&
  116. LeagueTable[ ((group*4)+teama) ].won < LeagueTable[ ((group*4)+teamb) ].won &&
  117. LeaguePositions[ ((group*4)+teama) ] < LeaguePositions[ ((group*4)+teamb) ] )
  118. || ( LeagueTable[ ((group*4)+teama) ].points == LeagueTable[ ((group*4)+teamb) ].points &&
  119. LeagueTable[ ((group*4)+teama) ].won == LeagueTable[ ((group*4)+teamb) ].won &&
  120. LeagueTable[ ((group*4)+teama) ].goalDiff < LeagueTable[ ((group*4)+teamb) ].goalDiff &&
  121. LeaguePositions[ ((group*4)+teama) ] < LeaguePositions[ ((group*4)+teamb) ] )
  122. ) )
  123. {
  124. SwapTemp = LeaguePositions[ ((group*4)+teamb) ];
  125. LeaguePositions[ ((group*4)+teamb) ] =
  126. LeaguePositions[ ((group*4)+teama) ];
  127. LeaguePositions[ ((group*4)+teama) ] =
  128. SwapTemp;
  129. }
  130. }
  131. }
  132. }
  133. // }
  134. }
  135. }
  136. //********************************************************************************************************************************
  137. void DisplayLeagueTables()
  138. {
  139. short team;
  140. char *ammount;
  141. for ( char h=0; h < 16 ; h++ )
  142. {
  143. DisplayString(
  144. (GroupFixtureDEFN[h].xposn)-
  145. (PixelLengthOfString(GetTEXT( GroupFixtureDEFN[h].string), SMALL_FONT ) /2 ),
  146. GroupFixtureDEFN[h].yposn,
  147. GetTEXT( GroupFixtureDEFN[h].string ),
  148. SMALL_FONT, 22, NO_BOX,
  149. &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  150. team = (short)FindTeamInLeague(h);
  151. DisplayString(
  152. LeaguePosnDEFN[h].xposn,
  153. LeaguePosnDEFN[h].yposn,
  154. GetTEAMname( team, 11 ),
  155. SMALL_FONT,
  156. LeagueColourOffsets[team],
  157. NO_BOX,
  158. &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  159. itoa( LeagueTable[team].won, ammount, 10);
  160. DisplayString(
  161. WinPosnDEFN[h].xposn -
  162. (PixelLengthOfString( ammount, SMALL_FONT ) /2 ),
  163. WinPosnDEFN[h].yposn,
  164. ammount,
  165. SMALL_FONT,
  166. 15,
  167. NO_BOX,
  168. &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  169. itoa( LeagueTable[team].drew, ammount, 10);
  170. DisplayString(
  171. DrawPosnDEFN[h].xposn -
  172. (PixelLengthOfString( ammount, SMALL_FONT ) /2 ),
  173. DrawPosnDEFN[h].yposn,
  174. ammount,
  175. SMALL_FONT,
  176. 15,
  177. NO_BOX,
  178. &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  179. itoa( LeagueTable[team].lost, ammount, 10);
  180. DisplayString(
  181. LosePosnDEFN[h].xposn -
  182. (PixelLengthOfString( ammount, SMALL_FONT ) /2 ),
  183. LosePosnDEFN[h].yposn,
  184. ammount,
  185. SMALL_FONT,
  186. 15,
  187. NO_BOX,
  188. &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  189. itoa( LeagueTable[team].points, ammount, 10);
  190. DisplayString(
  191. PointsPosnDEFN[h].xposn -
  192. (PixelLengthOfString( ammount, SMALL_FONT ) /2 ),
  193. PointsPosnDEFN[h].yposn,
  194. ammount,
  195. SMALL_FONT,
  196. 15,
  197. NO_BOX,
  198. &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  199. }
  200. }
  201. //********************************************************************************************************************************
  202. void DisplayLeagueFixtures( char Match )
  203. {
  204. char NextMtch = Match;
  205. char PAL;
  206. Match&= (31-7);
  207. for ( char f=0; f < 8 ; f++ )
  208. {
  209. PAL = 22;
  210. if ( Match == NextMtch )
  211. PAL = 15;
  212. // DisplayString(
  213. // Fixtures[Match].fixXposn,
  214. // Fixtures[Match].fixYposn,
  215. // GetTEAMname( (FindTeamInLeague( Fixtures[Match].HomeTeam) ) , 11),
  216. // SMALL_FONT, 22, NO_BOX,
  217. // &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  218. //
  219. // DisplayString(
  220. // Fixtures[Match].fixXposn+210-
  221. // (PixelLengthOfString(
  222. // GetTEAMname(
  223. // FindTeamInLeague( Fixtures[Match].AwayTeam ), 11
  224. // ), SMALL_FONT )),
  225. // Fixtures[Match].fixYposn,
  226. // GetTEAMname( (FindTeamInLeague( Fixtures[Match].HomeTeam) ) , 0),
  227. // SMALL_FONT, 22, NO_BOX,
  228. // &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  229. //
  230. DisplayString(
  231. Fixtures[Match].fixXposn-
  232. (PixelLengthOfString(
  233. GetTEAMname(
  234. FindTeamInLeague( Fixtures[Match].HomeTeam ), 11
  235. ), SMALL_FONT ) /2 ),
  236. Fixtures[Match].fixYposn,
  237. GetTEAMname( (FindTeamInLeague( Fixtures[Match].HomeTeam) ) , 11),
  238. SMALL_FONT, PAL, NO_BOX,
  239. &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  240. DisplayString(
  241. (Fixtures[Match].fixXposn+116)-
  242. (PixelLengthOfString(
  243. GetTEAMname(
  244. FindTeamInLeague( Fixtures[Match].AwayTeam ), 11
  245. ), SMALL_FONT ) /2 ),
  246. Fixtures[Match].fixYposn,
  247. GetTEAMname( (FindTeamInLeague( Fixtures[Match].AwayTeam) ) , 0),
  248. SMALL_FONT, PAL, NO_BOX,
  249. &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  250. Match++;
  251. }
  252. }
  253. //********************************************************************************************************************************
  254. void DisplayVersusList()
  255. {
  256. for ( char v=0; v < 8 ; v++ )
  257. {
  258. DisplayString(
  259. VersusPosnDEFN[v].xposn -
  260. (PixelLengthOfString(GetTEXT( VRUS_LBLE ), SMALL_FONT ) /2 ),
  261. VersusPosnDEFN[v].yposn,
  262. GetTEXT( VRUS_LBLE ),
  263. SMALL_FONT, 22, NO_BOX,
  264. &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  265. }
  266. }
  267. //********************************************************************************************************************************
  268. void EuroReDraw( char MENU, signed char BOX )
  269. {
  270. signed char DrawnTeam, venue;
  271. if ( MENU == EURO_REDRAW )
  272. {
  273. DefaultdrawHighlight = ControlOptionHighlight( BOX, DEFAULT_BOX,
  274. DEFAULTdisp_BOX, DefaultdrawHighlight,
  275. DefaultHandle, BUTN_LBLS+Default );
  276. if ( BOX == DEFAULT_BOX && ButtonState != 0 && LogicState == RUN_FRONTEND )
  277. {
  278. memcpy( &GroupDrawInfo[0], &GroupDrawDefaultInfo[0], 16 );
  279. Animation_table[DefaultHandle].AnimationSpeed =
  280. WhichButton( ButtonState, 0.85);
  281. ChangeMenu = GROUP_FIXTURES;
  282. DeBounce = TRUE;
  283. }
  284. if ( EuroReDrawCounter <= 0.0 )
  285. {
  286. if ( EuroReDrawFlag == 22 )
  287. {
  288. if ( BOX == GRP_FIX_BOX && ButtonState == LEFT_BUTTON && LogicState == RUN_FRONTEND )
  289. {
  290. Animation_table[GrpFixHandle].AnimationSpeed =
  291. WhichButton( ButtonState, 0.85);
  292. ChangeMenu = GROUP_FIXTURES;
  293. DeBounce = TRUE;
  294. }
  295. RedrawdoneHighlight = ControlOptionHighlight( BOX, GRP_FIX_BOX,
  296. GRP_FIXdisp_BOX, RedrawdoneHighlight,
  297. GrpFixHandle, BUTN_LBLS+Done );
  298. }
  299. if ( EuroReDrawFlag == 21 )
  300. {
  301. char c;
  302. for ( char t=0; t < 16 ; t++ )
  303. {
  304. c = GroupDrawInfo[t] / 4;
  305. GroupDrawInfo[t] = (GroupDrawInfo[t] & 3) + (GroupVenues[c]*4);
  306. }
  307. EuroReDrawFlag++;
  308. GrpFixHandle = AddAnimation( 446, 425,
  309. ( (float)WHT_BLUE_BUTTON ), ( (float)WHT_BLUE_BUTTON+11.9 ),
  310. 0.0, GRP_FIX_BOX, RUN_ONCE );
  311. Animation_table[GrpFixHandle].Counter = 6.0;
  312. Animation_table[GrpFixHandle].AnimationSpeed = 0.85;
  313. RedrawdoneHighlight = ControlOptionHighlight( -1, GRP_FIX_BOX,
  314. GRP_FIXdisp_BOX, RedrawdoneHighlight,
  315. GrpFixHandle, BUTN_LBLS+Done );
  316. }
  317. if ( EuroReDrawFlag > 16 && EuroReDrawFlag < 21 )
  318. {
  319. if ( GroupVenues[ (EuroReDrawFlag-17) ] != -1 )
  320. EuroReDrawFlag++;
  321. else
  322. {
  323. venue = (char)( GetRnd2() & 3 );
  324. if ( GroupVenues[0] != venue &&
  325. GroupVenues[1] != venue &&
  326. GroupVenues[2] != venue &&
  327. GroupVenues[3] != venue )
  328. {
  329. char v = (EuroReDrawFlag-17);
  330. GroupVenues[v] = venue;
  331. CopyFromBACKtoPSEUDObuffer(
  332. &FrontendPseudoDEFN, &FrontendBackgroundDEFN,
  333. ReDrawHeadPosnDEFN[v].xposn-84,
  334. ReDrawHeadPosnDEFN[v].yposn-5,
  335. 168, 28 );
  336. DisplayString(
  337. ReDrawHeadPosnDEFN[v].xposn-
  338. ((PixelLengthOfString( GetTEXT( VNUE_NMES+(venue*2) ),
  339. SMALL_FONT )) /2),
  340. ReDrawHeadPosnDEFN[v].yposn-7,
  341. GetTEXT( VNUE_NMES+(venue*2) ),
  342. SMALL_FONT,
  343. 15,
  344. NO_BOX,
  345. &FrontendPseudoDEFN, &FrontendTextureDEFN );
  346. DisplayString(
  347. ReDrawHeadPosnDEFN[v].xposn-
  348. ((PixelLengthOfString( GetTEXT( VNUE_NMES+Birmingham+(venue*2) ),
  349. SMALL_FONT )) /2),
  350. ReDrawHeadPosnDEFN[v].yposn+8,
  351. GetTEXT( VNUE_NMES+Birmingham+(venue*2) ),
  352. SMALL_FONT,
  353. 15,
  354. NO_BOX,
  355. &FrontendPseudoDEFN, &FrontendTextureDEFN );
  356. AddToDumpList(
  357. ReDrawHeadPosnDEFN[v].xposn-84,
  358. ReDrawHeadPosnDEFN[v].yposn-7,
  359. 168, 32 );
  360. EuroReDrawFlag++;
  361. EuroReDrawCounter = 25;
  362. }
  363. }
  364. }
  365. if ( EuroReDrawFlag==16 )
  366. {
  367. venue = GroupDrawInfo[England] /4;
  368. EuroReDrawFlag = 17;
  369. for ( char v=0; v < 4 ; v++ )
  370. {GroupVenues[v] = -1;}
  371. GroupVenues[venue] = 0;
  372. CopyFromBACKtoPSEUDObuffer(
  373. &FrontendPseudoDEFN, &FrontendBackgroundDEFN,
  374. ReDrawHeadPosnDEFN[venue].xposn-84,
  375. ReDrawHeadPosnDEFN[venue].yposn-5,
  376. 168, 28 );
  377. DisplayString(
  378. ReDrawHeadPosnDEFN[venue].xposn-
  379. ((PixelLengthOfString( GetTEXT( VNUE_NMES ),
  380. SMALL_FONT )) /2),
  381. ReDrawHeadPosnDEFN[venue].yposn-7,
  382. GetTEXT( VNUE_NMES ),
  383. SMALL_FONT,
  384. 15,
  385. NO_BOX,
  386. &FrontendPseudoDEFN, &FrontendTextureDEFN );
  387. DisplayString(
  388. ReDrawHeadPosnDEFN[venue].xposn-
  389. ((PixelLengthOfString( GetTEXT( VNUE_NMES+Birmingham ),
  390. SMALL_FONT )) /2),
  391. ReDrawHeadPosnDEFN[venue].yposn+8,
  392. GetTEXT( VNUE_NMES+Birmingham ),
  393. SMALL_FONT,
  394. 15,
  395. NO_BOX,
  396. &FrontendPseudoDEFN, &FrontendTextureDEFN );
  397. AddToDumpList(
  398. ReDrawHeadPosnDEFN[venue].xposn-84,
  399. ReDrawHeadPosnDEFN[venue].yposn-7,
  400. 168, 32 );
  401. EuroReDrawCounter = 25;
  402. }
  403. if ( EuroReDrawFlag > 11 && EuroReDrawFlag < 16 )
  404. {
  405. DrawnTeam = (char)( GetRnd2() & 15);
  406. if ( (DrawnTeam == England ||
  407. DrawnTeam == Spain ||
  408. DrawnTeam == Denmark ||
  409. DrawnTeam == Germany) &&
  410. GroupDrawInfo[DrawnTeam] == -1 )
  411. {
  412. GroupDrawInfo[DrawnTeam] = GroupDrawCode[EuroReDrawFlag];
  413. DisplayString(
  414. ReDrawPosnDEFN[EuroReDrawFlag].xposn-
  415. ((PixelLengthOfString( GetTEAMname( DrawnTeam, 11 ),
  416. MEDIUM_FONT )) /2),
  417. ReDrawPosnDEFN[EuroReDrawFlag].yposn,
  418. GetTEAMname( DrawnTeam, 11 ),
  419. MEDIUM_FONT,
  420. LeagueColourOffsets[DrawnTeam],
  421. NO_BOX,
  422. &FrontendPseudoDEFN, &FrontendTextureDEFN );
  423. DisplayString(
  424. ReDrawPosnDEFN[EuroReDrawFlag].xposn-
  425. ((PixelLengthOfString( GetTEAMname( DrawnTeam, 11 ),
  426. MEDIUM_FONT )) /2),
  427. ReDrawPosnDEFN[EuroReDrawFlag].yposn,
  428. GetTEAMname( DrawnTeam, 11 ),
  429. MEDIUM_FONT,
  430. LeagueColourOffsets[DrawnTeam],
  431. NO_BOX,
  432. &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  433. AddToDumpList(
  434. ReDrawPosnDEFN[EuroReDrawFlag].xposn-84,
  435. ReDrawPosnDEFN[EuroReDrawFlag].yposn,
  436. 168, 20 );
  437. EuroReDrawFlag++;
  438. EuroReDrawCounter = 25;
  439. }
  440. }
  441. if ( EuroReDrawFlag > -1 && EuroReDrawFlag < 12 )
  442. {
  443. DrawnTeam = (char)( GetRnd2() & 15);
  444. if ( DrawnTeam != England &&
  445. DrawnTeam != Spain &&
  446. DrawnTeam != Denmark &&
  447. DrawnTeam != Germany &&
  448. GroupDrawInfo[DrawnTeam] == -1 )
  449. {
  450. GroupDrawInfo[DrawnTeam] = GroupDrawCode[EuroReDrawFlag];
  451. DisplayString(
  452. ReDrawPosnDEFN[EuroReDrawFlag].xposn-
  453. ((PixelLengthOfString( GetTEAMname( DrawnTeam, 11 ),
  454. MEDIUM_FONT )) /2),
  455. ReDrawPosnDEFN[EuroReDrawFlag].yposn,
  456. GetTEAMname( DrawnTeam, 11 ),
  457. MEDIUM_FONT,
  458. LeagueColourOffsets[DrawnTeam],
  459. NO_BOX,
  460. &FrontendPseudoDEFN, &FrontendTextureDEFN );
  461. DisplayString(
  462. ReDrawPosnDEFN[EuroReDrawFlag].xposn-
  463. ((PixelLengthOfString( GetTEAMname( DrawnTeam, 11 ),
  464. MEDIUM_FONT )) /2),
  465. ReDrawPosnDEFN[EuroReDrawFlag].yposn,
  466. GetTEAMname( DrawnTeam, 11 ),
  467. MEDIUM_FONT,
  468. LeagueColourOffsets[DrawnTeam],
  469. NO_BOX,
  470. &FrontendBackgroundDEFN, &FrontendTextureDEFN );
  471. AddToDumpList(
  472. ReDrawPosnDEFN[EuroReDrawFlag].xposn-84,
  473. ReDrawPosnDEFN[EuroReDrawFlag].yposn,
  474. 168, 20 );
  475. EuroReDrawFlag++;
  476. EuroReDrawCounter = 25;
  477. }
  478. }
  479. if ( EuroReDrawFlag == -1 )
  480. {
  481. for ( char r=0; r < 16 ; r++ )
  482. {GroupDrawInfo[r] = -1;}
  483. EuroReDrawFlag = 0;
  484. EuroReDrawCounter = 25;
  485. }
  486. }
  487. if ( EuroReDrawCounter > 0.0 )
  488. EuroReDrawCounter-= 1.85;
  489. }
  490. }
  491. //********************************************************************************************************************************
  492. void DisplayGroupHeadings()
  493. {
  494. for ( char h=0; h < 4 ; h++ )
  495. {
  496. DisplayString(
  497. ReDrawHeadPosnDEFN[h].xposn-
  498. ((PixelLengthOfString( GetTEXT( DRGR_LBLE+h ),
  499. MEDIUM_FONT )) /2),
  500. ReDrawHeadPosnDEFN[h].yposn,
  501. GetTEXT( DRGR_LBLE+h ),
  502. MEDIUM_FONT,
  503. 29,
  504. NO_BOX,
  505. &FrontendPseudoDEFN, &FrontendTextureDEFN );
  506. AddToDumpList(
  507. ReDrawHeadPosnDEFN[h].xposn-84,
  508. ReDrawHeadPosnDEFN[h].yposn,
  509. 168, 20 );
  510. }
  511. }
  512. //********************************************************************************************************************************