Fix crash with certain animated variant sprites
This commit is contained in:
parent
b863ab88a7
commit
ef552c7ffd
|
@ -1069,6 +1069,8 @@
|
|||
"971",
|
||||
"972",
|
||||
"972",
|
||||
"973",
|
||||
"973",
|
||||
"974",
|
||||
"974",
|
||||
"975",
|
||||
|
@ -2201,6 +2203,8 @@
|
|||
"971b",
|
||||
"972b",
|
||||
"972b",
|
||||
"973b",
|
||||
"973b",
|
||||
"974b",
|
||||
"974b",
|
||||
"975b",
|
||||
|
@ -3331,6 +3335,8 @@
|
|||
"971sb",
|
||||
"972sb",
|
||||
"972sb",
|
||||
"973sb",
|
||||
"973sb",
|
||||
"974sb",
|
||||
"974sb",
|
||||
"975sb",
|
||||
|
@ -4468,6 +4474,8 @@
|
|||
"971s",
|
||||
"972s",
|
||||
"972s",
|
||||
"973s",
|
||||
"973s",
|
||||
"974s",
|
||||
"974s",
|
||||
"975s",
|
||||
|
@ -4527,5 +4535,184 @@
|
|||
"999s-roaming",
|
||||
"999s-roaming",
|
||||
"999s",
|
||||
"999s"
|
||||
"999s",
|
||||
"1000",
|
||||
"1001",
|
||||
"1004",
|
||||
"181-mega",
|
||||
"212-mega",
|
||||
"282-mega_2",
|
||||
"282-mega_2",
|
||||
"282-mega_3",
|
||||
"282-mega_3",
|
||||
"303-mega",
|
||||
"334-mega",
|
||||
"334-mega_2",
|
||||
"334-mega_2",
|
||||
"376-mega",
|
||||
"384-mega",
|
||||
"384-mega_2",
|
||||
"384-mega_2",
|
||||
"4263",
|
||||
"4264",
|
||||
"428-mega",
|
||||
"445-mega",
|
||||
"448-mega",
|
||||
"475-mega_2",
|
||||
"475-mega_2",
|
||||
"475-mega_3",
|
||||
"475-mega_3",
|
||||
"6549",
|
||||
"6570",
|
||||
"6571",
|
||||
"6705",
|
||||
"6706_2",
|
||||
"6706_2",
|
||||
"6706_3",
|
||||
"6706_3",
|
||||
"700",
|
||||
"704",
|
||||
"705_2",
|
||||
"705_2",
|
||||
"705_3",
|
||||
"705_3",
|
||||
"706",
|
||||
"708",
|
||||
"709",
|
||||
"710",
|
||||
"711",
|
||||
"720-unbound",
|
||||
"720",
|
||||
"755",
|
||||
"756",
|
||||
"789",
|
||||
"791_1",
|
||||
"791_1",
|
||||
"802",
|
||||
"856",
|
||||
"857_2",
|
||||
"857_2",
|
||||
"857_3",
|
||||
"857_3",
|
||||
"858",
|
||||
"872",
|
||||
"873",
|
||||
"877-hangry",
|
||||
"877",
|
||||
"885",
|
||||
"886",
|
||||
"887",
|
||||
"890_2",
|
||||
"890_2",
|
||||
"890_3",
|
||||
"890_3",
|
||||
"900",
|
||||
"919",
|
||||
"920",
|
||||
"924",
|
||||
"925-four",
|
||||
"925-four_2",
|
||||
"925-four_2",
|
||||
"925-four_3",
|
||||
"925-four_3",
|
||||
"925-three",
|
||||
"925-three_2",
|
||||
"925-three_2",
|
||||
"925-three_3",
|
||||
"925-three_3",
|
||||
"94-mega_1",
|
||||
"94-mega_1",
|
||||
"94-mega_2",
|
||||
"94-mega_2",
|
||||
"94-mega_3",
|
||||
"94-mega_3",
|
||||
"962",
|
||||
"967",
|
||||
"973",
|
||||
"987",
|
||||
"988",
|
||||
"988_3",
|
||||
"988_3",
|
||||
"999",
|
||||
"999_1",
|
||||
"999_1",
|
||||
"1000b",
|
||||
"1001b",
|
||||
"1004b",
|
||||
"181b-mega",
|
||||
"212b-mega",
|
||||
"282b-mega",
|
||||
"303b-mega",
|
||||
"334b-mega",
|
||||
"376b-mega",
|
||||
"384b-mega",
|
||||
"4263b",
|
||||
"4264b",
|
||||
"428b-mega",
|
||||
"445b-mega",
|
||||
"448b-mega",
|
||||
"475b-mega_2",
|
||||
"475b-mega_2",
|
||||
"475b-mega_3",
|
||||
"475b-mega_3",
|
||||
"6549b",
|
||||
"6570b",
|
||||
"6571b",
|
||||
"6705b",
|
||||
"6706_2b",
|
||||
"6706_2b",
|
||||
"6706_3b",
|
||||
"6706_3b",
|
||||
"700b",
|
||||
"704b",
|
||||
"705b",
|
||||
"706b",
|
||||
"708b",
|
||||
"709b",
|
||||
"710b",
|
||||
"711b",
|
||||
"720b-unbound",
|
||||
"720b",
|
||||
"755b",
|
||||
"756b",
|
||||
"789b",
|
||||
"791b",
|
||||
"802b",
|
||||
"856b",
|
||||
"857_2b",
|
||||
"857_2b",
|
||||
"857_3b",
|
||||
"857_3b",
|
||||
"858b",
|
||||
"872b",
|
||||
"873b",
|
||||
"877b-hangry",
|
||||
"877b",
|
||||
"885b",
|
||||
"886b",
|
||||
"887b",
|
||||
"890b",
|
||||
"900b",
|
||||
"919b",
|
||||
"920b",
|
||||
"924b",
|
||||
"925b-four",
|
||||
"925b-four_2",
|
||||
"925b-four_2",
|
||||
"925b-four_3",
|
||||
"925b-four_3",
|
||||
"925b-three",
|
||||
"925b-three_2",
|
||||
"925b-three_2",
|
||||
"925b-three_3",
|
||||
"925b-three_3",
|
||||
"94b-mega",
|
||||
"962b",
|
||||
"962_3b",
|
||||
"962_3b",
|
||||
"967b",
|
||||
"973b",
|
||||
"987b",
|
||||
"988b",
|
||||
"999b"
|
||||
]
|
||||
|
|
|
@ -272,7 +272,7 @@ export default class BattleScene extends SceneBase {
|
|||
|
||||
populateAnims();
|
||||
|
||||
await this.cachedFetch('./images/pokemon/variant/_masterlist.json').then(res => res.json()).then(v => Object.keys(v).forEach(k => variantData[k] = v[k]));
|
||||
await this.initVariantData();
|
||||
}
|
||||
|
||||
create() {
|
||||
|
@ -513,6 +513,21 @@ export default class BattleScene extends SceneBase {
|
|||
});
|
||||
}
|
||||
|
||||
async initVariantData(): Promise<void> {
|
||||
Object.keys(variantData).forEach(key => delete variantData[key]);
|
||||
await this.cachedFetch('./images/pokemon/variant/_masterlist.json').then(res => res.json())
|
||||
.then(v => {
|
||||
Object.keys(v).forEach(k => variantData[k] = v[k]);
|
||||
if (this.experimentalSprites) {
|
||||
const expTree = variantData['exp'];
|
||||
Object.keys(expTree).forEach(ek => {
|
||||
variantData[ek] = expTree[ek];
|
||||
});
|
||||
}
|
||||
Promise.resolve();
|
||||
});
|
||||
}
|
||||
|
||||
cachedFetch(url: string, init?: RequestInit): Promise<Response> {
|
||||
const manifest = this.game['manifest'];
|
||||
if (manifest) {
|
||||
|
@ -817,6 +832,9 @@ export default class BattleScene extends SceneBase {
|
|||
}
|
||||
|
||||
if (clearScene) {
|
||||
// Reload variant data in case sprite set has changed
|
||||
this.initVariantData();
|
||||
|
||||
this.fadeOutBgm(250, false);
|
||||
this.tweens.add({
|
||||
targets: [ this.uiContainer ],
|
||||
|
|
|
@ -312,12 +312,13 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
|||
const battleSpritePath = this.getBattleSpriteAtlasPath(back, ignoreOverride).replace('variant/', '').replace(/_[1-3]$/, '');
|
||||
let variantSet: VariantSet;
|
||||
let config = variantData;
|
||||
const useExpSprite = this.scene.experimentalSprites && this.scene.hasExpSprite(this.getBattleSpriteKey(back, ignoreOverride));
|
||||
battleSpritePath.split('/').map(p => config ? config = config[p] : null);
|
||||
variantSet = config as VariantSet;
|
||||
if (variantSet && variantSet[this.variant] === 1) {
|
||||
if (variantColorCache.hasOwnProperty(key))
|
||||
return resolve();
|
||||
this.scene.cachedFetch(`./images/pokemon/variant/${battleSpritePath}.json`).then(res => res.json()).then(c => {
|
||||
this.scene.cachedFetch(`./images/pokemon/variant/${useExpSprite ? 'exp/' : ''}${battleSpritePath}.json`).then(res => res.json()).then(c => {
|
||||
variantColorCache[key] = c;
|
||||
resolve();
|
||||
});
|
||||
|
|
|
@ -48,7 +48,7 @@ export const settingOptions: SettingOptions = {
|
|||
[Setting.Window_Type]: new Array(5).fill(null).map((_, i) => (i + 1).toString()),
|
||||
[Setting.Tutorials]: [ 'Off', 'On' ],
|
||||
[Setting.Enable_Retries]: [ 'Off', 'On' ],
|
||||
[Setting.Sprite_Set]: [ 'Consistent', 'Prioritize Animation' ],
|
||||
[Setting.Sprite_Set]: [ 'Consistent', 'Mixed Animated' ],
|
||||
[Setting.Move_Animations]: [ 'Off', 'On' ],
|
||||
[Setting.Show_Stats_on_Level_Up]: [ 'Off', 'On' ],
|
||||
[Setting.EXP_Gains_Speed]: [ 'Normal', 'Fast', 'Faster', 'Skip' ],
|
||||
|
@ -83,7 +83,7 @@ export const settingDefaults: SettingDefaults = {
|
|||
[Setting.Vibration]: 0
|
||||
};
|
||||
|
||||
export const reloadSettings: Setting[] = [ Setting.UI_Theme, Setting.Language ];
|
||||
export const reloadSettings: Setting[] = [ Setting.UI_Theme, Setting.Language, Setting.Sprite_Set ];
|
||||
|
||||
export function setSetting(scene: BattleScene, setting: Setting, value: integer): boolean {
|
||||
switch (setting) {
|
||||
|
|
|
@ -21,4 +21,4 @@ Get-ChildItem -Path '.\public\images\pokemon' -Recurse -Directory | Where-Object
|
|||
}
|
||||
}
|
||||
|
||||
$keys | ConvertTo-Json | Out-File -encoding ASCII .\public\exp_sprites.json
|
||||
$keys | ConvertTo-Json | Out-File -encoding ASCII .\public\exp-sprites.json
|
Loading…
Reference in New Issue