API Examplesο
Below are a few simple and common examples of using the API.
Note
For more detailed information about the API, see API Reference
Fixing .Ini Filesο
Below are different ways of fixing either:
A single .ini file
ORThe content contained in a single .ini file
Only Fix a .ini File Given the File Pathο
Note
This example only fixes the .ini file without removing any previous changes the fix may have made. If you want to first undo previous changes the fix may have done, see Remove a Fix from a .ini File Given the File Path
To fix the .ini file by first removing any previous changes the fix may have made, see Fix a .ini File Given the File Path
Input
1[Constants]
2global persist $swapvar = 0
3global persist $swapvarn = 0
4global persist $swapmain = 0
5global persist $swapoffice = 0
6global persist $swapglasses = 0
7
8[KeyVar]
9condition = $active == 1
10key = VK_DOWN
11type = cycle
12$swapvar = 0,1,2
13
14[KeyIntoTheHole]
15condition = $active == 1
16key = VK_RIGHT
17type = cycle
18$swapvarn = 0,1
19
20; The top part is not really important, so I not going to finish
21; typing all the key swaps... π
22;
23; The bottom part is what the fix actually cares about
24
25[TextureOverrideRaidenShogunBlend]
26run = CommandListRaidenShogunBlend
27handling = skip
28draw = 21916,0
29
30[CommandListRaidenShogunBlend]
31if $swapmain == 0
32 if $swapvar == 0 && $swapvarn == 0
33 vb1 = ResourceRaidenShogunBlend.0
34 else
35 vb1 = ResourceEiBlendsHerBlenderInsteadOfHerSmoothie
36 endif
37else if $swapmain == 1
38 run = SubSubTextureOverride
39endif
40
41[SubSubTextureOverride]
42if $swapoffice == 0 && $swapglasses == 0
43 vb1 = GIMINeedsResourcesToAllStartWithResource
44endif
45
46[ResourceRaidenShogunBlend.0]
47type = Buffer
48stride = 32
49filename = ..\..\..\../../../../../../2-BunnyRaidenShogun\RaidenShogunBlend.buf
50
51[ResourceEiBlendsHerBlenderInsteadOfHerSmoothie]
52type = Buffer
53stride = 32
54if $swapmain == 1
55 filename = M:\AnotherDrive\CuteLittleEi.buf
56else
57 run = RaidenPuppetCommandResource
58endif
59
60[GIMINeedsResourcesToAllStartWithResource]
61type = Buffer
62stride = 32
63filename = ./../AAA/BBBB\CCCCCC\DDDDDRemapBlend.buf
64
65[RaidenPuppetCommandResource]
66type = Buffer
67stride = 32
68filename = ./Dont/Use\If/Statements\Or/SubCommands\In/Resource\Sections.buf
Code
1import AnimeGameRemap as AGR
2
3iniFile = AGR.IniFile("CuteLittleRaiden.ini", modTypes = AGR.ModTypes.getAll())
4iniFile.parse()
5iniFile.fix()
Result
1[Constants]
2global persist $swapvar = 0
3global persist $swapvarn = 0
4global persist $swapmain = 0
5global persist $swapoffice = 0
6global persist $swapglasses = 0
7
8[KeyVar]
9condition = $active == 1
10key = VK_DOWN
11type = cycle
12$swapvar = 0,1,2
13
14[KeyIntoTheHole]
15condition = $active == 1
16key = VK_RIGHT
17type = cycle
18$swapvarn = 0,1
19
20; The top part is not really important, so I not going to finish
21; typing all the key swaps... π
22;
23; The bottom part is what the fix actually cares about
24
25[TextureOverrideRaidenShogunBlend]
26run = CommandListRaidenShogunBlend
27handling = skip
28draw = 21916,0
29
30[CommandListRaidenShogunBlend]
31if $swapmain == 0
32 if $swapvar == 0 && $swapvarn == 0
33 vb1 = ResourceRaidenShogunBlend.0
34 else
35 vb1 = ResourceEiBlendsHerBlenderInsteadOfHerSmoothie
36 endif
37else if $swapmain == 1
38 run = SubSubTextureOverride
39endif
40
41[SubSubTextureOverride]
42if $swapoffice == 0 && $swapglasses == 0
43 vb1 = GIMINeedsResourcesToAllStartWithResource
44endif
45
46[ResourceRaidenShogunBlend.0]
47type = Buffer
48stride = 32
49filename = ..\..\..\../../../../../../2-BunnyRaidenShogun\RaidenShogunBlend.buf
50
51[ResourceEiBlendsHerBlenderInsteadOfHerSmoothie]
52type = Buffer
53stride = 32
54if $swapmain == 1
55 filename = M:\AnotherDrive\CuteLittleEi.buf
56else
57 run = RaidenPuppetCommandResource
58endif
59
60[GIMINeedsResourcesToAllStartWithResource]
61type = Buffer
62stride = 32
63filename = ./../AAA/BBBB\CCCCCC\DDDDDRemapBlend.buf
64
65[RaidenPuppetCommandResource]
66type = Buffer
67stride = 32
68filename = ./Dont/Use\If/Statements\Or/SubCommands\In/Resource\Sections.buf
69
70
71; --------------- Raiden Remap ---------------
72; Raiden remapped by NK#1321 and Albert Gold#2696. If you used it to remap your Raiden mods pls give credit for "Nhok0169" and "Albert Gold#2696"
73; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
74
75; ***** RaidenBoss *****
76[TextureOverrideRaidenShogunRaidenBossRemapBlend]
77run = CommandListRaidenShogunRaidenBossRemapBlend
78handling = skip
79draw = 21916,0
80
81[CommandListRaidenShogunRaidenBossRemapBlend]
82if $swapmain == 0
83 if $swapvar == 0 && $swapvarn == 0
84 vb1 = ResourceRaidenShogunRaidenBossRemapBlend.0
85 else
86 vb1 = ResourceEiBlendsHerRaidenBossRemapBlenderInsteadOfHerSmoothie
87 endif
88else if $swapmain == 1
89 run = SubSubTextureOverrideRaidenBossRemapBlend
90endif
91
92[SubSubTextureOverrideRaidenBossRemapBlend]
93if $swapoffice == 0 && $swapglasses == 0
94 vb1 = ResourceGIMINeedsResourcesToAllStartWithResourceRaidenBossRemapBlend
95endif
96
97
98[ResourceGIMINeedsResourcesToAllStartWithResourceRaidenBossRemapBlend]
99type = Buffer
100stride = 32
101filename = ../AAA/BBBB/CCCCCC/DDDDDRemapRaidenBossRemapBlend.buf
102
103[ResourceEiBlendsHerRaidenBossRemapBlenderInsteadOfHerSmoothie]
104type = Buffer
105stride = 32
106if $swapmain == 1
107 filename = M:/AnotherDrive/CuteLittleEiRaidenBossRemapBlend.buf
108else
109 run = ResourceRaidenPuppetCommandResourceRaidenBossRemapBlend
110endif
111
112[ResourceRaidenPuppetCommandResourceRaidenBossRemapBlend]
113type = Buffer
114stride = 32
115filename = Dont/Use/If/Statements/Or/SubCommands/In/Resource/SectionsRaidenBossRemapBlend.buf
116
117[ResourceRaidenShogunRaidenBossRemapBlend.0]
118type = Buffer
119stride = 32
120filename = ../../../../../../../../../2-BunnyRaidenShogun/RaidenShogunRaidenBossRemapBlend.buf
121
122; **********************
123
124; --------------------------------------------
Only Fix .Ini file Given Only a String Containing the Content of the Fileο
The code below will add the lines that make up the fix to the end of the original content of the .ini file
Note
This example only fixes the .ini file without removing any previous changes the fix may have made. If you want to first undo previous changes the fix may have done, see Remove a Fix from a .ini File Given Only a String Containing the Content of the File
To fix the .ini file by first removing any previous changes the fix may have made, see Fix a .ini File Given Only A String Containing the Content of the File
Note
To only get the lines that make up the fix without adding back to the original .ini file, see Get Only the Fix to the .Ini file Given Only a String Containing the Content of the File
Input
1shortWackyRaidenIniTxt = r"""
2[Constants]
3global persist $swapvar = 0
4global persist $swapvarn = 0
5global persist $swapmain = 0
6global persist $swapoffice = 0
7global persist $swapglasses = 0
8
9[KeyVar]
10condition = $active == 1
11key = VK_DOWN
12type = cycle
13$swapvar = 0,1,2
14
15[KeyIntoTheHole]
16condition = $active == 1
17key = VK_RIGHT
18type = cycle
19$swapvarn = 0,1
20
21; The top part is not really important, so I not going to finish
22; typing all the key swaps... π
23;
24; The bottom part is what the fix actually cares about
25
26[TextureOverrideRaidenShogunBlend]
27run = CommandListRaidenShogunBlend
28handling = skip
29draw = 21916,0
30
31[CommandListRaidenShogunBlend]
32if $swapmain == 0
33 if $swapvar == 0 && $swapvarn == 0
34 vb1 = ResourceRaidenShogunBlend.0
35 else
36 vb1 = ResourceEiBlendsHerBlenderInsteadOfHerSmoothie
37 endif
38else if $swapmain == 1
39 run = SubSubTextureOverride
40endif
41
42[SubSubTextureOverride]
43if $swapoffice == 0 && $swapglasses == 0
44 vb1 = GIMINeedsResourcesToAllStartWithResource
45endif
46
47[ResourceRaidenShogunBlend.0]
48type = Buffer
49stride = 32
50filename = ..\..\..\../../../../../../2-BunnyRaidenShogun\RaidenShogunBlend.buf
51
52[ResourceEiBlendsHerBlenderInsteadOfHerSmoothie]
53type = Buffer
54stride = 32
55if $swapmain == 1
56 filename = M:\AnotherDrive\CuteLittleEi.buf
57else
58 run = RaidenPuppetCommandResource
59endif
60
61[GIMINeedsResourcesToAllStartWithResource]
62type = Buffer
63stride = 32
64filename = ./../AAA/BBBB\CCCCCC\DDDDDRemapBlend.buf
65
66[RaidenPuppetCommandResource]
67type = Buffer
68stride = 32
69filename = ./Dont/Use\If/Statements\Or/SubCommands\In/Resource\Sections.buf
70"""
Code
71import AnimeGameRemap as AGR
72
73iniFile = AGR.IniFile(txt = shortWackyRaidenIniTxt, modTypes = AGR.ModTypes.getAll())
74iniFile.parse()
75fixedResult = iniFile.fix()
76
77print(fixedResult)
Result
1[Constants]
2global persist $swapvar = 0
3global persist $swapvarn = 0
4global persist $swapmain = 0
5global persist $swapoffice = 0
6global persist $swapglasses = 0
7
8[KeyVar]
9condition = $active == 1
10key = VK_DOWN
11type = cycle
12$swapvar = 0,1,2
13
14[KeyIntoTheHole]
15condition = $active == 1
16key = VK_RIGHT
17type = cycle
18$swapvarn = 0,1
19
20; The top part is not really important, so I not going to finish
21; typing all the key swaps... π
22;
23; The bottom part is what the fix actually cares about
24
25[TextureOverrideRaidenShogunBlend]
26run = CommandListRaidenShogunBlend
27handling = skip
28draw = 21916,0
29
30[CommandListRaidenShogunBlend]
31if $swapmain == 0
32 if $swapvar == 0 && $swapvarn == 0
33 vb1 = ResourceRaidenShogunBlend.0
34 else
35 vb1 = ResourceEiBlendsHerBlenderInsteadOfHerSmoothie
36 endif
37else if $swapmain == 1
38 run = SubSubTextureOverride
39endif
40
41[SubSubTextureOverride]
42if $swapoffice == 0 && $swapglasses == 0
43 vb1 = GIMINeedsResourcesToAllStartWithResource
44endif
45
46[ResourceRaidenShogunBlend.0]
47type = Buffer
48stride = 32
49filename = ..\..\..\../../../../../../2-BunnyRaidenShogun\RaidenShogunBlend.buf
50
51[ResourceEiBlendsHerBlenderInsteadOfHerSmoothie]
52type = Buffer
53stride = 32
54if $swapmain == 1
55 filename = M:\AnotherDrive\CuteLittleEi.buf
56else
57 run = RaidenPuppetCommandResource
58endif
59
60[GIMINeedsResourcesToAllStartWithResource]
61type = Buffer
62stride = 32
63filename = ./../AAA/BBBB\CCCCCC\DDDDDRemapBlend.buf
64
65[RaidenPuppetCommandResource]
66type = Buffer
67stride = 32
68filename = ./Dont/Use\If/Statements\Or/SubCommands\In/Resource\Sections.buf
69
70
71
72; --------------- Raiden Remap ---------------
73; Raiden remapped by NK#1321 and Albert Gold#2696. If you used it to remap your Raiden mods pls give credit for "Nhok0169" and "Albert Gold#2696"
74; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
75
76; ***** RaidenBoss *****
77[TextureOverrideRaidenShogunRaidenBossRemapBlend]
78run = CommandListRaidenShogunRaidenBossRemapBlend
79handling = skip
80draw = 21916,0
81
82[CommandListRaidenShogunRaidenBossRemapBlend]
83if $swapmain == 0
84 if $swapvar == 0 && $swapvarn == 0
85 vb1 = ResourceRaidenShogunRaidenBossRemapBlend.0
86 else
87 vb1 = ResourceEiBlendsHerRaidenBossRemapBlenderInsteadOfHerSmoothie
88 endif
89else if $swapmain == 1
90 run = SubSubTextureOverrideRaidenBossRemapBlend
91endif
92
93[SubSubTextureOverrideRaidenBossRemapBlend]
94if $swapoffice == 0 && $swapglasses == 0
95 vb1 = ResourceGIMINeedsResourcesToAllStartWithResourceRaidenBossRemapBlend
96endif
97
98
99[ResourceGIMINeedsResourcesToAllStartWithResourceRaidenBossRemapBlend]
100type = Buffer
101stride = 32
102filename = ../AAA/BBBB/CCCCCC/DDDDDRemapRaidenBossRemapBlend.buf
103
104[ResourceEiBlendsHerRaidenBossRemapBlenderInsteadOfHerSmoothie]
105type = Buffer
106stride = 32
107if $swapmain == 1
108 filename = M:/AnotherDrive/CuteLittleEiRaidenBossRemapBlend.buf
109else
110 run = ResourceRaidenPuppetCommandResourceRaidenBossRemapBlend
111endif
112
113[ResourceRaidenPuppetCommandResourceRaidenBossRemapBlend]
114type = Buffer
115stride = 32
116filename = Dont/Use/If/Statements/Or/SubCommands/In/Resource/SectionsRaidenBossRemapBlend.buf
117
118[ResourceRaidenShogunRaidenBossRemapBlend.0]
119type = Buffer
120stride = 32
121filename = ../../../../../../../../../2-BunnyRaidenShogun/RaidenShogunRaidenBossRemapBlend.buf
122
123; **********************
124
125; --------------------------------------------
Get Only the Fix to the .Ini file Given Only a String Containing the Content of the Fileο
The code below will only generate the necessary lines needed to fix the .ini file
Note
To have the fixed lines added back to the original content of the file, see Only Fix .Ini file Given Only a String Containing the Content of the File
Input
1shortWackyRaidenIniTxt = r"""
2[Constants]
3global persist $swapvar = 0
4global persist $swapvarn = 0
5global persist $swapmain = 0
6global persist $swapoffice = 0
7global persist $swapglasses = 0
8
9[KeyVar]
10condition = $active == 1
11key = VK_DOWN
12type = cycle
13$swapvar = 0,1,2
14
15[KeyIntoTheHole]
16condition = $active == 1
17key = VK_RIGHT
18type = cycle
19$swapvarn = 0,1
20
21; The top part is not really important, so I not going to finish
22; typing all the key swaps... π
23;
24; The bottom part is what the fix actually cares about
25
26[TextureOverrideRaidenShogunBlend]
27run = CommandListRaidenShogunBlend
28handling = skip
29draw = 21916,0
30
31[CommandListRaidenShogunBlend]
32if $swapmain == 0
33 if $swapvar == 0 && $swapvarn == 0
34 vb1 = ResourceRaidenShogunBlend.0
35 else
36 vb1 = ResourceEiBlendsHerBlenderInsteadOfHerSmoothie
37 endif
38else if $swapmain == 1
39 run = SubSubTextureOverride
40endif
41
42[SubSubTextureOverride]
43if $swapoffice == 0 && $swapglasses == 0
44 vb1 = GIMINeedsResourcesToAllStartWithResource
45endif
46
47[ResourceRaidenShogunBlend.0]
48type = Buffer
49stride = 32
50filename = ..\..\..\../../../../../../2-BunnyRaidenShogun\RaidenShogunBlend.buf
51
52[ResourceEiBlendsHerBlenderInsteadOfHerSmoothie]
53type = Buffer
54stride = 32
55if $swapmain == 1
56 filename = M:\AnotherDrive\CuteLittleEi.buf
57else
58 run = RaidenPuppetCommandResource
59endif
60
61[GIMINeedsResourcesToAllStartWithResource]
62type = Buffer
63stride = 32
64filename = ./../AAA/BBBB\CCCCCC\DDDDDRemapBlend.buf
65
66[RaidenPuppetCommandResource]
67type = Buffer
68stride = 32
69filename = ./Dont/Use\If/Statements\Or/SubCommands\In/Resource\Sections.buf
70"""
Code
71import AnimeGameRemap as AGR
72
73iniFile = AGR.IniFile(txt = shortWackyRaidenIniTxt, modTypes = AGR.ModTypes.getAll())
74iniFile.parse()
75fixCode = iniFile.getFixStr()
76
77print(fixCode)
Result
1; --------------- Raiden Remap ---------------
2; Raiden remapped by NK#1321 and Albert Gold#2696. If you used it to remap your Raiden mods pls give credit for "Nhok0169" and "Albert Gold#2696"
3; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
4
5; ***** RaidenBoss *****
6[TextureOverrideRaidenShogunRaidenBossRemapBlend]
7run = CommandListRaidenShogunRaidenBossRemapBlend
8handling = skip
9draw = 21916,0
10
11[CommandListRaidenShogunRaidenBossRemapBlend]
12if $swapmain == 0
13 if $swapvar == 0 && $swapvarn == 0
14 vb1 = ResourceRaidenShogunRaidenBossRemapBlend.0
15 else
16 vb1 = ResourceEiBlendsHerRaidenBossRemapBlenderInsteadOfHerSmoothie
17 endif
18else if $swapmain == 1
19 run = SubSubTextureOverrideRaidenBossRemapBlend
20endif
21
22[SubSubTextureOverrideRaidenBossRemapBlend]
23if $swapoffice == 0 && $swapglasses == 0
24 vb1 = ResourceGIMINeedsResourcesToAllStartWithResourceRaidenBossRemapBlend
25endif
26
27
28[ResourceGIMINeedsResourcesToAllStartWithResourceRaidenBossRemapBlend]
29type = Buffer
30stride = 32
31filename = ../AAA/BBBB/CCCCCC/DDDDDRemapRaidenBossRemapBlend.buf
32
33[ResourceEiBlendsHerRaidenBossRemapBlenderInsteadOfHerSmoothie]
34type = Buffer
35stride = 32
36if $swapmain == 1
37 filename = M:/AnotherDrive/CuteLittleEiRaidenBossRemapBlend.buf
38else
39 run = ResourceRaidenPuppetCommandResourceRaidenBossRemapBlend
40endif
41
42[ResourceRaidenPuppetCommandResourceRaidenBossRemapBlend]
43type = Buffer
44stride = 32
45filename = Dont/Use/If/Statements/Or/SubCommands/In/Resource/SectionsRaidenBossRemapBlend.buf
46
47[ResourceRaidenShogunRaidenBossRemapBlend.0]
48type = Buffer
49stride = 32
50filename = ../../../../../../../../../2-BunnyRaidenShogun/RaidenShogunRaidenBossRemapBlend.buf
51
52; **********************
53
54; --------------------------------------------
Remove a Fix from a .ini File Given the File Pathο
Input
1[Constants]
2global persist $swapvar = 0
3global persist $swapvarn = 0
4global persist $swapmain = 0
5global persist $swapoffice = 0
6global persist $swapglasses = 0
7
8[KeyVar]
9condition = $active == 1
10key = VK_DOWN
11type = cycle
12$swapvar = 0,1,2
13
14[KeyIntoTheHole]
15condition = $active == 1
16key = VK_RIGHT
17type = cycle
18$swapvarn = 0,1
19
20; The top part is not really important, so I not going to finish
21; typing all the key swaps... π
22;
23; The bottom part is what the fix actually cares about
24
25[TextureOverrideRaidenShogunBlend]
26run = CommandListRaidenShogunBlend
27handling = skip
28draw = 21916,0
29
30[CommandListRaidenShogunBlend]
31if $swapmain == 0
32 if $swapvar == 0 && $swapvarn == 0
33 vb1 = ResourceRaidenShogunBlend.0
34 else
35 vb1 = ResourceEiBlendsHerBlenderInsteadOfHerSmoothie
36 endif
37else if $swapmain == 1
38 run = SubSubTextureOverride
39endif
40
41[SubSubTextureOverride]
42if $swapoffice == 0 && $swapglasses == 0
43 vb1 = GIMINeedsResourcesToAllStartWithResource
44endif
45
46[ResourceRaidenShogunBlend.0]
47type = Buffer
48stride = 32
49filename = ..\..\..\../../../../../../2-BunnyRaidenShogun\RaidenShogunBlend.buf
50
51[ResourceEiBlendsHerBlenderInsteadOfHerSmoothie]
52type = Buffer
53stride = 32
54if $swapmain == 1
55 filename = M:\AnotherDrive\CuteLittleEi.buf
56else
57 run = RaidenPuppetCommandResource
58endif
59
60[GIMINeedsResourcesToAllStartWithResource]
61type = Buffer
62stride = 32
63filename = ./../AAA/BBBB\CCCCCC\DDDDDRemapBlend.buf
64
65[RaidenPuppetCommandResource]
66type = Buffer
67stride = 32
68filename = ./Dont/Use\If/Statements\Or/SubCommands\In/Resource\Sections.buf
69
70; ------ some lines originally generated from the fix ---------
71
72[ResourceEiBlendsHerRemapBlenderInsteadOfHerSmoothie]
73type = Buffer
74stride = 32
75if $swapmain == 1
76 filename = M:\AnotherDrive\CuteLittleEiRemapBlend.buf
77else
78 run = RaidenPuppetCommandResourceRemapBlend
79endif
80
81[ResourceRaidenShogunRemapBlend.0]
82type = Buffer
83stride = 32
84filename = ..\..\..\..\..\..\..\..\..\2-BunnyRaidenShogun\RaidenShogunRemapBlend.buf
85
86[RaidenPuppetCommandResourceRemapBlend]
87type = Buffer
88stride = 32
89filename = Dont\Use\If\Statements\Or\SubCommands\In\Resource\SectionsRemapBlend.buf
90
91; --------------------------------------------------------------
92
93
94; --------------- Raiden Boss Fix -----------------
95; Raiden boss fixed by NK#1321 if you used it for fix your raiden pls give credit for "Nhok0169"
96; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 and Albert Gold#2696 for support
97
98[TextureOverrideRaidenShogunRemapBlend]
99run = CommandListRaidenShogunRemapBlend
100handling = skip
101draw = 21916,0
102
103[CommandListRaidenShogunRemapBlend]
104if $swapmain == 0
105 if $swapvar == 0 && $swapvarn == 0
106 vb1 = ResourceRaidenShogunRemapBlend.0
107 else
108 vb1 = ResourceEiBlendsHerRemapBlenderInsteadOfHerSmoothie
109 endif
110else if $swapmain == 1
111 run = SubSubTextureOverrideRemapBlend
112endif
113
114[SubSubTextureOverrideRemapBlend]
115if $swapoffice == 0 && $swapglasses == 0
116 vb1 = ResourceGIMINeedsResourcesToAllStartWithResourceRemapBlend
117endif
118
119
120[GIMINeedsResourcesToAllStartWithResourceRemapBlend]
121type = Buffer
122stride = 32
123filename = ..\AAA\BBBB\CCCCCC\DDDDDRemapRemapBlend.buf
124
125[ResourceEiBlendsHerRemapBlenderInsteadOfHerSmoothie]
126type = Buffer
127stride = 32
128if $swapmain == 1
129 filename = M:\AnotherDrive\CuteLittleEiRemapBlend.buf
130else
131 run = RaidenPuppetCommandResourceRemapBlend
132endif
133
134[ResourceRaidenShogunRemapBlend.0]
135type = Buffer
136stride = 32
137filename = ..\..\..\..\..\..\..\..\..\2-BunnyRaidenShogun\RaidenShogunRemapBlend.buf
138
139[RaidenPuppetCommandResourceRemapBlend]
140type = Buffer
141stride = 32
142filename = Dont\Use\If\Statements\Or\SubCommands\In\Resource\SectionsRemapBlend.buf
143
144
145; -------------------------------------------------
Code
1import AnimeGameRemap as AGR
2
3iniFile = AGR.IniFile("PartiallyFixedRaiden.ini", modTypes = AGR.ModTypes.getAll())
4iniFile.removeFix(keepBackups = False)
Result
1[Constants]
2global persist $swapvar = 0
3global persist $swapvarn = 0
4global persist $swapmain = 0
5global persist $swapoffice = 0
6global persist $swapglasses = 0
7
8[KeyVar]
9condition = $active == 1
10key = VK_DOWN
11type = cycle
12$swapvar = 0,1,2
13
14[KeyIntoTheHole]
15condition = $active == 1
16key = VK_RIGHT
17type = cycle
18$swapvarn = 0,1
19
20; The top part is not really important, so I not going to finish
21; typing all the key swaps... π
22;
23; The bottom part is what the fix actually cares about
24
25[TextureOverrideRaidenShogunBlend]
26run = CommandListRaidenShogunBlend
27handling = skip
28draw = 21916,0
29
30[CommandListRaidenShogunBlend]
31if $swapmain == 0
32 if $swapvar == 0 && $swapvarn == 0
33 vb1 = ResourceRaidenShogunBlend.0
34 else
35 vb1 = ResourceEiBlendsHerBlenderInsteadOfHerSmoothie
36 endif
37else if $swapmain == 1
38 run = SubSubTextureOverride
39endif
40
41[SubSubTextureOverride]
42if $swapoffice == 0 && $swapglasses == 0
43 vb1 = GIMINeedsResourcesToAllStartWithResource
44endif
45
46[ResourceRaidenShogunBlend.0]
47type = Buffer
48stride = 32
49filename = ..\..\..\../../../../../../2-BunnyRaidenShogun\RaidenShogunBlend.buf
50
51[ResourceEiBlendsHerBlenderInsteadOfHerSmoothie]
52type = Buffer
53stride = 32
54if $swapmain == 1
55 filename = M:\AnotherDrive\CuteLittleEi.buf
56else
57 run = RaidenPuppetCommandResource
58endif
59
60[GIMINeedsResourcesToAllStartWithResource]
61type = Buffer
62stride = 32
63filename = ./../AAA/BBBB\CCCCCC\DDDDDRemapBlend.buf
64
65[RaidenPuppetCommandResource]
66type = Buffer
67stride = 32
68filename = ./Dont/Use\If/Statements\Or/SubCommands\In/Resource\Sections.buf
69
70; ------ some lines originally generated from the fix ---------
Remove a Fix from a .ini File Given Only a String Containing the Content of the Fileο
Input
1showWackyRaidenIniTxtWithFix = r"""
2[Constants]
3global persist $swapvar = 0
4global persist $swapvarn = 0
5global persist $swapmain = 0
6global persist $swapoffice = 0
7global persist $swapglasses = 0
8
9[KeyVar]
10condition = $active == 1
11key = VK_DOWN
12type = cycle
13$swapvar = 0,1,2
14
15[KeyIntoTheHole]
16condition = $active == 1
17key = VK_RIGHT
18type = cycle
19$swapvarn = 0,1
20
21; The top part is not really important, so I not going to finish
22; typing all the key swaps... π
23;
24; The bottom part is what the fix actually cares about
25
26[TextureOverrideRaidenShogunBlend]
27run = CommandListRaidenShogunBlend
28handling = skip
29draw = 21916,0
30
31[CommandListRaidenShogunBlend]
32if $swapmain == 0
33 if $swapvar == 0 && $swapvarn == 0
34 vb1 = ResourceRaidenShogunBlend.0
35 else
36 vb1 = ResourceEiBlendsHerBlenderInsteadOfHerSmoothie
37 endif
38else if $swapmain == 1
39 run = SubSubTextureOverride
40endif
41
42[SubSubTextureOverride]
43if $swapoffice == 0 && $swapglasses == 0
44 vb1 = GIMINeedsResourcesToAllStartWithResource
45endif
46
47[ResourceRaidenShogunBlend.0]
48type = Buffer
49stride = 32
50filename = ..\..\..\../../../../../../2-BunnyRaidenShogun\RaidenShogunBlend.buf
51
52[ResourceEiBlendsHerBlenderInsteadOfHerSmoothie]
53type = Buffer
54stride = 32
55if $swapmain == 1
56 filename = M:\AnotherDrive\CuteLittleEi.buf
57else
58 run = RaidenPuppetCommandResource
59endif
60
61[GIMINeedsResourcesToAllStartWithResource]
62type = Buffer
63stride = 32
64filename = ./../AAA/BBBB\CCCCCC\DDDDDRemapBlend.buf
65
66[RaidenPuppetCommandResource]
67type = Buffer
68stride = 32
69filename = ./Dont/Use\If/Statements\Or/SubCommands\In/Resource\Sections.buf
70
71; ------ some lines originally generated from the fix ---------
72
73[ResourceEiBlendsHerRemapBlenderInsteadOfHerSmoothie]
74type = Buffer
75stride = 32
76if $swapmain == 1
77 filename = M:\AnotherDrive\CuteLittleEiRemapBlend.buf
78else
79 run = RaidenPuppetCommandResourceRemapBlend
80endif
81
82[ResourceRaidenShogunRemapBlend.0]
83type = Buffer
84stride = 32
85filename = ..\..\..\..\..\..\..\..\..\2-BunnyRaidenShogun\RaidenShogunRemapBlend.buf
86
87[RaidenPuppetCommandResourceRemapBlend]
88type = Buffer
89stride = 32
90filename = Dont\Use\If\Statements\Or\SubCommands\In\Resource\SectionsRemapBlend.buf
91
92; --------------------------------------------------------------
93
94
95; --------------- Raiden Boss Fix -----------------
96; Raiden boss fixed by NK#1321 if you used it for fix your raiden pls give credit for "Nhok0169"
97; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 and Albert Gold#2696 for support
98
99[TextureOverrideRaidenShogunRemapBlend]
100run = CommandListRaidenShogunRemapBlend
101handling = skip
102draw = 21916,0
103
104[CommandListRaidenShogunRemapBlend]
105if $swapmain == 0
106 if $swapvar == 0 && $swapvarn == 0
107 vb1 = ResourceRaidenShogunRemapBlend.0
108 else
109 vb1 = ResourceEiBlendsHerRemapBlenderInsteadOfHerSmoothie
110 endif
111else if $swapmain == 1
112 run = SubSubTextureOverrideRemapBlend
113endif
114
115[SubSubTextureOverrideRemapBlend]
116if $swapoffice == 0 && $swapglasses == 0
117 vb1 = ResourceGIMINeedsResourcesToAllStartWithResourceRemapBlend
118endif
119
120
121[GIMINeedsResourcesToAllStartWithResourceRemapBlend]
122type = Buffer
123stride = 32
124filename = ..\AAA\BBBB\CCCCCC\DDDDDRemapRemapBlend.buf
125
126[ResourceEiBlendsHerRemapBlenderInsteadOfHerSmoothie]
127type = Buffer
128stride = 32
129if $swapmain == 1
130 filename = M:\AnotherDrive\CuteLittleEiRemapBlend.buf
131else
132 run = RaidenPuppetCommandResourceRemapBlend
133endif
134
135[ResourceRaidenShogunRemapBlend.0]
136type = Buffer
137stride = 32
138filename = ..\..\..\..\..\..\..\..\..\2-BunnyRaidenShogun\RaidenShogunRemapBlend.buf
139
140[RaidenPuppetCommandResourceRemapBlend]
141type = Buffer
142stride = 32
143filename = Dont\Use\If\Statements\Or\SubCommands\In\Resource\SectionsRemapBlend.buf
144
145
146; -------------------------------------------------
147"""
Code
148import AnimeGameRemap as AGR
149
150iniFile = AGR.IniFile(txt = showWackyRaidenIniTxtWithFix, modTypes = AGR.ModTypes.getAll())
151fixCode = iniFile.removeFix(keepBackups = False)
152
153print(fixCode)
Result
1[Constants]
2global persist $swapvar = 0
3global persist $swapvarn = 0
4global persist $swapmain = 0
5global persist $swapoffice = 0
6global persist $swapglasses = 0
7
8[KeyVar]
9condition = $active == 1
10key = VK_DOWN
11type = cycle
12$swapvar = 0,1,2
13
14[KeyIntoTheHole]
15condition = $active == 1
16key = VK_RIGHT
17type = cycle
18$swapvarn = 0,1
19
20; The top part is not really important, so I not going to finish
21; typing all the key swaps... π
22;
23; The bottom part is what the fix actually cares about
24
25[TextureOverrideRaidenShogunBlend]
26run = CommandListRaidenShogunBlend
27handling = skip
28draw = 21916,0
29
30[CommandListRaidenShogunBlend]
31if $swapmain == 0
32 if $swapvar == 0 && $swapvarn == 0
33 vb1 = ResourceRaidenShogunBlend.0
34 else
35 vb1 = ResourceEiBlendsHerBlenderInsteadOfHerSmoothie
36 endif
37else if $swapmain == 1
38 run = SubSubTextureOverride
39endif
40
41[SubSubTextureOverride]
42if $swapoffice == 0 && $swapglasses == 0
43 vb1 = GIMINeedsResourcesToAllStartWithResource
44endif
45
46[ResourceRaidenShogunBlend.0]
47type = Buffer
48stride = 32
49filename = ..\..\..\../../../../../../2-BunnyRaidenShogun\RaidenShogunBlend.buf
50
51[ResourceEiBlendsHerBlenderInsteadOfHerSmoothie]
52type = Buffer
53stride = 32
54if $swapmain == 1
55 filename = M:\AnotherDrive\CuteLittleEi.buf
56else
57 run = RaidenPuppetCommandResource
58endif
59
60[GIMINeedsResourcesToAllStartWithResource]
61type = Buffer
62stride = 32
63filename = ./../AAA/BBBB\CCCCCC\DDDDDRemapBlend.buf
64
65[RaidenPuppetCommandResource]
66type = Buffer
67stride = 32
68filename = ./Dont/Use\If/Statements\Or/SubCommands\In/Resource\Sections.buf
69
70; ------ some lines originally generated from the fix ---------
Fix a .ini File Given the File Pathο
This example is the combined result of these 2 examples:
Input
1[Constants]
2global persist $swapvar = 0
3global persist $swapvarn = 0
4global persist $swapmain = 0
5global persist $swapoffice = 0
6global persist $swapglasses = 0
7
8[KeyVar]
9condition = $active == 1
10key = VK_DOWN
11type = cycle
12$swapvar = 0,1,2
13
14[KeyIntoTheHole]
15condition = $active == 1
16key = VK_RIGHT
17type = cycle
18$swapvarn = 0,1
19
20; The top part is not really important, so I not going to finish
21; typing all the key swaps... π
22;
23; The bottom part is what the fix actually cares about
24
25[TextureOverrideRaidenShogunBlend]
26run = CommandListRaidenShogunBlend
27handling = skip
28draw = 21916,0
29
30[CommandListRaidenShogunBlend]
31if $swapmain == 0
32 if $swapvar == 0 && $swapvarn == 0
33 vb1 = ResourceRaidenShogunBlend.0
34 else
35 vb1 = ResourceEiBlendsHerBlenderInsteadOfHerSmoothie
36 endif
37else if $swapmain == 1
38 run = SubSubTextureOverride
39endif
40
41[SubSubTextureOverride]
42if $swapoffice == 0 && $swapglasses == 0
43 vb1 = GIMINeedsResourcesToAllStartWithResource
44endif
45
46[ResourceRaidenShogunBlend.0]
47type = Buffer
48stride = 32
49filename = ..\..\..\../../../../../../2-BunnyRaidenShogun\RaidenShogunBlend.buf
50
51[ResourceEiBlendsHerBlenderInsteadOfHerSmoothie]
52type = Buffer
53stride = 32
54if $swapmain == 1
55 filename = M:\AnotherDrive\CuteLittleEi.buf
56else
57 run = RaidenPuppetCommandResource
58endif
59
60[GIMINeedsResourcesToAllStartWithResource]
61type = Buffer
62stride = 32
63filename = ./../AAA/BBBB\CCCCCC\DDDDDRemapBlend.buf
64
65[RaidenPuppetCommandResource]
66type = Buffer
67stride = 32
68filename = ./Dont/Use\If/Statements\Or/SubCommands\In/Resource\Sections.buf
69
70; ------ some lines originally generated from the fix ---------
71
72[ResourceEiBlendsHerRemapBlenderInsteadOfHerSmoothie]
73type = Buffer
74stride = 32
75if $swapmain == 1
76 filename = M:\AnotherDrive\CuteLittleEiRemapBlend.buf
77else
78 run = RaidenPuppetCommandResourceRemapBlend
79endif
80
81[ResourceRaidenShogunRemapBlend.0]
82type = Buffer
83stride = 32
84filename = ..\..\..\..\..\..\..\..\..\2-BunnyRaidenShogun\RaidenShogunRemapBlend.buf
85
86[RaidenPuppetCommandResourceRemapBlend]
87type = Buffer
88stride = 32
89filename = Dont\Use\If\Statements\Or\SubCommands\In\Resource\SectionsRemapBlend.buf
90
91; --------------------------------------------------------------
92
93
94; --------------- Raiden Boss Fix -----------------
95; Raiden boss fixed by NK#1321 if you used it for fix your raiden pls give credit for "Nhok0169"
96; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 and Albert Gold#2696 for support
97
98[TextureOverrideRaidenShogunRemapBlend]
99run = CommandListRaidenShogunRemapBlend
100handling = skip
101draw = 21916,0
102
103[CommandListRaidenShogunRemapBlend]
104if $swapmain == 0
105 if $swapvar == 0 && $swapvarn == 0
106 vb1 = ResourceRaidenShogunRemapBlend.0
107 else
108 vb1 = ResourceEiBlendsHerRemapBlenderInsteadOfHerSmoothie
109 endif
110else if $swapmain == 1
111 run = SubSubTextureOverrideRemapBlend
112endif
113
114[SubSubTextureOverrideRemapBlend]
115if $swapoffice == 0 && $swapglasses == 0
116 vb1 = ResourceGIMINeedsResourcesToAllStartWithResourceRemapBlend
117endif
118
119
120[GIMINeedsResourcesToAllStartWithResourceRemapBlend]
121type = Buffer
122stride = 32
123filename = ..\AAA\BBBB\CCCCCC\DDDDDRemapRemapBlend.buf
124
125[ResourceEiBlendsHerRemapBlenderInsteadOfHerSmoothie]
126type = Buffer
127stride = 32
128if $swapmain == 1
129 filename = M:\AnotherDrive\CuteLittleEiRemapBlend.buf
130else
131 run = RaidenPuppetCommandResourceRemapBlend
132endif
133
134[ResourceRaidenShogunRemapBlend.0]
135type = Buffer
136stride = 32
137filename = ..\..\..\..\..\..\..\..\..\2-BunnyRaidenShogun\RaidenShogunRemapBlend.buf
138
139[RaidenPuppetCommandResourceRemapBlend]
140type = Buffer
141stride = 32
142filename = Dont\Use\If\Statements\Or\SubCommands\In\Resource\SectionsRemapBlend.buf
143
144
145; -------------------------------------------------
Code
1import AnimeGameRemap as AGR
2
3iniFile = AGR.IniFile("PartiallyFixedRaiden.ini", modTypes = AGR.ModTypes.getAll())
4iniFile.removeFix(keepBackups = False)
5iniFile.parse()
6iniFile.fix()
Result
1[Constants]
2global persist $swapvar = 0
3global persist $swapvarn = 0
4global persist $swapmain = 0
5global persist $swapoffice = 0
6global persist $swapglasses = 0
7
8[KeyVar]
9condition = $active == 1
10key = VK_DOWN
11type = cycle
12$swapvar = 0,1,2
13
14[KeyIntoTheHole]
15condition = $active == 1
16key = VK_RIGHT
17type = cycle
18$swapvarn = 0,1
19
20; The top part is not really important, so I not going to finish
21; typing all the key swaps... π
22;
23; The bottom part is what the fix actually cares about
24
25[TextureOverrideRaidenShogunBlend]
26run = CommandListRaidenShogunBlend
27handling = skip
28draw = 21916,0
29
30[CommandListRaidenShogunBlend]
31if $swapmain == 0
32 if $swapvar == 0 && $swapvarn == 0
33 vb1 = ResourceRaidenShogunBlend.0
34 else
35 vb1 = ResourceEiBlendsHerBlenderInsteadOfHerSmoothie
36 endif
37else if $swapmain == 1
38 run = SubSubTextureOverride
39endif
40
41[SubSubTextureOverride]
42if $swapoffice == 0 && $swapglasses == 0
43 vb1 = GIMINeedsResourcesToAllStartWithResource
44endif
45
46[ResourceRaidenShogunBlend.0]
47type = Buffer
48stride = 32
49filename = ..\..\..\../../../../../../2-BunnyRaidenShogun\RaidenShogunBlend.buf
50
51[ResourceEiBlendsHerBlenderInsteadOfHerSmoothie]
52type = Buffer
53stride = 32
54if $swapmain == 1
55 filename = M:\AnotherDrive\CuteLittleEi.buf
56else
57 run = RaidenPuppetCommandResource
58endif
59
60[GIMINeedsResourcesToAllStartWithResource]
61type = Buffer
62stride = 32
63filename = ./../AAA/BBBB\CCCCCC\DDDDDRemapBlend.buf
64
65[RaidenPuppetCommandResource]
66type = Buffer
67stride = 32
68filename = ./Dont/Use\If/Statements\Or/SubCommands\In/Resource\Sections.buf
69
70; ------ some lines originally generated from the fix ---------
71
72
73
74
75; --------------- Raiden Remap ---------------
76; Raiden remapped by NK#1321 and Albert Gold#2696. If you used it to remap your Raiden mods pls give credit for "Nhok0169" and "Albert Gold#2696"
77; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
78
79; ***** RaidenBoss *****
80[TextureOverrideRaidenShogunRaidenBossRemapBlend]
81run = CommandListRaidenShogunRaidenBossRemapBlend
82handling = skip
83draw = 21916,0
84
85[CommandListRaidenShogunRaidenBossRemapBlend]
86if $swapmain == 0
87 if $swapvar == 0 && $swapvarn == 0
88 vb1 = ResourceRaidenShogunRaidenBossRemapBlend.0
89 else
90 vb1 = ResourceEiBlendsHerRaidenBossRemapBlenderInsteadOfHerSmoothie
91 endif
92else if $swapmain == 1
93 run = SubSubTextureOverrideRaidenBossRemapBlend
94endif
95
96[SubSubTextureOverrideRaidenBossRemapBlend]
97if $swapoffice == 0 && $swapglasses == 0
98 vb1 = ResourceGIMINeedsResourcesToAllStartWithResourceRaidenBossRemapBlend
99endif
100
101
102[ResourceGIMINeedsResourcesToAllStartWithResourceRaidenBossRemapBlend]
103type = Buffer
104stride = 32
105filename = ../AAA/BBBB/CCCCCC/DDDDDRemapRaidenBossRemapBlend.buf
106
107[ResourceEiBlendsHerRaidenBossRemapBlenderInsteadOfHerSmoothie]
108type = Buffer
109stride = 32
110if $swapmain == 1
111 filename = M:/AnotherDrive/CuteLittleEiRaidenBossRemapBlend.buf
112else
113 run = ResourceRaidenPuppetCommandResourceRaidenBossRemapBlend
114endif
115
116[ResourceRaidenPuppetCommandResourceRaidenBossRemapBlend]
117type = Buffer
118stride = 32
119filename = Dont/Use/If/Statements/Or/SubCommands/In/Resource/SectionsRaidenBossRemapBlend.buf
120
121[ResourceRaidenShogunRaidenBossRemapBlend.0]
122type = Buffer
123stride = 32
124filename = ../../../../../../../../../2-BunnyRaidenShogun/RaidenShogunRaidenBossRemapBlend.buf
125
126; **********************
127
128; --------------------------------------------
Fix a .ini File Given Only A String Containing the Content of the Fileο
This example is the combined result of these 2 examples:
Only Fix .Ini file Given Only a String Containing the Content of the File
Remove a Fix from a .ini File Given Only a String Containing the Content of the File
Input
1showWackyRaidenIniTxtWithFix = r"""
2[Constants]
3global persist $swapvar = 0
4global persist $swapvarn = 0
5global persist $swapmain = 0
6global persist $swapoffice = 0
7global persist $swapglasses = 0
8
9[KeyVar]
10condition = $active == 1
11key = VK_DOWN
12type = cycle
13$swapvar = 0,1,2
14
15[KeyIntoTheHole]
16condition = $active == 1
17key = VK_RIGHT
18type = cycle
19$swapvarn = 0,1
20
21; The top part is not really important, so I not going to finish
22; typing all the key swaps... π
23;
24; The bottom part is what the fix actually cares about
25
26[TextureOverrideRaidenShogunBlend]
27run = CommandListRaidenShogunBlend
28handling = skip
29draw = 21916,0
30
31[CommandListRaidenShogunBlend]
32if $swapmain == 0
33 if $swapvar == 0 && $swapvarn == 0
34 vb1 = ResourceRaidenShogunBlend.0
35 else
36 vb1 = ResourceEiBlendsHerBlenderInsteadOfHerSmoothie
37 endif
38else if $swapmain == 1
39 run = SubSubTextureOverride
40endif
41
42[SubSubTextureOverride]
43if $swapoffice == 0 && $swapglasses == 0
44 vb1 = GIMINeedsResourcesToAllStartWithResource
45endif
46
47[ResourceRaidenShogunBlend.0]
48type = Buffer
49stride = 32
50filename = ..\..\..\../../../../../../2-BunnyRaidenShogun\RaidenShogunBlend.buf
51
52[ResourceEiBlendsHerBlenderInsteadOfHerSmoothie]
53type = Buffer
54stride = 32
55if $swapmain == 1
56 filename = M:\AnotherDrive\CuteLittleEi.buf
57else
58 run = RaidenPuppetCommandResource
59endif
60
61[GIMINeedsResourcesToAllStartWithResource]
62type = Buffer
63stride = 32
64filename = ./../AAA/BBBB\CCCCCC\DDDDDRemapBlend.buf
65
66[RaidenPuppetCommandResource]
67type = Buffer
68stride = 32
69filename = ./Dont/Use\If/Statements\Or/SubCommands\In/Resource\Sections.buf
70
71; ------ some lines originally generated from the fix ---------
72
73[ResourceEiBlendsHerRemapBlenderInsteadOfHerSmoothie]
74type = Buffer
75stride = 32
76if $swapmain == 1
77 filename = M:\AnotherDrive\CuteLittleEiRemapBlend.buf
78else
79 run = RaidenPuppetCommandResourceRemapBlend
80endif
81
82[ResourceRaidenShogunRemapBlend.0]
83type = Buffer
84stride = 32
85filename = ..\..\..\..\..\..\..\..\..\2-BunnyRaidenShogun\RaidenShogunRemapBlend.buf
86
87[RaidenPuppetCommandResourceRemapBlend]
88type = Buffer
89stride = 32
90filename = Dont\Use\If\Statements\Or\SubCommands\In\Resource\SectionsRemapBlend.buf
91
92; --------------------------------------------------------------
93
94
95; --------------- Raiden Boss Fix -----------------
96; Raiden boss fixed by NK#1321 if you used it for fix your raiden pls give credit for "Nhok0169"
97; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 and Albert Gold#2696 for support
98
99[TextureOverrideRaidenShogunRemapBlend]
100run = CommandListRaidenShogunRemapBlend
101handling = skip
102draw = 21916,0
103
104[CommandListRaidenShogunRemapBlend]
105if $swapmain == 0
106 if $swapvar == 0 && $swapvarn == 0
107 vb1 = ResourceRaidenShogunRemapBlend.0
108 else
109 vb1 = ResourceEiBlendsHerRemapBlenderInsteadOfHerSmoothie
110 endif
111else if $swapmain == 1
112 run = SubSubTextureOverrideRemapBlend
113endif
114
115[SubSubTextureOverrideRemapBlend]
116if $swapoffice == 0 && $swapglasses == 0
117 vb1 = ResourceGIMINeedsResourcesToAllStartWithResourceRemapBlend
118endif
119
120
121[GIMINeedsResourcesToAllStartWithResourceRemapBlend]
122type = Buffer
123stride = 32
124filename = ..\AAA\BBBB\CCCCCC\DDDDDRemapRemapBlend.buf
125
126[ResourceEiBlendsHerRemapBlenderInsteadOfHerSmoothie]
127type = Buffer
128stride = 32
129if $swapmain == 1
130 filename = M:\AnotherDrive\CuteLittleEiRemapBlend.buf
131else
132 run = RaidenPuppetCommandResourceRemapBlend
133endif
134
135[ResourceRaidenShogunRemapBlend.0]
136type = Buffer
137stride = 32
138filename = ..\..\..\..\..\..\..\..\..\2-BunnyRaidenShogun\RaidenShogunRemapBlend.buf
139
140[RaidenPuppetCommandResourceRemapBlend]
141type = Buffer
142stride = 32
143filename = Dont\Use\If\Statements\Or\SubCommands\In\Resource\SectionsRemapBlend.buf
144
145
146; -------------------------------------------------
147"""
Code
148import AnimeGameRemap as AGR
149
150iniFile = AGR.IniFile(txt = showWackyRaidenIniTxtWithFix, modTypes = AGR.ModTypes.getAll())
151iniFile.removeFix(keepBackups = False)
152iniFile.parse()
153fixResult = iniFile.fix()
154
155print(fixResult)
Result
1[Constants]
2global persist $swapvar = 0
3global persist $swapvarn = 0
4global persist $swapmain = 0
5global persist $swapoffice = 0
6global persist $swapglasses = 0
7
8[KeyVar]
9condition = $active == 1
10key = VK_DOWN
11type = cycle
12$swapvar = 0,1,2
13
14[KeyIntoTheHole]
15condition = $active == 1
16key = VK_RIGHT
17type = cycle
18$swapvarn = 0,1
19
20; The top part is not really important, so I not going to finish
21; typing all the key swaps... π
22;
23; The bottom part is what the fix actually cares about
24
25[TextureOverrideRaidenShogunBlend]
26run = CommandListRaidenShogunBlend
27handling = skip
28draw = 21916,0
29
30[CommandListRaidenShogunBlend]
31if $swapmain == 0
32 if $swapvar == 0 && $swapvarn == 0
33 vb1 = ResourceRaidenShogunBlend.0
34 else
35 vb1 = ResourceEiBlendsHerBlenderInsteadOfHerSmoothie
36 endif
37else if $swapmain == 1
38 run = SubSubTextureOverride
39endif
40
41[SubSubTextureOverride]
42if $swapoffice == 0 && $swapglasses == 0
43 vb1 = GIMINeedsResourcesToAllStartWithResource
44endif
45
46[ResourceRaidenShogunBlend.0]
47type = Buffer
48stride = 32
49filename = ..\..\..\../../../../../../2-BunnyRaidenShogun\RaidenShogunBlend.buf
50
51[ResourceEiBlendsHerBlenderInsteadOfHerSmoothie]
52type = Buffer
53stride = 32
54if $swapmain == 1
55 filename = M:\AnotherDrive\CuteLittleEi.buf
56else
57 run = RaidenPuppetCommandResource
58endif
59
60[GIMINeedsResourcesToAllStartWithResource]
61type = Buffer
62stride = 32
63filename = ./../AAA/BBBB\CCCCCC\DDDDDRemapBlend.buf
64
65[RaidenPuppetCommandResource]
66type = Buffer
67stride = 32
68filename = ./Dont/Use\If/Statements\Or/SubCommands\In/Resource\Sections.buf
69
70; ------ some lines originally generated from the fix ---------
71
72
73
74
75; --------------- Raiden Remap ---------------
76; Raiden remapped by NK#1321 and Albert Gold#2696. If you used it to remap your Raiden mods pls give credit for "Nhok0169" and "Albert Gold#2696"
77; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
78
79; ***** RaidenBoss *****
80[TextureOverrideRaidenShogunRaidenBossRemapBlend]
81run = CommandListRaidenShogunRaidenBossRemapBlend
82handling = skip
83draw = 21916,0
84
85[CommandListRaidenShogunRaidenBossRemapBlend]
86if $swapmain == 0
87 if $swapvar == 0 && $swapvarn == 0
88 vb1 = ResourceRaidenShogunRaidenBossRemapBlend.0
89 else
90 vb1 = ResourceEiBlendsHerRaidenBossRemapBlenderInsteadOfHerSmoothie
91 endif
92else if $swapmain == 1
93 run = SubSubTextureOverrideRaidenBossRemapBlend
94endif
95
96[SubSubTextureOverrideRaidenBossRemapBlend]
97if $swapoffice == 0 && $swapglasses == 0
98 vb1 = ResourceGIMINeedsResourcesToAllStartWithResourceRaidenBossRemapBlend
99endif
100
101
102[ResourceGIMINeedsResourcesToAllStartWithResourceRaidenBossRemapBlend]
103type = Buffer
104stride = 32
105filename = ../AAA/BBBB/CCCCCC/DDDDDRemapRaidenBossRemapBlend.buf
106
107[ResourceEiBlendsHerRaidenBossRemapBlenderInsteadOfHerSmoothie]
108type = Buffer
109stride = 32
110if $swapmain == 1
111 filename = M:/AnotherDrive/CuteLittleEiRaidenBossRemapBlend.buf
112else
113 run = ResourceRaidenPuppetCommandResourceRaidenBossRemapBlend
114endif
115
116[ResourceRaidenPuppetCommandResourceRaidenBossRemapBlend]
117type = Buffer
118stride = 32
119filename = Dont/Use/If/Statements/Or/SubCommands/In/Resource/SectionsRaidenBossRemapBlend.buf
120
121[ResourceRaidenShogunRaidenBossRemapBlend.0]
122type = Buffer
123stride = 32
124filename = ../../../../../../../../../2-BunnyRaidenShogun/RaidenShogunRaidenBossRemapBlend.buf
125
126; **********************
127
128; --------------------------------------------
Fixing a .ini File to a Specific Version of the Gameο
This example shows a weird use case of wanting to fix the .ini file to an older version of the game (eg. when Fontaine first came out β> before the βGreat Hash Updateβ)
Note
The hashes and the indices are changed in the new .ini file to the older version of the game (the fix basically travelled in time!).
To fix an entire mod for a specific version of the game, where the vertex group remaps of the Blend.buf files will also be affected by the specific game version go to Fixing Entire Mods to a Specific Version of the Game
Input
1[Constants]
2global persist $swapvar = 0
3
4[KeySwap]
5condition = $active == 1
6key = VK_DOWN
7type = cycle
8$swapvar = 0,1
9$creditinfo = 0
10
11[TextureOverrideKeqingBlend]
12if $swapvar == 0
13 vb1 = ResourceKeqingBlend.0
14 handling = skip
15 draw = 21916,0
16else if $swapvar == 1
17 vb1 = ResourceKeqingBlend.1
18 handling = skip
19 draw = 21916,0
20endif
21
22[TextureOverrideKeqingBody]
23hash = cbf1894b
24match_first_index = 10824
25run = CommandListKeqingBody
26
27[CommandListKeqingBody]
28if $swapvar == 0
29 ib = ResourceKeqingBodyIB.0
30 ps-t0 = ResourceKeqingBodyDiffuse.0
31 ps-t1 = ResourceKeqingBodyLightMap.0
32 ps-t2 = ResourceKeqingBodyMetalMap.0
33 ps-t3 = ResourceKeqingBodyShadowRamp.0
34else if $swapvar == 1
35 ib = ResourceKeqingBodyIB.3
36 ps-t0 = ResourceKeqingBodyDiffuse.3
37 ps-t1 = ResourceKeqingBodyLightMap.3
38endif
39
40[TextureOverrideKeqingDress]
41hash = cbf1894b
42match_first_index = 48216
43run = CommandListKeqingDress
44
45[CommandListKeqingDress]
46if $swapvar == 0
47 ib = ResourceKeqingDressIB.0
48 ps-t0 = ResourceKeqingDressDiffuse.0
49 ps-t1 = ResourceKeqingDressLightMap.0
50 ps-t2 = ResourceKeqingDressMetalMap.0
51 ps-t3 = ResourceKeqingDressShadowRamp.0
52else if $swapvar == 1
53 ib = ResourceKeqingDressIB.3
54 ps-t0 = ResourceKeqingDressDiffuse.3
55 ps-t1 = ResourceKeqingDressLightMap.3
56endif
57
58[ResourceKeqingBlend.0]
59type = Buffer
60stride = 32
61filename = ../Buffs/ISwearItsFor.buf
62
63[ResourceKeqingBlend.1]
64type = Buffer
65stride = 32
66filename = ../Buffs/SmallerHitboxes.buf
Code
1import AnimeGameRemap as AGR
2
3iniFile = AGR.IniFile("changeVersionKeqing.ini", modTypes = AGR.ModTypes.getAll(), version = 4.0)
4iniFile.parse()
5iniFile.fix()
6
7print(fixResult)
Result
1[Constants]
2global persist $swapvar = 0
3
4[KeySwap]
5condition = $active == 1
6key = VK_DOWN
7type = cycle
8$swapvar = 0,1
9$creditinfo = 0
10
11[TextureOverrideKeqingBlend]
12if $swapvar == 0
13 vb1 = ResourceKeqingBlend.0
14 handling = skip
15 draw = 21916,0
16else if $swapvar == 1
17 vb1 = ResourceKeqingBlend.1
18 handling = skip
19 draw = 21916,0
20endif
21
22[TextureOverrideKeqingBody]
23hash = cbf1894b
24match_first_index = 10824
25run = CommandListKeqingBody
26
27[CommandListKeqingBody]
28if $swapvar == 0
29 ib = ResourceKeqingBodyIB.0
30 ps-t0 = ResourceKeqingBodyDiffuse.0
31 ps-t1 = ResourceKeqingBodyLightMap.0
32 ps-t2 = ResourceKeqingBodyMetalMap.0
33 ps-t3 = ResourceKeqingBodyShadowRamp.0
34else if $swapvar == 1
35 ib = ResourceKeqingBodyIB.3
36 ps-t0 = ResourceKeqingBodyDiffuse.3
37 ps-t1 = ResourceKeqingBodyLightMap.3
38endif
39
40[TextureOverrideKeqingDress]
41hash = cbf1894b
42match_first_index = 48216
43run = CommandListKeqingDress
44
45[CommandListKeqingDress]
46if $swapvar == 0
47 ib = ResourceKeqingDressIB.0
48 ps-t0 = ResourceKeqingDressDiffuse.0
49 ps-t1 = ResourceKeqingDressLightMap.0
50 ps-t2 = ResourceKeqingDressMetalMap.0
51 ps-t3 = ResourceKeqingDressShadowRamp.0
52else if $swapvar == 1
53 ib = ResourceKeqingDressIB.3
54 ps-t0 = ResourceKeqingDressDiffuse.3
55 ps-t1 = ResourceKeqingDressLightMap.3
56endif
57
58[ResourceKeqingBlend.0]
59type = Buffer
60stride = 32
61filename = ../Buffs/ISwearItsFor.buf
62
63[ResourceKeqingBlend.1]
64type = Buffer
65stride = 32
66filename = ../Buffs/SmallerHitboxes.buf
67
68
69; --------------- Keqing Remap ---------------
70; Keqing remapped by NK#1321 and Albert Gold#2696. If you used it to remap your Keqing mods pls give credit for "Nhok0169" and "Albert Gold#2696"
71; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
72
73; ***** KeqingOpulent *****
74[TextureOverrideKeqingKeqingOpulentRemapBlend]
75if $swapvar == 0
76 vb1 = ResourceKeqingKeqingOpulentRemapBlend.0
77 handling = skip
78 draw = 21916,0
79else if $swapvar == 1
80 vb1 = ResourceKeqingKeqingOpulentRemapBlend.1
81 handling = skip
82 draw = 21916,0
83endif
84
85
86[TextureOverrideKeqingBodyKeqingOpulentRemapFix]
87hash = 44bba21c
88match_first_index = 19623
89run = CommandListKeqingBodyKeqingOpulentRemapFix
90
91[CommandListKeqingBodyKeqingOpulentRemapFix]
92if $swapvar == 0
93 ib = ResourceKeqingBodyIB.0
94 ps-t0 = ResourceKeqingBodyDiffuse.0
95 ps-t1 = ResourceKeqingBodyLightMap.0
96 ps-t2 = ResourceKeqingBodyMetalMap.0
97 ps-t3 = ResourceKeqingBodyShadowRamp.0
98else if $swapvar == 1
99 ib = ResourceKeqingBodyIB.3
100 ps-t0 = ResourceKeqingBodyDiffuse.3
101 ps-t1 = ResourceKeqingBodyLightMap.3
102endif
103
104
105[ResourceKeqingKeqingOpulentRemapBlend.0]
106type = Buffer
107stride = 32
108filename = ../Buffs/ISwearItsForKeqingOpulentRemapBlend.buf
109
110[ResourceKeqingKeqingOpulentRemapBlend.1]
111type = Buffer
112stride = 32
113filename = ../Buffs/SmallerHitboxesKeqingOpulentRemapBlend.buf
114
115; *************************
116
117; --------------------------------------------
Fixing Blend.buf Filesο
Below are different ways of fixing either:
A single .*Blend.buf file
ORThe content contained in a single .*Blend.buf file
Get a New and Fixed Blend.buf file Given the File path to an Existing Blend.buf Fileο
This example will make the fixed Blend.buf and put it in the same folder where the program is ran
Input
assume we have this file structure and we are running from a file called example.py
RaidenShogun
|
+--> LittleEiBlend.buf
|
+--> Mod
|
+--> example.py
Code
1import AnimeGameRemap as AGR
2
3AGR.Mod.blendCorrection("../LittleEiBlend.buf", AGR.ModTypes.Raiden.value, "PuppetEiGotRemapped.buf")
Result
A new .buf file called PuppetEiGotRemapped.buf is created that includes the fix to LittleEiBlend.buf
RaidenShogun
|
+--> LittleEiBlend.buf
|
+--> Mod
|
+--> example.py
|
+--> PuppetEiGotRemapped.buf
Create the Bytes to the Fixed Blend.buf File Given the Bytes of the Existing Blend.buf Fileο
This example will make the fixed Blend.buf and put it in the same folder where the program is ran
Input
assume we have this file structure and we are running from a file called example.py
RaidenShogun
|
+--> LittleEiBlend.buf
|
+--> Mod
|
+--> example.py
assume example.py first reads in the bytes from LittleEiBlend.buf
1inputBytes = None
2with open("../LittleEiBlend.buf", "rb") as f:
3 inputBytes = f.read()
Code
4import AnimeGameRemap as AGR
5
6fixedBytes = AGR.Mod.blendCorrection(inputBytes, AGR.ModTypes.Raiden.value)
7print(fixedBytes)
Result
The bytes that fixes LittleEiBlend.buf
Fixing Entire Modsο
The below examples simulate executing the entire script, but through the API
Fixing Many Modsο
In this example, by running the program called example.py, the fix will start from the RaidenShogun/Mod folder and will:
Undo previous changes created by the fix
Fix all the files related to mods
Note
We set the verbose parmeter to False to not print out the usual logging text when you run the script.
If you want to print out the logging text, set verbose to True
Input
Assume we have this file structure:
File Structure
RaidenShogun
|
+--> AnotherSubTree
| |
| +--> someFolder
| |
| +--> disconnectedSubTree.ini
|
+--> Mod
| |
| +--> folder
| | |
| | +--> folderInFolder
| | |
| | +--> BlendToDisconnectedSubTree.buf
| | |
| | +--> BlendToDisconnectedSubTree2.buf
| |
| +--> folder2
| | |
| | +--> folderInFolder2
| | |
| | +--> AnotherFolder
| | |
| | +--> disconnectedSubTree2.ini
| |
| +--> pythonScript
| | |
| | +--> Run
| | |
| | +--> example.py
| |
| +--> ei.ini
| |
| +--> ei2.ini
| |
| +--> RaidenShogunBlend.buf
|
+--> ParentNodeBlend.buf
Assume below are the content for each .ini file
ei.ini
1[Constants]
2global persist $swapvar = 0
3
4[KeySwap]
5condition = $active == 1
6key = VK_DOWN
7type = cycle
8$swapvar = 0,1
9$creditinfo = 0
10
11
12[TextureOverrideRaidenShogunBlend]
13if $swapvar == 0
14 vb1 = ResourceRaidenShogunBlend.0
15 handling = skip
16 draw = 21916,0
17else if $swapvar == 1
18 vb1 = ResourceRaidenShogunBlend.1
19 handling = skip
20 draw = 21916,0
21endif
22
23[ResourceRaidenShogunBlend.0]
24type = Buffer
25stride = 32
26filename = RaidenShogunBlend.buf
27
28[ResourceRaidenShogunBlend.1]
29type = Buffer
30stride = 32
31filename = ../ParentNodeBlend.buf
ei2.ini
1[TextureOverrideRaidenShogunBlend]
2vb1 = ResourceRaidenShogunBlend
3handling = skip
4draw = 21916,0
5
6[ResourceRaidenShogunBlend]
7type = Buffer
8stride = 32
9filename = RaidenShogunBlend.buf
disconnectedSubTree.ini
1[TextureOverrideRaidenShogunBlend]
2vb1 = ResourceRaidenShogunBlend
3handling = skip
4draw = 21916,0
5
6[ResourceRaidenShogunBlend]
7type = Buffer
8stride = 32
9filename = ../../Mod/folder/folderInFolder/BlendToDisconnectedSubTree.buf
disconnectedSubTree2.ini
1[TextureOverrideRaidenShogunBlend]
2vb1 = ResourceRaidenShogunBlend
3handling = skip
4draw = 21916,0
5
6[ResourceRaidenShogunBlend]
7type = Buffer
8stride = 32
9filename = ../../../folder/folderInFolder/BlendToDisconnectedSubTree2.buf
Code
1import AnimeGameRemap as AGR
2
3fixService = AGR.BossFixService(path = "../../", verbose = False, keepBackups = False)
4fixService.fix()
Result
Contains the fixed files for the mods.
New File Structure:
File Strucuture
RaidenShogun
|
+--> AnotherSubTree
| |
| +--> someFolder
| |
| +--> disconnectedSubTree.ini
|
+--> Mod
| |
| +--> folder
| | |
| | +--> folderInFolder
| | |
| | +--> BlendToDisconnectedSubTree.buf
| | |
| | +--> BlendToDisconnectedSubTree2.buf
| | |
| | +--> RaidenBossRemapBlendToDisconnectedSubTree.buf
| | |
| | +--> RaidenBossRemapBlendToDisconnectedSubTree2.buf
| |
| +--> folder2
| | |
| | +--> folderInFolder2
| | |
| | +--> AnotherFolder
| | |
| | +--> disconnectedSubTree2.ini
| |
| +--> pythonScript
| | |
| | +--> Run
| | |
| | +--> example.py
| |
| +--> ei.ini
| |
| +--> ei2.ini
| |
| +--> RaidenShogunBlend.buf
| |
| +--> RaidenShogunRaidenBossRemapBlend.buf
|
+--> ParentNodeBlend.buf
|
+--> ParentNodeRaidenBossRemapBlend.buf
Below contains the new content of the fixed.ini files:
ei.ini
1[Constants]
2global persist $swapvar = 0
3
4[KeySwap]
5condition = $active == 1
6key = VK_DOWN
7type = cycle
8$swapvar = 0,1
9$creditinfo = 0
10
11
12[TextureOverrideRaidenShogunBlend]
13if $swapvar == 0
14 vb1 = ResourceRaidenShogunBlend.0
15 handling = skip
16 draw = 21916,0
17else if $swapvar == 1
18 vb1 = ResourceRaidenShogunBlend.1
19 handling = skip
20 draw = 21916,0
21endif
22
23[ResourceRaidenShogunBlend.0]
24type = Buffer
25stride = 32
26filename = RaidenShogunBlend.buf
27
28[ResourceRaidenShogunBlend.1]
29type = Buffer
30stride = 32
31filename = ../ParentNodeBlend.buf
32
33
34; --------------- Raiden Remap ---------------
35; Raiden remapped by NK#1321 and Albert Gold#2696. If you used it to remap your Raiden mods pls give credit for "Nhok0169" and "Albert Gold#2696"
36; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
37
38; ***** RaidenBoss *****
39[TextureOverrideRaidenShogunRaidenBossRemapBlend]
40if $swapvar == 0
41 vb1 = ResourceRaidenShogunRaidenBossRemapBlend.0
42 handling = skip
43 draw = 21916,0
44else if $swapvar == 1
45 vb1 = ResourceRaidenShogunRaidenBossRemapBlend.1
46 handling = skip
47 draw = 21916,0
48endif
49
50
51[ResourceRaidenShogunRaidenBossRemapBlend.0]
52type = Buffer
53stride = 32
54filename = RaidenShogunRaidenBossRemapBlend.buf
55
56[ResourceRaidenShogunRaidenBossRemapBlend.1]
57type = Buffer
58stride = 32
59filename = ../ParentNodeRaidenBossRemapBlend.buf
60
61; **********************
62
63; --------------------------------------------
ei2.ini
1[TextureOverrideRaidenShogunBlend]
2vb1 = ResourceRaidenShogunBlend
3handling = skip
4draw = 21916,0
5
6[ResourceRaidenShogunBlend]
7type = Buffer
8stride = 32
9filename = RaidenShogunBlend.buf
10
11
12; --------------- Raiden Remap ---------------
13; Raiden remapped by NK#1321 and Albert Gold#2696. If you used it to remap your Raiden mods pls give credit for "Nhok0169" and "Albert Gold#2696"
14; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
15
16; ***** RaidenBoss *****
17[TextureOverrideRaidenShogunRaidenBossRemapBlend]
18vb1 = ResourceRaidenShogunRaidenBossRemapBlend
19handling = skip
20draw = 21916,0
21
22
23[ResourceRaidenShogunRaidenBossRemapBlend]
24type = Buffer
25stride = 32
26filename = RaidenShogunRaidenBossRemapBlend.buf
27
28; **********************
29
30; --------------------------------------------
disconnectedSubTree.ini
1[TextureOverrideRaidenShogunBlend]
2vb1 = ResourceRaidenShogunBlend
3handling = skip
4draw = 21916,0
5
6[ResourceRaidenShogunBlend]
7type = Buffer
8stride = 32
9filename = ../../Mod/folder/folderInFolder/BlendToDisconnectedSubTree.buf
10
11
12; --------------- Raiden Remap ---------------
13; Raiden remapped by NK#1321 and Albert Gold#2696. If you used it to remap your Raiden mods pls give credit for "Nhok0169" and "Albert Gold#2696"
14; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
15
16; ***** RaidenBoss *****
17[TextureOverrideRaidenShogunRaidenBossRemapBlend]
18vb1 = ResourceRaidenShogunRaidenBossRemapBlend
19handling = skip
20draw = 21916,0
21
22
23[ResourceRaidenShogunRaidenBossRemapBlend]
24type = Buffer
25stride = 32
26filename = ../../Mod/folder/folderInFolder/RaidenBossRemapBlendToDisconnectedSubTree.buf
27
28; **********************
29
30; --------------------------------------------
disconnectedSubTree2.ini
1[TextureOverrideRaidenShogunBlend]
2vb1 = ResourceRaidenShogunBlend
3handling = skip
4draw = 21916,0
5
6[ResourceRaidenShogunBlend]
7type = Buffer
8stride = 32
9filename = ../../../folder/folderInFolder/BlendToDisconnectedSubTree2.buf
10
11
12; --------------- Raiden Remap ---------------
13; Raiden remapped by NK#1321 and Albert Gold#2696. If you used it to remap your Raiden mods pls give credit for "Nhok0169" and "Albert Gold#2696"
14; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
15
16; ***** RaidenBoss *****
17[TextureOverrideRaidenShogunRaidenBossRemapBlend]
18vb1 = ResourceRaidenShogunRaidenBossRemapBlend
19handling = skip
20draw = 21916,0
21
22
23[ResourceRaidenShogunRaidenBossRemapBlend]
24type = Buffer
25stride = 32
26filename = ../../../folder/folderInFolder/RaidenBossRemapBlendToDisconnectedSubTree2.buf
27
28; **********************
29
30; --------------------------------------------
Undo the Fix from Many Modsο
In this example, by running the program called example.py, the fix will start from the RaidenShogun/Mod folder and undo all previous changes done by the script
Note
We set the verbose parmeter to False to not print out the usual logging text when you run the script.
If you want to print out the logging text, set verbose to True
Input
Assume we have this file structure:
File Strucuture
RaidenShogun
|
+--> AnotherSubTree
| |
| +--> someFolder
| |
| +--> disconnectedSubTree.ini
|
+--> Mod
| |
| +--> folder
| | |
| | +--> folderInFolder
| | |
| | +--> BlendToDisconnectedSubTree.buf
| | |
| | +--> BlendToDisconnectedSubTree2.buf
| | |
| | +--> RemapBlendToDisconnectedSubTree.buf
| | |
| | +--> RemapBlendToDisconnectedSubTree2.buf
| |
| +--> folder2
| | |
| | +--> folderInFolder2
| | |
| | +--> AnotherFolder
| | |
| | +--> disconnectedSubTree2.ini
| |
| +--> pythonScript
| | |
| | +--> Run
| | |
| | +--> example.py
| |
| +--> ei.ini
| |
| +--> ei2.ini
| |
| +--> RaidenShogunBlend.buf
| |
| +--> RaidenShogunRemapBlend.buf
|
+--> ParentNodeBlend.buf
|
+--> ParentNodeRemapBlend.buf
Assume below are the content of each .ini file
ei.ini
1[Constants]
2global persist $swapvar = 0
3
4[KeySwap]
5condition = $active == 1
6key = VK_DOWN
7type = cycle
8$swapvar = 0,1
9$creditinfo = 0
10
11
12[TextureOverrideRaidenShogunBlend]
13if $swapvar == 0
14 vb1 = ResourceRaidenShogunBlend.0
15 handling = skip
16 draw = 21916,0
17else if $swapvar == 1
18 vb1 = ResourceRaidenShogunBlend.1
19 handling = skip
20 draw = 21916,0
21endif
22
23[ResourceRaidenShogunBlend.0]
24type = Buffer
25stride = 32
26filename = RaidenShogunBlend.buf
27
28[ResourceRaidenShogunBlend.1]
29type = Buffer
30stride = 32
31filename = ../ParentNodeBlend.buf
32
33
34; --------------- Raiden Boss Fix -----------------
35; Raiden boss fixed by NK#1321 if you used it for fix your raiden pls give credit for "Nhok0169"
36; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 and Albert Gold#2696 for support
37
38[TextureOverrideRaidenShogunRemapBlend]
39if $swapvar == 0
40 vb1 = ResourceRaidenShogunRemapBlend.0
41 handling = skip
42 draw = 21916,0
43else if $swapvar == 1
44 vb1 = ResourceRaidenShogunRemapBlend.1
45 handling = skip
46 draw = 21916,0
47endif
48
49
50[ResourceRaidenShogunRemapBlend.0]
51type = Buffer
52stride = 32
53filename = RaidenShogunRemapBlend.buf
54
55[ResourceRaidenShogunRemapBlend.1]
56type = Buffer
57stride = 32
58filename = ..\ParentNodeRemapBlend.buf
59
60
61; -------------------------------------------------
ei2.ini
1[TextureOverrideRaidenShogunBlend]
2vb1 = ResourceRaidenShogunBlend
3handling = skip
4draw = 21916,0
5
6[ResourceRaidenShogunBlend]
7type = Buffer
8stride = 32
9filename = RaidenShogunBlend.buf
10
11
12; --------------- Raiden Boss Fix -----------------
13; Raiden boss fixed by NK#1321 if you used it for fix your raiden pls give credit for "Nhok0169"
14; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 and Albert Gold#2696 for support
15
16[TextureOverrideRaidenShogunRemapBlend]
17vb1 = ResourceRaidenShogunRemapBlend
18handling = skip
19draw = 21916,0
20
21
22[ResourceRaidenShogunRemapBlend]
23type = Buffer
24stride = 32
25filename = RaidenShogunRemapBlend.buf
26
27
28; -------------------------------------------------
disconnectedSubTree.ini
1[TextureOverrideRaidenShogunBlend]
2vb1 = ResourceRaidenShogunBlend
3handling = skip
4draw = 21916,0
5
6[ResourceRaidenShogunBlend]
7type = Buffer
8stride = 32
9filename = ../../Mod/folder/folderInFolder/BlendToDisconnectedSubTree.buf
10
11
12; --------------- Raiden Boss Fix -----------------
13; Raiden boss fixed by NK#1321 if you used it for fix your raiden pls give credit for "Nhok0169"
14; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 and Albert Gold#2696 for support
15
16[TextureOverrideRaidenShogunRemapBlend]
17vb1 = ResourceRaidenShogunRemapBlend
18handling = skip
19draw = 21916,0
20
21
22[ResourceRaidenShogunRemapBlend]
23type = Buffer
24stride = 32
25filename = ..\..\Mod\folder\folderInFolder\RemapBlendToDisconnectedSubTree.buf
26
27
28; -------------------------------------------------
disconnectedSubTree2.ini
1[TextureOverrideRaidenShogunBlend]
2vb1 = ResourceRaidenShogunBlend
3handling = skip
4draw = 21916,0
5
6[ResourceRaidenShogunBlend]
7type = Buffer
8stride = 32
9filename = ../../../folder/folderInFolder/BlendToDisconnectedSubTree2.buf
10
11
12; --------------- Raiden Boss Fix -----------------
13; Raiden boss fixed by NK#1321 if you used it for fix your raiden pls give credit for "Nhok0169"
14; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 and Albert Gold#2696 for support
15
16[TextureOverrideRaidenShogunRemapBlend]
17vb1 = ResourceRaidenShogunRemapBlend
18handling = skip
19draw = 21916,0
20
21
22[ResourceRaidenShogunRemapBlend]
23type = Buffer
24stride = 32
25filename = ..\..\..\folder\folderInFolder\RemapBlendToDisconnectedSubTree2.buf
26
27
28; -------------------------------------------------
Code
1import AnimeGameRemap as AGR
2
3fixService =AGR.RaidenBossFixService(path = "../../", verbose = True, keepBackups = False, undoOnly = True)
4fixService.fix()
Result
Below contains the new content with the previous changes made by the script removed
File Structure
RaidenShogun
|
+--> AnotherSubTree
| |
| +--> someFolder
| |
| +--> disconnectedSubTree.ini
|
+--> Mod
| |
| +--> folder
| | |
| | +--> folderInFolder
| | |
| | +--> BlendToDisconnectedSubTree.buf
| | |
| | +--> BlendToDisconnectedSubTree2.buf
| |
| +--> folder2
| | |
| | +--> folderInFolder2
| | |
| | +--> AnotherFolder
| | |
| | +--> disconnectedSubTree2.ini
| |
| +--> pythonScript
| | |
| | +--> Run
| | |
| | +--> example.py
| |
| +--> ei.ini
| |
| +--> ei2.ini
| |
| +--> RaidenShogunBlend.buf
|
+--> ParentNodeBlend.buf
Below is the new content for each .ini file
ei.ini
1[Constants]
2global persist $swapvar = 0
3
4[KeySwap]
5condition = $active == 1
6key = VK_DOWN
7type = cycle
8$swapvar = 0,1
9$creditinfo = 0
10
11
12[TextureOverrideRaidenShogunBlend]
13if $swapvar == 0
14 vb1 = ResourceRaidenShogunBlend.0
15 handling = skip
16 draw = 21916,0
17else if $swapvar == 1
18 vb1 = ResourceRaidenShogunBlend.1
19 handling = skip
20 draw = 21916,0
21endif
22
23[ResourceRaidenShogunBlend.0]
24type = Buffer
25stride = 32
26filename = RaidenShogunBlend.buf
27
28[ResourceRaidenShogunBlend.1]
29type = Buffer
30stride = 32
31filename = ../ParentNodeBlend.buf
ei2.ini
1[TextureOverrideRaidenShogunBlend]
2vb1 = ResourceRaidenShogunBlend
3handling = skip
4draw = 21916,0
5
6[ResourceRaidenShogunBlend]
7type = Buffer
8stride = 32
9filename = RaidenShogunBlend.buf
disconnectedSubTree.ini
1[TextureOverrideRaidenShogunBlend]
2vb1 = ResourceRaidenShogunBlend
3handling = skip
4draw = 21916,0
5
6[ResourceRaidenShogunBlend]
7type = Buffer
8stride = 32
9filename = ../../Mod/folder/folderInFolder/BlendToDisconnectedSubTree.buf
disconnectedSubTree2.ini
1[TextureOverrideRaidenShogunBlend]
2vb1 = ResourceRaidenShogunBlend
3handling = skip
4draw = 21916,0
5
6[ResourceRaidenShogunBlend]
7type = Buffer
8stride = 32
9filename = ../../../folder/folderInFolder/BlendToDisconnectedSubTree2.buf
Remap Only a Few Selected Charactersο
In this example, by running the program called example.py, the fix will only fix the mods for Keqing, Jean and Amber. Mods for Shenhe and Raiden will not be fixed.
Note
You can enter the nicknames/aliases of a mod in upper/lower case instead of just the regular name of the mod. Please refer to Mod Types for the available aliases for each mod.
Input
Assume we have this file structure:
File Structure
Mods
|
+--> Amber
| |
| +--> Amber.ini
| |
| +--> AmberBlend.buf
|
|
+--> example.py
|
+--> Jean
| |
| +--> CuteJean
| | |
| | +--> CuteJean.ini
| |
| +--> SmolJean
| | |
| | +--> SmolJean.ini
| | |
| | +--> CuteJeanBlend.buf
| |
| +--> merged.ini
| |
| +--> SmolJeanBlend.buf
|
+--> Kequeen
| |
| +--> IniOrJoJ
| | |
| | +--> Cutie.ini
| | |
| | +--> BestGurl.ini
| |
| +--> Buffs
| |
| +--> ISwearItsFor.buf
| |
| +--> SmallerHitboxes.buf
|
+--> Raiden
| |
| +--> KindOfGettingTired.buf
| |
| +--> WritingTheseTestCases.ini
|
+--> Yasu
|
+--> Endless9999GoldenTruth.ini
|
+--> DesDesDesDesDesDes.buf
|
+--> DieDaDes.buf
|
+--> SentenceToDes.buf
|
+--> DaGreatEqualizerIsTheDes.buf
Assume below is the content of the .ini files
Amber.ini
1[TextureOverrideAmberBlend]
2vb1 = ResourceAmberBlend
3handling = skip
4draw = 21916,0
5
6[ResourceAmberBlend]
7type = Buffer
8stride = 32
9filename = AmberBlend.buf
CuteJean.ini
1[TextureOverrideJeanBlend]
2vb1 = ResourceJeanBlend
3handling = skip
4draw = 21916,0
5
6[ResourceJeanBlend]
7type = Buffer
8stride = 32
9filename = ../SmolJean/CuteJeanBlend.buf
SmolJean.ini
1[TextureOverrideJeanBlend]
2vb1 = ResourceJeanBlend
3handling = skip
4draw = 21916,0
5
6[TextureOverrideJeanBody]
7hash = 115737ff
8match_first_index = 7779
9ib = ResourceJeanSeaBodyIB
10ps-t0 = ResourceJeanSeaBodyDiffuse
11ps-t1 = ResourceJeanSeaBodyLightMap
12
13[ResourceJeanBlend]
14type = Buffer
15stride = 32
16filename = ../SmolJeanBlend.buf
merged.ini
1[Constants]
2global persist $swapvar = 0
3
4[KeySwap]
5condition = $active == 1
6key = VK_DOWN
7type = cycle
8$swapvar = 0,1
9$creditinfo = 0
10
11[TextureOverrideJeanBody]
12if $swapvar == 0
13 hash = 115737ff
14 match_first_index = 7779
15 ib = ResourceJeanSeaBodyIB
16 ps-t0 = ResourceJeanSeaBodyDiffuse
17 ps-t1 = ResourceJeanSeaBodyLightMap
18else if $swapvar == 1
19 hash = 115737ff
20 match_first_index = 7779
21 ib = ResourceJeanSeaBodyIB
22 ps-t0 = ResourceJeanSeaBodyDiffuse
23 ps-t1 = ResourceJeanSeaBodyLightMap
24endif
25
26[TextureOverrideJeanBlend]
27if $swapvar == 0
28 vb1 = ResourceJeanBlend.0
29 handling = skip
30 draw = 21916,0
31else if $swapvar == 1
32 vb1 = ResourceJeanBlend.1
33 handling = skip
34 draw = 21916,0
35endif
36
37[ResourceJeanBlend.0]
38type = Buffer
39stride = 32
40filename = SmolJeanBlend.buf
41
42[ResourceJeanBlend.1]
43type = Buffer
44stride = 32
45filename = SmolJean/CuteJeanBlend.buf
Cutie.ini
1[Constants]
2global persist $swapvar = 0
3
4[KeySwap]
5condition = $active == 1
6key = VK_DOWN
7type = cycle
8$swapvar = 0,1
9$creditinfo = 0
10
11[TextureOverrideKeqingBlend]
12if $swapvar == 0
13 vb1 = ResourceKeqingBlend.0
14 handling = skip
15 draw = 21916,0
16else if $swapvar == 1
17 vb1 = ResourceKeqingBlend.1
18 handling = skip
19 draw = 21916,0
20endif
21
22[TextureOverrideKeqingBody]
23hash = cbf1894b
24match_first_index = 10824
25run = CommandListKeqingBody
26
27[CommandListKeqingBody]
28if $swapvar == 0
29 ib = ResourceKeqingBodyIB.0
30 ps-t0 = ResourceKeqingBodyDiffuse.0
31 ps-t1 = ResourceKeqingBodyLightMap.0
32 ps-t2 = ResourceKeqingBodyMetalMap.0
33 ps-t3 = ResourceKeqingBodyShadowRamp.0
34else if $swapvar == 1
35 ib = ResourceKeqingBodyIB.3
36 ps-t0 = ResourceKeqingBodyDiffuse.3
37 ps-t1 = ResourceKeqingBodyLightMap.3
38endif
39
40[TextureOverrideKeqingDress]
41hash = cbf1894b
42match_first_index = 48216
43run = CommandListKeqingDress
44
45[CommandListKeqingDress]
46if $swapvar == 0
47 ib = ResourceKeqingDressIB.0
48 ps-t0 = ResourceKeqingDressDiffuse.0
49 ps-t1 = ResourceKeqingDressLightMap.0
50 ps-t2 = ResourceKeqingDressMetalMap.0
51 ps-t3 = ResourceKeqingDressShadowRamp.0
52else if $swapvar == 1
53 ib = ResourceKeqingDressIB.3
54 ps-t0 = ResourceKeqingDressDiffuse.3
55 ps-t1 = ResourceKeqingDressLightMap.3
56endif
57
58[ResourceKeqingBlend.0]
59type = Buffer
60stride = 32
61filename = ../Buffs/ISwearItsFor.buf
62
63[ResourceKeqingBlend.1]
64type = Buffer
65stride = 32
66filename = ../Buffs/SmallerHitboxes.buf
BestGurl.ini
1[Constants]
2global persist $swapvar = 0
3
4[KeySwap]
5condition = $active == 1
6key = VK_DOWN
7type = cycle
8$swapvar = 0,1
9$creditinfo = 0
10
11[TextureOverrideKeqingBlend]
12if $swapvar == 0
13 vb1 = ResourceKeqingBlend.0
14 handling = skip
15 draw = 21916,0
16else if $swapvar == 1
17 vb1 = ResourceKeqingBlend.1
18 handling = skip
19 draw = 21916,0
20endif
21
22[TextureOverrideKeqingDress]
23hash = cbf1894b
24match_first_index = 48216
25run = CommandListKeqingDress
26
27[CommandListKeqingDress]
28if $swapvar == 0
29 ib = ResourceKeqingDressIB.0
30 ps-t0 = ResourceKeqingDressDiffuse.0
31 ps-t1 = ResourceKeqingDressLightMap.0
32 ps-t2 = ResourceKeqingDressMetalMap.0
33 ps-t3 = ResourceKeqingDressShadowRamp.0
34else if $swapvar == 1
35 ib = ResourceKeqingDressIB.3
36 ps-t0 = ResourceKeqingDressDiffuse.3
37 ps-t1 = ResourceKeqingDressLightMap.3
38endif
39
40[ResourceKeqingBlend.0]
41type = Buffer
42stride = 32
43filename = ../Buffs/ISwearItsFor.buf
44
45[ResourceKeqingBlend.1]
46type = Buffer
47stride = 32
48filename = ../Buffs/SmallerHitboxes.buf
WritingTheseTestCases.ini
1[TextureOverrideRaidenShogunBlend]
2vb1 = ResourceRaidenShogunBlend
3handling = skip
4draw = 21916,0
5
6[ResourceRaidenShogunBlend]
7type = Buffer
8stride = 32
9filename = KindOfGettingTired.buf
Endless9999GoldenTruth.ini
1[Constants]
2global persist $swapvar = 0
3
4[KeySwap]
5condition = $active == 1
6key = VK_DOWN
7type = cycle
8$swapvar = 0,1,2,3
9$creditinfo = 0
10
11[TextureOverrideShenheBlend]
12if $swapvar == 0
13 vb1 = BeatoPleaseSaveNewbieGamemasterBattlerFromHisSmallBombsLogic
14 handling = skip
15 draw = 21916,0
16else if $swapvar == 1
17 vb1 = DlanorAKnoxDesDesDesDesDes
18 handling = skip
19 draw = 21916,0
20else if $swapvar == 2
21 vb1 = YasuGirlOrBoyBetterLeaveQuestionInTheCatBox
22 handling = skip
23 draw = 21916,0
24else if $swapvar == 3
25 vb1 = RosaDoubleWinchesterRiflesBadass
26 handling = skip
27 draw = 21916,0
28endif
29
30[TextureOverrideShenheDress]
31hash = 33a92492
32match_first_index = 48753
33run = CommandListShenheDress
34
35[CommandListShenheDress]
36if $swapvar == 0
37 ib = ResourceShenheDressIB.0
38 ps-t0 = ResourceShenheDressDiffuse.0
39 ps-t1 = ResourceShenheDressLightMap.0
40 ps-t2 = ResourceShenheDressMetalMap.0
41 ps-t3 = ResourceShenheDressShadowRamp.0
42else if $swapvar == 1
43 ib = ResourceShenheDressIB.1
44 ps-t0 = ResourceShenheDressDiffuse.1
45 ps-t1 = ResourceShenheDressLightMap.1
46 ps-t2 = ResourceShenheDressMetalMap.1
47 ps-t3 = ResourceShenheDressShadowRamp.1
48else if $swapvar == 2
49 ib = ResourceShenheDressIB.2
50 ps-t0 = ResourceShenheDressDiffuse.2
51 ps-t1 = ResourceShenheDressLightMap.2
52 ps-t2 = ResourceShenheDressMetalMap.2
53 ps-t3 = ResourceShenheDressShadowRamp.2
54else if $swapvar == 3
55 ib = ResourceShenheDressIB.3
56 ps-t0 = ResourceShenheDressDiffuse.3
57 ps-t1 = ResourceShenheDressLightMap.3
58 ps-t2 = ResourceShenheDressMetalMap.3
59 ps-t3 = ResourceShenheDressShadowRamp.3
60endif
61
62[BeatoPleaseSaveNewbieGamemasterBattlerFromHisSmallBombsLogic]
63type = Buffer
64stride = 32
65filename = DieDaDes.buf
66
67[DlanorAKnoxDesDesDesDesDes]
68type = Buffer
69stride = 32
70filename = DesDesDesDesDesDes.buf
71
72[YasuGirlOrBoyBetterLeaveQuestionInTheCatBox]
73type = Buffer
74stride = 32
75filename = SentenceToDes.buf
76
77[RosaDoubleWinchesterRiflesBadass]
78type = Buffer
79stride = 32
80filename = DaGreatEqualizerIsTheDes.buf
Code
1import AnimeGameRemap as AGR
2
3fixService = AGR.RaidenBossFixService(verbose = True, keepBackups = False, undoOnly = True, types = ["kequeen", "aMbEr", "ACTINGGRANDMASTER"])
4fixService.fix()
Result
Below contains the new content with the fix only being applied to Amber, Keqing and Jean
File Strucuture
Mods
|
+--> Amber
| |
| +--> Amber.ini
| |
| +--> AmberBlend.buf
| |
| +--> AmberAmberCNRemapBlend.buf
|
|
+--> example.py
|
+--> Jean
| |
| +--> CuteJean
| | |
| | +--> CuteJean.ini
| |
| +--> SmolJean
| | |
| | +--> SmolJean.ini
| | |
| | +--> CuteJeanBlend.buf
| | |
| | +--> CuteJeanJeanCNRemapBlend.buf
| | |
| | +--> CuteJeanJeanSeaRemapBlend.buf
| |
| +--> merged.ini
| |
| +--> SmolJeanBlend.buf
| |
| +--> SmolJeanJeanCNRemapBlend.buf
| |
| +--> SmolJeanJeanSeaRemapBlend.buf
|
+--> Kequeen
| |
| +--> IniOrJoJ
| | |
| | +--> Cutie.ini
| | |
| | +--> BestGurl.ini
| | |
| | +--> CutieRemapFix1.ini
| | |
| | +--> BestGurlRemapFix1.ini
| |
| +--> Buffs
| |
| +--> ISwearItsFor.buf
| |
| +--> SmallerHitboxes.buf
| |
| +--> ISwearItsForKeqingOpulentRemapBlend.buf
| |
| +--> SmallerHitboxesKeqingOpulentRemapBlend.buf
|
+--> Raiden
| |
| +--> KindOfGettingTired.buf
| |
| +--> WritingTheseTestCases.ini
|
+--> Yasu
|
+--> Endless9999GoldenTruth.ini
|
+--> DesDesDesDesDesDes.buf
|
+--> DieDaDes.buf
|
+--> SentenceToDes.buf
|
+--> DaGreatEqualizerIsTheDes.buf
Below is the new content of the .ini files (and newly generated .ini files)
Amber.ini
1[TextureOverrideAmberBlend]
2vb1 = ResourceAmberBlend
3handling = skip
4draw = 21916,0
5
6[ResourceAmberBlend]
7type = Buffer
8stride = 32
9filename = AmberBlend.buf
10
11
12; --------------- Amber Remap ---------------
13; Amber remapped by NK#1321 and Albert Gold#2696. If you used it to remap your Amber mods pls give credit for "Nhok0169" and "Albert Gold#2696"
14; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
15
16; ***** AmberCN *****
17[TextureOverrideAmberAmberCNRemapBlend]
18vb1 = ResourceAmberAmberCNRemapBlend
19handling = skip
20draw = 21916,0
21
22
23[ResourceAmberAmberCNRemapBlend]
24type = Buffer
25stride = 32
26filename = AmberAmberCNRemapBlend.buf
27
28; *******************
29
30; -------------------------------------------
CuteJean.ini
1[TextureOverrideJeanBlend]
2vb1 = ResourceJeanBlend
3handling = skip
4draw = 21916,0
5
6[ResourceJeanBlend]
7type = Buffer
8stride = 32
9filename = ../SmolJean/CuteJeanBlend.buf
10
11
12; --------------- Jean Remap ---------------
13; Jean remapped by NK#1321 and Albert Gold#2696. If you used it to remap your Jean mods pls give credit for "Nhok0169" and "Albert Gold#2696"
14; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
15
16; ***** JeanCN *****
17[TextureOverrideJeanJeanCNRemapBlend]
18vb1 = ResourceJeanJeanCNRemapBlend
19handling = skip
20draw = 21916,0
21
22
23[ResourceJeanJeanCNRemapBlend]
24type = Buffer
25stride = 32
26filename = ../SmolJean/CuteJeanJeanCNRemapBlend.buf
27
28; ******************
29
30; ***** JeanSea *****
31[TextureOverrideJeanJeanSeaRemapBlend]
32vb1 = ResourceJeanJeanSeaRemapBlend
33handling = skip
34draw = 21916,0
35
36
37[ResourceJeanJeanSeaRemapBlend]
38type = Buffer
39stride = 32
40filename = ../SmolJean/CuteJeanJeanSeaRemapBlend.buf
41
42; *******************
43
44; ------------------------------------------
SmolJean.ini
1[TextureOverrideJeanBlend]
2vb1 = ResourceJeanBlend
3handling = skip
4draw = 21916,0
5
6[TextureOverrideJeanBody]
7hash = 115737ff
8match_first_index = 7779
9ib = ResourceJeanSeaBodyIB
10ps-t0 = ResourceJeanSeaBodyDiffuse
11ps-t1 = ResourceJeanSeaBodyLightMap
12
13[ResourceJeanBlend]
14type = Buffer
15stride = 32
16filename = ../SmolJeanBlend.buf
17
18
19; --------------- Jean Remap ---------------
20; Jean remapped by NK#1321 and Albert Gold#2696. If you used it to remap your Jean mods pls give credit for "Nhok0169" and "Albert Gold#2696"
21; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
22
23; ***** JeanCN *****
24[TextureOverrideJeanJeanCNRemapBlend]
25vb1 = ResourceJeanJeanCNRemapBlend
26handling = skip
27draw = 21916,0
28
29
30[TextureOverrideJeanBodyJeanCNRemapFix]
31hash = aad861e0
32match_first_index = 7779
33ib = ResourceJeanSeaBodyIB
34ps-t0 = ResourceJeanSeaBodyDiffuse
35ps-t1 = ResourceJeanSeaBodyLightMap
36
37
38[ResourceJeanJeanCNRemapBlend]
39type = Buffer
40stride = 32
41filename = ../SmolJeanJeanCNRemapBlend.buf
42
43; ******************
44
45; ***** JeanSea *****
46[TextureOverrideJeanJeanSeaRemapBlend]
47vb1 = ResourceJeanJeanSeaRemapBlend
48handling = skip
49draw = 21916,0
50
51
52[TextureOverrideJeanBodyJeanSeaRemapFix]
53hash = 69c0c24e
54match_first_index = 7662
55ib = ResourceJeanSeaBodyIB
56ps-t0 = ResourceJeanSeaBodyDiffuse
57ps-t1 = ResourceJeanSeaBodyLightMap
58
59[TextureOverrideJeanDressJeanSeaRemapFix]
60hash = 69c0c24e
61match_first_index = 52542
62ib = ResourceJeanSeaBodyIB
63ps-t0 = ResourceJeanSeaBodyDiffuse
64ps-t1 = ResourceJeanSeaBodyLightMap
65
66
67[ResourceJeanJeanSeaRemapBlend]
68type = Buffer
69stride = 32
70filename = ../SmolJeanJeanSeaRemapBlend.buf
71
72; *******************
73
74; ------------------------------------------
merged.ini
1[Constants]
2global persist $swapvar = 0
3
4[KeySwap]
5condition = $active == 1
6key = VK_DOWN
7type = cycle
8$swapvar = 0,1
9$creditinfo = 0
10
11[TextureOverrideJeanBody]
12if $swapvar == 0
13 hash = 115737ff
14 match_first_index = 7779
15 ib = ResourceJeanSeaBodyIB
16 ps-t0 = ResourceJeanSeaBodyDiffuse
17 ps-t1 = ResourceJeanSeaBodyLightMap
18else if $swapvar == 1
19 hash = 115737ff
20 match_first_index = 7779
21 ib = ResourceJeanSeaBodyIB
22 ps-t0 = ResourceJeanSeaBodyDiffuse
23 ps-t1 = ResourceJeanSeaBodyLightMap
24endif
25
26[TextureOverrideJeanBlend]
27if $swapvar == 0
28 vb1 = ResourceJeanBlend.0
29 handling = skip
30 draw = 21916,0
31else if $swapvar == 1
32 vb1 = ResourceJeanBlend.1
33 handling = skip
34 draw = 21916,0
35endif
36
37[ResourceJeanBlend.0]
38type = Buffer
39stride = 32
40filename = SmolJeanBlend.buf
41
42[ResourceJeanBlend.1]
43type = Buffer
44stride = 32
45filename = SmolJean/CuteJeanBlend.buf
46
47
48; --------------- Jean Remap ---------------
49; Jean remapped by NK#1321 and Albert Gold#2696. If you used it to remap your Jean mods pls give credit for "Nhok0169" and "Albert Gold#2696"
50; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
51
52; ***** JeanCN *****
53[TextureOverrideJeanJeanCNRemapBlend]
54if $swapvar == 0
55 vb1 = ResourceJeanJeanCNRemapBlend.0
56 handling = skip
57 draw = 21916,0
58else if $swapvar == 1
59 vb1 = ResourceJeanJeanCNRemapBlend.1
60 handling = skip
61 draw = 21916,0
62endif
63
64
65[TextureOverrideJeanBodyJeanCNRemapFix]
66if $swapvar == 0
67 hash = aad861e0
68 match_first_index = 7779
69 ib = ResourceJeanSeaBodyIB
70 ps-t0 = ResourceJeanSeaBodyDiffuse
71 ps-t1 = ResourceJeanSeaBodyLightMap
72else if $swapvar == 1
73 hash = aad861e0
74 match_first_index = 7779
75 ib = ResourceJeanSeaBodyIB
76 ps-t0 = ResourceJeanSeaBodyDiffuse
77 ps-t1 = ResourceJeanSeaBodyLightMap
78endif
79
80
81[ResourceJeanJeanCNRemapBlend.0]
82type = Buffer
83stride = 32
84filename = SmolJeanJeanCNRemapBlend.buf
85
86[ResourceJeanJeanCNRemapBlend.1]
87type = Buffer
88stride = 32
89filename = SmolJean/CuteJeanJeanCNRemapBlend.buf
90
91; ******************
92
93; ***** JeanSea *****
94[TextureOverrideJeanJeanSeaRemapBlend]
95if $swapvar == 0
96 vb1 = ResourceJeanJeanSeaRemapBlend.0
97 handling = skip
98 draw = 21916,0
99else if $swapvar == 1
100 vb1 = ResourceJeanJeanSeaRemapBlend.1
101 handling = skip
102 draw = 21916,0
103endif
104
105
106[TextureOverrideJeanBodyJeanSeaRemapFix]
107if $swapvar == 0
108 hash = 69c0c24e
109 match_first_index = 7662
110 ib = ResourceJeanSeaBodyIB
111 ps-t0 = ResourceJeanSeaBodyDiffuse
112 ps-t1 = ResourceJeanSeaBodyLightMap
113else if $swapvar == 1
114 hash = 69c0c24e
115 match_first_index = 7662
116 ib = ResourceJeanSeaBodyIB
117 ps-t0 = ResourceJeanSeaBodyDiffuse
118 ps-t1 = ResourceJeanSeaBodyLightMap
119endif
120
121[TextureOverrideJeanDressJeanSeaRemapFix]
122if $swapvar == 0
123 hash = 69c0c24e
124 match_first_index = 52542
125 ib = ResourceJeanSeaBodyIB
126 ps-t0 = ResourceJeanSeaBodyDiffuse
127 ps-t1 = ResourceJeanSeaBodyLightMap
128else if $swapvar == 1
129 hash = 69c0c24e
130 match_first_index = 52542
131 ib = ResourceJeanSeaBodyIB
132 ps-t0 = ResourceJeanSeaBodyDiffuse
133 ps-t1 = ResourceJeanSeaBodyLightMap
134endif
135
136
137[ResourceJeanJeanSeaRemapBlend.0]
138type = Buffer
139stride = 32
140filename = SmolJeanJeanSeaRemapBlend.buf
141
142[ResourceJeanJeanSeaRemapBlend.1]
143type = Buffer
144stride = 32
145filename = SmolJean/CuteJeanJeanSeaRemapBlend.buf
146
147; *******************
148
149; ------------------------------------------
Cutie.ini
1[Constants]
2global persist $swapvar = 0
3
4[KeySwap]
5condition = $active == 1
6key = VK_DOWN
7type = cycle
8$swapvar = 0,1
9$creditinfo = 0
10
11[TextureOverrideKeqingBlend]
12if $swapvar == 0
13 vb1 = ResourceKeqingBlend.0
14 handling = skip
15 draw = 21916,0
16else if $swapvar == 1
17 vb1 = ResourceKeqingBlend.1
18 handling = skip
19 draw = 21916,0
20endif
21
22[TextureOverrideKeqingBody]
23hash = cbf1894b
24match_first_index = 10824
25run = CommandListKeqingBody
26
27[CommandListKeqingBody]
28if $swapvar == 0
29 ib = ResourceKeqingBodyIB.0
30 ps-t0 = ResourceKeqingBodyDiffuse.0
31 ps-t1 = ResourceKeqingBodyLightMap.0
32 ps-t2 = ResourceKeqingBodyMetalMap.0
33 ps-t3 = ResourceKeqingBodyShadowRamp.0
34else if $swapvar == 1
35 ib = ResourceKeqingBodyIB.3
36 ps-t0 = ResourceKeqingBodyDiffuse.3
37 ps-t1 = ResourceKeqingBodyLightMap.3
38endif
39
40[TextureOverrideKeqingDress]
41hash = cbf1894b
42match_first_index = 48216
43run = CommandListKeqingDress
44
45[CommandListKeqingDress]
46if $swapvar == 0
47 ib = ResourceKeqingDressIB.0
48 ps-t0 = ResourceKeqingDressDiffuse.0
49 ps-t1 = ResourceKeqingDressLightMap.0
50 ps-t2 = ResourceKeqingDressMetalMap.0
51 ps-t3 = ResourceKeqingDressShadowRamp.0
52else if $swapvar == 1
53 ib = ResourceKeqingDressIB.3
54 ps-t0 = ResourceKeqingDressDiffuse.3
55 ps-t1 = ResourceKeqingDressLightMap.3
56endif
57
58[ResourceKeqingBlend.0]
59type = Buffer
60stride = 32
61filename = ../Buffs/ISwearItsFor.buf
62
63[ResourceKeqingBlend.1]
64type = Buffer
65stride = 32
66filename = ../Buffs/SmallerHitboxes.buf
67
68
69; --------------- Keqing Remap ---------------
70; Keqing remapped by NK#1321 and Albert Gold#2696. If you used it to remap your Keqing mods pls give credit for "Nhok0169" and "Albert Gold#2696"
71; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
72
73; ***** KeqingOpulent *****
74[TextureOverrideKeqingKeqingOpulentRemapBlend]
75if $swapvar == 0
76 vb1 = ResourceKeqingKeqingOpulentRemapBlend.0
77 handling = skip
78 draw = 21916,0
79else if $swapvar == 1
80 vb1 = ResourceKeqingKeqingOpulentRemapBlend.1
81 handling = skip
82 draw = 21916,0
83endif
84
85
86[TextureOverrideKeqingBodyKeqingOpulentRemapFix]
87hash = 7c6fc8c3
88match_first_index = 19623
89run = CommandListKeqingBodyKeqingOpulentRemapFix
90
91[CommandListKeqingBodyKeqingOpulentRemapFix]
92if $swapvar == 0
93 ib = ResourceKeqingBodyIB.0
94 ps-t0 = ResourceKeqingBodyDiffuse.0
95 ps-t1 = ResourceKeqingBodyLightMap.0
96 ps-t2 = ResourceKeqingBodyMetalMap.0
97 ps-t3 = ResourceKeqingBodyShadowRamp.0
98else if $swapvar == 1
99 ib = ResourceKeqingBodyIB.3
100 ps-t0 = ResourceKeqingBodyDiffuse.3
101 ps-t1 = ResourceKeqingBodyLightMap.3
102endif
103
104
105[ResourceKeqingKeqingOpulentRemapBlend.0]
106type = Buffer
107stride = 32
108filename = ../Buffs/ISwearItsForKeqingOpulentRemapBlend.buf
109
110[ResourceKeqingKeqingOpulentRemapBlend.1]
111type = Buffer
112stride = 32
113filename = ../Buffs/SmallerHitboxesKeqingOpulentRemapBlend.buf
114
115; *************************
116
117; --------------------------------------------
CutieRemapFix1.ini
1; This is really bad!! Don't do this!
2; ************************************
3;
4; jk, but joking aside...
5;
6; The goal is to display n mod objects from the mod to be remapped to the mod onto a single mod object of the remapped mod.
7; Therefore we will have n sets of resources all mapping onto a single hash.
8;
9; Ideally, we would want all the sections to be within a single .ini file. The naive approach would be to create n sets of sections
10; (not a single section, cuz you need to include the case of sections depending on other sections, which form a section caller/callee graph)
11; where the sections names are all unique. However, this approach will trigger a warning on GIMI (or any GIMI like importer) of multiple sections
12; mapping to the same hash and only 1 of the mod objects will be displayed
13;
14; The next attempt would be to take advantage of GIMI's overlapping mod bug/feature from loading multiple mods of the same character
15; Apart from the original .ini file, there would be n-1 newly generated .ini files (total of n .ini files). Each .ini file would uniquely
16; display a single set of sections from the n sets of sections. The overlapping property from the bug/feature would allow for all the objects to be displayed.
17;
18; For now, we were lazy and just simply copied the original .ini file onto the generated .ini files, which results in the original mod to have overlapping copies.
19; But since the mod used in all the .ini files are exactly the same, the user would not see the overlap (they may have some performance issues depending on the size of n. But
20; usually remaps only merge 2 mod objects into a single mod object, which should not cause much of an issue)
21; We could optimize the amount of space taken up by the newly generated .ini files, by only putting the necessary sections, but that is for another day...
22
23[Constants]
24global persist $swapvar = 0
25
26[KeySwap]
27condition = $active == 1
28key = VK_DOWN
29type = cycle
30$swapvar = 0,1
31$creditinfo = 0
32
33[TextureOverrideKeqingBlend]
34if $swapvar == 0
35 vb1 = ResourceKeqingBlend.0
36 handling = skip
37 draw = 21916,0
38else if $swapvar == 1
39 vb1 = ResourceKeqingBlend.1
40 handling = skip
41 draw = 21916,0
42endif
43
44[TextureOverrideKeqingBody]
45hash = cbf1894b
46match_first_index = 10824
47run = CommandListKeqingBody
48
49[CommandListKeqingBody]
50if $swapvar == 0
51 ib = ResourceKeqingBodyIB.0
52 ps-t0 = ResourceKeqingBodyDiffuse.0
53 ps-t1 = ResourceKeqingBodyLightMap.0
54 ps-t2 = ResourceKeqingBodyMetalMap.0
55 ps-t3 = ResourceKeqingBodyShadowRamp.0
56else if $swapvar == 1
57 ib = ResourceKeqingBodyIB.3
58 ps-t0 = ResourceKeqingBodyDiffuse.3
59 ps-t1 = ResourceKeqingBodyLightMap.3
60endif
61
62[TextureOverrideKeqingDress]
63hash = cbf1894b
64match_first_index = 48216
65run = CommandListKeqingDress
66
67[CommandListKeqingDress]
68if $swapvar == 0
69 ib = ResourceKeqingDressIB.0
70 ps-t0 = ResourceKeqingDressDiffuse.0
71 ps-t1 = ResourceKeqingDressLightMap.0
72 ps-t2 = ResourceKeqingDressMetalMap.0
73 ps-t3 = ResourceKeqingDressShadowRamp.0
74else if $swapvar == 1
75 ib = ResourceKeqingDressIB.3
76 ps-t0 = ResourceKeqingDressDiffuse.3
77 ps-t1 = ResourceKeqingDressLightMap.3
78endif
79
80[ResourceKeqingBlend.0]
81type = Buffer
82stride = 32
83filename = ../Buffs/ISwearItsFor.buf
84
85[ResourceKeqingBlend.1]
86type = Buffer
87stride = 32
88filename = ../Buffs/SmallerHitboxes.buf
89
90
91; --------------- Keqing Remap ---------------
92; Keqing remapped by NK#1321 and Albert Gold#2696. If you used it to remap your Keqing mods pls give credit for "Nhok0169" and "Albert Gold#2696"
93; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
94
95; ***** KeqingOpulent *****
96[TextureOverrideKeqingKeqingOpulentRemapBlend]
97if $swapvar == 0
98 vb1 = ResourceKeqingKeqingOpulentRemapBlend.0
99 handling = skip
100 draw = 21916,0
101else if $swapvar == 1
102 vb1 = ResourceKeqingKeqingOpulentRemapBlend.1
103 handling = skip
104 draw = 21916,0
105endif
106
107
108[TextureOverrideKeqingBodyKeqingOpulentRemapFix]
109hash = 7c6fc8c3
110match_first_index = 19623
111run = CommandListKeqingBodyKeqingOpulentRemapFix
112
113[CommandListKeqingBodyKeqingOpulentRemapFix]
114if $swapvar == 0
115 ib = ResourceKeqingDressIB.0
116 ps-t0 = ResourceKeqingDressDiffuse.0
117 ps-t1 = ResourceKeqingDressLightMap.0
118 ps-t2 = ResourceKeqingDressMetalMap.0
119 ps-t3 = ResourceKeqingDressShadowRamp.0
120else if $swapvar == 1
121 ib = ResourceKeqingDressIB.3
122 ps-t0 = ResourceKeqingDressDiffuse.3
123 ps-t1 = ResourceKeqingDressLightMap.3
124endif
125
126
127[ResourceKeqingKeqingOpulentRemapBlend.0]
128type = Buffer
129stride = 32
130filename = ../Buffs/ISwearItsForKeqingOpulentRemapBlend.buf
131
132[ResourceKeqingKeqingOpulentRemapBlend.1]
133type = Buffer
134stride = 32
135filename = ../Buffs/SmallerHitboxesKeqingOpulentRemapBlend.buf
136
137; *************************
138
139; --------------------------------------------
BestGurl.ini
1[Constants]
2global persist $swapvar = 0
3
4[KeySwap]
5condition = $active == 1
6key = VK_DOWN
7type = cycle
8$swapvar = 0,1
9$creditinfo = 0
10
11[TextureOverrideKeqingBlend]
12if $swapvar == 0
13 vb1 = ResourceKeqingBlend.0
14 handling = skip
15 draw = 21916,0
16else if $swapvar == 1
17 vb1 = ResourceKeqingBlend.1
18 handling = skip
19 draw = 21916,0
20endif
21
22[TextureOverrideKeqingDress]
23hash = cbf1894b
24match_first_index = 48216
25run = CommandListKeqingDress
26
27[CommandListKeqingDress]
28if $swapvar == 0
29 ib = ResourceKeqingDressIB.0
30 ps-t0 = ResourceKeqingDressDiffuse.0
31 ps-t1 = ResourceKeqingDressLightMap.0
32 ps-t2 = ResourceKeqingDressMetalMap.0
33 ps-t3 = ResourceKeqingDressShadowRamp.0
34else if $swapvar == 1
35 ib = ResourceKeqingDressIB.3
36 ps-t0 = ResourceKeqingDressDiffuse.3
37 ps-t1 = ResourceKeqingDressLightMap.3
38endif
39
40[ResourceKeqingBlend.0]
41type = Buffer
42stride = 32
43filename = ../Buffs/ISwearItsFor.buf
44
45[ResourceKeqingBlend.1]
46type = Buffer
47stride = 32
48filename = ../Buffs/SmallerHitboxes.buf
49
50
51; --------------- Keqing Remap ---------------
52; Keqing remapped by NK#1321 and Albert Gold#2696. If you used it to remap your Keqing mods pls give credit for "Nhok0169" and "Albert Gold#2696"
53; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
54
55; ***** KeqingOpulent *****
56[TextureOverrideKeqingKeqingOpulentRemapBlend]
57if $swapvar == 0
58 vb1 = ResourceKeqingKeqingOpulentRemapBlend.0
59 handling = skip
60 draw = 21916,0
61else if $swapvar == 1
62 vb1 = ResourceKeqingKeqingOpulentRemapBlend.1
63 handling = skip
64 draw = 21916,0
65endif
66
67
68
69[ResourceKeqingKeqingOpulentRemapBlend.0]
70type = Buffer
71stride = 32
72filename = ../Buffs/ISwearItsForKeqingOpulentRemapBlend.buf
73
74[ResourceKeqingKeqingOpulentRemapBlend.1]
75type = Buffer
76stride = 32
77filename = ../Buffs/SmallerHitboxesKeqingOpulentRemapBlend.buf
78
79; *************************
80
81; --------------------------------------------
BestGurlRemapFix1.ini
1; This is really bad!! Don't do this!
2; ************************************
3;
4; jk, but joking aside...
5;
6; The goal is to display n mod objects from the mod to be remapped to the mod onto a single mod object of the remapped mod.
7; Therefore we will have n sets of resources all mapping onto a single hash.
8;
9; Ideally, we would want all the sections to be within a single .ini file. The naive approach would be to create n sets of sections
10; (not a single section, cuz you need to include the case of sections depending on other sections, which form a section caller/callee graph)
11; where the sections names are all unique. However, this approach will trigger a warning on GIMI (or any GIMI like importer) of multiple sections
12; mapping to the same hash and only 1 of the mod objects will be displayed
13;
14; The next attempt would be to take advantage of GIMI's overlapping mod bug/feature from loading multiple mods of the same character
15; Apart from the original .ini file, there would be n-1 newly generated .ini files (total of n .ini files). Each .ini file would uniquely
16; display a single set of sections from the n sets of sections. The overlapping property from the bug/feature would allow for all the objects to be displayed.
17;
18; For now, we were lazy and just simply copied the original .ini file onto the generated .ini files, which results in the original mod to have overlapping copies.
19; But since the mod used in all the .ini files are exactly the same, the user would not see the overlap (they may have some performance issues depending on the size of n. But
20; usually remaps only merge 2 mod objects into a single mod object, which should not cause much of an issue)
21; We could optimize the amount of space taken up by the newly generated .ini files, by only putting the necessary sections, but that is for another day...
22
23[Constants]
24global persist $swapvar = 0
25
26[KeySwap]
27condition = $active == 1
28key = VK_DOWN
29type = cycle
30$swapvar = 0,1
31$creditinfo = 0
32
33[TextureOverrideKeqingBlend]
34if $swapvar == 0
35 vb1 = ResourceKeqingBlend.0
36 handling = skip
37 draw = 21916,0
38else if $swapvar == 1
39 vb1 = ResourceKeqingBlend.1
40 handling = skip
41 draw = 21916,0
42endif
43
44[TextureOverrideKeqingDress]
45hash = cbf1894b
46match_first_index = 48216
47run = CommandListKeqingDress
48
49[CommandListKeqingDress]
50if $swapvar == 0
51 ib = ResourceKeqingDressIB.0
52 ps-t0 = ResourceKeqingDressDiffuse.0
53 ps-t1 = ResourceKeqingDressLightMap.0
54 ps-t2 = ResourceKeqingDressMetalMap.0
55 ps-t3 = ResourceKeqingDressShadowRamp.0
56else if $swapvar == 1
57 ib = ResourceKeqingDressIB.3
58 ps-t0 = ResourceKeqingDressDiffuse.3
59 ps-t1 = ResourceKeqingDressLightMap.3
60endif
61
62[ResourceKeqingBlend.0]
63type = Buffer
64stride = 32
65filename = ../Buffs/ISwearItsFor.buf
66
67[ResourceKeqingBlend.1]
68type = Buffer
69stride = 32
70filename = ../Buffs/SmallerHitboxes.buf
71
72
73; --------------- Keqing Remap ---------------
74; Keqing remapped by NK#1321 and Albert Gold#2696. If you used it to remap your Keqing mods pls give credit for "Nhok0169" and "Albert Gold#2696"
75; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
76
77; ***** KeqingOpulent *****
78[TextureOverrideKeqingKeqingOpulentRemapBlend]
79if $swapvar == 0
80 vb1 = ResourceKeqingKeqingOpulentRemapBlend.0
81 handling = skip
82 draw = 21916,0
83else if $swapvar == 1
84 vb1 = ResourceKeqingKeqingOpulentRemapBlend.1
85 handling = skip
86 draw = 21916,0
87endif
88
89
90[TextureOverrideKeqingBodyKeqingOpulentRemapFix]
91hash = 7c6fc8c3
92match_first_index = 19623
93run = CommandListKeqingBodyKeqingOpulentRemapFix
94
95[CommandListKeqingBodyKeqingOpulentRemapFix]
96if $swapvar == 0
97 ib = ResourceKeqingDressIB.0
98 ps-t0 = ResourceKeqingDressDiffuse.0
99 ps-t1 = ResourceKeqingDressLightMap.0
100 ps-t2 = ResourceKeqingDressMetalMap.0
101 ps-t3 = ResourceKeqingDressShadowRamp.0
102else if $swapvar == 1
103 ib = ResourceKeqingDressIB.3
104 ps-t0 = ResourceKeqingDressDiffuse.3
105 ps-t1 = ResourceKeqingDressLightMap.3
106endif
107
108
109[ResourceKeqingKeqingOpulentRemapBlend.0]
110type = Buffer
111stride = 32
112filename = ../Buffs/ISwearItsForKeqingOpulentRemapBlend.buf
113
114[ResourceKeqingKeqingOpulentRemapBlend.1]
115type = Buffer
116stride = 32
117filename = ../Buffs/SmallerHitboxesKeqingOpulentRemapBlend.buf
118
119; *************************
120
121; --------------------------------------------
WritingTheseTestCases.ini
1[TextureOverrideRaidenShogunBlend]
2vb1 = ResourceRaidenShogunBlend
3handling = skip
4draw = 21916,0
5
6[ResourceRaidenShogunBlend]
7type = Buffer
8stride = 32
9filename = KindOfGettingTired.buf
Endless9999GoldenTruth.ini
1[Constants]
2global persist $swapvar = 0
3
4[KeySwap]
5condition = $active == 1
6key = VK_DOWN
7type = cycle
8$swapvar = 0,1,2,3
9$creditinfo = 0
10
11[TextureOverrideShenheBlend]
12if $swapvar == 0
13 vb1 = BeatoPleaseSaveNewbieGamemasterBattlerFromHisSmallBombsLogic
14 handling = skip
15 draw = 21916,0
16else if $swapvar == 1
17 vb1 = DlanorAKnoxDesDesDesDesDes
18 handling = skip
19 draw = 21916,0
20else if $swapvar == 2
21 vb1 = YasuGirlOrBoyBetterLeaveQuestionInTheCatBox
22 handling = skip
23 draw = 21916,0
24else if $swapvar == 3
25 vb1 = RosaDoubleWinchesterRiflesBadass
26 handling = skip
27 draw = 21916,0
28endif
29
30[TextureOverrideShenheDress]
31hash = 33a92492
32match_first_index = 48753
33run = CommandListShenheDress
34
35[CommandListShenheDress]
36if $swapvar == 0
37 ib = ResourceShenheDressIB.0
38 ps-t0 = ResourceShenheDressDiffuse.0
39 ps-t1 = ResourceShenheDressLightMap.0
40 ps-t2 = ResourceShenheDressMetalMap.0
41 ps-t3 = ResourceShenheDressShadowRamp.0
42else if $swapvar == 1
43 ib = ResourceShenheDressIB.1
44 ps-t0 = ResourceShenheDressDiffuse.1
45 ps-t1 = ResourceShenheDressLightMap.1
46 ps-t2 = ResourceShenheDressMetalMap.1
47 ps-t3 = ResourceShenheDressShadowRamp.1
48else if $swapvar == 2
49 ib = ResourceShenheDressIB.2
50 ps-t0 = ResourceShenheDressDiffuse.2
51 ps-t1 = ResourceShenheDressLightMap.2
52 ps-t2 = ResourceShenheDressMetalMap.2
53 ps-t3 = ResourceShenheDressShadowRamp.2
54else if $swapvar == 3
55 ib = ResourceShenheDressIB.3
56 ps-t0 = ResourceShenheDressDiffuse.3
57 ps-t1 = ResourceShenheDressLightMap.3
58 ps-t2 = ResourceShenheDressMetalMap.3
59 ps-t3 = ResourceShenheDressShadowRamp.3
60endif
61
62[BeatoPleaseSaveNewbieGamemasterBattlerFromHisSmallBombsLogic]
63type = Buffer
64stride = 32
65filename = DieDaDes.buf
66
67[DlanorAKnoxDesDesDesDesDes]
68type = Buffer
69stride = 32
70filename = DesDesDesDesDesDes.buf
71
72[YasuGirlOrBoyBetterLeaveQuestionInTheCatBox]
73type = Buffer
74stride = 32
75filename = SentenceToDes.buf
76
77[RosaDoubleWinchesterRiflesBadass]
78type = Buffer
79stride = 32
80filename = DaGreatEqualizerIsTheDes.buf
Fixing Entire Mods to a Specific Version of the Gameο
The example below shows fixing entire mods to an older version of the game (before the βGreat Hash Updateβ) after running example.py. If you do not specify any version, the fix will assume to fix to the latest game version available.
Note
The hashes, indices and the vertex group remaps for the Blend.buf files are all fixed to the older version of the game. (The fix basically travelled in time!)
To fix only a .ini file to a specific version of the game, go to Fixing a .ini File to a Specific Version of the Game
Input
Assume we have this file structure:
File Structure
AmberCN
|
+--> AmberCN.ini
|
+--> AmberCNBlend.buf
|
+--> example.py
Assume below is the content of the .ini files
AmberCN.ini
1[TextureOverrideAmberCNBlend]
2vb1 = ResourceAmberCNBlend
3handling = skip
4draw = 21916,0
5
6[TextureOverrideAmberCNBody]
7hash = b41d4d94
8match_first_index = 5670
9ib = ResourceAmberCNBodyIB
10ps-t0 = ResourceAmberCNBodyDiffuse
11ps-t1 = ResourceAmberCNBodyLightMap
12ps-t2 = ResourceAmberCNBodyMetalMap
13ps-t3 = ResourceAmberCNBodyShadowRamp
14
15[ResourceAmberCNBlend]
16type = Buffer
17stride = 32
18filename = AmberCNBlend.buf
Code
1import AnimeGameRemap as AGR
2
3fixService = AGR.RaidenBossFixService(verbose = True, keepBackups = False, undoOnly = True, types = ["BaronBunnyCN"], version = 4.0)
4fixService.fix()
Result
Below contains the new content with the fix applied for the game version 4.0
File Strucuture
AmberCN
|
+--> AmberCN.ini
|
+--> AmberCNBlend.buf
|
+--> AmberCNAmberRemapBlend.buf
|
+--> example.py
Below is the new content of the .ini files
AmberCN.ini
1[TextureOverrideAmberCNBlend]
2vb1 = ResourceAmberCNBlend
3handling = skip
4draw = 21916,0
5
6[TextureOverrideAmberCNBody]
7hash = b41d4d94
8match_first_index = 5670
9ib = ResourceAmberCNBodyIB
10ps-t0 = ResourceAmberCNBodyDiffuse
11ps-t1 = ResourceAmberCNBodyLightMap
12ps-t2 = ResourceAmberCNBodyMetalMap
13ps-t3 = ResourceAmberCNBodyShadowRamp
14
15[ResourceAmberCNBlend]
16type = Buffer
17stride = 32
18filename = AmberCNBlend.buf
19
20
21; --------------- AmberCN Remap ---------------
22; AmberCN remapped by NK#1321 and Albert Gold#2696. If you used it to remap your AmberCN mods pls give credit for "Nhok0169" and "Albert Gold#2696"
23; Thank nguen#2011 SilentNightSound#7430 HazrateGolabi#1364 for support
24
25; ***** Amber *****
26[TextureOverrideAmberCNAmberRemapBlend]
27vb1 = ResourceAmberCNAmberRemapBlend
28handling = skip
29draw = 21916,0
30
31
32[TextureOverrideAmberCNBodyAmberRemapFix]
33hash = 9976d124
34match_first_index = 5670
35ib = ResourceAmberCNBodyIB
36ps-t0 = ResourceAmberCNBodyDiffuse
37ps-t1 = ResourceAmberCNBodyLightMap
38ps-t2 = ResourceAmberCNBodyMetalMap
39ps-t3 = ResourceAmberCNBodyShadowRamp
40
41
42[ResourceAmberCNAmberRemapBlend]
43type = Buffer
44stride = 32
45filename = AmberCNAmberRemapBlend.buf
46
47; *****************
48
49; ---------------------------------------------