ActionReplay: Fix ISOProperties corrupting active code set

ISOProperties loads codes using ActionReplay::LoadCodes which actually applies
the codes to the global state. If a game is running then that games receives
all the codes (and ACTIVE status) from the second game being shown in
ISOProperties which is not desirable.
This commit is contained in:
EmptyChaos
2016-04-19 21:19:31 +00:00
parent 0fa9233c1a
commit 25b072ff2b
9 changed files with 124 additions and 45 deletions

View File

@ -4,6 +4,7 @@
#pragma once
#include <functional>
#include <string>
#include <vector>
#include "Common/CommonTypes.h"
@ -31,8 +32,12 @@ struct ARCode
void RunAllActive();
bool RunCode(const ARCode &arcode);
void LoadCodes(const IniFile &globalini, const IniFile &localIni, bool forceLoad);
void LoadCodes(std::vector<ARCode> &_arCodes, IniFile &globalini, IniFile &localIni);
void ApplyCodes(const std::vector<ARCode>& codes);
void AddCode(const ARCode& new_code);
void* RegisterCodeChangeCallback(std::function<void()> callback);
void UnregisterCodeChangeCallback(void* token);
void LoadAndApplyCodes(const IniFile& globalini, const IniFile& localIni);
std::vector<ARCode> LoadCodes(const IniFile& globalini, const IniFile& localIni);
size_t GetCodeListSize();
ARCode GetARCode(size_t index);
void SetARCode_IsActive(bool active, size_t index);