DebugSaveSetup

From Wulinshu
Jump to navigation Jump to search


DebugSaveSetup

This is a JSON-formatted document which stores miscellaneous data about save files used for testing purposes by d3t.

There are 2 known files with this data, one in each game of Shenmue I & II.

Overview

Unfortunately, this file is completely unused, in both games and all releases/builds of the game and have only been found in the PS4 release.

Quite a lot of the save games also feature README files which detail the process of using them and their intended results and some of them even contain screenshots, but these are exclusively in the Shenmue II save assets.

The README files make understanding the purpose of DebugSaveSetup a bit difficult, because they seem to reference copying the save files over manually and loading them, just like normal, so it's unclear why they went through the trouble of defining a file which neatly lists each save file. Presumably, this file would be used in a test build of the game, where the game might read this file and open a simple debug menu showing each of the defined save files.
This would then be used by QA to test various components of the game, which we can see some evidence of, in entries such as:

    "Folder": { "Name": "Testplan/1-WorkersPier2", "Files": 1, 
		"Description": { "0": "blah blah" }},	

    "Folder": { "Name": "Testplan/2-FortunesPier", "Files": 1, 
		"Description": { "0": "blah blah" }},

In this excerpt (and by looking at the file tree), we can see that some save files are stored in a directory named Testplan, which implies those save files were to be used during QA.

Format

The file is constructed of a JSON array of objects, each object being named Folder, representing a file directory within <root>\saves, containing the save files for those debug save entries. Each entry contains a Name for the directory, the number of save Files within the directory, and a key-value pair named Description.

Description

The description key-pair uses the save slot # which is used in-game as the key and the value is a description of that save file entry.

Shenmue I

{
	
	"Folder": { "Name": "MS21/Dobuita", "Files": 1, 
		"Description": { "0": "Sunny" }},
	
	"Folder": { "Name": "MS21/Harbour", "Files": 1, 
		"Description": { "0": "Raining" }},
	
	"Folder": { "Name": "MS20/Chai_Guizhang", "Files": 1, 
		"Description": { "0": "Walk Forwards to begin cutscene" }},
		
	"Folder": { "Name": "MS20/Chen", "Files": 1, 
		"Description": { "0": "Enter Warehouse 8 to begin cutscene" }},
		
	"Folder": { "Name": "MS20/Fukuhara", "Files": 1, 
		"Description": { "0": "Enter the dojo to begin cutscene" }},	
		
	"Folder": { "Name": "MS20/Ine-San", "Files": 1, 
		"Description": { "0": "Ine-San is in the kitchen" }},	
		
	"Folder": { "Name": "MS20/Nozomi", "Files": 1, 
		"Description": { "0": "Nozomi is outside the florists" }},	
		
	"Folder": { "Name": "MS20/Terry", "Files": 1, 
		"Description": { "0": "Approach the house with the motorbike" }},	
		
	"Folder": { "Name": "MS20/YoungRyo", "Files": 1, 
		"Description": { "0": "Look at kitchen table bowls" }},	
		
	"Folder": { "Name": "MS20/Yamanose", "Files": 1, 
		"Description": { "0": "Enjoy the scenery!" }},		
		
	"Folder": { "Name": "MS20/House", "Files": 1, 
		"Description": { "0": "Enjoy the scenery!" }},	

	"Folder": { "Name": "MS22/HazukiExteriorslot1", "Files": 1, 
		"Description": { "0": "Enjoy the scenery!" }},	

	"Folder": { "Name": "Gameplay/1-StartToDob", "Files": 1, 
		"Description": { "0": "Start to Dobuita" }},
		
	"Folder": { "Name": "Gameplay/2-DobToSailors" , "Files": 1, 
		"Description": { "0": "Find the sailors!" }},
		
	"Folder": { "Name": "Gameplay/3-BeatSailors", "Files": 1, 
		"Description": { "0": "Snooker with Sailors" }},
		
	"Folder": { "Name": "Gameplay/4-CharlieSailors", "Files": 1, 
		"Description": { "0": "Finding Charlie and the tattooist" }},
	
	"Folder": { "Name": "Gameplay/5-CharlieToHarbour", "Files": 1, 
		"Description": { "0": "Find Charlie and head to Yokosuka" }},
		
	"Folder": { "Name": "Gameplay/6-NewWarehouse8", "Files": 1, 
		"Description": { "0": "Break into the wrong warehouse" }},
		
	"Folder": { "Name": "Gameplay/7-MasterChen", "Files": 1, 
		"Description": { "0": "Meet Master Chen" }},
		
	"Folder": { "Name": "Gameplay/8-OpeningBasement", "Files": 1, 
		"Description": { "0": "Open the Hazuki Basement" }},
		
	"Folder": { "Name": "Gameplay/9-SearchBasement", "Files": 1, 
		"Description": { "0": "Search the Hazuki Basement" }},	
		
	"Folder": { "Name": "Gameplay/10-RingMasterChen", "Files": 1, 
		"Description": { "0": "Get on the phone!" }},

	"Folder": { "Name": "Gameplay/11-TravelAgentChai", "Files": 1, 
		"Description": { "0": "Find the right Travel Agent and fight Chai" }},	
		
	"Folder": { "Name": "Gameplay/12-CatchingJimmy", "Files": 1, 
		"Description": { "0": "Catch crying jimmy and catch a bus" }},		

	"Folder": { "Name": "Gameplay/13-FindingWork", "Files": 1, 
		"Description": { "0": "Get a job you louse" }},	
		
	"Folder": { "Name": "Gameplay/14-FirstWork", "Files": 1, 
		"Description": { "0": "First day at work" }},

	"Folder": { "Name": "Gameplay/15-Forklifts1", "Files": 1, 
		"Description": { "0": "Yet another work day" }},	
		
	"Folder": { "Name": "Gameplay/16-Forklifts2", "Files": 1, 
		"Description": { "0": "Yet another work day" }},	
		
	"Folder": { "Name": "Gameplay/17-Forklifts3", "Files": 1, 
		"Description": { "0": "Yet another work day" }},

	"Folder": { "Name": "Gameplay/18-Forklifts4", "Files": 1, 
		"Description": { "0": "Yet another work day" }},	
		
	"Folder": { "Name": "Gameplay/19-Forklifts5", "Files": 1, 
		"Description": { "0": "Yet another work day" }},	

	"Folder": { "Name": "Gameplay/20-Forklifts6", "Files": 1, 
		"Description": { "0": "Yet another work day" }},

	"Folder": { "Name": "Gameplay/21-Forklifts7", "Files": 1, 
		"Description": { "0": "Yet another work day" }},			
		
	"Folder": { "Name": "Gameplay/22-NozomiKidnap", "Files": 1, 
		"Description": { "0": "Yet another work day" }},
		
	"Folder": { "Name": "Gameplay/23-TheEndGame", "Files": 1, 
		"Description": { "0": "Yet another work day" }},
		
	"Folder": { "Name": "VerticalSlice/Explore", "Files": 1, 
		"Description": { "0": "Vertical Slice Explore Mode" }},
		
	"Folder": { "Name": "VerticalSlice/Fight", "Files": 1, 
		"Description": { "0": "Vertical Slice Fight Mode" }},
		
	"Folder": { "Name": "VerticalSlice/QTE", "Files": 1, 
		"Description": { "0": "Vertical Slice QTE Mode" }}		
}

