(x: number, y: number, width: number, height: number, borderTL: number, fill: number, borderBR: number, str: string)
| 852 | |
| 853 | // ---- |
| 854 | |
| 855 | worldmap: JagFile | null = null; |
| 856 | |
| 857 | async loadWorldmap(): Promise<JagFile> { |
| 858 | if (this.worldmap) { |
| 859 | return this.worldmap; |
| 860 | } |
| 861 | |
| 862 | // todo: save to cache and redownload if necessary |
| 863 | let data: Uint8Array | undefined = undefined; |
| 864 | |
| 865 | let retry: number = 5; |
| 866 | while (!data) { |
| 867 | await this.drawProgress('Requesting map', 0); |
| 868 | |
| 869 | try { |
| 870 | data = await downloadUrl('/worldmap.jag'); |
| 871 | } catch (_e) { |
| 872 | data = undefined; |
| 873 | for (let i: number = retry; i > 0; i--) { |
| 874 | await this.drawProgress(`Error loading - Will retry in ${i} secs.`, 0); |
| 875 | await sleep(1000); |
| 876 | } |
| 877 | |
| 878 | retry *= 2; |
no test coverage detected