This commit is contained in:
tumGER 2018-09-23 20:21:10 +02:00 committed by Nichole Mattera
parent b2e990c89e
commit 046532b166
135 changed files with 22 additions and 16799 deletions

View file

@ -1,18 +1,14 @@
{-- Atmosphere (EXO) --}
[Atmosphere (Hekate)]
secmon=modules/atmosphere/exosphere.bin
kip1=modules/newfirm/loader.kip
kip1=modules/newfirm/sm.kip
kip1=modules/newfirm/fs_mitm.kip
kip1=modules/newfirm/pm.kip
kip1=modules/newfirm/*
kip1=modules/fs_mitm.kip
logopath=modules/atmosphere/atmosphere.bmp
atmosphere=1
[Atmosphere (SigPatches)]
secmon=modules/atmosphere/exosphere.bin
kip1=modules/newfirm/loader.kip
kip1=modules/newfirm/sm.kip
kip1=modules/newfirm/fs_mitm.kip
kip1=modules/newfirm/pm.kip
kip1=modules/newfirm/*
kip1=modules/fs_mitm.kip
logopath=modules/atmosphere/atmosphere.bmp
atmosphere=1
kip1patch=nosigchk

View file

@ -4,25 +4,21 @@ bootwait=5
customlogo=1
verification=2
{tumGER/SDFilesSwitch v9.0.1}
{tumGER/SDFilesSwitch v9.1}
{ }
{Discord: https://discord.gg/qbRAuy7}
{ }
{-- Custom Firmwares --}
[CFW]
kip1=modules/newfirm/loader.kip
kip1=modules/newfirm/sm.kip
kip1=modules/newfirm/pm.kip
kip1=modules/newfirm/*
kip1patch=nosigchk
{ }
{------ LayeredFS -----}
[Newest LayeredFS]
kip1=modules/newfirm/loader.kip
kip1=modules/newfirm/sm.kip
kip1=modules/newfirm/fs_mitm.kip
kip1=modules/newfirm/pm.kip
kip1=modules/newfirm/*
kip1=modules/fs_mitm.kip
atmosphere=1
kip1patch=nosigchk
{ }

View file

@ -1,9 +0,0 @@
{---- Old LayeredFS ---}
[Older LayeredFS]
kip1=modules/newfirm/loader.kip
kip1=modules/newfirm/sm.kip
kip1=modules/oldlayered/fs_mitm.kip
kip1=modules/newfirm/pm.kip
atmosphere=1
kip1patch=nosigchk
{ }

Binary file not shown.

Binary file not shown.

View file

@ -1,15 +1,11 @@
{--- SwitchPresence ---}
[CFW + SwitchPresence]
kip1=modules/newfirm/loader.kip
kip1=modules/newfirm/sm.kip
kip1=modules/newfirm/pm.kip
kip1=modules/newfirm/*
kip1=modules/switchpresence/switch-rich-presence.kip
kip1patch=nosigchk
[Newest LayeredFS + SwitchPresence]
kip1=modules/newfirm/loader.kip
kip1=modules/newfirm/sm.kip
kip1=modules/newfirm/fs_mitm.kip
kip1=modules/newfirm/pm.kip
kip1=modules/newfirm/*
kip1=modules/fs_mitm.kip
kip1=modules/switchpresence/switch-rich-presence.kip
atmosphere=1
kip1patch=nosigchk

View file

@ -2,16 +2,12 @@
{Port: 5000}
{Dont run SDFilesUpdater with this!}
[FTP + CFW]
kip1=modules/newfirm/loader.kip
kip1=modules/newfirm/sm.kip
kip1=modules/newfirm/pm.kip
kip1=modules/newfirm/*
kip1=modules/sysftpd/sys-ftpd.kip
kip1patch=nosigchk
[FTP + LayeredFS]
kip1=modules/newfirm/loader.kip
kip1=modules/newfirm/sm.kip
kip1=modules/newfirm/fs_mitm.kip
kip1=modules/newfirm/pm.kip
kip1=modules/fs_mitm.kip
kip1=modules/newfirm/*
kip1=modules/sysftpd/sys-ftpd.kip
atmosphere=1
kip1patch=nosigchk

View file

@ -1,24 +1,20 @@
{---- sys-netcheat ----}
[CFW + sys-netcheat]
kip1=modules/newfirm/loader.kip
kip1=modules/newfirm/sm.kip
kip1=modules/newfirm/pm.kip
kip1=modules/sys-netcheat.kip
kip1=modules/newfirm/*
kip1=modules/sysnetcheat/sys-netcheat.kip
kip1patch=nosigchk
debugmode=1
fullsvcperm=1
[LayeredFS + sys-netcheat]
kip1=modules/newfirm/loader.kip
kip1=modules/newfirm/sm.kip
kip1=modules/newfirm/fs_mitm.kip
kip1=modules/newfirm/pm.kip
kip1=modules/sys-netcheat.kip
kip1=modules/newfirm/*
kip1=modules/fs_mitm.kip
kip1=modules/sysnetcheat/sys-netcheat.kip
atmosphere=1
kip1patch=nosigchk
debugmode=1
fullsvcperm=1
[Stock + sys-netcheat]
kip1=modules/sys-netcheat.kip
kip1=modules/sysnetcheat/sys-netcheat.kip
debugmode=1
fullsvcperm=1
{ }

Binary file not shown.

View file

@ -1,8 +1,6 @@
{------ xor.play ------}
[CFW + xor.play]
kip1=modules/newfirm/loader.kip
kip1=modules/newfirm/sm.kip
kip1=modules/newfirm/pm.kip
kip1=modules/newfirm/*
kip1=modules/xorplay/xor.play.kip
kip1patch=nosigchk
[Stock + xor.play]

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -4,7 +4,7 @@ bootwait=5
customlogo=1
verification=2
{tumGER/SDFilesSwitch v9.0.1}
{tumGER/SDFilesSwitch v9.0.3}
{ }
{Discord: https://discord.gg/qbRAuy7}
{ }

Binary file not shown.

Binary file not shown.

View file

@ -1,21 +0,0 @@
{
"beta" : false,
"all" : {
"saveFilePaths" : [ "" ],
"files" : "File\\d+\\.bin",
"filetype": "bin",
"items": [
{
"name" : "Coin Count",
"category" : "Collectibles",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "001C", "0050" ],
"widget" : {
"type" : "int",
"minValue" : 0,
"maxValue" : 9999
}
}
]
}
}

View file

@ -1,23 +0,0 @@
{
"beta" : true,
"all" : {
"saveFilePaths" : [ "Managers" ],
"files" : "PlayerManager.bs",
"filetype": "bin",
"items":[
{
"name":"Levels Unlocked (All or nothing)",
"category" : "Unlockables",
"intArgs" : [ 2, 4 ],
"strArgs" : [
"0000", "0086"
],
"widget" : {
"type" : "bool",
"onValue" : 400000,
"offValue" : 0
}
}
]
}
}

View file

@ -1,21 +0,0 @@
{
"beta" : false,
"all" : {
"saveFilePaths" : [ "" ],
"files" : "data.bin",
"filetype": "puyopuyo",
"items": [
{
"name" : "Credits",
"category" : "Game",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "06C4" ],
"widget" : {
"type" : "int",
"minValue" : 0,
"maxValue" : 9999
}
}
]
}
}

View file

@ -1,3 +0,0 @@
{
"useInstead" : "0100E66006406000.json"
}

View file

@ -1,626 +0,0 @@
{
"beta" : false,
"all" : {
"saveFilePaths" : [ "" ],
"files" : "user\\d\\.dat",
"filetype": "json",
"items": [
{
"name" : "Geo count",
"category" : "Collectibles",
"intArgs" : [ 0 ],
"strArgs" : [ "playerData", "geo" ],
"widget" : {
"type" : "int",
"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
}
}
]
}
}

View file

@ -1,21 +0,0 @@
{
"beta" : false,
"all" : {
"saveFilePaths" : [ "" ],
"files" : "data.bin",
"filetype": "puyopuyo",
"items": [
{
"name" : "Credits",
"category" : "Game",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "06C4" ],
"widget" : {
"type" : "int",
"minValue" : 0,
"maxValue" : 9999
}
}
]
}
}

View file

@ -1,182 +0,0 @@
{
"beta" : false,
"all" : {
"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
}
}
]
}
}

View file

@ -1,23 +0,0 @@
{
"beta" : true,
"all" : {
"saveFilePaths" : [ "" ],
"files" : "File[ABC]",
"filetype": "bin",
"items":[
{
"name":"Stat Points",
"category" : "Stats",
"intArgs" : [ 2, 4 ],
"strArgs" : [
"0000", "0906"
],
"widget" : {
"type" : "int",
"minValue" : 10,
"maxValue" : 255
}
}
]
}
}

View file

@ -1,120 +0,0 @@
{
"beta" : true,
"all": {
"saveFilePaths" : [ "" ],
"files" : "SAVEDATA\\d\\d",
"filetype": "lostsphear",
"items": [
{
"name" : "Gold",
"category" : "01. Inventory",
"intArgs" : [ 2, 4 ],
"strArgs" : [ "0000", "0524" ],
"widget" : {
"type" : "int",
"minValue" : 0,
"maxValue" : 999999999
}
},
{
"name" : "Level",
"category" : "02. Kanata",
"intArgs" : [ 2, 1 ],
"strArgs" : [ "0000", "1C3E6" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 99
}
},
{
"name" : "Level",
"category" : "03. Lumina",
"intArgs" : [ 2, 1 ],
"strArgs" : [ "0000", "1C518" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 99
}
},
{
"name" : "Level",
"category" : "04. Locke",
"intArgs" : [ 2, 1 ],
"strArgs" : [ "0000", "1C8AE" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 99
}
},
{
"name" : "Level",
"category" : "05. Van",
"intArgs" : [ 2, 1 ],
"strArgs" : [ "0000", "1C47F" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 99
}
},
{
"name" : "Level",
"category" : "06. Obaro",
"intArgs" : [ 2, 1 ],
"strArgs" : [ "0000", "1C5B1" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 99
}
},
{
"name" : "Level",
"category" : "07. Galdra",
"intArgs" : [ 2, 1 ],
"strArgs" : [ "0000", "1C815" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 99
}
},
{
"name" : "Level",
"category" : "08. Sherra",
"intArgs" : [ 2, 1 ],
"strArgs" : [ "0000", "1C64A" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 99
}
},
{
"name" : "Level",
"category" : "09. Dianto",
"intArgs" : [ 2, 1 ],
"strArgs" : [ "0000", "1C6E3" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 99
}
},
{
"name" : "Level",
"category" : "10. Gears",
"intArgs" : [ 2, 1 ],
"strArgs" : [ "0000", "1C77C" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 99
}
}
]
}
}

View file

@ -1,241 +0,0 @@
{
"beta" : false,
"all" : {
"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
}
}
]
}
}

View file

@ -1,130 +0,0 @@
{
"beta" : false,
"all" : {
"saveFilePaths": [""],
"files": "systemData",
"filetype": "bin",
"items": [{
"name": "Coins",
"category": "1. Main",
"intArgs": [2, 4],
"strArgs": ["0000", "0458"],
"widget": {
"type": "int",
"minValue": 0,
"maxValue": 999999999
}
}, {
"name": "Unlock Levels",
"category": "1. Main",
"intArgs": [2, 3],
"strArgs": ["0000", "0450"],
"widget": {
"type": "list",
"listItemNames": ["Reset", "Unlock All"],
"listItemValues": [0, 16777215]
}
}, {
"name": "Accessories 01-02",
"category": "2. Accessories",
"intArgs": [2, 1],
"strArgs": ["0000", "0440"],
"widget": {
"type": "list",
"listItemNames": ["None", "1 Full", "2 Full", "All Full"],
"listItemValues": [0, 128, 8, 136]
}
}, {
"name": "Accessories 03-04",
"category": "2. Accessories",
"intArgs": [2, 1],
"strArgs": ["0000", "0441"],
"widget": {
"type": "list",
"listItemNames": ["None", "3 Full", "4 Full", "All Full"],
"listItemValues": [0, 128, 8, 136]
}
}, {
"name": "Accessories 05-06",
"category": "2. Accessories",
"intArgs": [2, 1],
"strArgs": ["0000", "0442"],
"widget": {
"type": "list",
"listItemNames": ["None", "5 Full", "6 Full", "All Full"],
"listItemValues": [0, 128, 8, 136]
}
}, {
"name": "Accessories 07-08",
"category": "2. Accessories",
"intArgs": [2, 1],
"strArgs": ["0000", "0443"],
"widget": {
"type": "list",
"listItemNames": ["None", "7 Full", "8 Full", "All Full"],
"listItemValues": [0, 128, 8, 136]
}
}, {
"name": "Accessories 09-10",
"category": "2. Accessories",
"intArgs": [2, 1],
"strArgs": ["0000", "0444"],
"widget": {
"type": "list",
"listItemNames": ["None", "9 Full", "10 Full", "All Full"],
"listItemValues": [0, 128, 8, 136]
}
}, {
"name": "Accessories 11-12",
"category": "2. Accessories",
"intArgs": [2, 1],
"strArgs": ["0000", "0445"],
"widget": {
"type": "list",
"listItemNames": ["None", "11 Full", "12 Full", "All Full"],
"listItemValues": [0, 128, 8, 136]
}
}, {
"name": "Accessories 13-14",
"category": "2. Accessories",
"intArgs": [2, 1],
"strArgs": ["0000", "0446"],
"widget": {
"type": "list",
"listItemNames": ["None", "13 Full", "14 Full", "All Full"],
"listItemValues": [0, 128, 8, 136]
}
}, {
"name": "Accessories 15-16",
"category": "2. Accessories",
"intArgs": [2, 1],
"strArgs": ["0000", "0447"],
"widget": {
"type": "list",
"listItemNames": ["None", "15 Full", "16 Full", "All Full"],
"listItemValues": [0, 128, 8, 136]
}
}, {
"name": "Accessories 17-18",
"category": "2. Accessories",
"intArgs": [2, 1],
"strArgs": ["0000", "0448"],
"widget": {
"type": "list",
"listItemNames": ["None", "17 Full", "18 Full", "All Full"],
"listItemValues": [0, 128, 8, 136]
}
}, {
"name": "Accessories 19-20",
"category": "2. Accessories",
"intArgs": [2, 1],
"strArgs": ["0000", "0449"],
"widget": {
"type": "list",
"listItemNames": ["None", "19 Full", "20 Full", "All Full"],
"listItemValues": [0, 128, 8, 136]
}
}
]
}
}

View file

@ -1,88 +0,0 @@
{
"beta" : false,
"1.5.0" : {
"saveFilePaths" : [ "\\d" ],
"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 ]
}
}
]
}
}

View file

@ -1,602 +0,0 @@
{
"beta" : true,
"all": {
"saveFilePaths" : [ "" ],
"files" : "setsuna\\d\\d\\.dat",
"filetype": "setsuna",
"items": [
{
"name" : "Gold",
"category" : "1. Inventory",
"intArgs" : [ 2, 4 ],
"strArgs" : [ "0000", "00CC" ],
"widget" : {
"type" : "int",
"minValue" : 0,
"maxValue" : 999999999
}
},
{
"name" : "Level",
"category" : "2. Endir",
"intArgs" : [ 2, 1 ],
"strArgs" : [ "0000", "72FE6" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 99
}
},
{
"name" : "Current HP",
"category" : "2. Endir",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "72FEE" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Max HP",
"category" : "2. Endir",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "72FE2" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Current MP",
"category" : "2. Endir",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "72FF2" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Max MP",
"category" : "2. Endir",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "72FE8" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Strength",
"category" : "2. Endir",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "72FEA" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 9999,
"stepSize" : 100
}
},
{
"name" : "Intelligence",
"category" : "2. Endir",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "72FEC" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 9999,
"stepSize" : 100
}
},
{
"name" : "Level",
"category" : "3. Setsuna",
"intArgs" : [ 2, 1 ],
"strArgs" : [ "0000", "7303C" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 99
}
},
{
"name" : "Current HP",
"category" : "3. Setsuna",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "73044" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Max HP",
"category" : "3. Setsuna",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "73038" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Current MP",
"category" : "3. Setsuna",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "73048" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Max MP",
"category" : "3. Setsuna",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "7303E" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Strength",
"category" : "3. Setsuna",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "73040" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 9999,
"stepSize" : 100
}
},
{
"name" : "Intelligence",
"category" : "3. Setsuna",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "73042" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 9999,
"stepSize" : 100
}
},
{
"name" : "Level",
"category" : "4. Aeterna",
"intArgs" : [ 2, 1 ],
"strArgs" : [ "0000", "73092" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 99
}
},
{
"name" : "Current HP",
"category" : "4. Aeterna",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "7309A" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Max HP",
"category" : "4. Aeterna",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "7308E" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Current MP",
"category" : "4. Aeterna",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "7309E" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Max MP",
"category" : "4. Aeterna",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "73094" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Strength",
"category" : "4. Aeterna",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "73096" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 9999,
"stepSize" : 100
}
},
{
"name" : "Intelligence",
"category" : "4. Aeterna",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "73098" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 9999,
"stepSize" : 100
}
},
{
"name" : "Level",
"category" : "5. Nidr",
"intArgs" : [ 2, 1 ],
"strArgs" : [ "0000", "730E8" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 99
}
},
{
"name" : "Current HP",
"category" : "5. Nidr",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "730F0" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Max HP",
"category" : "5. Nidr",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "730E4" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Current MP",
"category" : "5. Nidr",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "730F4" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Max MP",
"category" : "5. Nidr",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "730EA" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Strength",
"category" : "5. Nidr",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "730EC" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 9999,
"stepSize" : 100
}
},
{
"name" : "Intelligence",
"category" : "5. Nidr",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "730EE" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 9999,
"stepSize" : 100
}
},
{
"name" : "Level",
"category" : "6. Kir",
"intArgs" : [ 2, 1 ],
"strArgs" : [ "0000", "7313E" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 99
}
},
{
"name" : "Current HP",
"category" : "6. Kir",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "73146" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Max HP",
"category" : "6. Kir",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "7313A" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Current MP",
"category" : "6. Kir",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "7314A" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Max MP",
"category" : "6. Kir",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "73140" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Strength",
"category" : "6. Kir",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "73142" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 9999,
"stepSize" : 100
}
},
{
"name" : "Intelligence",
"category" : "6. Kir",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "73144" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 9999,
"stepSize" : 100
}
},
{
"name" : "Level",
"category" : "7. Julienne",
"intArgs" : [ 2, 1 ],
"strArgs" : [ "0000", "73194" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 99
}
},
{
"name" : "Current HP",
"category" : "7. Julienne",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "7319C" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Max HP",
"category" : "7. Julienne",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "73190" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Current MP",
"category" : "7. Julienne",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "731A0" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Max MP",
"category" : "7. Julienne",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "73196" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Strength",
"category" : "7. Julienne",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "73198" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 9999,
"stepSize" : 100
}
},
{
"name" : "Intelligence",
"category" : "7. Julienne",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "7319A" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 9999,
"stepSize" : 100
}
},
{
"name" : "Level",
"category" : "8. Fides",
"intArgs" : [ 2, 1 ],
"strArgs" : [ "0000", "731EA" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 99
}
},
{
"name" : "Current HP",
"category" : "8. Fides",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "731F2" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Max HP",
"category" : "8. Fides",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "731E6" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Current MP",
"category" : "8. Fides",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "731F6" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Max MP",
"category" : "8. Fides",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "731EC" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 999,
"stepSize" : 10
}
},
{
"name" : "Strength",
"category" : "8. Fides",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "731EE" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 9999,
"stepSize" : 100
}
},
{
"name" : "Intelligence",
"category" : "8. Fides",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "731F0" ],
"widget" : {
"type" : "int",
"minValue" : 1,
"maxValue" : 9999,
"stepSize" : 100
}
}
]
}
}

View file

@ -1,3 +0,0 @@
{
"useInstead" : "0100E66006406000.json"
}

View file

@ -1,3 +0,0 @@
{
"useInstead" : "0100E66006406000.json"
}

File diff suppressed because it is too large Load diff

View file

@ -1,21 +0,0 @@
{
"beta" : false,
"all" : {
"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
}
}
]
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,21 +0,0 @@
{
"beta" : false,
"all" : {
"saveFilePaths" : [ "" ],
"files" : "data.bin",
"filetype": "puyopuyo",
"items": [
{
"name" : "Credits",
"category" : "Game",
"intArgs" : [ 2, 2 ],
"strArgs" : [ "0000", "06C4" ],
"widget" : {
"type" : "int",
"minValue" : 0,
"maxValue" : 9999
}
}
]
}
}

View file

@ -1,53 +0,0 @@
-- bin --
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 getModifiedSaveFile()
return saveFileBuffer
end

View file

@ -1,79 +0,0 @@
-- json --
json = require("lib.json")
saveFileString = edizon.getSaveFileString()
saveFileString = saveFileString:gsub('{%s*}', '{"edizon":true}')
saveFileBuffer = json.decode(saveFileString)
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, 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
local function convertToTable(s)
t = {}
for i = 1, #s do
t[i] = string.byte(s:sub(i, i))
end
return t
end
function getModifiedSaveFile()
encoded = json.encode(saveFileBuffer)
encoded = encoded:gsub('{"edizon":true}', '{}')
convertedTable = {}
convertedTable = convertToTable(encoded)
return convertedTable
end

View file

@ -1,82 +0,0 @@
-- Copyright (c) 2015 Phil Leblanc -- see LICENSE file
------------------------------------------------------------
-- checksums: adler-32, crc-32
------------------------------------------------------------
local byte = string.byte
------------------------------------------------------------
-- adler32
local function adler32(s)
-- return adler32 checksum (uint32)
-- adler32 is a checksum defined by Mark Adler for zlib
-- (based on the Fletcher checksum used in ITU X.224)
-- implementation based on RFC 1950 (zlib format spec), 1996
local prime = 65521 --largest prime smaller than 2^16
local s1, s2 = 1, 0
-- limit s size to ensure that modulo prime can be done only at end
-- 2^40 bytes should be enough for pure Lua with 64-bit integers...
if #s > (1 << 40) then error("adler32: string too large") end
for i = 1,#s do
local b = byte(s, i)
s1 = s1 + b
s2 = s2 + s1
-- no need to test or compute mod prime every turn.
end
s1 = s1 % prime
s2 = s2 % prime
return (s2 << 16) + s1
end --adler32()
local function crc32_nt(s)
-- return crc32 checksum of string s as an integer
-- uses no lookup table
-- inspired by crc32b at
-- http://www.hackersdelight.org/hdcodetxt/crc.c.txt
local b, crc, mask
crc = 0xffffffff
for i = 1, #s do
b = byte(s, i)
crc = crc ~ b
for _ = 1, 8 do --eight times
mask = -(crc & 1)
crc = (crc >> 1) ~ (0xedb88320 & mask)
end
end--for
return (~crc) & 0xffffffff
end --crc32_nt()
local function crc32(s, lt)
-- return crc32 checksum of string as an integer
-- use lookup table lt if provided or create one on the fly
-- if lt is empty, it is initialized.
lt = lt or {}
local b, crc, mask
if not lt[1] then -- setup table
for i = 1, 256 do
crc = i - 1
for _ = 1, 8 do --eight times
mask = -(crc & 1)
crc = (crc >> 1) ~ (0xedb88320 & mask)
end
lt[i] = crc
end--for
end--if
-- compute the crc
crc = 0xffffffff
for i = 1, #s do
b = byte(s, i)
crc = (crc >> 8) ~ lt[((crc ~ b) & 0xFF) + 1]
end
return (~crc) & 0xffffffff
end --crc32()
return {
-- module
adler32 = adler32,
crc32_nt = crc32_nt,
crc32 = crc32,
}

View file

@ -1,400 +0,0 @@
--
-- json.lua
--
-- Copyright (c) 2018 rxi
--
-- Permission is hereby granted, free of charge, to any person obtaining a copy of
-- this software and associated documentation files (the "Software"), to deal in
-- the Software without restriction, including without limitation the rights to
-- use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
-- of the Software, and to permit persons to whom the Software is furnished to do
-- so, subject to the following conditions:
--
-- The above copyright notice and this permission notice shall be included in all
-- copies or substantial portions of the Software.
--
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-- SOFTWARE.
--
local json = { _version = "0.1.1" }
-------------------------------------------------------------------------------
-- Encode
-------------------------------------------------------------------------------
local encode
local escape_char_map = {
[ "\\" ] = "\\\\",
[ "\"" ] = "\\\"",
[ "\b" ] = "\\b",
[ "\f" ] = "\\f",
[ "\n" ] = "\\n",
[ "\r" ] = "\\r",
[ "\t" ] = "\\t",
}
local escape_char_map_inv = { [ "\\/" ] = "/" }
for k, v in pairs(escape_char_map) do
escape_char_map_inv[v] = k
end
local function escape_char(c)
return escape_char_map[c] or string.format("\\u%04x", c:byte())
end
local function encode_nil(val)
return "null"
end
local function encode_table(val, stack)
local res = {}
stack = stack or {}
-- Circular reference?
if stack[val] then error("circular reference") end
stack[val] = true
if val[1] ~= nil or next(val) == nil then
-- Treat as array -- check keys are valid and it is not sparse
local n = 0
for k in pairs(val) do
if type(k) ~= "number" then
error("invalid table: mixed or invalid key types")
end
n = n + 1
end
if n ~= #val then
error("invalid table: sparse array")
end
-- Encode
for i, v in ipairs(val) do
table.insert(res, encode(v, stack))
end
stack[val] = nil
return "[" .. table.concat(res, ",") .. "]"
else
-- Treat as an object
for k, v in pairs(val) do
if type(k) ~= "string" then
error("invalid table: mixed or invalid key types")
end
table.insert(res, encode(k, stack) .. ":" .. encode(v, stack))
end
stack[val] = nil
return "{" .. table.concat(res, ",") .. "}"
end
end
local function encode_string(val)
return '"' .. val:gsub('[%z\1-\31\\"]', escape_char) .. '"'
end
local function encode_number(val)
-- Check for NaN, -inf and inf
if val ~= val or val <= -math.huge or val >= math.huge then
error("unexpected number value '" .. tostring(val) .. "'")
end
return string.format("%.14g", val)
end
local type_func_map = {
[ "nil" ] = encode_nil,
[ "table" ] = encode_table,
[ "string" ] = encode_string,
[ "number" ] = encode_number,
[ "boolean" ] = tostring,
}
encode = function(val, stack)
local t = type(val)
local f = type_func_map[t]
if f then
return f(val, stack)
end
error("unexpected type '" .. t .. "'")
end
function json.encode(val)
return ( encode(val) )
end
-------------------------------------------------------------------------------
-- Decode
-------------------------------------------------------------------------------
local parse
local function create_set(...)
local res = {}
for i = 1, select("#", ...) do
res[ select(i, ...) ] = true
end
return res
end
local space_chars = create_set(" ", "\t", "\r", "\n")
local delim_chars = create_set(" ", "\t", "\r", "\n", "]", "}", ",")
local escape_chars = create_set("\\", "/", '"', "b", "f", "n", "r", "t", "u")
local literals = create_set("true", "false", "null")
local literal_map = {
[ "true" ] = true,
[ "false" ] = false,
[ "null" ] = nil,
}
local function next_char(str, idx, set, negate)
for i = idx, #str do
if set[str:sub(i, i)] ~= negate then
return i
end
end
return #str + 1
end
local function decode_error(str, idx, msg)
local line_count = 1
local col_count = 1
for i = 1, idx - 1 do
col_count = col_count + 1
if str:sub(i, i) == "\n" then
line_count = line_count + 1
col_count = 1
end
end
error( string.format("%s at line %d col %d", msg, line_count, col_count) )
end
local function codepoint_to_utf8(n)
-- http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=iws-appendixa
local f = math.floor
if n <= 0x7f then
return string.char(n)
elseif n <= 0x7ff then
return string.char(f(n / 64) + 192, n % 64 + 128)
elseif n <= 0xffff then
return string.char(f(n / 4096) + 224, f(n % 4096 / 64) + 128, n % 64 + 128)
elseif n <= 0x10ffff then
return string.char(f(n / 262144) + 240, f(n % 262144 / 4096) + 128,
f(n % 4096 / 64) + 128, n % 64 + 128)
end
error( string.format("invalid unicode codepoint '%x'", n) )
end
local function parse_unicode_escape(s)
local n1 = tonumber( s:sub(3, 6), 16 )
local n2 = tonumber( s:sub(9, 12), 16 )
-- Surrogate pair?
if n2 then
return codepoint_to_utf8((n1 - 0xd800) * 0x400 + (n2 - 0xdc00) + 0x10000)
else
return codepoint_to_utf8(n1)
end
end
local function parse_string(str, i)
local has_unicode_escape = false
local has_surrogate_escape = false
local has_escape = false
local last
for j = i + 1, #str do
local x = str:byte(j)
if x < 32 then
decode_error(str, j, "control character in string")
end
if last == 92 then -- "\\" (escape char)
if x == 117 then -- "u" (unicode escape sequence)
local hex = str:sub(j + 1, j + 5)
if not hex:find("%x%x%x%x") then
decode_error(str, j, "invalid unicode escape in string")
end
if hex:find("^[dD][89aAbB]") then
has_surrogate_escape = true
else
has_unicode_escape = true
end
else
local c = string.char(x)
if not escape_chars[c] then
decode_error(str, j, "invalid escape char '" .. c .. "' in string")
end
has_escape = true
end
last = nil
elseif x == 34 then -- '"' (end of string)
local s = str:sub(i + 1, j - 1)
if has_surrogate_escape then
s = s:gsub("\\u[dD][89aAbB]..\\u....", parse_unicode_escape)
end
if has_unicode_escape then
s = s:gsub("\\u....", parse_unicode_escape)
end
if has_escape then
s = s:gsub("\\.", escape_char_map_inv)
end
return s, j + 1
else
last = x
end
end
decode_error(str, i, "expected closing quote for string")
end
local function parse_number(str, i)
local x = next_char(str, i, delim_chars)
local s = str:sub(i, x - 1)
local n = tonumber(s)
if not n then
decode_error(str, i, "invalid number '" .. s .. "'")
end
return n, x
end
local function parse_literal(str, i)
local x = next_char(str, i, delim_chars)
local word = str:sub(i, x - 1)
if not literals[word] then
decode_error(str, i, "invalid literal '" .. word .. "'")
end
return literal_map[word], x
end
local function parse_array(str, i)
local res = {}
local n = 1
i = i + 1
while 1 do
local x
i = next_char(str, i, space_chars, true)
-- Empty / end of array?
if str:sub(i, i) == "]" then
i = i + 1
break
end
-- Read token
x, i = parse(str, i)
res[n] = x
n = n + 1
-- Next token
i = next_char(str, i, space_chars, true)
local chr = str:sub(i, i)
i = i + 1
if chr == "]" then break end
if chr ~= "," then decode_error(str, i, "expected ']' or ','") end
end
return res, i
end
local function parse_object(str, i)
local res = {}
i = i + 1
while 1 do
local key, val
i = next_char(str, i, space_chars, true)
-- Empty / end of object?
if str:sub(i, i) == "}" then
i = i + 1
break
end
-- Read key
if str:sub(i, i) ~= '"' then
decode_error(str, i, "expected string for key")
end
key, i = parse(str, i)
-- Read ':' delimiter
i = next_char(str, i, space_chars, true)
if str:sub(i, i) ~= ":" then
decode_error(str, i, "expected ':' after key")
end
i = next_char(str, i + 1, space_chars, true)
-- Read value
val, i = parse(str, i)
-- Set
res[key] = val
-- Next token
i = next_char(str, i, space_chars, true)
local chr = str:sub(i, i)
i = i + 1
if chr == "}" then break end
if chr ~= "," then decode_error(str, i, "expected '}' or ','") end
end
return res, i
end
local char_func_map = {
[ '"' ] = parse_string,
[ "0" ] = parse_number,
[ "1" ] = parse_number,
[ "2" ] = parse_number,
[ "3" ] = parse_number,
[ "4" ] = parse_number,
[ "5" ] = parse_number,
[ "6" ] = parse_number,
[ "7" ] = parse_number,
[ "8" ] = parse_number,
[ "9" ] = parse_number,
[ "-" ] = parse_number,
[ "t" ] = parse_literal,
[ "f" ] = parse_literal,
[ "n" ] = parse_literal,
[ "[" ] = parse_array,
[ "{" ] = parse_object,
}
parse = function(str, idx)
local chr = str:sub(idx, idx)
local f = char_func_map[chr]
if f then
return f(str, idx)
end
decode_error(str, idx, "unexpected character '" .. chr .. "'")
end
function json.decode(str)
if type(str) ~= "string" then
error("expected argument of type string, got " .. type(str))
end
local res, idx = parse(str, next_char(str, 1, space_chars, true))
idx = next_char(str, idx, space_chars, true)
if idx <= #str then
decode_error(str, idx, "trailing garbage")
end
return res
end
return json

View file

@ -1,168 +0,0 @@
-- 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,
}

View file

@ -1,84 +0,0 @@
-- lostsphear (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 = 1297
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

View file

@ -1,107 +0,0 @@
-- 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

View file

@ -1,66 +0,0 @@
-- puyopuyo (modified bin.lua) --
checksum = require("lib.checksum")
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 setChecksum()
lt = {0,79764919,159529838,222504665,319059676,398814059,445009330,507990021,638119352,583659535,797628118,726387553,890018660,835552979,1015980042,944750013,1276238704,1221641927,1167319070,1095957929,1595256236,1540665371,1452775106,1381403509,1780037320,1859660671,1671105958,1733955601,2031960084,2111593891,1889500026,1952343757,2552477408,2632100695,2443283854,2506133561,2334638140,2414271883,2191915858,2254759653,3190512472,3135915759,3081330742,3009969537,2905550212,2850959411,2762807018,2691435357,3560074640,3505614887,3719321342,3648080713,3342211916,3287746299,3467911202,3396681109,4063920168,4143685023,4223187782,4286162673,3779000052,3858754371,3904687514,3967668269,881225847,809987520,1023691545,969234094,662832811,591600412,771767749,717299826,311336399,374308984,453813921,533576470,25881363,88864420,134795389,214552010,2023205639,2086057648,1897238633,1976864222,1804852699,1867694188,1645340341,1724971778,1587496639,1516133128,1461550545,1406951526,1302016099,1230646740,1142491917,1087903418,2896545431,2825181984,2770861561,2716262478,3215044683,3143675388,3055782693,3001194130,2326604591,2389456536,2200899649,2280525302,2578013683,2640855108,2418763421,2498394922,3769900519,3832873040,3912640137,3992402750,4088425275,4151408268,4197601365,4277358050,3334271071,3263032808,3476998961,3422541446,3585640067,3514407732,3694837229,3640369242,1762451694,1842216281,1619975040,1682949687,2047383090,2127137669,1938468188,2001449195,1325665622,1271206113,1183200824,1111960463,1543535498,1489069629,1434599652,1363369299,622672798,568075817,748617968,677256519,907627842,853037301,1067152940,995781531,51762726,131386257,177728840,240578815,269590778,349224269,429104020,491947555,4046411278,4126034873,4172115296,4234965207,3794477266,3874110821,3953728444,4016571915,3609705398,3555108353,3735388376,3664026991,3290680682,3236090077,3449943556,3378572211,3174993278,3120533705,3032266256,2961025959,2923101090,2868635157,2813903052,2742672763,2604032198,2683796849,2461293480,2524268063,2284983834,2364738477,2175806836,2238787779,1569362073,1498123566,1409854455,1355396672,1317987909,1246755826,1192025387,1137557660,2072149281,2135122070,1912620623,1992383480,1753615357,1816598090,1627664531,1707420964,295390185,358241886,404320391,483945776,43990325,106832002,186451547,266083308,932423249,861060070,1041341759,986742920,613929101,542559546,756411363,701822548,3316196985,3244833742,3425377559,3370778784,3601682597,3530312978,3744426955,3689838204,3819031489,3881883254,3928223919,4007849240,4037393693,4100235434,4180117107,4259748804,2310601993,2373574846,2151335527,2231098320,2596047829,2659030626,2470359227,2550115596,2947551409,2876312838,2788305887,2733848168,3165939309,3094707162,3040238851,2985771188}
gameFileBuffer = {}
for i = 1, 2046 do
gameFileBuffer[i] = saveFileBuffer[i]
end
crc = checksum.crc32(string.char(table.unpack(gameFileBuffer)), lt)
saveFileBuffer[2047] = crc & 0xFF
saveFileBuffer[2048] = (crc & (0xFF << 8)) >> 8
end
function getModifiedSaveFile()
setChecksum()
return saveFileBuffer
end

View file

@ -1,84 +0,0 @@
-- 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

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show more