Merge pull request #6207 from JosJuice/dtm-immediate-xfb

Move Immediate XFB down in DTM header
This commit is contained in:
Leo Lam 2017-11-19 19:57:34 +01:00 committed by GitHub
commit 28f9034536
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 8 deletions

View File

@ -41,9 +41,9 @@ static void LoadFromDTM(Config::Layer* config_layer, Movie::DTMHeader* dtm)
config_layer->Set(Config::GFX_HACK_EFB_ACCESS_ENABLE, dtm->bEFBAccessEnable); config_layer->Set(Config::GFX_HACK_EFB_ACCESS_ENABLE, dtm->bEFBAccessEnable);
config_layer->Set(Config::GFX_HACK_SKIP_EFB_COPY_TO_RAM, dtm->bSkipEFBCopyToRam); config_layer->Set(Config::GFX_HACK_SKIP_EFB_COPY_TO_RAM, dtm->bSkipEFBCopyToRam);
config_layer->Set(Config::GFX_HACK_SKIP_XFB_COPY_TO_RAM, dtm->bSkipXFBCopyToRam);
config_layer->Set(Config::GFX_HACK_IMMEDIATE_XFB, dtm->bImmediateXFB);
config_layer->Set(Config::GFX_HACK_EFB_EMULATE_FORMAT_CHANGES, dtm->bEFBEmulateFormatChanges); config_layer->Set(Config::GFX_HACK_EFB_EMULATE_FORMAT_CHANGES, dtm->bEFBEmulateFormatChanges);
config_layer->Set(Config::GFX_HACK_IMMEDIATE_XFB, dtm->bImmediateXFB);
config_layer->Set(Config::GFX_HACK_SKIP_XFB_COPY_TO_RAM, dtm->bSkipXFBCopyToRam);
} }
void SaveToDTM(Movie::DTMHeader* dtm) void SaveToDTM(Movie::DTMHeader* dtm)
@ -64,9 +64,9 @@ void SaveToDTM(Movie::DTMHeader* dtm)
dtm->bEFBAccessEnable = Config::Get(Config::GFX_HACK_EFB_ACCESS_ENABLE); dtm->bEFBAccessEnable = Config::Get(Config::GFX_HACK_EFB_ACCESS_ENABLE);
dtm->bSkipEFBCopyToRam = Config::Get(Config::GFX_HACK_SKIP_EFB_COPY_TO_RAM); dtm->bSkipEFBCopyToRam = Config::Get(Config::GFX_HACK_SKIP_EFB_COPY_TO_RAM);
dtm->bSkipXFBCopyToRam = Config::Get(Config::GFX_HACK_SKIP_XFB_COPY_TO_RAM);
dtm->bImmediateXFB = Config::Get(Config::GFX_HACK_IMMEDIATE_XFB);
dtm->bEFBEmulateFormatChanges = Config::Get(Config::GFX_HACK_EFB_EMULATE_FORMAT_CHANGES); dtm->bEFBEmulateFormatChanges = Config::Get(Config::GFX_HACK_EFB_EMULATE_FORMAT_CHANGES);
dtm->bImmediateXFB = Config::Get(Config::GFX_HACK_IMMEDIATE_XFB);
dtm->bSkipXFBCopyToRam = Config::Get(Config::GFX_HACK_SKIP_XFB_COPY_TO_RAM);
// This never used the regular config // This never used the regular config
dtm->bSkipIdle = true; dtm->bSkipIdle = true;

View File

@ -1373,9 +1373,9 @@ void SetGraphicsConfig()
{ {
g_Config.bEFBAccessEnable = tmpHeader.bEFBAccessEnable; g_Config.bEFBAccessEnable = tmpHeader.bEFBAccessEnable;
g_Config.bSkipEFBCopyToRam = tmpHeader.bSkipEFBCopyToRam; g_Config.bSkipEFBCopyToRam = tmpHeader.bSkipEFBCopyToRam;
g_Config.bSkipXFBCopyToRam = tmpHeader.bSkipXFBCopyToRam;
g_Config.bImmediateXFB = tmpHeader.bImmediateXFB;
g_Config.bEFBEmulateFormatChanges = tmpHeader.bEFBEmulateFormatChanges; g_Config.bEFBEmulateFormatChanges = tmpHeader.bEFBEmulateFormatChanges;
g_Config.bImmediateXFB = tmpHeader.bImmediateXFB;
g_Config.bSkipXFBCopyToRam = tmpHeader.bSkipXFBCopyToRam;
} }
// NOTE: EmuThread / Host Thread // NOTE: EmuThread / Host Thread

View File

@ -52,6 +52,8 @@ struct ControllerState
static_assert(sizeof(ControllerState) == 8, "ControllerState should be 8 bytes"); static_assert(sizeof(ControllerState) == 8, "ControllerState should be 8 bytes");
#pragma pack(pop) #pragma pack(pop)
// When making changes to the DTM format, keep in mind that there are programs other
// than Dolphin that parse DTM files. The format is expected to be relatively stable.
#pragma pack(push, 1) #pragma pack(push, 1)
struct DTMHeader struct DTMHeader
{ {
@ -88,10 +90,10 @@ struct DTMHeader
bool bEFBAccessEnable; bool bEFBAccessEnable;
bool bEFBCopyEnable; bool bEFBCopyEnable;
bool bSkipEFBCopyToRam; bool bSkipEFBCopyToRam;
bool bSkipXFBCopyToRam;
bool bImmediateXFB;
bool bEFBCopyCacheEnable; bool bEFBCopyCacheEnable;
bool bEFBEmulateFormatChanges; bool bEFBEmulateFormatChanges;
bool bImmediateXFB;
bool bSkipXFBCopyToRam;
u8 memcards; // Memcards inserted (from least to most significant, the bits are slot A and B) u8 memcards; // Memcards inserted (from least to most significant, the bits are slot A and B)
bool bClearSave; // Create a new memory card when playing back a movie if true bool bClearSave; // Create a new memory card when playing back a movie if true
u8 bongos; // Bongos plugged in (from least to most significant, the bits are ports 1-4) u8 bongos; // Bongos plugged in (from least to most significant, the bits are ports 1-4)