mirror of
https://github.com/DarkStore-3DS/Project_CTR.git
synced 2026-07-03 00:39:14 +00:00
moved rsf stuff from user_set to rsf_set
This commit is contained in:
+2
-1
@@ -30,7 +30,8 @@
|
||||
|
||||
#include "keyset.h"
|
||||
#include "user_settings.h"
|
||||
#include "libyaml/yaml.h"
|
||||
#include "yaml_parser.h"
|
||||
#include "rsf_settings.h"
|
||||
|
||||
|
||||
|
||||
|
||||
+186
-1
@@ -1,5 +1,4 @@
|
||||
#include "lib.h"
|
||||
#include "rsf_settings.h"
|
||||
|
||||
void EvaluateRSF(rsf_settings *rsf, ctr_yaml_context *ctx)
|
||||
{
|
||||
@@ -372,4 +371,190 @@ void GET_CommonHeaderKey(ctr_yaml_context *ctx, rsf_settings *rsf)
|
||||
GetEvent(ctx);
|
||||
}
|
||||
FinishEvent(ctx);
|
||||
}
|
||||
|
||||
void free_RsfSettings(rsf_settings *set)
|
||||
{
|
||||
//Option
|
||||
free(set->Option.PageSize);
|
||||
/*
|
||||
for(u32 i = 0; i < set->Option.AppendSystemCallNum; i++){
|
||||
free(set->Option.AppendSystemCall[i]);
|
||||
}
|
||||
free(set->Option.AppendSystemCall);
|
||||
*/
|
||||
|
||||
//AccessControlInfo
|
||||
//free(set->AccessControlInfo.ProgramId);
|
||||
free(set->AccessControlInfo.IdealProcessor);
|
||||
free(set->AccessControlInfo.Priority);
|
||||
free(set->AccessControlInfo.MemoryType);
|
||||
free(set->AccessControlInfo.SystemMode);
|
||||
free(set->AccessControlInfo.CoreVersion);
|
||||
free(set->AccessControlInfo.HandleTableSize);
|
||||
free(set->AccessControlInfo.SystemSaveDataId1);
|
||||
free(set->AccessControlInfo.SystemSaveDataId2);
|
||||
free(set->AccessControlInfo.OtherUserSaveDataId1);
|
||||
free(set->AccessControlInfo.OtherUserSaveDataId2);
|
||||
free(set->AccessControlInfo.OtherUserSaveDataId3);
|
||||
free(set->AccessControlInfo.ExtSaveDataId);
|
||||
free(set->AccessControlInfo.SystemMode);
|
||||
free(set->AccessControlInfo.AffinityMask);
|
||||
free(set->AccessControlInfo.DescVersion);
|
||||
//free(set->AccessControlInfo.CryptoKey);
|
||||
free(set->AccessControlInfo.ResourceLimitCategory);
|
||||
free(set->AccessControlInfo.ReleaseKernelMajor);
|
||||
free(set->AccessControlInfo.ReleaseKernelMinor);
|
||||
free(set->AccessControlInfo.MaxCpu);
|
||||
|
||||
for(u32 i = 0; i < set->AccessControlInfo.MemoryMappingNum; i++){
|
||||
free(set->AccessControlInfo.MemoryMapping[i]);
|
||||
}
|
||||
free(set->AccessControlInfo.MemoryMapping);
|
||||
|
||||
for(u32 i = 0; i < set->AccessControlInfo.IORegisterMappingNum; i++){
|
||||
free(set->AccessControlInfo.IORegisterMapping[i]);
|
||||
}
|
||||
free(set->AccessControlInfo.IORegisterMapping);
|
||||
|
||||
for(u32 i = 0; i < set->AccessControlInfo.FileSystemAccessNum; i++){
|
||||
free(set->AccessControlInfo.FileSystemAccess[i]);
|
||||
}
|
||||
free(set->AccessControlInfo.FileSystemAccess);
|
||||
|
||||
for(u32 i = 0; i < set->AccessControlInfo.IoAccessControlNum; i++){
|
||||
free(set->AccessControlInfo.IoAccessControl[i]);
|
||||
}
|
||||
free(set->AccessControlInfo.IoAccessControl);
|
||||
|
||||
for(u32 i = 0; i < set->AccessControlInfo.InterruptNumbersNum; i++){
|
||||
free(set->AccessControlInfo.InterruptNumbers[i]);
|
||||
}
|
||||
free(set->AccessControlInfo.InterruptNumbers);
|
||||
|
||||
for(u32 i = 0; i < set->AccessControlInfo.SystemCallAccessNum; i++){
|
||||
free(set->AccessControlInfo.SystemCallAccess[i]);
|
||||
}
|
||||
free(set->AccessControlInfo.SystemCallAccess);
|
||||
|
||||
for(u32 i = 0; i < set->AccessControlInfo.ServiceAccessControlNum; i++){
|
||||
free(set->AccessControlInfo.ServiceAccessControl[i]);
|
||||
}
|
||||
free(set->AccessControlInfo.ServiceAccessControl);
|
||||
|
||||
for(u32 i = 0; i < set->AccessControlInfo.StorageIdNum; i++){
|
||||
free(set->AccessControlInfo.StorageId[i]);
|
||||
}
|
||||
free(set->AccessControlInfo.StorageId);
|
||||
|
||||
for(u32 i = 0; i < set->AccessControlInfo.AccessibleSaveDataIdsNum; i++){
|
||||
free(set->AccessControlInfo.AccessibleSaveDataIds[i]);
|
||||
}
|
||||
free(set->AccessControlInfo.AccessibleSaveDataIds);
|
||||
|
||||
//SystemControlInfo
|
||||
free(set->SystemControlInfo.AppType);
|
||||
free(set->SystemControlInfo.StackSize);
|
||||
free(set->SystemControlInfo.RemasterVersion);
|
||||
free(set->SystemControlInfo.SaveDataSize);
|
||||
free(set->SystemControlInfo.JumpId);
|
||||
|
||||
for(u32 i = 0; i < set->SystemControlInfo.DependencyNum; i++){
|
||||
free(set->SystemControlInfo.Dependency[i]);
|
||||
}
|
||||
free(set->SystemControlInfo.Dependency);
|
||||
|
||||
//BasicInfo
|
||||
free(set->BasicInfo.Title);
|
||||
free(set->BasicInfo.CompanyCode);
|
||||
free(set->BasicInfo.ProductCode);
|
||||
free(set->BasicInfo.ContentType);
|
||||
free(set->BasicInfo.Logo);
|
||||
//free(set->BasicInfo.BackupMemoryType);
|
||||
//free(set->BasicInfo.InitialCode);
|
||||
|
||||
//Rom
|
||||
free(set->Rom.HostRoot);
|
||||
//free(set->Rom.Padding);
|
||||
|
||||
for(u32 i = 0; i < set->Rom.DefaultRejectNum; i++){
|
||||
free(set->Rom.DefaultReject[i]);
|
||||
}
|
||||
free(set->Rom.DefaultReject);
|
||||
|
||||
for(u32 i = 0; i < set->Rom.RejectNum; i++){
|
||||
free(set->Rom.Reject[i]);
|
||||
}
|
||||
free(set->Rom.Reject);
|
||||
|
||||
for(u32 i = 0; i < set->Rom.IncludeNum; i++){
|
||||
free(set->Rom.Include[i]);
|
||||
}
|
||||
free(set->Rom.Include);
|
||||
|
||||
for(u32 i = 0; i < set->Rom.FileNum; i++){
|
||||
free(set->Rom.File[i]);
|
||||
}
|
||||
free(set->Rom.File);
|
||||
|
||||
//ExeFs
|
||||
for(u32 i = 0; i < set->ExeFs.TextNum; i++){
|
||||
free(set->ExeFs.Text[i]);
|
||||
}
|
||||
free(set->ExeFs.Text);
|
||||
|
||||
for(u32 i = 0; i < set->ExeFs.ReadOnlyNum; i++){
|
||||
free(set->ExeFs.ReadOnly[i]);
|
||||
}
|
||||
free(set->ExeFs.ReadOnly);
|
||||
|
||||
for(u32 i = 0; i < set->ExeFs.ReadWriteNum; i++){
|
||||
free(set->ExeFs.ReadWrite[i]);
|
||||
}
|
||||
free(set->ExeFs.ReadWrite);
|
||||
|
||||
//PlainRegion
|
||||
for(u32 i = 0; i < set->PlainRegionNum; i++){
|
||||
free(set->PlainRegion[i]);
|
||||
}
|
||||
free(set->PlainRegion);
|
||||
|
||||
//TitleInfo
|
||||
//free(set->TitleInfo.Platform);
|
||||
free(set->TitleInfo.Category);
|
||||
free(set->TitleInfo.UniqueId);
|
||||
free(set->TitleInfo.Version);
|
||||
free(set->TitleInfo.ContentsIndex);
|
||||
free(set->TitleInfo.Variation);
|
||||
//free(set->TitleInfo.Use);
|
||||
free(set->TitleInfo.ChildIndex);
|
||||
free(set->TitleInfo.DemoIndex);
|
||||
free(set->TitleInfo.TargetCategory);
|
||||
|
||||
for(u32 i = 0; i < set->TitleInfo.CategoryFlagsNum; i++){
|
||||
free(set->TitleInfo.CategoryFlags[i]);
|
||||
}
|
||||
free(set->TitleInfo.CategoryFlags);
|
||||
|
||||
//CardInfo
|
||||
free(set->CardInfo.WritableAddress);
|
||||
free(set->CardInfo.CardType);
|
||||
free(set->CardInfo.CryptoType);
|
||||
free(set->CardInfo.CardDevice);
|
||||
free(set->CardInfo.MediaType);
|
||||
free(set->CardInfo.MediaSize);
|
||||
free(set->CardInfo.BackupWriteWaitTime);
|
||||
free(set->CardInfo.SaveCrypto);
|
||||
|
||||
//CommonHeaderKey
|
||||
free(set->CommonHeaderKey.D);
|
||||
free(set->CommonHeaderKey.P);
|
||||
free(set->CommonHeaderKey.Q);
|
||||
free(set->CommonHeaderKey.DP);
|
||||
free(set->CommonHeaderKey.DQ);
|
||||
free(set->CommonHeaderKey.InverseQ);
|
||||
free(set->CommonHeaderKey.Modulus);
|
||||
free(set->CommonHeaderKey.Exponent);
|
||||
free(set->CommonHeaderKey.AccCtlDescSign);
|
||||
free(set->CommonHeaderKey.AccCtlDescBin);
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
#pragma once
|
||||
|
||||
int MergeSpecData(rsf_settings *out, rsf_settings *desc, rsf_settings *rsf);
|
||||
void EvaluateRSF(rsf_settings *rsf, ctr_yaml_context *ctx);
|
||||
|
||||
void GET_Option(ctr_yaml_context *ctx, rsf_settings *rsf);
|
||||
@@ -12,4 +11,6 @@ void GET_ExeFs(ctr_yaml_context *ctx, rsf_settings *rsf);
|
||||
void GET_PlainRegion(ctr_yaml_context *ctx, rsf_settings *rsf);
|
||||
void GET_TitleInfo(ctr_yaml_context *ctx, rsf_settings *rsf);
|
||||
void GET_CardInfo(ctr_yaml_context *ctx, rsf_settings *rsf);
|
||||
void GET_CommonHeaderKey(ctr_yaml_context *ctx, rsf_settings *rsf);
|
||||
void GET_CommonHeaderKey(ctr_yaml_context *ctx, rsf_settings *rsf);
|
||||
|
||||
void free_RsfSettings(rsf_settings *set);
|
||||
@@ -715,193 +715,6 @@ void init_UserSettings(user_settings *usr_settings)
|
||||
memset(usr_settings,0,sizeof(user_settings));
|
||||
}
|
||||
|
||||
|
||||
void free_RsfSettings(rsf_settings *set)
|
||||
{
|
||||
//Option
|
||||
free(set->Option.PageSize);
|
||||
/*
|
||||
for(u32 i = 0; i < set->Option.AppendSystemCallNum; i++){
|
||||
free(set->Option.AppendSystemCall[i]);
|
||||
}
|
||||
free(set->Option.AppendSystemCall);
|
||||
*/
|
||||
|
||||
//AccessControlInfo
|
||||
//free(set->AccessControlInfo.ProgramId);
|
||||
free(set->AccessControlInfo.IdealProcessor);
|
||||
free(set->AccessControlInfo.Priority);
|
||||
free(set->AccessControlInfo.MemoryType);
|
||||
free(set->AccessControlInfo.SystemMode);
|
||||
free(set->AccessControlInfo.CoreVersion);
|
||||
free(set->AccessControlInfo.HandleTableSize);
|
||||
free(set->AccessControlInfo.SystemSaveDataId1);
|
||||
free(set->AccessControlInfo.SystemSaveDataId2);
|
||||
free(set->AccessControlInfo.OtherUserSaveDataId1);
|
||||
free(set->AccessControlInfo.OtherUserSaveDataId2);
|
||||
free(set->AccessControlInfo.OtherUserSaveDataId3);
|
||||
free(set->AccessControlInfo.ExtSaveDataId);
|
||||
free(set->AccessControlInfo.SystemMode);
|
||||
free(set->AccessControlInfo.AffinityMask);
|
||||
free(set->AccessControlInfo.DescVersion);
|
||||
//free(set->AccessControlInfo.CryptoKey);
|
||||
free(set->AccessControlInfo.ResourceLimitCategory);
|
||||
free(set->AccessControlInfo.ReleaseKernelMajor);
|
||||
free(set->AccessControlInfo.ReleaseKernelMinor);
|
||||
free(set->AccessControlInfo.MaxCpu);
|
||||
|
||||
for(u32 i = 0; i < set->AccessControlInfo.MemoryMappingNum; i++){
|
||||
free(set->AccessControlInfo.MemoryMapping[i]);
|
||||
}
|
||||
free(set->AccessControlInfo.MemoryMapping);
|
||||
|
||||
for(u32 i = 0; i < set->AccessControlInfo.IORegisterMappingNum; i++){
|
||||
free(set->AccessControlInfo.IORegisterMapping[i]);
|
||||
}
|
||||
free(set->AccessControlInfo.IORegisterMapping);
|
||||
|
||||
for(u32 i = 0; i < set->AccessControlInfo.FileSystemAccessNum; i++){
|
||||
free(set->AccessControlInfo.FileSystemAccess[i]);
|
||||
}
|
||||
free(set->AccessControlInfo.FileSystemAccess);
|
||||
|
||||
for(u32 i = 0; i < set->AccessControlInfo.IoAccessControlNum; i++){
|
||||
free(set->AccessControlInfo.IoAccessControl[i]);
|
||||
}
|
||||
free(set->AccessControlInfo.IoAccessControl);
|
||||
|
||||
for(u32 i = 0; i < set->AccessControlInfo.InterruptNumbersNum; i++){
|
||||
free(set->AccessControlInfo.InterruptNumbers[i]);
|
||||
}
|
||||
free(set->AccessControlInfo.InterruptNumbers);
|
||||
|
||||
for(u32 i = 0; i < set->AccessControlInfo.SystemCallAccessNum; i++){
|
||||
free(set->AccessControlInfo.SystemCallAccess[i]);
|
||||
}
|
||||
free(set->AccessControlInfo.SystemCallAccess);
|
||||
|
||||
for(u32 i = 0; i < set->AccessControlInfo.ServiceAccessControlNum; i++){
|
||||
free(set->AccessControlInfo.ServiceAccessControl[i]);
|
||||
}
|
||||
free(set->AccessControlInfo.ServiceAccessControl);
|
||||
|
||||
for(u32 i = 0; i < set->AccessControlInfo.StorageIdNum; i++){
|
||||
free(set->AccessControlInfo.StorageId[i]);
|
||||
}
|
||||
free(set->AccessControlInfo.StorageId);
|
||||
|
||||
for(u32 i = 0; i < set->AccessControlInfo.AccessibleSaveDataIdsNum; i++){
|
||||
free(set->AccessControlInfo.AccessibleSaveDataIds[i]);
|
||||
}
|
||||
free(set->AccessControlInfo.AccessibleSaveDataIds);
|
||||
|
||||
//SystemControlInfo
|
||||
free(set->SystemControlInfo.AppType);
|
||||
free(set->SystemControlInfo.StackSize);
|
||||
free(set->SystemControlInfo.RemasterVersion);
|
||||
free(set->SystemControlInfo.SaveDataSize);
|
||||
free(set->SystemControlInfo.JumpId);
|
||||
|
||||
for(u32 i = 0; i < set->SystemControlInfo.DependencyNum; i++){
|
||||
free(set->SystemControlInfo.Dependency[i]);
|
||||
}
|
||||
free(set->SystemControlInfo.Dependency);
|
||||
|
||||
//BasicInfo
|
||||
free(set->BasicInfo.Title);
|
||||
free(set->BasicInfo.CompanyCode);
|
||||
free(set->BasicInfo.ProductCode);
|
||||
free(set->BasicInfo.ContentType);
|
||||
free(set->BasicInfo.Logo);
|
||||
//free(set->BasicInfo.BackupMemoryType);
|
||||
//free(set->BasicInfo.InitialCode);
|
||||
|
||||
//Rom
|
||||
free(set->Rom.HostRoot);
|
||||
//free(set->Rom.Padding);
|
||||
|
||||
for(u32 i = 0; i < set->Rom.DefaultRejectNum; i++){
|
||||
free(set->Rom.DefaultReject[i]);
|
||||
}
|
||||
free(set->Rom.DefaultReject);
|
||||
|
||||
for(u32 i = 0; i < set->Rom.RejectNum; i++){
|
||||
free(set->Rom.Reject[i]);
|
||||
}
|
||||
free(set->Rom.Reject);
|
||||
|
||||
for(u32 i = 0; i < set->Rom.IncludeNum; i++){
|
||||
free(set->Rom.Include[i]);
|
||||
}
|
||||
free(set->Rom.Include);
|
||||
|
||||
for(u32 i = 0; i < set->Rom.FileNum; i++){
|
||||
free(set->Rom.File[i]);
|
||||
}
|
||||
free(set->Rom.File);
|
||||
|
||||
//ExeFs
|
||||
for(u32 i = 0; i < set->ExeFs.TextNum; i++){
|
||||
free(set->ExeFs.Text[i]);
|
||||
}
|
||||
free(set->ExeFs.Text);
|
||||
|
||||
for(u32 i = 0; i < set->ExeFs.ReadOnlyNum; i++){
|
||||
free(set->ExeFs.ReadOnly[i]);
|
||||
}
|
||||
free(set->ExeFs.ReadOnly);
|
||||
|
||||
for(u32 i = 0; i < set->ExeFs.ReadWriteNum; i++){
|
||||
free(set->ExeFs.ReadWrite[i]);
|
||||
}
|
||||
free(set->ExeFs.ReadWrite);
|
||||
|
||||
//PlainRegion
|
||||
for(u32 i = 0; i < set->PlainRegionNum; i++){
|
||||
free(set->PlainRegion[i]);
|
||||
}
|
||||
free(set->PlainRegion);
|
||||
|
||||
//TitleInfo
|
||||
//free(set->TitleInfo.Platform);
|
||||
free(set->TitleInfo.Category);
|
||||
free(set->TitleInfo.UniqueId);
|
||||
free(set->TitleInfo.Version);
|
||||
free(set->TitleInfo.ContentsIndex);
|
||||
free(set->TitleInfo.Variation);
|
||||
//free(set->TitleInfo.Use);
|
||||
free(set->TitleInfo.ChildIndex);
|
||||
free(set->TitleInfo.DemoIndex);
|
||||
free(set->TitleInfo.TargetCategory);
|
||||
|
||||
for(u32 i = 0; i < set->TitleInfo.CategoryFlagsNum; i++){
|
||||
free(set->TitleInfo.CategoryFlags[i]);
|
||||
}
|
||||
free(set->TitleInfo.CategoryFlags);
|
||||
|
||||
//CardInfo
|
||||
free(set->CardInfo.WritableAddress);
|
||||
free(set->CardInfo.CardType);
|
||||
free(set->CardInfo.CryptoType);
|
||||
free(set->CardInfo.CardDevice);
|
||||
free(set->CardInfo.MediaType);
|
||||
free(set->CardInfo.MediaSize);
|
||||
free(set->CardInfo.BackupWriteWaitTime);
|
||||
free(set->CardInfo.SaveCrypto);
|
||||
|
||||
//CommonHeaderKey
|
||||
free(set->CommonHeaderKey.D);
|
||||
free(set->CommonHeaderKey.P);
|
||||
free(set->CommonHeaderKey.Q);
|
||||
free(set->CommonHeaderKey.DP);
|
||||
free(set->CommonHeaderKey.DQ);
|
||||
free(set->CommonHeaderKey.InverseQ);
|
||||
free(set->CommonHeaderKey.Modulus);
|
||||
free(set->CommonHeaderKey.Exponent);
|
||||
free(set->CommonHeaderKey.AccCtlDescSign);
|
||||
free(set->CommonHeaderKey.AccCtlDescBin);
|
||||
}
|
||||
|
||||
void free_UserSettings(user_settings *usr_settings)
|
||||
{
|
||||
// Free Content Paths
|
||||
|
||||
+15
-21
@@ -49,20 +49,6 @@ typedef enum
|
||||
NCCH
|
||||
} output_format;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char *name;
|
||||
char *value;
|
||||
} dname_item;
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
dname_item *items;
|
||||
u32 m_items;
|
||||
u32 u_items;
|
||||
} dname_struct;
|
||||
|
||||
static const char output_extention[4][5] = {".cxi",".cfa",".cci",".cia"};
|
||||
|
||||
/* This does not follow style, so the rsf string names match the variables where they're stored */
|
||||
@@ -244,6 +230,19 @@ typedef struct
|
||||
} CommonHeaderKey;
|
||||
} rsf_settings;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char *name;
|
||||
char *value;
|
||||
} dname_item;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
dname_item *items;
|
||||
u32 m_items;
|
||||
u32 u_items;
|
||||
} dname_struct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
struct{
|
||||
@@ -302,16 +301,11 @@ typedef struct
|
||||
u16 titleVersion[3];
|
||||
|
||||
u64 contentId[CIA_MAX_CONTENT]; // For CIA
|
||||
} cia; // CIA Settings
|
||||
|
||||
|
||||
} cia; // CIA Settings
|
||||
} user_settings;
|
||||
|
||||
// Prototypes
|
||||
|
||||
void init_UserSettings(user_settings *usr_settings);
|
||||
void free_UserSettings(user_settings *usr_settings);
|
||||
int ParseArgs(int argc, char *argv[], user_settings *usr_settings);
|
||||
void ReadYAMLtest(char *filepath);
|
||||
|
||||
void free_RsfSettings(rsf_settings *set);
|
||||
int ParseArgs(int argc, char *argv[], user_settings *usr_settings);
|
||||
@@ -1,5 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "libyaml/yaml.h"
|
||||
|
||||
typedef enum
|
||||
{
|
||||
YAML_API_ERROR = -1,
|
||||
|
||||
Reference in New Issue
Block a user