Browse Source

More descriptive names for the menu slider functions

pull/114/head
Anders Jenbo 7 years ago
parent
commit
daec57bc38
  1. 8
      Source/gamemenu.cpp
  2. 22
      Source/gmenu.cpp
  3. 4
      Source/gmenu.h

8
Source/gamemenu.cpp

@ -179,8 +179,8 @@ void gamemenu_sound_music_toggle(char **names, TMenuItem *menu_item, int volume)
if (gbSndInited) {
menu_item->dwFlags |= 0xC0000000;
menu_item->pszStr = *names;
gmenu_slider_3(menu_item, 17);
gmenu_slider_1(menu_item, VOLUME_MIN, VOLUME_MAX, volume);
gmenu_slider_steps(menu_item, 17);
gmenu_slider_set(menu_item, VOLUME_MIN, VOLUME_MAX, volume);
return;
}
@ -200,8 +200,8 @@ void gamemenu_get_color_cycling()
void gamemenu_get_gamma()
{
gmenu_slider_3(&sgOptionMenu[2], 15);
gmenu_slider_1(&sgOptionMenu[2], 30, 100, UpdateGamma(0));
gmenu_slider_steps(&sgOptionMenu[2], 15);
gmenu_slider_set(&sgOptionMenu[2], 30, 100, UpdateGamma(0));
}
void gamemenu_music_volume(BOOL bActivate)

22
Source/gmenu.cpp

@ -401,16 +401,19 @@ void gmenu_enable(TMenuItem *pMenuItem, BOOL enable)
pMenuItem->dwFlags &= ~0x80000000;
}
void gmenu_slider_1(TMenuItem *pItem, int min, int max, int gamma)
/**
* @brief Set the TMenuItem slider position based on the given value
*/
void gmenu_slider_set(TMenuItem *pItem, int min, int max, int value)
{
int v;
int nSteps;
/// ASSERT: assertassert(pItem, "gmenu.cpp", 445);
v = (int)(pItem->dwFlags & 0xFFF000) >> 12;
if (v < 2)
v = 2;
nSteps = (int)(pItem->dwFlags & 0xFFF000) >> 12;
if (nSteps < 2)
nSteps = 2;
pItem->dwFlags &= 0xFFFFF000;
pItem->dwFlags |= ((max - min - 1) / 2 + (gamma - min) * v) / (max - min);
pItem->dwFlags |= ((max - min - 1) / 2 + (value - min) * nSteps) / (max - min);
}
/**
@ -429,8 +432,11 @@ int gmenu_slider_get(TMenuItem *pItem, int min, int max)
return min + (step * (max - min) + (nSteps - 1) / 2) / nSteps;
}
void gmenu_slider_3(TMenuItem *pItem, int dwTicks)
/**
* @brief Set the number of steps for the slider
*/
void gmenu_slider_steps(TMenuItem *pItem, int steps)
{
pItem->dwFlags &= 0xFF000FFF;
pItem->dwFlags |= (dwTicks << 12) & 0xFFF000;
pItem->dwFlags |= (steps << 12) & 0xFFF000;
}

4
Source/gmenu.h

@ -30,9 +30,9 @@ BOOL gmenu_on_mouse_move();
BOOLEAN gmenu_valid_mouse_pos(int *plOffset);
int gmenu_left_mouse(int a1);
void gmenu_enable(TMenuItem *pMenuItem, BOOL enable);
void gmenu_slider_1(TMenuItem *pItem, int min, int max, int gamma);
void gmenu_slider_set(TMenuItem *pItem, int min, int max, int gamma);
int gmenu_slider_get(TMenuItem *pItem, int min, int max);
void gmenu_slider_3(TMenuItem *pItem, int dwTicks);
void gmenu_slider_steps(TMenuItem *pItem, int dwTicks);
/* rdata */

Loading…
Cancel
Save