v6
This commit is contained in:
parent
4506dc3e54
commit
c9ae33f74a
46 changed files with 14018 additions and 73 deletions
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"saveFilePaths" : [ "/" ],
|
||||
"saveFilePaths" : [ "" ],
|
||||
"files" : "File\\d+\\.bin",
|
||||
"filetype": "bin",
|
||||
"items": [
|
||||
|
|
1279
Compiled/EdiZon/editor/010057D006492000.json
Normal file
1279
Compiled/EdiZon/editor/010057D006492000.json
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"saveFilePaths" : [ "/" ],
|
||||
"saveFilePaths" : [ "" ],
|
||||
"files" : "user\\d\\.dat",
|
||||
"filetype": "json",
|
||||
"items": [
|
||||
|
@ -13,6 +13,611 @@
|
|||
"minValue" : 0,
|
||||
"maxValue" : 99999
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Dream orb count",
|
||||
"category" : "Collectibles",
|
||||
"intArgs" : [ 0 ],
|
||||
"strArgs" : [ "playerData", "dreamOrbs" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99999
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Simple keys count",
|
||||
"category" : "Collectibles",
|
||||
"intArgs" : [ 0 ],
|
||||
"strArgs" : [ "playerData", "simpleKeys" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 100
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Pale ore count",
|
||||
"category" : "Collectibles",
|
||||
"intArgs" : [ 0 ],
|
||||
"strArgs" : [ "playerData", "ore" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 1000
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Nail Damage",
|
||||
"category" : "Stats",
|
||||
"intArgs" : [ 0 ],
|
||||
"strArgs" : [ "playerData", "nailDamage" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 100
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Max Health",
|
||||
"category" : "Stats",
|
||||
"intArgs" : [ 0 ],
|
||||
"strArgs" : [ "playerData", "maxHealthBase" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 100
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Charm slot count",
|
||||
"category" : "Stats",
|
||||
"intArgs" : [ 0 ],
|
||||
"strArgs" : [ "playerData", "charmSlots" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 1,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Gathering Swarm enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_1" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Wayward Compass enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_2" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Grubsong enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_3" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Stalwart Shell enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_4" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Baldur Shell enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_5" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Furry of the Fallen enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_6" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Quick Focus enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_7" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Lifeblood Heart enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_8" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Lifeblood Core enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_9" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Defender's Crest enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_10" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Flukenest enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_11" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Thorns of Agony enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_12" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Mark of Pride enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_13" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Steady body enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_14" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Heavy Bow enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_15" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Sharp Shadow enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_16" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Spore Shroom enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_17" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Longnail enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_18" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Shaman Stone enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_19" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Soul Catcher enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_20" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Soul Eater enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_21" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Glowing Womb enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_22" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Fragile Heart enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_23" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Fragile Greed enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_24" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Fragile Strength enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_25" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Nailmaster's Glory enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_26" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Joni's Blessing enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_27" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Shape of Unn enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_28" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Hiveblood enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_29" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Dream Wielder enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_30" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Dashmaster enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_31" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Quick Slash enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_32" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Spell Twister enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_33" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Deep Focus enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_34" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Grubberfly's Elegy enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_35" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Void Soul enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_36" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Sprintmaster enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_37" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Dreamshield enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_38" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Weaversong enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_39" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Grimmchild / Carefree Melody enabled",
|
||||
"category" : "Charms",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "gotCharm_40" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Mothwing Cloak enabled",
|
||||
"category" : "Abilities",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "hasDash" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Shadow Mothwing Cloak enabled",
|
||||
"category" : "Abilities",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "hasShadowDash" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Mantis Claw enabled",
|
||||
"category" : "Abilities",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "hasWalljump" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Crystal Dash enabled",
|
||||
"category" : "Abilities",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "hasSuperDash" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Monarch Wings enabled",
|
||||
"category" : "Abilities",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "hasDoubleJump" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Dreamnail enabled",
|
||||
"category" : "Abilities",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "hasDreamNail" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Dream Gate enabled",
|
||||
"category" : "Abilities",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "hasDreamGate" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Dreamnail Upgrade enabled",
|
||||
"category" : "Abilities",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "dreamNailUpgraded" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Ismas enabled",
|
||||
"category" : "Abilities",
|
||||
"intArgs" : [ 1 ],
|
||||
"strArgs" : [ "playerData", "hasAcidArmour" ],
|
||||
"widget" : {
|
||||
"type" : "bool",
|
||||
"onValue" : 1,
|
||||
"offValue" : 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
2549
Compiled/EdiZon/editor/010067300059A000.json
Normal file
2549
Compiled/EdiZon/editor/010067300059A000.json
Normal file
File diff suppressed because it is too large
Load diff
177
Compiled/EdiZon/editor/010076F0049A2000.json
Normal file
177
Compiled/EdiZon/editor/010076F0049A2000.json
Normal file
|
@ -0,0 +1,177 @@
|
|||
{
|
||||
"saveFilePaths" : [ "" ],
|
||||
"files" : "File\\d+\\data00",
|
||||
"filetype": "bin",
|
||||
"items": [
|
||||
{
|
||||
"name" : "Halos",
|
||||
"offsetAddress" : "0",
|
||||
"address" : "EF64",
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 9999
|
||||
}
|
||||
}
|
||||
{
|
||||
"name" : "Compound Green",
|
||||
"offsetAddress" : "0",
|
||||
"address" : "EF7C",
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
}
|
||||
{
|
||||
"name" : "Compound Yellow",
|
||||
"offsetAddress" : "0",
|
||||
"address" : "EF78",
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
}
|
||||
{
|
||||
"name" : "Compound Red",
|
||||
"offsetAddress" : "0",
|
||||
"address" : "EF80",
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
}
|
||||
{
|
||||
"name" : "Green Herb",
|
||||
"offsetAddress" : "0",
|
||||
"address" : "EF84",
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
}
|
||||
{
|
||||
"name" : "Mega Green Herb",
|
||||
"offsetAddress" : "0",
|
||||
"address" : "EF88",
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
}
|
||||
{
|
||||
"name" : "Purple_Magic",
|
||||
"offsetAddress" : "0",
|
||||
"address" : "EF8C",
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
}
|
||||
{
|
||||
"name" : "Mega Purple Magic",
|
||||
"offsetAddress" : "0",
|
||||
"address" : "EF90",
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
}
|
||||
{
|
||||
"name" : "Bloody Rose",
|
||||
"offsetAddress" : "0",
|
||||
"address" : "EF94",
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
}
|
||||
{
|
||||
"name" : "Mega Bloody Rose",
|
||||
"offsetAddress" : "0",
|
||||
"address" : "EF98",
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
}
|
||||
{
|
||||
"name" : "Yellow Moon",
|
||||
"offsetAddress" : "0",
|
||||
"address" : "EF9C",
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
}
|
||||
{
|
||||
"name" : "Mega Yellow Moon",
|
||||
"offsetAddress" : "0",
|
||||
"address" : "EFA0",
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
}
|
||||
{
|
||||
"name" : "Broken Heart",
|
||||
"offsetAddress" : "0",
|
||||
"address" : "EFA4",
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
}
|
||||
{
|
||||
"name" : "Broken Pearl",
|
||||
"offsetAddress" : "0",
|
||||
"address" : "EFA8",
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
}
|
||||
{
|
||||
"name" : "Arcade Bullet",
|
||||
"offsetAddress" : "0",
|
||||
"address" : "EFAC",
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
}
|
||||
{
|
||||
"name" : "Red Hot Shot",
|
||||
"offsetAddress" : "0",
|
||||
"address" : "EFB0",
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
}
|
||||
{
|
||||
"name" : "Magic Flute",
|
||||
"offsetAddress" : "0",
|
||||
"address" : "EFB4",
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
238
Compiled/EdiZon/editor/01007960049A0000.json
Normal file
238
Compiled/EdiZon/editor/01007960049A0000.json
Normal file
|
@ -0,0 +1,238 @@
|
|||
{
|
||||
"saveFilePaths" : [ "" ],
|
||||
"files" : "save\\d\\d\\d\\d\\.sav",
|
||||
"filetype": "bin",
|
||||
"items": [
|
||||
{
|
||||
"name" : "Halos",
|
||||
"category" : "Halos",
|
||||
"intArgs" : [ 2, 4 ],
|
||||
"strArgs" : [ "0000", "A3B0" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99999999
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Mandragora Root",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A3E4" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Baked Gecko",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A3DC" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Unicorn Horn",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A3D4" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Yellow Moon Lollipop",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A3EC" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Mega Bloody Rose Lollipop",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A3F4" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Bloody Rose Lollipop",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A3FC" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Mega Purple Magic Lollipop",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A404" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Purple Magic Lollipop",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A40C" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Mega Green Herb Lollipop",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A414" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Green Herb Lollipop",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A41C" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "item 11",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A424" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "item 12",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A42C" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Witchs Recipes",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A434" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "item 14",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A43C" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "item 15",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A444" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "item 16",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A44C" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "item 17",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A454" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "item 18",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A45C" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "item 19",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A464" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "item 20",
|
||||
"category" : "Items",
|
||||
"intArgs" : [ 2, 2 ],
|
||||
"strArgs" : [ "0000", "A46C" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
85
Compiled/EdiZon/editor/01007EF00011E000.json
Normal file
85
Compiled/EdiZon/editor/01007EF00011E000.json
Normal file
|
@ -0,0 +1,85 @@
|
|||
{
|
||||
"saveFilePaths" : [ "3" ],
|
||||
"files" : "game_data\\.sav",
|
||||
"filetype": "bin",
|
||||
"items": [
|
||||
{
|
||||
"name" : "Rupee",
|
||||
"category" : "Collectibles",
|
||||
"intArgs" : [ 4, 4 ],
|
||||
"strArgs" : [ "0000", "EAF8" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 999999
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Mons",
|
||||
"category" : "Collectibles",
|
||||
"intArgs" : [ 4, 4 ],
|
||||
"strArgs" : [ "0000", "D7FA8" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 999999
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Gerudoo Relic uses remaining",
|
||||
"category" : "Collectibles",
|
||||
"intArgs" : [ 4, 4 ],
|
||||
"strArgs" : [ "0000", "89968" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Goron Relic uses remaining",
|
||||
"category" : "Collectibles",
|
||||
"intArgs" : [ 4, 4 ],
|
||||
"strArgs" : [ "0000", "E7BA0" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Rito Relic uses remaining.",
|
||||
"category" : "Collectibles",
|
||||
"intArgs" : [ 4, 4 ],
|
||||
"strArgs" : [ "0000", "F9CC8" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 99
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Hearts",
|
||||
"category" : "Stats",
|
||||
"intArgs" : [ 4, 4 ],
|
||||
"strArgs" : [ "0000", "10970" ],
|
||||
"widget" : {
|
||||
"type" : "list",
|
||||
"listItemNames" : [ "1 Heart", "2 Hearts", "3 Hearts", "4 Hearts", "5 Hearts", "6 Hearts", "7 Hearts", "8 Hearts", "9 Hearts", "10 Hearts", "11 Hearts", "12 Hearts", "13 Hearts", "14 Hearts", "15 Hearts", "16 Hearts", "17 Hearts", "18 Hearts", "19 Hearts", "20 Hearts", "21 Hearts", "22 Hearts", "23 Hearts", "24 Hearts", "25 Hearts", "26 Hearts", "27 Hearts", "28 Hearts", "29 Hearts", "30 Hearts" ],
|
||||
"listItemValues" : [ 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120 ]
|
||||
|
||||
}
|
||||
},
|
||||
{
|
||||
"name" : "Stamina",
|
||||
"category" : "Stats",
|
||||
"intArgs" : [ 4, 4 ],
|
||||
"strArgs" : [ "0000", "0503C8" ],
|
||||
"widget" : {
|
||||
"type" : "list",
|
||||
"listItemNames" : [ "1 Wheel of Stamina", "1 & 1/5 Wheels of Stamina", "1 & 2/5 Wheels of Stamina", "1 & 3/5 Wheels of Stamina", "1 & 4/5 Wheels of Stamina", "2 Wheels of Stamina", "2 & 1/5 Wheels of Stamina", "2 & 2/5 Wheels of Stamina", "2 & 3/5 Wheels of Stamina", "2 & 4/5 Wheels of Stamina", "3 Wheels of Stamina" ],
|
||||
"listItemValues" : [ 1148846080, 1150681088, 1152319488, 1153957888, 1155596288, 1157234688, 1158250496, 1159069696, 1159888896, 1160708096, 1161527296 ]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
18
Compiled/EdiZon/editor/0100849000BDA000.json
Normal file
18
Compiled/EdiZon/editor/0100849000BDA000.json
Normal file
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"saveFilePaths" : [ "" ],
|
||||
"files" : "setsuna\\d\\d\\.dat",
|
||||
"filetype": "setsuna",
|
||||
"items": [
|
||||
{
|
||||
"name" : "Gold",
|
||||
"category" : "Inventory",
|
||||
"intArgs" : [ 2, 4 ],
|
||||
"strArgs" : [ "0000", "00CC" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 0,
|
||||
"maxValue" : 999999999
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
1279
Compiled/EdiZon/editor/010086D00B3D2000.json
Normal file
1279
Compiled/EdiZon/editor/010086D00B3D2000.json
Normal file
File diff suppressed because it is too large
Load diff
1279
Compiled/EdiZon/editor/010096000B3EA000.json
Normal file
1279
Compiled/EdiZon/editor/010096000B3EA000.json
Normal file
File diff suppressed because it is too large
Load diff
3453
Compiled/EdiZon/editor/0100AE00096EA000.json
Normal file
3453
Compiled/EdiZon/editor/0100AE00096EA000.json
Normal file
File diff suppressed because it is too large
Load diff
18
Compiled/EdiZon/editor/0100BDE00862A000.json
Normal file
18
Compiled/EdiZon/editor/0100BDE00862A000.json
Normal file
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"saveFilePaths" : [ "" ],
|
||||
"files" : "save.dat",
|
||||
"filetype": "bin",
|
||||
"items": [
|
||||
{
|
||||
"name" : "Character Level",
|
||||
"category" : "Adventure Mode",
|
||||
"intArgs" : [ 2, 4 ],
|
||||
"strArgs" : [ "0000", "40B0" ],
|
||||
"widget" : {
|
||||
"type" : "int",
|
||||
"minValue" : 1,
|
||||
"maxValue" : 99
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
1302
Compiled/EdiZon/editor/0100C4E004406000.json
Normal file
1302
Compiled/EdiZon/editor/0100C4E004406000.json
Normal file
File diff suppressed because it is too large
Load diff
1279
Compiled/EdiZon/editor/0100E66006406000.json
Normal file
1279
Compiled/EdiZon/editor/0100E66006406000.json
Normal file
File diff suppressed because it is too large
Load diff
|
@ -2,15 +2,6 @@
|
|||
|
||||
json = require("lib.json")
|
||||
|
||||
function convertToString(t)
|
||||
str = ""
|
||||
for i, arg in ipairs(t) do
|
||||
str = str..string.char(arg)
|
||||
end
|
||||
|
||||
return str
|
||||
end
|
||||
|
||||
function convertToTable(s)
|
||||
t = {}
|
||||
|
||||
|
@ -21,34 +12,55 @@ function convertToTable(s)
|
|||
return t
|
||||
end
|
||||
|
||||
saveFileBuffer = json.decode(convertToString(edizon.getSaveFileBuffer()))
|
||||
saveFileBuffer = json.decode(edizon.getSaveFileString())
|
||||
|
||||
function getValueFromSaveFile()
|
||||
strArgs = edizon.getStrArgs()
|
||||
intArgs = edizon.getIntArgs()
|
||||
|
||||
item = saveFileBuffer
|
||||
|
||||
for i, tag in pairs(strArgs) do
|
||||
if type(item) ~= "table" then break end
|
||||
|
||||
if string.sub(tag, 1, 1) == "\\" then
|
||||
tag = tonumber(tag:sub(2)) + 1
|
||||
|
||||
if tag == nil then return 0 end
|
||||
end
|
||||
|
||||
item = item[tag]
|
||||
end
|
||||
|
||||
if intArgs[1] == 0 then
|
||||
return item
|
||||
else
|
||||
return item and 1 or 0
|
||||
end
|
||||
end
|
||||
|
||||
function setValueInSaveFile(value)
|
||||
local items = saveFileBuffer
|
||||
strArgs = edizon.getStrArgs()
|
||||
intArgs = edizon.getIntArgs()
|
||||
|
||||
local ref = items
|
||||
|
||||
for i, arg in ipairs(strArgs) do
|
||||
if i == #strArgs then
|
||||
ref[arg] = value
|
||||
else
|
||||
ref = ref[arg]
|
||||
for i, tag in ipairs(strArgs) do
|
||||
|
||||
if string.sub(tag, 1, 1) == "\\" then
|
||||
tag = tonumber(tag:sub(2)) + 1
|
||||
end
|
||||
if i == #strArgs then
|
||||
if intArgs[1] == 0 then
|
||||
ref[tag] = value
|
||||
else
|
||||
ref[tag] = (value == 1)
|
||||
end
|
||||
else
|
||||
ref = ref[tag]
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -57,7 +69,5 @@ function getModifiedSaveFile()
|
|||
convertedTable = {}
|
||||
convertedTable = convertToTable(encoded)
|
||||
|
||||
print(convertedTable[#convertedTable - 1])
|
||||
|
||||
return convertedTable
|
||||
end
|
||||
|
|
168
Compiled/EdiZon/editor/scripts/lib/md5.lua
Normal file
168
Compiled/EdiZon/editor/scripts/lib/md5.lua
Normal file
|
@ -0,0 +1,168 @@
|
|||
-- Copyright (c) 2017 Phil Leblanc -- see LICENSE file
|
||||
|
||||
------------------------------------------------------------------------
|
||||
-- md5 hash - see RFC 1321 - https://www.ietf.org/rfc/rfc1321.txt
|
||||
|
||||
local spack, sunpack = string.pack, string.unpack
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
local function FF(a, b, c, d, x, s, ac)
|
||||
a = (a + ((b & c) | ((~b) & d)) + x + ac) & 0xffffffff
|
||||
a = ((a << s) | (a >> (32-s))) & 0xffffffff
|
||||
a = (a + b) & 0xffffffff
|
||||
return a
|
||||
end
|
||||
|
||||
local function GG(a, b, c, d, x, s, ac)
|
||||
a = (a + ((b & d) | c & (~d) ) + x + ac) & 0xffffffff
|
||||
a = ((a << s) | (a >> (32-s))) & 0xffffffff
|
||||
a = (a + b) & 0xffffffff
|
||||
return a
|
||||
end
|
||||
|
||||
local function HH(a, b, c, d, x, s, ac)
|
||||
a = (a + ((b ~ c ~ d)) + x + ac) & 0xffffffff
|
||||
a = ((a << s) | (a >> (32-s))) & 0xffffffff
|
||||
a = (a + b) & 0xffffffff
|
||||
return a
|
||||
end
|
||||
|
||||
local function II(a, b, c, d, x, s, ac)
|
||||
a = (a + (c ~ (b | ~d)) + x + ac) & 0xffffffff
|
||||
a = ((a << s) | (a >> (32-s))) & 0xffffffff
|
||||
a = (a + b) & 0xffffffff
|
||||
return a
|
||||
end
|
||||
|
||||
local function transform(state, input, i, t)
|
||||
-- process the 64-byte input block in string 'input' at offset 'i'
|
||||
-- t is a uint32[16] array. It is passed as a parameter
|
||||
-- for performance reasons
|
||||
--
|
||||
local a, b, c, d = state[1], state[2], state[3], state[4]
|
||||
|
||||
-- load array
|
||||
for j = 1, 16 do
|
||||
t[j] = sunpack("<I4", input, i)
|
||||
i = i + 4
|
||||
end
|
||||
|
||||
-- Round 1
|
||||
a = FF (a, b, c, d, t[ 1], 7, 0xd76aa478)
|
||||
d = FF (d, a, b, c, t[ 2], 12, 0xe8c7b756)
|
||||
c = FF (c, d, a, b, t[ 3], 17, 0x242070db)
|
||||
b = FF (b, c, d, a, t[ 4], 22, 0xc1bdceee)
|
||||
a = FF (a, b, c, d, t[ 5], 7, 0xf57c0faf)
|
||||
d = FF (d, a, b, c, t[ 6], 12, 0x4787c62a)
|
||||
c = FF (c, d, a, b, t[ 7], 17, 0xa8304613)
|
||||
b = FF (b, c, d, a, t[ 8], 22, 0xfd469501)
|
||||
a = FF (a, b, c, d, t[ 9], 7, 0x698098d8)
|
||||
d = FF (d, a, b, c, t[10], 12, 0x8b44f7af)
|
||||
c = FF (c, d, a, b, t[11], 17, 0xffff5bb1)
|
||||
b = FF (b, c, d, a, t[12], 22, 0x895cd7be)
|
||||
a = FF (a, b, c, d, t[13], 7, 0x6b901122)
|
||||
d = FF (d, a, b, c, t[14], 12, 0xfd987193)
|
||||
c = FF (c, d, a, b, t[15], 17, 0xa679438e)
|
||||
b = FF (b, c, d, a, t[16], 22, 0x49b40821)
|
||||
|
||||
-- Round 2
|
||||
a = GG (a, b, c, d, t[ 2], 5, 0xf61e2562)
|
||||
d = GG (d, a, b, c, t[ 7], 9, 0xc040b340)
|
||||
c = GG (c, d, a, b, t[12], 14, 0x265e5a51)
|
||||
b = GG (b, c, d, a, t[ 1], 20, 0xe9b6c7aa)
|
||||
a = GG (a, b, c, d, t[ 6], 5, 0xd62f105d)
|
||||
d = GG (d, a, b, c, t[11], 9, 0x2441453)
|
||||
c = GG (c, d, a, b, t[16], 14, 0xd8a1e681)
|
||||
b = GG (b, c, d, a, t[ 5], 20, 0xe7d3fbc8)
|
||||
a = GG (a, b, c, d, t[10], 5, 0x21e1cde6)
|
||||
d = GG (d, a, b, c, t[15], 9, 0xc33707d6)
|
||||
c = GG (c, d, a, b, t[ 4], 14, 0xf4d50d87)
|
||||
b = GG (b, c, d, a, t[ 9], 20, 0x455a14ed)
|
||||
a = GG (a, b, c, d, t[14], 5, 0xa9e3e905)
|
||||
d = GG (d, a, b, c, t[ 3], 9, 0xfcefa3f8)
|
||||
c = GG (c, d, a, b, t[ 8], 14, 0x676f02d9)
|
||||
b = GG (b, c, d, a, t[13], 20, 0x8d2a4c8a)
|
||||
|
||||
-- Round 3
|
||||
a = HH (a, b, c, d, t[ 6], 4, 0xfffa3942)
|
||||
d = HH (d, a, b, c, t[ 9], 11, 0x8771f681)
|
||||
c = HH (c, d, a, b, t[12], 16, 0x6d9d6122)
|
||||
b = HH (b, c, d, a, t[15], 23, 0xfde5380c)
|
||||
a = HH (a, b, c, d, t[ 2], 4, 0xa4beea44)
|
||||
d = HH (d, a, b, c, t[ 5], 11, 0x4bdecfa9)
|
||||
c = HH (c, d, a, b, t[ 8], 16, 0xf6bb4b60)
|
||||
b = HH (b, c, d, a, t[11], 23, 0xbebfbc70)
|
||||
a = HH (a, b, c, d, t[14], 4, 0x289b7ec6)
|
||||
d = HH (d, a, b, c, t[ 1], 11, 0xeaa127fa)
|
||||
c = HH (c, d, a, b, t[ 4], 16, 0xd4ef3085)
|
||||
b = HH (b, c, d, a, t[ 7], 23, 0x4881d05)
|
||||
a = HH (a, b, c, d, t[10], 4, 0xd9d4d039)
|
||||
d = HH (d, a, b, c, t[13], 11, 0xe6db99e5)
|
||||
c = HH (c, d, a, b, t[16], 16, 0x1fa27cf8)
|
||||
b = HH (b, c, d, a, t[ 3], 23, 0xc4ac5665)
|
||||
|
||||
-- Round 4
|
||||
a = II (a, b, c, d, t[ 1], 6, 0xf4292244)
|
||||
d = II (d, a, b, c, t[ 8], 10, 0x432aff97)
|
||||
c = II (c, d, a, b, t[15], 15, 0xab9423a7)
|
||||
b = II (b, c, d, a, t[ 6], 21, 0xfc93a039)
|
||||
a = II (a, b, c, d, t[13], 6, 0x655b59c3)
|
||||
d = II (d, a, b, c, t[ 4], 10, 0x8f0ccc92)
|
||||
c = II (c, d, a, b, t[11], 15, 0xffeff47d)
|
||||
b = II (b, c, d, a, t[ 2], 21, 0x85845dd1)
|
||||
a = II (a, b, c, d, t[ 9], 6, 0x6fa87e4f)
|
||||
d = II (d, a, b, c, t[16], 10, 0xfe2ce6e0)
|
||||
c = II (c, d, a, b, t[ 7], 15, 0xa3014314)
|
||||
b = II (b, c, d, a, t[14], 21, 0x4e0811a1)
|
||||
a = II (a, b, c, d, t[ 5], 6, 0xf7537e82)
|
||||
d = II (d, a, b, c, t[12], 10, 0xbd3af235)
|
||||
c = II (c, d, a, b, t[ 3], 15, 0x2ad7d2bb)
|
||||
b = II (b, c, d, a, t[10], 21, 0xeb86d391)
|
||||
|
||||
state[1] = (state[1] + a) & 0xffffffff
|
||||
state[2] = (state[2] + b) & 0xffffffff
|
||||
state[3] = (state[3] + c) & 0xffffffff
|
||||
state[4] = (state[4] + d) & 0xffffffff
|
||||
end --transform()
|
||||
|
||||
local function md5(input)
|
||||
-- initialize state
|
||||
local state = { 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476 }
|
||||
local inputlen = #input
|
||||
local inputbits = inputlen * 8 -- input length in bits
|
||||
local r = inputlen -- number of unprocessed bytes
|
||||
local i = 1 -- index in input string
|
||||
local ibt = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} -- input block uint32[16]
|
||||
-- process as many 64-byte blocks as possible
|
||||
while r >= 64 do
|
||||
-- process block
|
||||
transform(state, input, i, ibt)
|
||||
i = i + 64 -- update input index
|
||||
r = r - 64 -- update number of unprocessed bytes
|
||||
end
|
||||
-- finalize. must append to input a mandatory 0x80 byte, some
|
||||
-- padding, and the input bit-length ('inputbits')
|
||||
local lastblock -- the rest of input .. some padding .. inputbits
|
||||
local padlen -- padding length in bytes
|
||||
if r < 56 then padlen = 55 - r else padlen = 119 - r end
|
||||
lastblock = input:sub(i) -- remaining input
|
||||
.. '\x80' .. ('\0'):rep(padlen) --padding
|
||||
.. spack("<I8", inputbits) -- length in bits
|
||||
assert(#lastblock == 64 or #lastblock == 128)
|
||||
transform(state, lastblock, 1, ibt)
|
||||
if #lastblock == 128 then
|
||||
transform(state, lastblock, 65, ibt)
|
||||
end
|
||||
-- return the digest
|
||||
local digest = spack("<I4I4I4I4", state[1], state[2], state[3], state[4])
|
||||
return digest
|
||||
end --md5()
|
||||
|
||||
--~ bin = require "plc.bin"
|
||||
--~ print(bin.stohex(md5'abc'))
|
||||
--~ print(bin.stohex(md5""))
|
||||
|
||||
return { -- md5 module
|
||||
hash = md5,
|
||||
}
|
107
Compiled/EdiZon/editor/scripts/octp.lua
Normal file
107
Compiled/EdiZon/editor/scripts/octp.lua
Normal file
|
@ -0,0 +1,107 @@
|
|||
-- octp --
|
||||
|
||||
saveFileBuffer = edizon.getSaveFileBuffer()
|
||||
cachedOffset = {}
|
||||
|
||||
function getOffsetKey()
|
||||
local strArgs = edizon.getStrArgs()
|
||||
local intArgs = edizon.getIntArgs()
|
||||
local offsetKey = strArgs[1]
|
||||
if strArgs[3] then
|
||||
offsetKey = strArgs[3].."$|$|"..(strArgs[1] or 0).."$|$|"..(intArgs[3] or 1)
|
||||
end
|
||||
return offsetKey
|
||||
end
|
||||
|
||||
function getOffset()
|
||||
local strArgs = edizon.getStrArgs()
|
||||
local intArgs = edizon.getIntArgs()
|
||||
local offsetKey = getOffsetKey()
|
||||
|
||||
local indirectAddress = tonumber(strArgs[1], 16)
|
||||
local searchString = strArgs[3]
|
||||
|
||||
if cachedOffset[offsetKey] ~= nil then
|
||||
return cachedOffset[offsetKey]
|
||||
end
|
||||
|
||||
local addressSize = intArgs[1]
|
||||
|
||||
local offset = 0
|
||||
|
||||
if searchString ~= nil and searchString ~= '' then
|
||||
local resultNum = intArgs[3] or 1
|
||||
local start = 1
|
||||
|
||||
if cachedOffset[searchString.."$|$|"..(resultNum-1)] ~= nil then
|
||||
start = cachedOffset[searchString.."$|$|"..(resultNum-1)]+2
|
||||
resultNum = 1
|
||||
else
|
||||
start = indirectAddress+1
|
||||
end
|
||||
|
||||
searchTable = { searchString:byte(1, -1) }
|
||||
searchSize = searchString:len()
|
||||
|
||||
local found = 0
|
||||
for i = start, #saveFileBuffer do
|
||||
if i - 1 + searchSize > #saveFileBuffer then
|
||||
break
|
||||
end
|
||||
for j = 1, searchSize do
|
||||
c = saveFileBuffer[i + j -1]
|
||||
if c ~= searchTable[j] then
|
||||
break
|
||||
end
|
||||
if j == searchSize then
|
||||
found = found + 1
|
||||
end
|
||||
end
|
||||
if found == resultNum then
|
||||
offset = i - 1
|
||||
break
|
||||
end
|
||||
end
|
||||
elseif indirectAddress ~= 0 then
|
||||
for i = 0, addressSize - 1 do
|
||||
offset = offset | (saveFileBuffer[indirectAddress + i + 1] << i * 8)
|
||||
end
|
||||
end
|
||||
|
||||
cachedOffset[offsetKey] = offset
|
||||
return offset
|
||||
end
|
||||
|
||||
function getValueFromSaveFile()
|
||||
local strArgs = edizon.getStrArgs()
|
||||
local intArgs = edizon.getIntArgs()
|
||||
|
||||
local address = tonumber(strArgs[2], 16)
|
||||
local valueSize = intArgs[2]
|
||||
|
||||
local offset = getOffset()
|
||||
local value = 0
|
||||
|
||||
for i = 0, valueSize - 1 do
|
||||
value = value | (saveFileBuffer[offset + address + i + 1] << i * 8)
|
||||
end
|
||||
|
||||
return value
|
||||
end
|
||||
|
||||
function setValueInSaveFile(value)
|
||||
local strArgs = edizon.getStrArgs()
|
||||
local intArgs = edizon.getIntArgs()
|
||||
local address = tonumber(strArgs[2], 16)
|
||||
local valueSize = intArgs[2]
|
||||
|
||||
local offset = getOffset()
|
||||
|
||||
for i = 0, valueSize - 1 do
|
||||
saveFileBuffer[offset + address + i + 1] = (value & (0xFF << i * 8)) >> (i * 8)
|
||||
end
|
||||
end
|
||||
|
||||
function getModifiedSaveFile()
|
||||
return saveFileBuffer
|
||||
end
|
84
Compiled/EdiZon/editor/scripts/setsuna.lua
Normal file
84
Compiled/EdiZon/editor/scripts/setsuna.lua
Normal file
|
@ -0,0 +1,84 @@
|
|||
-- setsuna (modified bin.lua) --
|
||||
|
||||
md5 = require("lib.md5")
|
||||
|
||||
saveFileBuffer = edizon.getSaveFileBuffer()
|
||||
|
||||
function getValueFromSaveFile()
|
||||
strArgs = edizon.getStrArgs()
|
||||
intArgs = edizon.getIntArgs()
|
||||
indirectAddress = tonumber(strArgs[1], 16)
|
||||
address = tonumber(strArgs[2], 16)
|
||||
addressSize = intArgs[1]
|
||||
valueSize = intArgs[2]
|
||||
|
||||
offset = 0
|
||||
value = 0
|
||||
|
||||
if indirectAddress ~= 0 then
|
||||
for i = 0, addressSize - 1 do
|
||||
offset = offset | (saveFileBuffer[indirectAddress + i + 1] << i * 8)
|
||||
end
|
||||
end
|
||||
|
||||
for i = 0, valueSize - 1 do
|
||||
value = value | (saveFileBuffer[offset + address + i + 1] << i * 8)
|
||||
end
|
||||
|
||||
return value
|
||||
end
|
||||
|
||||
function setValueInSaveFile(value)
|
||||
strArgs = edizon.getStrArgs()
|
||||
intArgs = edizon.getIntArgs()
|
||||
indirectAddress = tonumber(strArgs[1], 16)
|
||||
address = tonumber(strArgs[2], 16)
|
||||
addressSize = intArgs[1]
|
||||
valueSize = intArgs[2]
|
||||
|
||||
offset = 0
|
||||
|
||||
if indirectAddress ~= 0 then
|
||||
for i = 0, addressSize - 1 do
|
||||
offset = offset | (saveFileBuffer[indirectAddress + i + 1] << (i * 8))
|
||||
end
|
||||
end
|
||||
|
||||
for i = 0, valueSize - 1 do
|
||||
saveFileBuffer[offset + address + i + 1] = (value & (0xFF << i * 8)) >> (i * 8)
|
||||
end
|
||||
end
|
||||
|
||||
function setChecksumZero()
|
||||
for i = #saveFileBuffer - 15, #saveFileBuffer do
|
||||
saveFileBuffer[i] = 0x00
|
||||
end
|
||||
end
|
||||
|
||||
function calcChecksum()
|
||||
saveDataOffset = 193
|
||||
checksumFileBuffer = {}
|
||||
for i = saveDataOffset, #saveFileBuffer do
|
||||
checksumFileBuffer[i - saveDataOffset + 1] = saveFileBuffer[i]
|
||||
end
|
||||
return md5.hash(string.char(table.unpack(checksumFileBuffer)))
|
||||
end
|
||||
|
||||
function setNewChecksum(md5hash)
|
||||
checksumOffset = #saveFileBuffer - 16
|
||||
checksum = table.pack(md5hash:byte(1, 16))
|
||||
for i = 1, 16 do
|
||||
saveFileBuffer[checksumOffset + i] = checksum[i]
|
||||
end
|
||||
end
|
||||
|
||||
function replaceChecksum()
|
||||
setChecksumZero()
|
||||
md5hash = calcChecksum()
|
||||
setNewChecksum(md5hash)
|
||||
end
|
||||
|
||||
function getModifiedSaveFile()
|
||||
replaceChecksum()
|
||||
return saveFileBuffer
|
||||
end
|
BIN
Compiled/atmosphere/titles/0100000000000036/exefs/main
Normal file
BIN
Compiled/atmosphere/titles/0100000000000036/exefs/main
Normal file
Binary file not shown.
BIN
Compiled/atmosphere/titles/0100000000000036/exefs/main.npdm
Normal file
BIN
Compiled/atmosphere/titles/0100000000000036/exefs/main.npdm
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -11,10 +11,6 @@ kip1=modules/newfirm/sm.kip
|
|||
[CFW for Firmware 1.0]
|
||||
kip1=modules/oldfirm/loader.kip1
|
||||
kip1=modules/oldfirm/sm.kip1
|
||||
[CFW + Clear Log]
|
||||
kip1=modules/newfirm/loader.kip
|
||||
kip1=modules/newfirm/sm.kip
|
||||
kip1=modules/nx-dreport.kip
|
||||
{ }
|
||||
|
||||
{----- LayeredFS ------}
|
||||
|
@ -23,22 +19,11 @@ kip1=modules/newfirm/loader.kip
|
|||
kip1=modules/newfirm/sm.kip
|
||||
kip1=modules/newfirm/fs_mitm.kip
|
||||
atmosphere=1
|
||||
[Older LayeredFS]
|
||||
kip1=modules/oldlayered/loader.kip
|
||||
kip1=modules/oldlayered/sm.kip
|
||||
kip1=modules/oldlayered/fs_mitm.kip
|
||||
atmosphere=1
|
||||
[LayeredFS + Clear Log]
|
||||
kip1=modules/nx-dreport.kip
|
||||
kip1=modules/newfirm/loader.kip
|
||||
kip1=modules/newfirm/sm.kip
|
||||
kip1=modules/newfirm/fs_mitm.kip
|
||||
atmosphere=1
|
||||
{ }
|
||||
|
||||
{-------- Stock -------}
|
||||
[Stock]
|
||||
[Stock + Clear Log]
|
||||
[Clear Log]
|
||||
kip1=modules/nx-dreport.kip
|
||||
{ }
|
||||
|
||||
|
@ -60,29 +45,53 @@ kip1=modules/newfirm/fs_mitm.kip
|
|||
atmosphere=1
|
||||
{ }
|
||||
|
||||
{----- Atmosphere -----}
|
||||
{ }
|
||||
{This is just for testing!}
|
||||
{Its your fault if it bricks!}
|
||||
{I am not responsible for anything!}
|
||||
{Neither is the Reswitched Team!}
|
||||
{ }
|
||||
{---- Experimental ----}
|
||||
[Atmosphere]
|
||||
secmon=modules/atmosphere/exosphere.bin
|
||||
kip1=modules/atmosphere/loader.kip
|
||||
kip1=modules/atmosphere/sm.kip
|
||||
kip1=modules/atmosphere/fs_mitm.kip
|
||||
kip1=modules/atmosphere/pm.kip
|
||||
logopath=modules/atmosphere/atmosphere.bmp
|
||||
atmosphere=1
|
||||
{ }
|
||||
|
||||
{---- Sig Patches -----}
|
||||
{ }
|
||||
{Requires the sigpatchpayload.bin}
|
||||
{That comes with this ZIP}
|
||||
{ }
|
||||
[ReiNX]
|
||||
kip1=modules/reinx/loader.kip
|
||||
kip1=modules/reinx/sm.kip
|
||||
logopath=modules/reinx/
|
||||
kip1patch=nosigchk
|
||||
[CFW + Signature Patches]
|
||||
kip1=modules/newfirm/loader.kip
|
||||
kip1=modules/newfirm/sm.kip
|
||||
kip1patch=nosigchk
|
||||
[CFW for fw 1.0 + Signature Patches]
|
||||
kip1=modules/oldfirm/loader.kip1
|
||||
kip1=modules/oldfirm/sm.kip1
|
||||
kip1patch=nosigchk
|
||||
[LayeredFS + Signature Patches]
|
||||
kip1=modules/newfirm/loader.kip
|
||||
kip1=modules/newfirm/sm.kip
|
||||
kip1=modules/newfirm/fs_mitm.kip
|
||||
kip1patch=nosigchk
|
||||
[Stock + Signature Patches]
|
||||
kip1patch=nosigchk
|
||||
[FTP + CFW + Signature Patches]
|
||||
kip1=modules/sys-ftpd.kip
|
||||
kip1=modules/newfirm/loader.kip
|
||||
kip1=modules/newfirm/sm.kip
|
||||
atmosphere=1
|
||||
kip1patch=nosigchk
|
||||
{ }
|
||||
{ }
|
||||
{ }
|
||||
|
||||
{----------------------}
|
||||
{ }
|
||||
{Running v5.2.1 of tumGER/SDFilesSwitch}
|
||||
{Running v6 of tumGER/SDFilesSwitch}
|
||||
{By: tomGER(@tumGER)}
|
||||
{StevenMattera, WerWolv}
|
||||
{ }
|
||||
|
@ -91,7 +100,8 @@ atmosphere=1
|
|||
{Reswitched Team, CTCaer}
|
||||
{Thog, vgmoose, Brawl345}
|
||||
{GGLinnk, jpe230, Adubbz}
|
||||
{thomasnet, TheDgtl}
|
||||
{thomasnet, TheDgtl, Rei}
|
||||
{jakibaki, rajkosto}
|
||||
{and many more}
|
||||
{ }
|
||||
{----------------------}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Compiled/modules/atmosphere/pm.kip
Normal file
BIN
Compiled/modules/atmosphere/pm.kip
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Compiled/modules/reinx/loader.kip
Normal file
BIN
Compiled/modules/reinx/loader.kip
Normal file
Binary file not shown.
BIN
Compiled/modules/reinx/sm.kip
Normal file
BIN
Compiled/modules/reinx/sm.kip
Normal file
Binary file not shown.
BIN
Compiled/sigpatchpayload.bin
Normal file
BIN
Compiled/sigpatchpayload.bin
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -11,6 +11,7 @@ Subject | Topic
|
|||
. | [Atmopshere without Patches ("Complete Atmosphere")](https://github.com/tumGER/SDFilesSwitch/blob/master/HowToCompile.md#updating-atmosphere-complete)
|
||||
**Homebrew and Module** | [General](https://github.com/tumGER/SDFilesSwitch/blob/master/HowToCompile.md#updating-homebrew-and-modules)
|
||||
. | [Homebrew Loader](https://github.com/tumGER/SDFilesSwitch/blob/master/HowToCompile.md#homebrew-loader)
|
||||
. | [Creport](https://github.com/tumGER/SDFilesSwitch/blob/master/HowToCompile.md#creport)
|
||||
. | [Adding custom Icons (GagOrder)](https://github.com/tumGER/SDFilesSwitch/blob/master/HowToCompile.md#gag-order-icon)
|
||||
**Extra** | [Bootlogos](https://github.com/tumGER/SDFilesSwitch/blob/master/HowToCompile.md#hekate-bootlogo)
|
||||
|
||||
|
@ -18,8 +19,8 @@ Subject | Topic
|
|||
|
||||
- Install [DevkitPro](https://github.com/devkitPro/installer) with Switch support
|
||||
- Install needed packages:
|
||||
- **Linux:** ```sudo dkp-pacman -S devkitA64 switch-tools switch-curl switch-bzip2 switch-curl switch-freetype switch-libjpeg-turbo switch-sdl2 switch-sdl2_gfx switch-sdl2_image switch-sdl2_ttf switch-zlib switch-libpng```
|
||||
- **Windows** ```pacman -S devkitA64 switch-tools switch-curl switch-bzip2 switch-curl switch-freetype switch-libjpeg-turbo switch-sdl2 switch-sdl2_gfx switch-sdl2_image switch-sdl2_ttf switch-zlib switch-libpng```
|
||||
- **Linux:** ```sudo dkp-pacman -S devkitA64 switch-tools switch-curl switch-bzip2 switch-freetype switch-libjpeg-turbo switch-sdl2 switch-sdl2_gfx switch-sdl2_image switch-sdl2_ttf switch-zlib switch-libpng```
|
||||
- **Windows** ```pacman -S devkitA64 switch-tools switch-curl switch-bzip2 switch-freetype switch-libjpeg-turbo switch-sdl2 switch-sdl2_gfx switch-sdl2_image switch-sdl2_ttf switch-zlib switch-libpng```
|
||||
- You may have to run this command through Msys2 if it doesn't work
|
||||
- A clean clone of the compiler repo - **This repo holds all submodules mentioned in this guide!**
|
||||
- For that simply ```git clone https://github.com/tumGER/SDFilesCompiler.git``` to your desired location
|
||||
|
@ -56,11 +57,8 @@ Subject | Topic
|
|||
|
||||
Atmosphere needs some custom changes to it to work with current hekate and also to compile. While we don't need to compile Atmosphere completely, we will in this tutorial because it's easier and breaks much less (in my experience)
|
||||
|
||||
1. Go into "Atmosphere\fusee\fusee-primary\src" and find "main.c"
|
||||
2. Type ```#define I_KNOW_WHAT_I_AM_DOING``` into line 14 (or similar)
|
||||
- This is needed to make it actually compile - It's basically a small warning that will hopefully be removed some day
|
||||
3. Go into "Atmosphere\stratosphere\loader\source" and find "ldr_main.cpp"
|
||||
4. Remove
|
||||
1. Go into "Atmosphere\stratosphere\loader\source" and find "ldr_main.cpp"
|
||||
2. Remove
|
||||
```cpp
|
||||
/* Check for exosphere API compatibility. */
|
||||
u64 exosphere_cfg;
|
||||
|
@ -72,8 +70,8 @@ Atmosphere needs some custom changes to it to work with current hekate and also
|
|||
located ~ at line 72
|
||||
- This removes the Exosphere API Check from the Loader
|
||||
|
||||
5. Go into "Atmosphere\stratosphere\fs_mitm" and find "fsmitm_main.cpp"
|
||||
6. Remove
|
||||
3. Go into "Atmosphere\stratosphere\fs_mitm" and find "fsmitm_main.cpp"
|
||||
4. Remove
|
||||
```cpp
|
||||
/* Check for exosphere API compatibility. */
|
||||
u64 exosphere_cfg;
|
||||
|
@ -89,19 +87,19 @@ located ~ at line 72
|
|||
```
|
||||
located ~ at line 67
|
||||
|
||||
7. Go back into the root of the Atmosphere submodule
|
||||
8. Type "make"
|
||||
9. Wait a bit, this will take some time
|
||||
10. Go back into "Atmosphere\stratosphere\fs_mitm"
|
||||
11. Type "make"
|
||||
12. Wait a bit, this will take some time
|
||||
13. Copy "loader.kip" from "Atmosphere\stratosphere\loader" into:
|
||||
5. Go back into the root of the Atmosphere submodule
|
||||
6. Type "make"
|
||||
7. Wait a bit, this will take some time
|
||||
8. Go back into "Atmosphere\stratosphere\fs_mitm"
|
||||
9. Type "make"
|
||||
10. Wait a bit, this will take some time
|
||||
11. Copy "loader.kip" from "Atmosphere\stratosphere\loader" into:
|
||||
- "SDFilesSwitch/Compiled/modules/newfirm/"
|
||||
14. Copy "fs_mitm.kip" from "Atmosphere\stratosphere\fs_mitm" into:
|
||||
12. Copy "fs_mitm.kip" from "Atmosphere\stratosphere\fs_mitm" into:
|
||||
- "SDFilesSwitch/Compiled/modules/newfirm/"
|
||||
15. Copy "sm.kip" from "Atmosphere\stratosphere\sm" into:
|
||||
13. Copy "sm.kip" from "Atmosphere\stratosphere\sm" into:
|
||||
- "SDFilesSwitch/Compiled/modules/newfirm/"
|
||||
16. Copy the updated files to your SD and test them on your Switch
|
||||
14. Copy the updated files to your SD and test them on your Switch
|
||||
- If everything worked, congrats! You compiled Atmosphere's patched Loader, SM and LayeredFS :)
|
||||
- If it didn't, you either messed something up or Atmosphere had some change to its code in the time I wrote this till now - In that case I'd guess contacting me over Twitter (@_tomGER [Or @tumGER since I check that more often]) is your best bet if I'm gone - If you're here because you just wanted to compile it yourself than contact me over tomGER
|
||||
\#7462 on Discord.
|
||||
|
@ -115,9 +113,8 @@ located ~ at line 67
|
|||
**Atmosphere sometimes even uses features that aren't even in LibNX yet, in that case follow [the previous steps](https://github.com/tumGER/SDFilesSwitch/blob/master/HowToCompile.md#libnx) but use the [Atmosphere LibNX fork](https://github.com/Atmosphere-NX/libnx/tree/for-atmosphere) by typing ```git clone https://github.com/Atmosphere-NX/libnx.git -b for-atmosphere``` into your desired location**
|
||||
|
||||
1. Go into "Atmosphere\fusee\fusee-primary\src" and find "main.c"
|
||||
2. Type ```#define I_KNOW_WHAT_I_AM_DOING``` into line 14 (or similar)
|
||||
3. Type make on the root of the Atmosphere submodule
|
||||
4. Copy "sm.kip" from "Atmosphere\stratosphere\sm", "fs_mitm.kip" from "Atmosphere\stratosphere\fs_mitm", "loader.kip" from "Atmosphere\stratosphere\loader" and "exosphere.bin" from "Atmosphere/exosphere" into "Compiled/modules/atmosphere"
|
||||
2. Type make on the root of the Atmosphere submodule
|
||||
3. Copy "sm.kip" from "Atmosphere\stratosphere\sm", "fs_mitm.kip" from "Atmosphere\stratosphere\fs_mitm", "loader.kip" from "Atmosphere\stratosphere\loader" and "exosphere.bin" from "Atmosphere/exosphere" into "Compiled/modules/atmosphere"
|
||||
|
||||
# Updating Homebrew and Modules
|
||||
|
||||
|
@ -154,6 +151,14 @@ sys-ftpd | Replace the .kip in compiled/modules
|
|||
2. Copy hbl.nsp to "compiled/atmosphere/titles/010000000000100D/exefs/" and rename it to main (No extension, just main)
|
||||
3. Copy hbl.npdm to "compiled/atmosphere/titles/010000000000100D/exefs/" and rename it to main.npdm
|
||||
|
||||
## **Creport**
|
||||
|
||||
1. Go into atmosphere/stratosphere/creport
|
||||
2. Type ```make```
|
||||
3. Copy creport.nso to "Compiled\atmosphere\titles\0100000000000036\exefs" and rename it to main (No extension, just main)
|
||||
4. Go into "devkitPro\tools\bin" and type ```npdmtool.exe Location_Where_creport.json_is_stored main.npdm```
|
||||
5. Copy the main.npdm from that folder into "Compiled\atmosphere\titles\0100000000000036\exefs"
|
||||
|
||||
|
||||
## **Gag Order Icon:**
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in a new issue