define COLOR_CYCLING_SPEED_MAX
This commit is contained in:
parent
9c2cd926f1
commit
5a6333e5e8
@ -1596,11 +1596,13 @@ void Load_IFF(T_IO_Context * context)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
word speed;
|
||||||
|
|
||||||
context->Cycle_range[context->Color_cycles].Start=min_col;
|
context->Cycle_range[context->Color_cycles].Start=min_col;
|
||||||
context->Cycle_range[context->Color_cycles].End=max_col;
|
context->Cycle_range[context->Color_cycles].End=max_col;
|
||||||
context->Cycle_range[context->Color_cycles].Inverse=(flags&2)?1:0;
|
context->Cycle_range[context->Color_cycles].Inverse=(flags&2)?1:0;
|
||||||
context->Cycle_range[context->Color_cycles].Speed=(flags&1) ? rate/78 : 0;
|
speed = (flags&1) ? rate/78 : 0;
|
||||||
|
context->Cycle_range[context->Color_cycles].Speed = (speed > COLOR_CYCLING_SPEED_MAX) ? COLOR_CYCLING_SPEED_MAX : speed;
|
||||||
context->Color_cycles++;
|
context->Color_cycles++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1680,8 +1682,10 @@ void Load_IFF(T_IO_Context * context)
|
|||||||
context->Cycle_range[context->Color_cycles].End = end;
|
context->Cycle_range[context->Color_cycles].End = end;
|
||||||
if (direction != 0)
|
if (direction != 0)
|
||||||
{
|
{
|
||||||
|
dword speed;
|
||||||
context->Cycle_range[context->Color_cycles].Inverse = (~direction >> 15) & 1;
|
context->Cycle_range[context->Color_cycles].Inverse = (~direction >> 15) & 1;
|
||||||
context->Cycle_range[context->Color_cycles].Speed = 3501400 / (seconds * 1000000 + microseconds);
|
speed = 3501400 / (seconds * 1000000 + microseconds);
|
||||||
|
context->Cycle_range[context->Color_cycles].Speed = (speed > COLOR_CYCLING_SPEED_MAX) ? COLOR_CYCLING_SPEED_MAX : speed;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -4503,7 +4507,10 @@ void Load_GIF(T_IO_Context * context)
|
|||||||
&& Read_byte(GIF_file,&(IDB.Indicator))
|
&& Read_byte(GIF_file,&(IDB.Indicator))
|
||||||
&& IDB.Image_width && IDB.Image_height)
|
&& IDB.Image_width && IDB.Image_height)
|
||||||
{
|
{
|
||||||
|
GFX2_Log(GFX2_DEBUG, "GIF Image descriptor %u Pos (%u,%u) %ux%u %s%slocal palette %ubpp\n",
|
||||||
|
number_LID, IDB.Pos_X, IDB.Pos_Y, IDB.Image_width, IDB.Image_height,
|
||||||
|
(IDB.Indicator & 0x40) ? "interlaced " : "", (IDB.Indicator & 0x80) ? "" : "no ",
|
||||||
|
(IDB.Indicator & 7) + 1);
|
||||||
// Palette locale dispo = (IDB.Indicator and $80)
|
// Palette locale dispo = (IDB.Indicator and $80)
|
||||||
// Image entrelacée = (IDB.Indicator and $40)
|
// Image entrelacée = (IDB.Indicator and $40)
|
||||||
// Ordre de classement = (IDB.Indicator and $20)
|
// Ordre de classement = (IDB.Indicator and $20)
|
||||||
|
|||||||
@ -1200,9 +1200,11 @@ static const T_Help_table helptable_grad_rect[] =
|
|||||||
HELP_TEXT ("")
|
HELP_TEXT ("")
|
||||||
HELP_TEXT ("These options allow you to use animation of")
|
HELP_TEXT ("These options allow you to use animation of")
|
||||||
HELP_TEXT ("colors: Grafx2 will shift palette entries")
|
HELP_TEXT ("colors: Grafx2 will shift palette entries")
|
||||||
HELP_TEXT ("at real-time. Note that only the IFF file")
|
HELP_TEXT ("at real-time. We save theses data in IFF,")
|
||||||
HELP_TEXT ("format can record these settings, and very")
|
HELP_TEXT ("NEO and Degas Elite formats. Also in non")
|
||||||
HELP_TEXT ("few image viewers will play it back.")
|
HELP_TEXT ("standard extension of PNG and GIF files.")
|
||||||
|
HELP_TEXT ("But very few image viewers will play them")
|
||||||
|
HELP_TEXT ("back.")
|
||||||
HELP_TEXT ("")
|
HELP_TEXT ("")
|
||||||
HELP_TEXT ("- Cycling: Activates or desactivates the")
|
HELP_TEXT ("- Cycling: Activates or desactivates the")
|
||||||
HELP_TEXT ("cycling of colors when you're in the editor.")
|
HELP_TEXT ("cycling of colors when you're in the editor.")
|
||||||
|
|||||||
@ -48,7 +48,7 @@ typedef struct
|
|||||||
byte Start; ///< First color
|
byte Start; ///< First color
|
||||||
byte End; ///< Last color
|
byte End; ///< Last color
|
||||||
byte Inverse; ///< Boolean, true if the gradient goes in descending order
|
byte Inverse; ///< Boolean, true if the gradient goes in descending order
|
||||||
byte Speed; ///< Frequency of cycling, from 1 (slow) to 64 (fast)
|
byte Speed; ///< Frequency of cycling, from 1 (slow) to COLOR_CYCLING_SPEED_MAX (fast)
|
||||||
} T_Color_cycle;
|
} T_Color_cycle;
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
|||||||
@ -1578,12 +1578,12 @@ static void PI1_load_ranges(T_IO_Context * context, const byte * buffer, int siz
|
|||||||
// Sanity checks
|
// Sanity checks
|
||||||
if (min_col < 256 && max_col < 256 && direction < 3 && (direction == 1 || delay < 128))
|
if (min_col < 256 && max_col < 256 && direction < 3 && (direction == 1 || delay < 128))
|
||||||
{
|
{
|
||||||
int speed = 105;
|
int speed = 1;
|
||||||
if (delay < 128)
|
if (delay < 128)
|
||||||
speed = 210/(128-delay);
|
speed = 210/(128-delay);
|
||||||
// Grafx2's slider has a limit of 105
|
// Grafx2's slider has a limit of COLOR_CYCLING_SPEED_MAX
|
||||||
if (speed>105)
|
if (speed > COLOR_CYCLING_SPEED_MAX)
|
||||||
speed = 105;
|
speed = COLOR_CYCLING_SPEED_MAX;
|
||||||
context->Cycle_range[context->Color_cycles].Start=min_col;
|
context->Cycle_range[context->Color_cycles].Start=min_col;
|
||||||
context->Cycle_range[context->Color_cycles].End=max_col;
|
context->Cycle_range[context->Color_cycles].End=max_col;
|
||||||
context->Cycle_range[context->Color_cycles].Inverse= (direction==0);
|
context->Cycle_range[context->Color_cycles].Inverse= (direction==0);
|
||||||
@ -2359,9 +2359,9 @@ void Load_NEO(T_IO_Context * context)
|
|||||||
if (color_cycling_delay != 0)
|
if (color_cycling_delay != 0)
|
||||||
context->Cycle_range[context->Color_cycles].Speed = 175 / color_cycling_delay;
|
context->Cycle_range[context->Color_cycles].Speed = 175 / color_cycling_delay;
|
||||||
else
|
else
|
||||||
context->Cycle_range[context->Color_cycles].Speed = 64; // fastest
|
context->Cycle_range[context->Color_cycles].Speed = COLOR_CYCLING_SPEED_MAX; // fastest
|
||||||
if (context->Cycle_range[context->Color_cycles].Speed > 64)
|
if (context->Cycle_range[context->Color_cycles].Speed > COLOR_CYCLING_SPEED_MAX)
|
||||||
context->Cycle_range[context->Color_cycles].Speed = 64;
|
context->Cycle_range[context->Color_cycles].Speed = COLOR_CYCLING_SPEED_MAX;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
context->Cycle_range[context->Color_cycles].Speed = 0; // cycling off
|
context->Cycle_range[context->Color_cycles].Speed = 0; // cycling off
|
||||||
|
|||||||
@ -268,9 +268,11 @@ typedef struct
|
|||||||
dword Inverse; ///< Boolean, true if the gradient goes in descending order
|
dword Inverse; ///< Boolean, true if the gradient goes in descending order
|
||||||
dword Mix; ///< Amount of randomness to add to the mix (0-255)
|
dword Mix; ///< Amount of randomness to add to the mix (0-255)
|
||||||
dword Technique;///< Gradient technique: 0 (no pattern) 1 (dithering), or 2 (big dithering)
|
dword Technique;///< Gradient technique: 0 (no pattern) 1 (dithering), or 2 (big dithering)
|
||||||
byte Speed; ///< Speed of cycling. 0 for disabled, 1-64 otherwise. 1=>0.2856Hz, 64=>18.28Hz
|
byte Speed; ///< Speed of cycling. 0 for disabled, max value COLOR_CYCLING_SPEED_MAX. 1=>0.2856Hz, 64=>18.28Hz
|
||||||
} T_Gradient_range;
|
} T_Gradient_range;
|
||||||
|
|
||||||
|
#define COLOR_CYCLING_SPEED_MAX 250
|
||||||
|
|
||||||
/// Data for a full set of gradients.
|
/// Data for a full set of gradients.
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user