From 13d252c597ed640d1c21b9558227da05bb24ebe6 Mon Sep 17 00:00:00 2001 From: div0 Date: Sat, 5 Sep 2009 13:09:17 +0000 Subject: [PATCH] new property for menu skins: ALIGN_BACKGROUND it's a string of the form "57915" each number is an alignment of a background image first layer in the string is background.tga, then background_l2.tga, then background_l3.tga etc. git-svn-id: svn://svn.icculus.org/nexuiz/trunk@7645 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/gfx/menu/blueplastic/skinvalues.txt | 2 ++ data/gfx/menu/default/skinvalues.txt | 2 ++ data/gfx/menu/silver/skinvalues.txt | 2 ++ data/gfx/menu/simplygray/skinvalues.txt | 2 ++ data/gfx/menu/wickedblack/skinvalues.txt | 2 ++ data/gfx/menu/wickedblue/skinvalues.txt | 2 ++ data/gfx/menu/wickedgreen/skinvalues.txt | 2 ++ data/gfx/menu/wickedred/skinvalues.txt | 2 ++ data/gfx/menu/wickedwhite/skinvalues.txt | 2 ++ data/gfx/menu/wickedyellow/skinvalues.txt | 2 ++ data/gfx/menu/wickedz/skinvalues.txt | 2 ++ data/gfx/menu/xaw/skinvalues.txt | 2 ++ data/qcsrc/menu/menu.qc | 40 ++++++++++++++++++++--- data/qcsrc/menu/skin-customizables.inc | 2 ++ data/weapons.cfg | 2 +- data/weaponsHavoc.cfg | 2 +- 16 files changed, 63 insertions(+), 7 deletions(-) diff --git a/data/gfx/menu/blueplastic/skinvalues.txt b/data/gfx/menu/blueplastic/skinvalues.txt index 08d026098..01e51e417 100644 --- a/data/gfx/menu/blueplastic/skinvalues.txt +++ b/data/gfx/menu/blueplastic/skinvalues.txt @@ -51,6 +51,8 @@ ALPHA_CURSOR_INTRO 0 // general // uses "background" images // uses "background_ingame" images +ALIGN_BACKGROUND 5 +ALIGN_BACKGROUND_INGAME 5 ALPHA_BACKGROUND_INGAME 0.7 ALPHA_DISABLED 0.4 ALPHA_BEHIND 0.5 diff --git a/data/gfx/menu/default/skinvalues.txt b/data/gfx/menu/default/skinvalues.txt index d9d5998b5..885b9ae5b 100644 --- a/data/gfx/menu/default/skinvalues.txt +++ b/data/gfx/menu/default/skinvalues.txt @@ -50,6 +50,8 @@ ALPHA_CURSOR_INTRO 0 // general // uses "background" images // uses "background_ingame" images +ALIGN_BACKGROUND 5 +ALIGN_BACKGROUND_INGAME 5 ALPHA_BACKGROUND_INGAME 0.7 ALPHA_DISABLED 0.2 ALPHA_BEHIND 0.5 diff --git a/data/gfx/menu/silver/skinvalues.txt b/data/gfx/menu/silver/skinvalues.txt index c0ff38aee..b18afb9c4 100644 --- a/data/gfx/menu/silver/skinvalues.txt +++ b/data/gfx/menu/silver/skinvalues.txt @@ -50,6 +50,8 @@ ALPHA_CURSOR_INTRO 0 // general // uses "background" images // uses "background_ingame" images +ALIGN_BACKGROUND 5 +ALIGN_BACKGROUND_INGAME 5 ALPHA_BACKGROUND_INGAME 0.4 ALPHA_DISABLED 0.2 ALPHA_BEHIND 0.4 diff --git a/data/gfx/menu/simplygray/skinvalues.txt b/data/gfx/menu/simplygray/skinvalues.txt index 03590564d..517b6ffd1 100644 --- a/data/gfx/menu/simplygray/skinvalues.txt +++ b/data/gfx/menu/simplygray/skinvalues.txt @@ -50,6 +50,8 @@ ALPHA_CURSOR_INTRO 0 // general // uses "background" images // uses "background_ingame" images +ALIGN_BACKGROUND 5 +ALIGN_BACKGROUND_INGAME 5 ALPHA_BACKGROUND_INGAME 0.7 ALPHA_DISABLED 0.2 ALPHA_BEHIND 0.5 diff --git a/data/gfx/menu/wickedblack/skinvalues.txt b/data/gfx/menu/wickedblack/skinvalues.txt index 130252be9..bf0070d5c 100644 --- a/data/gfx/menu/wickedblack/skinvalues.txt +++ b/data/gfx/menu/wickedblack/skinvalues.txt @@ -50,6 +50,8 @@ ALPHA_CURSOR_INTRO 0 // general // uses "background" images // uses "background_ingame" images +ALIGN_BACKGROUND 5 +ALIGN_BACKGROUND_INGAME 5 ALPHA_BACKGROUND_INGAME 0.7 ALPHA_DISABLED 0.2 ALPHA_BEHIND 0.5 diff --git a/data/gfx/menu/wickedblue/skinvalues.txt b/data/gfx/menu/wickedblue/skinvalues.txt index 0b4cef388..17a60ae20 100644 --- a/data/gfx/menu/wickedblue/skinvalues.txt +++ b/data/gfx/menu/wickedblue/skinvalues.txt @@ -50,6 +50,8 @@ ALPHA_CURSOR_INTRO 0 // general // uses "background" images // uses "background_ingame" images +ALIGN_BACKGROUND 5 +ALIGN_BACKGROUND_INGAME 5 ALPHA_BACKGROUND_INGAME 0.7 ALPHA_DISABLED 0.2 ALPHA_BEHIND 0.5 diff --git a/data/gfx/menu/wickedgreen/skinvalues.txt b/data/gfx/menu/wickedgreen/skinvalues.txt index 4d045d01c..939e02417 100644 --- a/data/gfx/menu/wickedgreen/skinvalues.txt +++ b/data/gfx/menu/wickedgreen/skinvalues.txt @@ -50,6 +50,8 @@ ALPHA_CURSOR_INTRO 0 // general // uses "background" images // uses "background_ingame" images +ALIGN_BACKGROUND 5 +ALIGN_BACKGROUND_INGAME 5 ALPHA_BACKGROUND_INGAME 0.7 ALPHA_DISABLED 0.2 ALPHA_BEHIND 0.5 diff --git a/data/gfx/menu/wickedred/skinvalues.txt b/data/gfx/menu/wickedred/skinvalues.txt index 8613c5458..cc9278c76 100644 --- a/data/gfx/menu/wickedred/skinvalues.txt +++ b/data/gfx/menu/wickedred/skinvalues.txt @@ -50,6 +50,8 @@ ALPHA_CURSOR_INTRO 0 // general // uses "background" images // uses "background_ingame" images +ALIGN_BACKGROUND 5 +ALIGN_BACKGROUND_INGAME 5 ALPHA_BACKGROUND_INGAME 0.7 ALPHA_DISABLED 0.2 ALPHA_BEHIND 0.5 diff --git a/data/gfx/menu/wickedwhite/skinvalues.txt b/data/gfx/menu/wickedwhite/skinvalues.txt index 5866e7e50..550403f7b 100644 --- a/data/gfx/menu/wickedwhite/skinvalues.txt +++ b/data/gfx/menu/wickedwhite/skinvalues.txt @@ -50,6 +50,8 @@ ALPHA_CURSOR_INTRO 0 // general // uses "background" images // uses "background_ingame" images +ALIGN_BACKGROUND 5 +ALIGN_BACKGROUND_INGAME 5 ALPHA_BACKGROUND_INGAME 0.7 ALPHA_DISABLED 0.2 ALPHA_BEHIND 0.5 diff --git a/data/gfx/menu/wickedyellow/skinvalues.txt b/data/gfx/menu/wickedyellow/skinvalues.txt index 3e5cfd11b..442ecce34 100644 --- a/data/gfx/menu/wickedyellow/skinvalues.txt +++ b/data/gfx/menu/wickedyellow/skinvalues.txt @@ -50,6 +50,8 @@ ALPHA_CURSOR_INTRO 0 // general // uses "background" images // uses "background_ingame" images +ALIGN_BACKGROUND 5 +ALIGN_BACKGROUND_INGAME 5 ALPHA_BACKGROUND_INGAME 0.7 ALPHA_DISABLED 0.2 ALPHA_BEHIND 0.5 diff --git a/data/gfx/menu/wickedz/skinvalues.txt b/data/gfx/menu/wickedz/skinvalues.txt index b18f0c1e0..7c0e6684a 100644 --- a/data/gfx/menu/wickedz/skinvalues.txt +++ b/data/gfx/menu/wickedz/skinvalues.txt @@ -64,6 +64,8 @@ ALPHA_CURSOR_INTRO 0 // general // uses "background" images // uses "background_ingame" images +ALIGN_BACKGROUND 5 +ALIGN_BACKGROUND_INGAME 5 ALPHA_BACKGROUND_INGAME 0.7 ALPHA_DISABLED 0.2 ALPHA_BEHIND 0.5 diff --git a/data/gfx/menu/xaw/skinvalues.txt b/data/gfx/menu/xaw/skinvalues.txt index fb496b2c8..9abbf4d65 100644 --- a/data/gfx/menu/xaw/skinvalues.txt +++ b/data/gfx/menu/xaw/skinvalues.txt @@ -50,6 +50,8 @@ ALPHA_CURSOR_INTRO 1 // general // uses "background" images // uses "background_ingame" images +ALIGN_BACKGROUND 5 +ALIGN_BACKGROUND_INGAME 5 ALPHA_BACKGROUND_INGAME 0 ALPHA_DISABLED 0.2 ALPHA_BEHIND 1 diff --git a/data/qcsrc/menu/menu.qc b/data/qcsrc/menu/menu.qc index ec3ee2e58..2c43cc56b 100644 --- a/data/qcsrc/menu/menu.qc +++ b/data/qcsrc/menu/menu.qc @@ -201,10 +201,14 @@ void(float key, float ascii) m_keydown = if(key == K_SHIFT) menuShiftState |= S_SHIFT; }; -void(string img, float a) drawBackground = +void(string img, float a, float algn) drawBackground = { vector sz; vector isz; + vector tl, ce, br; + vector v; + string s; + float i, f; sz = draw_PictureSize(img); // keep aspect of image if(sz_x * draw_scale_y >= sz_y * draw_scale_x) @@ -221,9 +225,35 @@ void(string img, float a) drawBackground = isz_x = 1; isz_y = isz_x * (sz_y / sz_x) * (draw_scale_x / draw_scale_y); } - draw_Picture('0.5 0.5 0' - 0.5 * isz, img, isz, '1 1 1', a); -} + tl = '0 0 0'; + ce = '0.5 0.5 0' - 0.5 * isz; + br = '1 1 0' - isz; + s = ftos(algn); + v_z = 0; + for(i = 0; i < strlen(s); ++i) + { + f = stof(substring(s, i, 1)); + switch(f) + { + case 1: case 4: case 7: v_x = tl_x; break; + case 2: case 5: case 8: v_x = ce_x; break; + case 3: case 6: case 9: v_x = br_x; break; + default: v_x = tl_x + (br_x - tl_x) * random(); break; + } + switch(f) + { + case 7: case 8: case 9: v_y = tl_y; break; + case 4: case 5: case 6: v_y = ce_y; break; + case 1: case 2: case 3: v_y = br_y; break; + default: v_y = tl_y + (br_y - tl_y) * random(); break; + } + if(i == 0) + draw_Picture(v, img, isz, '1 1 1', a); + else + draw_Picture(v, strcat(img, "_l", ftos(i+1)), isz, '1 1 1', a); + } +} vector menuTooltipAveragedMousePos; entity menuTooltipItem; @@ -533,7 +563,7 @@ void() m_draw = { if(menuLogoAlpha > 0) { - drawBackground(SKINGFX_BACKGROUND, bound(0, menuLogoAlpha, 1)); + drawBackground(SKINGFX_BACKGROUND, bound(0, menuLogoAlpha, 1), SKINALIGN_BACKGROUND); if(menuAlpha <= 0 && SKINALPHA_CURSOR_INTRO > 0) { draw_alpha = SKINALPHA_CURSOR_INTRO * bound(0, menuLogoAlpha, 1); @@ -545,7 +575,7 @@ void() m_draw = else if(SKINALPHA_BACKGROUND_INGAME) { if(menuAlpha > 0) - drawBackground(SKINGFX_BACKGROUND_INGAME, menuAlpha * SKINALPHA_BACKGROUND_INGAME); + drawBackground(SKINGFX_BACKGROUND_INGAME, menuAlpha * SKINALPHA_BACKGROUND_INGAME, SKINALIGN_BACKGROUND_INGAME); } draw_reset(); diff --git a/data/qcsrc/menu/skin-customizables.inc b/data/qcsrc/menu/skin-customizables.inc index 7fedb9963..a035a3e95 100644 --- a/data/qcsrc/menu/skin-customizables.inc +++ b/data/qcsrc/menu/skin-customizables.inc @@ -82,6 +82,8 @@ SKINBEGIN // general SKINSTRING(GFX_BACKGROUND, "background"); SKINSTRING(GFX_BACKGROUND_INGAME, "background_ingame"); + SKINFLOAT(ALIGN_BACKGROUND, 5); + SKINFLOAT(ALIGN_BACKGROUND_INGAME, 5); SKINFLOAT(ALPHA_BACKGROUND_INGAME, 0.7); SKINFLOAT(ALPHA_DISABLED, 0.2); SKINFLOAT(ALPHA_BEHIND, 0.5); diff --git a/data/weapons.cfg b/data/weapons.cfg index d5f6749c8..c9a09252b 100644 --- a/data/weapons.cfg +++ b/data/weapons.cfg @@ -3,7 +3,7 @@ // // And... don't forget to edit weaponsHavoc.cfg too. -set cvar_check_weapons 8271730261e4587fe8af3ac306d38fd0 +set cvar_check_weapons d8c27ad261a5506934d70968b6a47244 // NOTE: this only replaces weapons on the map // use g_start_weapon_* to also replace the on-startup weapons! diff --git a/data/weaponsHavoc.cfg b/data/weaponsHavoc.cfg index 3762f60cb..ecd0ca7e6 100644 --- a/data/weaponsHavoc.cfg +++ b/data/weaponsHavoc.cfg @@ -1,4 +1,4 @@ -set cvar_check_weapons 8271730261e4587fe8af3ac306d38fd0 +set cvar_check_weapons d8c27ad261a5506934d70968b6a47244 // NOTE: this only replaces weapons on the map // use g_start_weapon_* to also replace the on-startup weapons! -- 2.39.2