Update TamperMachine and disable write-to-code prevention (#2506)
* Enable write to memory and improve logging * Update tamper machine opcodes and improve reporting * Add Else support * Add missing private statement
This commit is contained in:
@ -6,27 +6,26 @@ namespace Ryujinx.HLE.HOS.Tamper.Operations
|
||||
class IfBlock : IOperation
|
||||
{
|
||||
private ICondition _condition;
|
||||
private IEnumerable<IOperation> _operations;
|
||||
private IEnumerable<IOperation> _operationsThen;
|
||||
private IEnumerable<IOperation> _operationsElse;
|
||||
|
||||
public IfBlock(ICondition condition, IEnumerable<IOperation> operations)
|
||||
public IfBlock(ICondition condition, IEnumerable<IOperation> operationsThen, IEnumerable<IOperation> operationsElse)
|
||||
{
|
||||
_condition = condition;
|
||||
_operations = operations;
|
||||
}
|
||||
|
||||
public IfBlock(ICondition condition, params IOperation[] operations)
|
||||
{
|
||||
_operations = operations;
|
||||
_operationsThen = operationsThen;
|
||||
_operationsElse = operationsElse;
|
||||
}
|
||||
|
||||
public void Execute()
|
||||
{
|
||||
if (!_condition.Evaluate())
|
||||
IEnumerable<IOperation> operations = _condition.Evaluate() ? _operationsThen : _operationsElse;
|
||||
|
||||
if (operations == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (IOperation op in _operations)
|
||||
foreach (IOperation op in operations)
|
||||
{
|
||||
op.Execute();
|
||||
}
|
||||
|
Reference in New Issue
Block a user