From 1bc33d31af8a1c73af9fe97b1802bb99ba8f9b18 Mon Sep 17 00:00:00 2001 From: mcmartin Date: Fri, 11 Feb 2005 08:52:52 +0000 Subject: [PATCH] Setup menu uses a background graphic now git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@1532 8092fc87-c524-0410-9efc-e669fe64eaf9 --- sc2/ChangeLog | 1 + sc2/content/lbm/setupmenu.0.png | Bin 0 -> 18045 bytes sc2/content/lbm/setupmenu.ani | 1 + sc2/src/sc2code/setupmenu.c | 148 +++++++++++++------------------- sc2/src/sc2code/setupmenu.h | 1 - 5 files changed, 62 insertions(+), 89 deletions(-) create mode 100644 sc2/content/lbm/setupmenu.0.png create mode 100644 sc2/content/lbm/setupmenu.ani diff --git a/sc2/ChangeLog b/sc2/ChangeLog index 28253cf36..fc1325c8f 100644 --- a/sc2/ChangeLog +++ b/sc2/ChangeLog @@ -1,4 +1,5 @@ Changes towards version 0.4: +- Setup menu now uses a background contributed by Joffrey Smith - If keys.cfg refers to a nonexistent joystick, the game will stil run (bug #660) -McMartin - Fixed support for languages other than English; loading font chars diff --git a/sc2/content/lbm/setupmenu.0.png b/sc2/content/lbm/setupmenu.0.png new file mode 100644 index 0000000000000000000000000000000000000000..f1523d980d7a2a1fdb1431a0e2b0ea3549f168e1 GIT binary patch literal 18045 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 literal 0 HcmV?d00001 diff --git a/sc2/content/lbm/setupmenu.ani b/sc2/content/lbm/setupmenu.ani new file mode 100644 index 000000000..1e3c934e4 --- /dev/null +++ b/sc2/content/lbm/setupmenu.ani @@ -0,0 +1 @@ +setupmenu.0.png -1 -1 0 0 diff --git a/sc2/src/sc2code/setupmenu.c b/sc2/src/sc2code/setupmenu.c index a1173f682..d0380f3b7 100644 --- a/sc2/src/sc2code/setupmenu.c +++ b/sc2/src/sc2code/setupmenu.c @@ -22,10 +22,12 @@ #include "options.h" #include "setup.h" #include "sounds.h" +#include "libs/gfxlib.h" #include "libs/graphics/gfx_common.h" #include "libs/graphics/widgets.h" #include "libs/graphics/tfb_draw.h" +#define MENU_BKG "lbm/setupmenu.ani" typedef struct setup_menu_state { BOOLEAN (*InputFunc) (struct setup_menu_state *pInputState); @@ -52,6 +54,7 @@ typedef struct { } MENU_CATEGORY; static BOOLEAN DoSetupMenu (PSETUP_MENU_STATE pInputState); +static STAMP bkgStamp = { {0, 0}, NULL }; static OPTION scaler_opts[] = { { "None", @@ -200,11 +203,6 @@ static OPTION resdriver_opts[] = { }; static OPTION bpp_opts[] = { - { "8", - { "8-bit paletted display.", - "", - "" - } }, { "16", { "16-bit color depth.", "", @@ -237,7 +235,7 @@ static const char **tooltip; static MENU_CATEGORY cmdline_opts[] = { { "Resolution", RES_OPTS, resdriver_opts, 0 }, - { "Color depth", 4, bpp_opts, 0 }, + { "Color depth", 3, bpp_opts, 0 }, { "Scaler", 5, scaler_opts, 0 }, { "Scanlines", 2, scanlines_opts, 0 }, { "Menu Style", 2, menu_opts, 0 }, @@ -290,7 +288,7 @@ static void DrawMenu (PSETUP_MENU_STATE pInputState) { RECT r; - COLOR bg, dark, medium, title, oldtext; + COLOR title, oldtext; COLOR inactive, default_color, selected; FONT oldfont = SetContextFont (StarConFont); FONTEFFECT oldFontEffect = SetContextFontEffect (0, 0, 0); @@ -303,16 +301,19 @@ DrawMenu (PSETUP_MENU_STATE pInputState) r.extent.width = SCREEN_WIDTH - 4; r.extent.height = SCREEN_HEIGHT - 4; - dark = BUILD_COLOR (MAKE_RGB15 (0x00, 0x00, 0x08), 0x01); - medium = BUILD_COLOR (MAKE_RGB15 (0x00, 0x00, 0x10), 0x01); - bg = BUILD_COLOR (MAKE_RGB15 (0x00, 0x00, 0x1A), 0x09); - title = BUILD_COLOR (MAKE_RGB15 (0x1F, 0x1F, 0x1F), 0x0F); selected = BUILD_COLOR (MAKE_RGB15 (0x1F, 0x1F, 0x00), 0x0E); - inactive = BUILD_COLOR (MAKE_RGB15 (0x18, 0x18, 0x18), 0x07); + inactive = BUILD_COLOR (MAKE_RGB15 (0x18, 0x18, 0x1F), 0x07); default_color = title; - DrawShadowedBox(&r, bg, dark, medium); + if (!bkgStamp.frame) + { + bkgStamp.origin.x = 0; + bkgStamp.origin.y = 0; + bkgStamp.frame = CaptureDrawable (LoadCelFile (MENU_BKG)); + } + + DrawStamp (&bkgStamp); oldtext = SetContextForeGroundColor (title); t.baseline.x = r.corner.x + (r.extent.width >> 1); @@ -344,7 +345,7 @@ DrawMenu (PSETUP_MENU_STATE pInputState) } else { - SetContextForeGroundColor (inactive); + SetContextForeGroundColor (title); } font_DrawText (&t); @@ -395,94 +396,71 @@ DrawMenu (PSETUP_MENU_STATE pInputState) static BOOLEAN DoSetupMenu (PSETUP_MENU_STATE pInputState) { + int opt, cat; + MENU_CATEGORY *menu = cmdline_opts; + if (!pInputState->initialized) { SetDefaultMenuRepeatDelay (); - pInputState->anim_frame_count = NUM_STEPS; - pInputState->initialized = TRUE; + SetTransitionSource (NULL); pInputState->NextTime = GetTimeCounter (); pInputState->category = 0; - pInputState->option = 0; SetDefaults (); + pInputState->option = menu[0].selected; } BatchGraphics (); - if (pInputState->anim_frame_count) + DrawMenu (pInputState); + cat = pInputState->category; + opt = pInputState->option; + + if (PulsedInputState.key[KEY_MENU_UP]) { - RECT r; - COLOR bg, dark, medium; - int frame; - - pInputState->anim_frame_count -= 3; - if (pInputState->anim_frame_count < 0) + cat--; + if (cat < 0) { - pInputState->anim_frame_count = 0; + cat = NUM_OPTS-1; } - frame = pInputState->anim_frame_count; - - r.corner.x = ((frame * X_STEP) >> 1) + 2; - r.corner.y = ((frame * Y_STEP) >> 1) + 2; - r.extent.width = X_STEP * (NUM_STEPS - frame) - 4; - r.extent.height = Y_STEP * (NUM_STEPS - frame) - 4; - - dark = BUILD_COLOR (MAKE_RGB15 (0x00, 0x00, 0x08), 0x01); - medium = BUILD_COLOR (MAKE_RGB15 (0x00, 0x00, 0x10), 0x01); - bg = BUILD_COLOR (MAKE_RGB15 (0x00, 0x00, 0x1A), 0x09); - - DrawShadowedBox (&r, bg, dark, medium); + /* Preserve column if possible */ + opt = menu[cat].selected; } - else + else if (PulsedInputState.key[KEY_MENU_DOWN]) { - int opt, cat; - MENU_CATEGORY *menu = cmdline_opts; - DrawMenu (pInputState); - - cat = pInputState->category; - opt = pInputState->option; - - if (PulsedInputState.key[KEY_MENU_UP]) + cat++; + if (cat >= NUM_OPTS) { - cat--; - if (cat < 0) - { - cat = NUM_OPTS-1; - } - /* Preserve column if possible */ - opt = menu[cat].selected; + cat = 0; } - else if (PulsedInputState.key[KEY_MENU_DOWN]) + opt = menu[cat].selected; + } + else if (PulsedInputState.key[KEY_MENU_LEFT]) + { + opt--; + if (opt < 0) { - cat++; - if (cat >= NUM_OPTS) - { - cat = 0; - } - opt = menu[cat].selected; - } - else if (PulsedInputState.key[KEY_MENU_LEFT]) + opt = menu[cat].numopts - 1; + } + } + else if (PulsedInputState.key[KEY_MENU_RIGHT]) + { + opt++; + if (opt >= menu[cat].numopts) { - opt--; - if (opt < 0) - { - opt = menu[cat].numopts - 1; - } - } - else if (PulsedInputState.key[KEY_MENU_RIGHT]) - { - opt++; - if (opt >= menu[cat].numopts) - { - opt = 0; - } - } - pInputState->category = cat; - pInputState->option = opt; - if (PulsedInputState.key[KEY_MENU_SELECT]) - { - cmdline_opts[cat].selected = opt; - } + opt = 0; + } + } + pInputState->category = cat; + pInputState->option = opt; + if (PulsedInputState.key[KEY_MENU_SELECT]) + { + cmdline_opts[cat].selected = opt; } + if (!pInputState->initialized) + { + pInputState->initialized = TRUE; + ScreenTransition (3, NULL); + } UnbatchGraphics (); SleepThreadUntil (pInputState->NextTime + MENU_FRAME_RATE); pInputState->NextTime = GetTimeCounter (); @@ -537,9 +515,6 @@ GetGlobalOptions (GLOBALOPTS *opts) switch (ScreenColorDepth) { - case 8: - opts->depth = OPTVAL_8; - break; case 16: opts->depth = OPTVAL_16; break; @@ -638,9 +613,6 @@ SetGlobalOptions (GLOBALOPTS *opts) } switch (opts->depth) { - case OPTVAL_8: - NewDepth = 8; - break; case OPTVAL_16: NewDepth = 16; break; diff --git a/sc2/src/sc2code/setupmenu.h b/sc2/src/sc2code/setupmenu.h index e76ce7e6a..1de4b5c08 100644 --- a/sc2/src/sc2code/setupmenu.h +++ b/sc2/src/sc2code/setupmenu.h @@ -47,7 +47,6 @@ typedef enum { } OPT_RESDRIVERTYPE; typedef enum { - OPTVAL_8, OPTVAL_16, OPTVAL_24, OPTVAL_32