|
|
|
@ -1,4 +1,4 @@
|
|
|
|
|
/* $Id: help.c,v 1.12 2004/08/30 20:48:36 stpohle Exp $
|
|
|
|
|
/* $Id: help.c,v 1.13 2004/09/26 02:28:06 stpohle Exp $
|
|
|
|
|
* Display complex help text and information screen about the game
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
@ -18,15 +18,18 @@ enum _help_page {
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void help () {
|
|
|
|
|
int page = 0, menuselect = 2, y = 0;
|
|
|
|
|
/*
|
|
|
|
|
* show the manual pages
|
|
|
|
|
*/
|
|
|
|
|
void help (int showpage) {
|
|
|
|
|
int page = showpage, menuselect = 2, y = 0;
|
|
|
|
|
char title[255];
|
|
|
|
|
SDL_Rect rect;
|
|
|
|
|
_menu *menu;
|
|
|
|
|
|
|
|
|
|
menu_displaytext ("Please Wait", "Loading GFX Data");
|
|
|
|
|
tileset_load ("default", 32, 32);
|
|
|
|
|
gfx_load_players (gfx.block.x, gfx.block.y);
|
|
|
|
|
|
|
|
|
|
if (page < 0 || page >= HP_max)
|
|
|
|
|
page = 0;
|
|
|
|
|
|
|
|
|
|
while (menuselect != -1 && menuselect != 1 && bman.state != GS_quit) {
|
|
|
|
|
if (page == HP_howto0) {
|
|
|
|
@ -42,11 +45,7 @@ void help () {
|
|
|
|
|
"running faster than your opponent and you have many bombs, you can catch "
|
|
|
|
|
"him within lots of bombs and he has no chance to escape.");
|
|
|
|
|
|
|
|
|
|
rect.x = 0;
|
|
|
|
|
rect.y = 15*gfx.players[0].ani.h;
|
|
|
|
|
rect.w = gfx.players[0].ani.w;
|
|
|
|
|
rect.h = gfx.players[0].ani.h;
|
|
|
|
|
menu_create_image (menu, "img", 450, 255, 0, gfx.players[0].ani.image, &rect);
|
|
|
|
|
menu_create_image (menu, "img", 450, 255, 0, gfx.players[0].menu_image, NULL);
|
|
|
|
|
|
|
|
|
|
menu_create_text (menu, "help", 5, 255, 45, 10, COLOR_brown,
|
|
|
|
|
"You will get points for every player you have killed. "
|
|
|
|
@ -59,11 +58,6 @@ void help () {
|
|
|
|
|
|
|
|
|
|
y = 50;
|
|
|
|
|
|
|
|
|
|
rect.x = rect.y = 0;
|
|
|
|
|
rect.w = gfx.block.x;
|
|
|
|
|
rect.h = gfx.block.y;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
menu_create_text (menu, "help", 5, y, 53, 10, COLOR_brown,
|
|
|
|
|
"In the game you will find some diffend kind of powerups. "
|
|
|
|
|
"There are the powerups who give you more power for the whole game "
|
|
|
|
@ -73,20 +67,17 @@ void help () {
|
|
|
|
|
menu_create_label (menu, "Permanent Powerups", -1, y, 2, COLOR_yellow);
|
|
|
|
|
y += (5 + font[2].size.y);
|
|
|
|
|
|
|
|
|
|
menu_create_image (menu, "pwback", 5, y, 0, gfx.powerup[0].image, &rect);
|
|
|
|
|
menu_create_image (menu, "bomb", 5, y, 1, gfx.field[FT_bomb].image, &rect);
|
|
|
|
|
menu_create_image (menu, "bomb", 5, y, 0, gfx.menu_field[FT_bomb], NULL);
|
|
|
|
|
menu_create_text (menu, "help", 55, y, 45, 10, COLOR_brown,
|
|
|
|
|
"Give you another bomb to drop. Maximum number of bombs is %d.", MAX_BOMBS);
|
|
|
|
|
y += 40;
|
|
|
|
|
|
|
|
|
|
menu_create_image (menu, "pwback", 5, y, 0, gfx.powerup[0].image, &rect);
|
|
|
|
|
menu_create_image (menu, "fire", 5, y, 1, gfx.field[FT_fire].image, &rect);
|
|
|
|
|
menu_create_image (menu, "fire", 5, y, 1, gfx.menu_field[FT_fire], NULL);
|
|
|
|
|
menu_create_text (menu, "help", 55, y, 45, 10, COLOR_brown,
|
|
|
|
|
"The range of your bombs will be increased. Maximum range is %d.", MAX_RANGE);
|
|
|
|
|
y += 40;
|
|
|
|
|
|
|
|
|
|
menu_create_image (menu, "pwback", 5, y, 0, gfx.powerup[0].image, &rect);
|
|
|
|
|
menu_create_image (menu, "shoe", 5, y, 1, gfx.field[FT_shoe].image, &rect);
|
|
|
|
|
menu_create_image (menu, "shoe", 5, y, 1, gfx.menu_field[FT_shoe], NULL);
|
|
|
|
|
menu_create_text (menu, "help", 55, y, 45, 10, COLOR_brown,
|
|
|
|
|
"This will make your player run faster. The maximum speed will be %1.2f.", MAX_SPEED);
|
|
|
|
|
y += 40;
|
|
|
|
@ -104,47 +95,37 @@ void help () {
|
|
|
|
|
|
|
|
|
|
y = 45;
|
|
|
|
|
|
|
|
|
|
rect.x = rect.y = 0;
|
|
|
|
|
rect.w = gfx.block.x;
|
|
|
|
|
rect.h = gfx.block.y;
|
|
|
|
|
|
|
|
|
|
menu_create_label (menu, "Special Powerups", -1, y, 2, COLOR_yellow);
|
|
|
|
|
y += (5 + font[2].size.y);
|
|
|
|
|
|
|
|
|
|
menu_create_image (menu, "pwback", 5, y, 0, gfx.powerup[2].image, &rect);
|
|
|
|
|
menu_create_image (menu, "kick", 5, y, 1, gfx.field[FT_sp_kick].image, &rect);
|
|
|
|
|
menu_create_image (menu, "kick", 5, y, 1, gfx.menu_field[FT_sp_kick], NULL);
|
|
|
|
|
menu_create_text (menu, "help", 55, y, 48, 10, COLOR_brown,
|
|
|
|
|
"Allowes you to kick some bombs around the level. This will hold "
|
|
|
|
|
"just a short time of %d seconds. The maximum distance you can "
|
|
|
|
|
"kick the bombs is %d fields.", SPECIAL_KICK_TIME, SPECIAL_KICK_MAXDIST);
|
|
|
|
|
y += 70;
|
|
|
|
|
|
|
|
|
|
menu_create_image (menu, "pwback", 5, y, 0, gfx.powerup[2].image, &rect);
|
|
|
|
|
menu_create_image (menu, "push", 5, y, 1, gfx.field[FT_sp_push].image, &rect);
|
|
|
|
|
menu_create_image (menu, "push", 5, y, 1, gfx.menu_field[FT_sp_push], NULL);
|
|
|
|
|
menu_create_text (menu, "help", 55, y, 48, 10, COLOR_brown,
|
|
|
|
|
"Push bombs one field, as long as nothing is behind this bomb.");
|
|
|
|
|
y += 40;
|
|
|
|
|
|
|
|
|
|
menu_create_image (menu, "pwback", 5, y, 0, gfx.powerup[2].image, &rect);
|
|
|
|
|
menu_create_image (menu, "droprow", 5, y, 1, gfx.field[FT_sp_row].image, &rect);
|
|
|
|
|
menu_create_image (menu, "droprow", 5, y, 1, gfx.menu_field[FT_sp_row], NULL);
|
|
|
|
|
menu_create_text (menu, "help", 55, y, 48, 10, COLOR_brown,
|
|
|
|
|
"You can drop a row of that many bombs you have still left to drop.");
|
|
|
|
|
y += 40;
|
|
|
|
|
|
|
|
|
|
menu_create_image (menu, "pwback", 5, y, 0, gfx.powerup[2].image, &rect);
|
|
|
|
|
menu_create_image (menu, "dropliquid", 5, y, 1, gfx.field[FT_sp_liquid].image, &rect);
|
|
|
|
|
menu_create_image (menu, "dropliquid", 5, y, 1, gfx.menu_field[FT_sp_liquid], NULL);
|
|
|
|
|
menu_create_text (menu, "help", 55, y, 48, 10, COLOR_brown,
|
|
|
|
|
"The bomb you push now won't stop moving untill they explode.");
|
|
|
|
|
y += 40;
|
|
|
|
|
|
|
|
|
|
menu_create_image (menu, "pwback", 5, y, 0, gfx.powerup[2].image, &rect);
|
|
|
|
|
menu_create_image (menu, "dropliquid", 5, y, 1, gfx.field[FT_sp_moved].image, &rect);
|
|
|
|
|
menu_create_image (menu, "dropliquid", 5, y, 1, gfx.menu_field[FT_sp_moved], NULL);
|
|
|
|
|
menu_create_text (menu, "help", 55, y, 45, 10, COLOR_brown,
|
|
|
|
|
"The bomb you push will stop moving on the next border or bomb.");
|
|
|
|
|
y += 40;
|
|
|
|
|
|
|
|
|
|
menu_create_image (menu, "pwback", 5, y, 0, gfx.powerup[2].image, &rect);
|
|
|
|
|
menu_create_image (menu, "dropltrigger", 5, y, 1, gfx.field[FT_sp_trigger].image, &rect);
|
|
|
|
|
menu_create_image (menu, "dropltrigger", 5, y, 1, gfx.menu_field[FT_sp_trigger], NULL);
|
|
|
|
|
menu_create_text (menu, "help", 55, y, 45, 10, COLOR_brown,
|
|
|
|
|
"You will be able to drop triggered bombs. Use "
|
|
|
|
|
"the special key to let all your bombs explode. "
|
|
|
|
@ -157,10 +138,6 @@ void help () {
|
|
|
|
|
|
|
|
|
|
y = 45;
|
|
|
|
|
|
|
|
|
|
rect.x = rect.y = 0;
|
|
|
|
|
rect.w = gfx.block.x;
|
|
|
|
|
rect.h = gfx.block.y;
|
|
|
|
|
|
|
|
|
|
menu_create_label (menu, "Death Item", -1, y, 2, COLOR_yellow);
|
|
|
|
|
y += (5 + font[2].size.y);
|
|
|
|
|
|
|
|
|
@ -172,8 +149,7 @@ void help () {
|
|
|
|
|
"get all the illnesses you have too.", ILL_TIMEOUT);
|
|
|
|
|
y += 110;
|
|
|
|
|
|
|
|
|
|
menu_create_image (menu, "pwback", 12, y+8, 0, gfx.powerup[1].image, &rect);
|
|
|
|
|
menu_create_image (menu, "pwdeath", 12, y+8, 1, gfx.field[FT_death].image, &rect);
|
|
|
|
|
menu_create_image (menu, "pwdeath", 12, y+8, 1, gfx.menu_field[FT_death], NULL);
|
|
|
|
|
menu_create_text (menu, "help", 55, y, 45, 10, COLOR_brown,
|
|
|
|
|
"This will make your player ill. We have at the moment %d diffrent "
|
|
|
|
|
"types of illnesses for you to collect. To make the game more", PI_max);
|
|
|
|
@ -190,11 +166,7 @@ void help () {
|
|
|
|
|
menu_create_label (menu, "During a Game", -1, y, 2, COLOR_yellow);
|
|
|
|
|
y += font[2].size.y;
|
|
|
|
|
|
|
|
|
|
rect.x = 3*gfx.players[7].ani.w;
|
|
|
|
|
rect.y = 10*gfx.players[7].ani.h;
|
|
|
|
|
rect.h = gfx.players[7].ani.h;
|
|
|
|
|
rect.w = gfx.players[7].ani.w;
|
|
|
|
|
menu_create_image (menu, "img", 450, 100, 0, gfx.players[7].ani.image, &rect);
|
|
|
|
|
menu_create_image (menu, "img", 450, 100, 0, gfx.players[7].menu_image, NULL);
|
|
|
|
|
|
|
|
|
|
menu_create_text (menu, "help", 5, y, 53, 10, COLOR_brown,
|
|
|
|
|
"Arrow Keys - Moving of the Player\n"
|
|
|
|
@ -223,11 +195,7 @@ void help () {
|
|
|
|
|
sprintf (title, "About BomberClone (%d/%d)", page + 1, HP_max);
|
|
|
|
|
menu = menu_new (title, 500, 400);
|
|
|
|
|
|
|
|
|
|
rect.x = 1*gfx.players[4].ani.w;
|
|
|
|
|
rect.y = 5*gfx.players[4].ani.h;
|
|
|
|
|
rect.h = gfx.players[4].ani.h;
|
|
|
|
|
rect.w = gfx.players[4].ani.w;
|
|
|
|
|
menu_create_image (menu, "img", 15, 60, 0, gfx.players[4].ani.image, &rect);
|
|
|
|
|
menu_create_image (menu, "img", 15, 60, 0, gfx.players[4].menu_image, NULL);
|
|
|
|
|
menu_create_text (menu, "help", 75, 50, 45, 10, COLOR_brown,
|
|
|
|
|
"If you have any problems or questions with the game you can send your questions "
|
|
|
|
|
"to the mailinglist or directly to me. Bugfixes should be send to the SourceForge "
|
|
|
|
@ -246,11 +214,7 @@ void help () {
|
|
|
|
|
sprintf (title, "People (%d/%d)", page + 1, HP_max);
|
|
|
|
|
menu = menu_new (title, 500, 400);
|
|
|
|
|
|
|
|
|
|
rect.x = 3*gfx.players[6].ani.w;
|
|
|
|
|
rect.y = 10*gfx.players[6].ani.h;
|
|
|
|
|
rect.h = gfx.players[6].ani.h;
|
|
|
|
|
rect.w = gfx.players[6].ani.w;
|
|
|
|
|
menu_create_image (menu, "img", 250, 100, 0, gfx.players[6].ani.image, &rect);
|
|
|
|
|
menu_create_image (menu, "img", 250, 100, 0, gfx.players[6].menu_image, NULL);
|
|
|
|
|
|
|
|
|
|
y = 50;
|
|
|
|
|
menu_create_label (menu, "Coding:", 5, y, 2, COLOR_yellow);
|
|
|
|
@ -301,6 +265,4 @@ void help () {
|
|
|
|
|
page++;
|
|
|
|
|
menu_delete (menu);
|
|
|
|
|
}
|
|
|
|
|
gfx_free_players ();
|
|
|
|
|
tileset_free ();
|
|
|
|
|
};
|
|
|
|
|