@@ -98,7 +98,7 @@ public static void DoY5HActProcedure(MLO mlo) {
9898 }
9999 }
100100
101- public static void DoY0DCLegacyModelSupport ( MLO mlo ) {
101+ public static void DoY0DCLegacyModelUpgrade ( MLO mlo ) {
102102 var parlessDir = new DirectoryInfo ( GamePath . ParlessDir ) ;
103103
104104 parlessDir . Create ( ) ;
@@ -110,12 +110,72 @@ public static void DoY0DCLegacyModelSupport(MLO mlo) {
110110 continue ;
111111
112112 var legacyCharaDir = Path . Combine ( modDir , "chara" , "w64" ) ;
113+
114+ if ( ! Directory . Exists ( legacyCharaDir ) )
115+ continue ;
116+
113117 var newCharaDir = Path . Combine ( parlessDir . FullName , "chara" , "ngen" ) ;
118+
119+ for ( var i = 0 ; i < mlo . Files . Count ; i ++ ) {
120+ var file = mlo . Files [ i ] ;
121+
122+ if ( file . Name . Contains ( "chara/w64" ) )
123+ file = file with {
124+ Name = file . Name . Replace ( "chara/w64" , "chara/ngen" )
125+ } ;
126+
127+ mlo . Files [ i ] = file ;
128+ }
114129
115- if ( ! Directory . Exists ( legacyCharaDir ) )
130+ Directory . Move ( legacyCharaDir , newCharaDir ) ;
131+ }
132+ }
133+
134+ public static void DoYK2RemasterLegacyDBUpgrade ( MLO mlo ) {
135+ var parlessDir = new DirectoryInfo ( GamePath . ParlessDir ) ;
136+
137+ parlessDir . Create ( ) ;
138+
139+ foreach ( var modName in mlo . Mods ) {
140+ var modDir = Path . Combine ( GamePath . ModsPath , modName ) ;
141+
142+ if ( ! Directory . Exists ( modDir ) )
116143 continue ;
144+
145+ var legacyDBDir = Path . Combine ( modDir , "db" ) ;
146+ var newDBDir = Path . Combine ( modDir , "db.lexus2" ) ;
147+
148+ var legacyPUIDDir = Path . Combine ( modDir , "puid" ) ;
149+ var newPUIDDir = Path . Combine ( modDir , "puid.lexus2" ) ;
150+
151+ var haveOldDb = Directory . Exists ( legacyDBDir ) ;
152+ var haveOldPuid = Directory . Exists ( legacyPUIDDir ) ;
153+
154+ if ( haveOldDb || haveOldPuid ) {
155+ for ( var i = 0 ; i < mlo . Files . Count ; i ++ ) {
156+ var file = mlo . Files [ i ] ;
157+
158+ if ( haveOldDb && file . Name . Contains ( "/db" ) && ! file . Name . Contains ( "/db.lexus2" ) ) {
159+ file = file with {
160+ Name = file . Name . Replace ( "/db" , "/db.lexus2" )
161+ } ;
162+ }
163+
164+ if ( haveOldPuid && file . Name . Contains ( "/puid" ) && ! file . Name . Contains ( "/puid.lexus2" ) ) {
165+ file = file with {
166+ Name = file . Name . Replace ( "/puid" , "/puid.lexus2" )
167+ } ;
168+ }
169+
170+ mlo . Files [ i ] = file ;
171+ }
172+ }
173+
174+ if ( haveOldDb )
175+ Directory . Move ( legacyDBDir , newDBDir ) ;
117176
118- Utils . CopyDirectory ( legacyCharaDir , newCharaDir ) ;
177+ if ( haveOldPuid )
178+ Directory . Move ( legacyPUIDDir , newPUIDDir ) ;
119179 }
120180 }
121181
0 commit comments