-/*
+/*
* Copyright (C) 2003 Robert Kooima
*
* NEVERBALL is free software; you can redistribute it and/or modify
#define HELP_CONT 3
#define HELP_MODE 4
#define HELP_SECR 5
-#define HELP_CRED 6
-extern struct state st_help2;
-extern struct state st_help3;
-extern struct state st_help4;
-extern struct state st_help5;
+struct state st_help_rules;
+struct state st_help_controls;
+struct state st_help_modes;
+struct state st_help_secrets;
static int help_action(int i)
{
audio_play(AUD_MENU, 1.0f);
-
+
switch (i)
{
case HELP_BACK: return goto_state(&st_title);
- case HELP_RULE: return goto_state(&st_help);
- case HELP_CONT: return goto_state(&st_help2);
- case HELP_MODE: return goto_state(&st_help3);
- case HELP_SECR: return goto_state(&st_help4);
- case HELP_CRED: return goto_state(&st_help5);
+ case HELP_RULE: return goto_state(&st_help_rules);
+ case HELP_CONT: return goto_state(&st_help_controls);
+ case HELP_MODE: return goto_state(&st_help_modes);
+ case HELP_SECR: return goto_state(&st_help_secrets);
}
return 1;
}
static int help_button(int id, const char *text, int token, int atoken)
{
int kd = gui_state(id, text, GUI_SML, token, token == atoken);
+
if (token == atoken)
gui_focus(kd);
+
return kd;
}
static int help_menu(int id, int i)
{
int jd;
+
gui_filler(id);
if ((jd = gui_harray(id)))
{
- help_button(jd, _("Credits"), HELP_CRED, i);
- help_button(jd, _("Secrets"), HELP_SECR, i);
- help_button(jd, _("Modes"), HELP_MODE, i);
- help_button(jd, _("Controls"), HELP_CONT, i);
- help_button(jd, _("Rules"), HELP_RULE, i);
- help_button(jd, _("Back"), HELP_BACK, i);
+ help_button(jd, _("Techniques"), HELP_SECR, i);
+ help_button(jd, _("Modes"), HELP_MODE, i);
+ help_button(jd, _("Controls"), HELP_CONT, i);
+ help_button(jd, _("Rules"), HELP_RULE, i);
+ help_button(jd, _("Back"), HELP_BACK, i);
}
gui_filler(id);
return jd;
}
-static int help1_enter(void)
+static int help_enter(void)
+{
+ goto_state(&st_help_rules);
+ return 0;
+}
+
+static int help_rules_enter(void)
{
const char *s0 = _(
"Move the mouse or joystick\\"
int w = config_get_d(CONFIG_WIDTH);
int h = config_get_d(CONFIG_HEIGHT);
-
+
int id, jd;
if ((id = gui_vstack(0)))
{
help_menu(id, HELP_RULE);
-
+
if ((jd = gui_hstack(id)))
{
gui_image(jd, "gui/help1.jpg", 6 * w / 16, 6 * h / 16);
return id;
}
-static int help2_enter(void)
+static int help_controls_enter(void)
{
const char *s4 = _("Left and right mouse buttons rotate the view.");
const char *s5 = _("Hold Shift for faster view rotation.");
const char *k7 = SDL_GetKeyName(SDLK_F11);
int id, jd;
-
+
if ((id = gui_vstack(0)))
{
help_menu(id, HELP_CONT);
-
+
if ((jd = gui_harray(id)))
{
gui_label(jd, s6, GUI_SML, GUI_NE, gui_wht, gui_wht);
return id;
}
-static int help3_enter(void)
+static int help_modes_enter(void)
{
int id;
-
+
if ((id = gui_vstack(0)))
{
help_menu(id, HELP_MODE);
-
+
gui_label(id, _("Normal"), GUI_SML, GUI_TOP, 0, 0);
- gui_multi(id,
- "Finish a level before the time run out.\\"
+ gui_multi(id,
+ "Finish a level before the time runs out.\\"
"You need to collect coins in order to open the goal.",
GUI_SML, GUI_BOT, gui_wht, gui_wht);
-
+
gui_space(id);
-
+
gui_label(id, _("Practice"), GUI_SML, GUI_TOP, 0, 0);
- gui_multi(id, "Play a level without time or coin constraint.",
+ gui_multi(id, "Play without time limit or coin constraint.\\"
+ "Levels cannot be unlocked in this mode.",
GUI_SML, GUI_BOT, gui_wht, gui_wht);
-
+
gui_space(id);
-
+
gui_label(id, _("Challenge"), GUI_SML, GUI_TOP, 0, 0);
- gui_multi(id,
- "Start playing from the first level of the level set.\\"
+ gui_multi(id,
+ "Start playing from the first level of the set.\\"
"You start with only four balls, do not lose them.\\"
"Earn an extra ball for each 100 coins collected.",
GUI_SML, GUI_BOT, gui_wht, gui_wht);
gui_layout(id, 0, +1);
}
return id;
-
+
}
-static int help4_enter(void)
+static int help_secrets_enter(void)
{
const char *s0 = _(
- " \\"
- " \\"
- " \\"
- " \\ ");
+ "Corners can be used to jump.\\"
+ "Get rolling and take aim\\"
+ "at the angle. You may be able\\"
+ "to reach new places.\\");
const char *s1 = _(
- " \\"
- " \\"
- " \\"
- " \\ ");
+ "Tilting in 2 directions increases\\"
+ "the slope. Use the manual view\\"
+ "and turn the camera by 45 degrees\\"
+ "for best results.\\ ");
int w = config_get_d(CONFIG_WIDTH);
int h = config_get_d(CONFIG_HEIGHT);
-
+
int id, jd;
if ((id = gui_vstack(0)))
{
help_menu(id, HELP_SECR);
-
+
if ((jd = gui_hstack(id)))
{
gui_filler(jd);
return id;
}
-static int help5_enter(void)
-{
- int id;
-
- if ((id = gui_vstack(0)))
- {
- help_menu(id, HELP_CRED);
-
- gui_label(id, _("Lead Maintainer"), GUI_SML, GUI_TOP, 0, 0);
- gui_label(id, "Robert Kooima <robert.kooima@gmail.com>",
- GUI_SML, GUI_BOT , gui_wht, gui_wht);
-
- gui_space(id);
-
- gui_label(id, _("Developers"), GUI_SML, GUI_TOP, 0, 0);
- gui_label(id, "Robert Kooima, Jean Privat",
- GUI_SML, GUI_BOT , gui_wht, gui_wht);
-
- gui_space(id);
-
- gui_label(id, _("Level Contribution"), GUI_SML, GUI_TOP, 0, 0);
- gui_multi(id,
- "Robert Kooima, Jean Privat, Jānis Rūcis,\\"
- "Paul Tompkins, Mehdi Yousfi-Monod",
- GUI_SML, GUI_BOT , gui_wht, gui_wht);
-
- gui_space(id);
-
- gui_label(id, _("Translation"), GUI_SML, GUI_TOP, 0, 0);
- gui_multi(id,
- "French: Jean Privat, Mehdi Yousfi-Monod;\\"
- "German: Georg Wachter; Latvian: Jānis Rūcis",
- GUI_SML, GUI_BOT , gui_wht, gui_wht);
-
- gui_layout(id, 0, +1);
- }
- return id;
-}
-
static int help_buttn(int b, int d)
{
if (d)
/*---------------------------------------------------------------------------*/
struct state st_help = {
- help1_enter,
- shared_leave,
- shared_paint,
- shared_timer,
- shared_point,
- shared_stick,
- shared_click,
+ help_enter,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
NULL,
- help_buttn,
1, 0
};
-struct state st_help2 = {
- help2_enter,
+struct state st_help_rules = {
+ help_rules_enter,
shared_leave,
shared_paint,
shared_timer,
1, 0
};
-struct state st_help3 = {
- help3_enter,
+struct state st_help_controls = {
+ help_controls_enter,
shared_leave,
shared_paint,
shared_timer,
1, 0
};
-struct state st_help4 = {
- help4_enter,
+struct state st_help_modes = {
+ help_modes_enter,
shared_leave,
shared_paint,
shared_timer,
1, 0
};
-struct state st_help5 = {
- help5_enter,
+struct state st_help_secrets = {
+ help_secrets_enter,
shared_leave,
shared_paint,
shared_timer,
help_buttn,
1, 0
};
+