@@ -10,15 +10,15 @@ import (
1010 "io/ioutil"
1111 "log"
1212 "os"
13- "path"
13+ "path/filepath "
1414)
1515
1616var (
1717 moddir = flag .String ("moddir" , "testdata/simple" , "a directory containing tts mod configs" )
18- rev = flag .Bool ("reverse" , false , "Instead of building a json from file structure, build file structure from json." )
19- writeToSrc = flag .Bool ("writesrc" , false , "When unbundling Lua, save the included 'require' files to the src/ directory." )
18+ rev = flag .Bool ("reverse" , false , "instead of building a json from file structure, build file structure from json." )
19+ writeToSrc = flag .Bool ("writesrc" , false , "when unbundling Lua, save the included 'require' files to the src/ directory." )
2020 modfile = flag .String ("modfile" , "" , "where to read from when reversing." )
21- objin = flag .String ("objin" , "" , "If non-empty, don't build/reverse a full mod, only an object state array" )
21+ objin = flag .String ("objin" , "" , "if non-empty, don't build/reverse a full mod, only an object state array" )
2222 objout = flag .String ("objout" , "" , "if building only object state list, output to this filename" )
2323)
2424
@@ -37,53 +37,55 @@ func main() {
3737 }
3838
3939 lua := file .NewTextOpsMulti (
40- []string {path .Join (* moddir , luasrcSubdir ), path .Join (* moddir , objectsSubdir )},
41- path .Join (* moddir , objectsSubdir ),
40+ []string {filepath .Join (* moddir , luasrcSubdir ), filepath .Join (* moddir , objectsSubdir )},
41+ filepath .Join (* moddir , objectsSubdir ),
4242 )
4343 xml := file .NewTextOpsMulti (
44- []string {path .Join (* moddir , xmlsrcSubdir ), path .Join (* moddir , objectsSubdir )},
45- path .Join (* moddir , objectsSubdir ),
44+ []string {filepath .Join (* moddir , xmlsrcSubdir ), filepath .Join (* moddir , objectsSubdir )},
45+ filepath .Join (* moddir , objectsSubdir ),
4646 )
47- xmlSrc := file .NewTextOps (path .Join (* moddir , xmlsrcSubdir ))
48- luaSrc := file .NewTextOps (path .Join (* moddir , luasrcSubdir ))
49- ms := file .NewJSONOps (path .Join (* moddir , modsettingsDir ))
50- objs := file .NewJSONOps (path .Join (* moddir , objectsSubdir ))
51- objdir := file .NewDirOps (path .Join (* moddir , objectsSubdir ))
47+ xmlSrc := file .NewTextOps (filepath .Join (* moddir , xmlsrcSubdir ))
48+ luaSrc := file .NewTextOps (filepath .Join (* moddir , luasrcSubdir ))
49+ ms := file .NewJSONOps (filepath .Join (* moddir , modsettingsDir ))
50+ objs := file .NewJSONOps (filepath .Join (* moddir , objectsSubdir ))
51+ objdir := file .NewDirOps (filepath .Join (* moddir , objectsSubdir ))
5252 rootops := file .NewJSONOps (* moddir )
5353
54- basename := path .Base (* modfile )
55- outputOps := file .NewJSONOps (path .Dir (* modfile ))
54+ basename := filepath .Base (* modfile )
55+ outputOps := file .NewJSONOps (filepath .Dir (* modfile ))
5656
57+ // handling for saved objects instead of a full savegame
5758 if * objin != "" {
58- objdir = file .NewDirOps ( path .Dir (* objin ))
59- objs = file .NewJSONOps ( path .Dir (* objin ))
59+ objs = file .NewJSONOps ( filepath .Dir (* objin ))
60+ objdir = file .NewDirOps ( filepath .Dir (* objin ))
6061 lua = file .NewTextOpsMulti (
61- []string {path .Join (* moddir , luasrcSubdir ), path .Dir (* objin )},
62- path .Dir (* objout ),
62+ []string {filepath .Join (* moddir , luasrcSubdir ), filepath .Dir (* objin )},
63+ filepath .Dir (* objout ),
6364 )
6465 xml = file .NewTextOpsMulti (
65- []string {path .Join (* moddir , xmlsrcSubdir ), path .Dir (* objin )},
66- path .Dir (* objout ),
66+ []string {filepath .Join (* moddir , xmlsrcSubdir ), filepath .Dir (* objin )},
67+ filepath .Dir (* objout ),
6768 )
68- basename = path .Base (* objout )
69- outputOps = file .NewJSONOps (path .Dir (* objout ))
69+ basename = filepath .Base (* objout )
70+ outputOps = file .NewJSONOps (filepath .Dir (* objout ))
7071 }
7172
7273 if * rev {
7374 if * objin != "" {
7475 * modfile = * objin
75- objs = file .NewJSONOps (path .Dir (* objout ))
76+ objs = file .NewJSONOps (filepath .Dir (* objout ))
7677 }
7778 raw , err := prepForReverse (* moddir , * modfile )
7879 if err != nil {
7980 log .Fatalf ("prepForReverse (%s) failed : %v" , * modfile , err )
8081 }
82+
8183 r := mod.Reverser {
8284 ModSettingsWriter : ms ,
8385 LuaWriter : lua ,
8486 XMLWriter : xml ,
8587 ObjWriter : objs ,
86- ObjDirCreeator : objdir ,
88+ ObjDirCreator : objdir ,
8789 RootWrite : rootops ,
8890 OnlyObjState : * objin ,
8991 }
@@ -98,11 +100,11 @@ func main() {
98100 return
99101 }
100102 if * modfile == "" {
101- * modfile = path .Join (* moddir , "output.json" )
103+ * modfile = filepath .Join (* moddir , "output.json" )
102104 }
103105
104106 // setting this to empty instead of default return value (".") if not found
105- OnlyObjStates := path .Base (* objin )
107+ OnlyObjStates := filepath .Base (* objin )
106108 if OnlyObjStates == "." {
107109 OnlyObjStates = ""
108110 }
@@ -133,7 +135,7 @@ func prepForReverse(cPath, modfile string) (types.J, error) {
133135 subDirs := []string {luasrcSubdir , modsettingsDir , objectsSubdir , xmlsrcSubdir }
134136
135137 for _ , s := range subDirs {
136- p := path .Join (cPath , s )
138+ p := filepath .Join (cPath , s )
137139 if _ , err := os .Stat (p ); err == nil {
138140 // directory already exists
139141 } else if os .IsNotExist (err ) {
0 commit comments