Add new transition_previous.
This commit is contained in:
parent
ee83c31183
commit
aec44b093e
|
@ -448,6 +448,8 @@ static bool get_import_value(xmlNodePtr ptr)
|
||||||
tracker_type = SSNES_STATE_CAPTURE_PREV;
|
tracker_type = SSNES_STATE_CAPTURE_PREV;
|
||||||
else if (strcmp((const char*)semantic, "transition") == 0)
|
else if (strcmp((const char*)semantic, "transition") == 0)
|
||||||
tracker_type = SSNES_STATE_TRANSITION;
|
tracker_type = SSNES_STATE_TRANSITION;
|
||||||
|
else if (strcmp((const char*)semantic, "transition_previous") == 0)
|
||||||
|
tracker_type = SSNES_STATE_TRANSITION_PREV;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
SSNES_ERR("Invalid semantic for import value.\n");
|
SSNES_ERR("Invalid semantic for import value.\n");
|
||||||
|
|
|
@ -104,18 +104,6 @@ static void update_element(
|
||||||
uniform->value = info->ptr[info->addr];
|
uniform->value = info->ptr[info->addr];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SSNES_STATE_TRANSITION:
|
|
||||||
if (info->old_value != info->ptr[info->addr])
|
|
||||||
{
|
|
||||||
info->old_value = info->ptr[info->addr];
|
|
||||||
info->frame_count = frame_count;
|
|
||||||
uniform->value = info->frame_count;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
uniform->value = info->frame_count;
|
|
||||||
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SSNES_STATE_CAPTURE_PREV:
|
case SSNES_STATE_CAPTURE_PREV:
|
||||||
if (info->prev[0] != info->ptr[info->addr])
|
if (info->prev[0] != info->ptr[info->addr])
|
||||||
{
|
{
|
||||||
|
@ -125,6 +113,28 @@ static void update_element(
|
||||||
uniform->value = info->prev[1];
|
uniform->value = info->prev[1];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case SSNES_STATE_TRANSITION:
|
||||||
|
if (info->old_value != info->ptr[info->addr])
|
||||||
|
{
|
||||||
|
info->old_value = info->ptr[info->addr];
|
||||||
|
info->frame_count = frame_count;
|
||||||
|
}
|
||||||
|
uniform->value = info->frame_count;
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SSNES_STATE_TRANSITION_PREV:
|
||||||
|
if (info->prev[0] != info->ptr[info->addr])
|
||||||
|
{
|
||||||
|
info->old_value = info->ptr[info->addr];
|
||||||
|
info->prev[1] = info->prev[0];
|
||||||
|
info->prev[0] = frame_count;
|
||||||
|
info->frame_count = frame_count;
|
||||||
|
}
|
||||||
|
uniform->value = info->prev[1];
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,8 @@ enum snes_tracker_type
|
||||||
{
|
{
|
||||||
SSNES_STATE_CAPTURE,
|
SSNES_STATE_CAPTURE,
|
||||||
SSNES_STATE_TRANSITION,
|
SSNES_STATE_TRANSITION,
|
||||||
SSNES_STATE_CAPTURE_PREV
|
SSNES_STATE_CAPTURE_PREV,
|
||||||
|
SSNES_STATE_TRANSITION_PREV
|
||||||
};
|
};
|
||||||
|
|
||||||
enum snes_ram_type
|
enum snes_ram_type
|
||||||
|
|
Loading…
Reference in New Issue