Shenmue II

{
	
	"Folder": { "Name": "Milestone/MS21", "Files": 2, 
		"Description": { "0": "Green_Mkt",
						 "1": "Scarlett_Hills" }},
						 
	"Folder": { "Name": "Milestone/MS22", "Files": 4, 
		"Description": { "0": "GoldenQr",
						 "1": "QueenSt",
						 "1": "SouthCarmainQr",
						 "1": "WhiteDynastyQr" }},
						 
	
	"Folder": { "Name": "Milestone/MS20", "Files": 10, 
		"Description": { "0": "Dou_Niu",
						 "1": "Fang_Mei", 
						 "2": "Joy",
						 "3": "Lan_Di",
						 "4": "Ren",
						 "5": "Shenhua",
						 "6": "Wong",
						 "7": "Xiouying",
						 "8": "Yuan",
						 "9": "Queen_St" }},
		
	
	"Folder": { "Name": "Gameplay/1-ComeOverGuestHouse", "Files": 10, 
		"Description": { "0": "Just met Joy",
						 "1": "Just had your bag stolen", 
						 "2": "Got your bag back",
						 "3": "Arrived at the Come Over",
						 "4": "On way to Yan Tin",
						 "5": "Meet Jian Min",
						 "6": "Go to Man Mo Temple",
						 "7": "The four Wude",
						 "8": "Find a martial artist",
						 "9": "Golden Qr Mall" }},
						 
	"Folder": { "Name": "Gameplay/2-ZhangyuBarberBook", "Files": 9, 
		"Description": { "0": "Don't press A!",
						 "1": "Meet Lishao Tao", 
						 "2": "Book Carrying 1",
						 "3": "Book Carrying 2",
						 "4": "Find the Wulinshu",
						 "5": "Wise Mens Kung Fu",
						 "6": "Chawan Sign",
						 "7": "Chawan sign 2",
						 "8": "Find Ren" }},	

	"Folder": { "Name": "Gameplay/3-FindingRen", "Files": 10, 
		"Description": { "0": "Find some Heavens",
						 "1": "Go Gambling", 
						 "2": "Meet at 8pm",
						 "3": "Beverly Hills Wharf",
						 "4": "Meet Ren of Heavens",
						 "5": "Grafting with Ren 1",
						 "6": "Grafting with Ren 2",
						 "7": "Run after Ren",
						 "8": "Thank Everyone",
						 "9": "Arrive in Kowloon" }},					 
	
	"Folder": { "Name": "Gameplay/4-FindingYuan", "Files": 9, 
		"Description": { "0": "Head to Dancing Dragon",
						 "1": "Find the men in black", 
						 "2": "Meet Butterbean",
						 "3": "Revisit Yang",
						 "4": "Find the tapes",
						 "5": "Speak to the blind",
						 "6": "Visit the orphanage",
						 "7": "Talking Bird Search",
						 "8": "Nine Birds shop" }},		

	"Folder": { "Name": "Gameplay/5-Streetfighters", "Files": 10, 
		"Description": { "0": "Head to Ghost Hall",
						 "1": "Walk the plank 1", 
						 "2": "Walk the plank 2",
						 "3": "Search the Room",
						 "4": "place those keys",
						 "5": "Get into Yellowhead",
						 "6": "Chawan Sign Request",
						 "7": "Fight the blind",
						 "8": "Fight the acrobat",
						 "9": "Go to Dragon St" }},		
						 
	"Folder": { "Name": "Gameplay/6-BlockedYellowhead", "Files": 10, 
		"Description": { "0": "Find the fighters",
						 "1": "Star Gazing point", 
						 "2": "Phoenix Building",
						 "3": "Rod Stunt",
						 "4": "Find Afterburner",
						 "5": "Head to Dragon St",
						 "6": "Go to the basement",
						 "7": "Under Yellowhead",
						 "8": "Into Yellowhead",
						 "9": "Fight the Bouncers" }},	

	"Folder": { "Name": "Gameplay/7-EnterYellowhead", "Files": 10, 
		"Description": { "0": "6th Floor",
						 "1": "Wait for the lights", 
						 "2": "Wait for the lights 2",
						 "3": "10th Floor",
						 "4": "12th Floor QTE",
						 "5": "Yuan's Chainsaw",
						 "6": "Dou Niu QTE",
						 "7": "Chainsaw QTE",
						 "8": "17th Floor",
						 "9": "Find the Key" }},	
						 
	"Folder": { "Name": "Gameplay/8-FightsQTEsGuilin", "Files": 10, 
		"Description": { "0": "Lift Switches",
						 "1": "Use the lifts", 
						 "2": "Master Baihu",
						 "3": "Shiny Marble Floor",
						 "4": "Before the Roof",
						 "5": "Bailu Village",
						 "6": "Olive Trees",
						 "7": "Butterflies",
						 "8": "Fabulous Pond",
						 "9": "Waterfall QTE" }},	

	"Folder": { "Name": "Gameplay/9-BailuVillageEndGame", "Files": 8, 
		"Description": { "0": "The Guardians",
						 "1": "Will they Kiss?", 
						 "2": "Walk With Shenhua",
						 "3": "Stone Bridge",
						 "4": "Dad's Collection",
						 "5": "Stone Cave 1",
						 "6": "Find Shenhua",
						 "7": "Final Cave Entry" }},		
			
    "Folder": { "Name": "Testplan/1-WorkersPier2", "Files": 1, 
		"Description": { "0": "blah blah" }},	

    "Folder": { "Name": "Testplan/2-FortunesPier", "Files": 1, 
		"Description": { "0": "blah blah" }},	
		
	"Folder": { "Name": "Testplan/3-RooftopFight", "Files": 1, 
		"Description": { "0": "blah blah" }},

	"Folder": { "Name": "Testplan/4-LuckyPlaza", "Files": 1, 
		"Description": { "0": "blah blah" }},	

	"Folder": { "Name": "Testplan/5-QueenSt", "Files": 1, 
		"Description": { "0": "blah blah" }},	
		
	"Folder": { "Name": "Testplan/6-BeverlyHillsWharf", "Files": 1, 
		"Description": { "0": "blah blah" }},	
		
	"Folder": { "Name": "Testplan/7-GreenMarketQr", "Files": 1, 
		"Description": { "0": "blah blah" }},	
		
	"Folder": { "Name": "Testplan/8-GoldenQr", "Files": 1, 
		"Description": { "0": "blah blah" }},	
		
	"Folder": { "Name": "Testplan/9-SouthCarmainQr", "Files": 1, 
		"Description": { "0": "blah blah" }},	
		
	"Folder": { "Name": "Testplan/10-LuckyCharmQr", "Files": 1, 
		"Description": { "0": "blah blah" }},	
	
	"Folder": { "Name": "Testplan/11-ScarletHills", "Files": 1, 
		"Description": { "0": "blah blah" }},
		
	"Folder": { "Name": "Testplan/12-WiseMensQr", "Files": 1, 
		"Description": { "0": "blah blah" }},	

	"Folder": { "Name": "Testplan/13-WhiteDynastyQr", "Files": 1, 
		"Description": { "0": "blah blah" }},

	"Folder": { "Name": "Testplan/14-ThousandWhiteQr", "Files": 1, 
		"Description": { "0": "blah blah" }},

	"Folder": { "Name": "Testplan/15-DimsumQr", "Files": 1, 
		"Description": { "0": "blah blah" }},

	"Folder": { "Name": "Testplan/16-DragonSt", "Files": 1, 
		"Description": { "0": "blah blah" }},
		
	"Folder": { "Name": "Testplan/17-StandQr", "Files": 1, 
		"Description": { "0": "blah blah" }},
		
	"Folder": { "Name": "Testplan/18-MoonChildBuilding", "Files": 1, 
		"Description": { "0": "blah blah" }},

	"Folder": { "Name": "Testplan/19-ThreeBirdsBuilding", "Files": 1, 
		"Description": { "0": "blah blah" }},
		
	"Folder": { "Name": "Testplan/20-GhostHallBuilding", "Files": 1, 
		"Description": { "0": "blah blah" }},	
	
	"Folder": { "Name": "Testplan/21-SmallDragonGarden", "Files": 1, 
		"Description": { "0": "blah blah" }},
	
	"Folder": { "Name": "Testplan/22-PhoenixBuilding", "Files": 1, 
		"Description": { "0": "blah blah" }},
		
	"Folder": { "Name": "Testplan/23-YellowHeadBuilding1", "Files": 1, 
		"Description": { "0": "blah blah" }},	
		
	"Folder": { "Name": "Testplan/24-YellowHeadBuilding2", "Files": 1, 
		"Description": { "0": "blah blah" }},	
		
	"Folder": { "Name": "Testplan/25-MasterBaihu", "Files": 1, 
		"Description": { "0": "blah blah" }},

	"Folder": { "Name": "Testplan/26-DouNiuBossFight", "Files": 1, 
		"Description": { "0": "blah blah" }},	
		
	"Folder": { "Name": "Testplan/27-LanghuishanVillage", "Files": 1, 
		"Description": { "0": "blah blah" }},

	"Folder": { "Name": "Testplan/28-PathThroughaWood", "Files": 1, 
		"Description": { "0": "blah blah" }},	
		
	"Folder": { "Name": "Testplan/29-GuilinForest", "Files": 1, 
		"Description": { "0": "blah blah" }},

	"Folder": { "Name": "Testplan/30-GuilinForestFail", "Files": 1, 
		"Description": { "0": "blah blah" }},	

	"Folder": { "Name": "Testplan/31-GuilinForest2", "Files": 1, 
		"Description": { "0": "blah blah" }},

	"Folder": { "Name": "Testplan/32-GuilinForest3", "Files": 1, 
		"Description": { "0": "blah blah" }},	
		
	"Folder": { "Name": "Testplan/33-GuilinForest4", "Files": 1, 
		"Description": { "0": "blah blah" }},

	"Folder": { "Name": "Testplan/34-ShenhuasHouse", "Files": 1, 
		"Description": { "0": "blah blah" }},	
		
	"Folder": { "Name": "Testplan/35-StonePit", "Files": 1, 
		"Description": { "0": "blah blah" }},
	
	"Folder": { "Name": "Testplan/36-SideQuestPlane", "Files": 1, 
		"Description": { "0": "blah blah" }},
		
	"Folder": { "Name": "Testplan/37-SideQuestGetAJob", "Files": 1, 
		"Description": { "0": "blah blah" }},	
		
	"Folder": { "Name": "Testplan/38-SideQuestComicBooks", "Files": 1, 
		"Description": { "0": "blah blah" }},

	"Folder": { "Name": "Testplan/39-SideQuestPoisonBros", "Files": 1, 
		"Description": { "0": "blah blah" }}	
		
}