Fix for initialization of scalos preferences library. Library is now loaded only...
[AROS-Contrib.git] / Games / Bomber / BomberMenu.c
blobbc92da7e5d9d9f61e834e4a9e0fa4253752a39cc
1 int MenuChoice, MenuFrame, MenuPlayers = 2;
3 //Initialize the menu
4 void InitMenu ()
6 int i;
8 //Draw to front buffer
9 TargetData = MainBitmapData;
11 //Clear buffer
12 memset ((char *)TargetData, 0, WIDTH * HEIGHT);
14 //Display title
15 Blit (35, 32, 0, 80, 203, 29);
17 //Display menu
18 for (i = 0; i < 4; i++)
19 Blit (112, 101 + i * 32, 0, 109 + i * 15, 64, 15);
21 //Choose top
22 MenuChoice = 0;
23 MenuFrame = 0;
24 FlushKeys ();
27 //Display the number of players
28 void DrawNumber ()
30 int yt;
32 //Display menu
33 for (yt = 0; yt < 15; yt++)
34 memcpy ((char *)TargetData + (101 + yt + 32) * WIDTH + 179,
35 (char *)BlocksBuf + (168 + yt) * 320 + (MenuPlayers - 1) * 8,
36 8);
39 //Do the menu stuff
40 void MenuLoop ()
42 int Key;
44 //Clear old bomb
45 DrawBlock (5, (3 + MenuChoice) * 2, 10, 2);
47 //Read from keyboard
48 Key = getch ();
50 //Move cursor
51 if (Key == VK_UP) {
52 MenuChoice--;
53 if (MenuChoice == -1) MenuChoice = 3;
55 if (Key == VK_DOWN) {
56 MenuChoice++;
57 if (MenuChoice == 4) MenuChoice = 0;
60 //Update number of players
61 if (MenuChoice == 1) {
62 if (Key == VK_LEFT) {
63 MenuPlayers--;
64 if (MenuPlayers == 1) MenuPlayers = 4;
66 if (Key == VK_RIGHT) {
67 MenuPlayers++;
68 if (MenuPlayers == 5) MenuPlayers = 2;
72 //Display new bomb
73 MenuFrame ^= 1;
74 DrawBlock (5, (3 + MenuChoice) * 2, 10, MenuFrame);
75 DrawNumber ();
77 //Enter key
78 if (Key == VK_RETURN) {
79 switch (MenuChoice) {
80 //Start game
81 case 0:
82 case 1:
83 //Get number of players
84 Players = MenuPlayers;
85 ComputerPlays = 0;
86 if (MenuPlayers == 1) {
87 Players++;
88 ComputerPlays = -1;
91 //Start the game
92 ClearGame ();
94 State = IN_GAME;
95 NewGame ();
97 break;
98 //Setup
99 case 2:
100 State = IN_SETUP;
101 InitSetup ();
102 break;
103 //Quit
104 case 3:
105 Done = -1;
106 break;