forked from FOSS/BangleApps
gipy : support for very large paths
parent
a0324c1aba
commit
3fc00c62a9
|
@ -95,7 +95,7 @@ function compute_eta(hour, minutes, approximate_speed, remaining_distance) {
|
|||
}
|
||||
|
||||
class TilesOffsets {
|
||||
constructor(filename, offset) {
|
||||
constructor(filename, offset, bytes_per_tile_index) {
|
||||
let header = E.toArrayBuffer(s.read(filename, offset, 4));
|
||||
let type_size = Uint8Array(header, 0, 1)[0];
|
||||
offset += 1;
|
||||
|
@ -105,9 +105,13 @@ class TilesOffsets {
|
|||
offset += 2;
|
||||
|
||||
let bytes = (type_size==24)?3:2;
|
||||
let buffer = E.toArrayBuffer(s.read(filename, offset, 2*non_empty_tiles_number+bytes*non_empty_tiles_number));
|
||||
this.non_empty_tiles = Uint16Array(buffer, 0, non_empty_tiles_number);
|
||||
offset += 2 * non_empty_tiles_number;
|
||||
let buffer = E.toArrayBuffer(s.read(filename, offset, bytes_per_tile_index*non_empty_tiles_number+bytes*non_empty_tiles_number));
|
||||
if (bytes_per_tile_index == 2) {
|
||||
this.non_empty_tiles = Uint16Array(buffer, 0, non_empty_tiles_number);
|
||||
} else {
|
||||
this.non_empty_tiles = Uint24Array(buffer, 0, non_empty_tiles_number);
|
||||
}
|
||||
offset += bytes_per_tile_index * non_empty_tiles_number;
|
||||
if (type_size == 24) {
|
||||
this.non_empty_tiles_ends = Uint24Array(
|
||||
buffer,
|
||||
|
@ -179,7 +183,11 @@ class Map {
|
|||
offset += 8;
|
||||
|
||||
// tiles offsets
|
||||
let res = new TilesOffsets(filename, offset);
|
||||
let bytes_per_tile_index = 2;
|
||||
if (this.grid_size[0] * this.grid_size[1]) >= 65536 {
|
||||
bytes_per_tile_index = 3;
|
||||
}
|
||||
let res = new TilesOffsets(filename, offset, bytes_per_tile_index);
|
||||
this.tiles_offsets = res[0];
|
||||
offset = res[1];
|
||||
|
||||
|
@ -314,6 +322,10 @@ class Interests {
|
|||
this.side = side_array[0];
|
||||
offset += 8;
|
||||
|
||||
let bytes_per_tile_index = 2;
|
||||
if (this.grid_size[0] * this.grid_size[1]) >= 65536 {
|
||||
bytes_per_tile_index = 3;
|
||||
}
|
||||
let res = new TilesOffsets(filename, offset);
|
||||
offset = res[1];
|
||||
this.offsets = res[0];
|
||||
|
|
|
@ -80,11 +80,11 @@ export interface InitOutput {
|
|||
readonly __wbindgen_malloc: (a: number) => number;
|
||||
readonly __wbindgen_realloc: (a: number, b: number, c: number) => number;
|
||||
readonly __wbindgen_export_2: WebAssembly.Table;
|
||||
readonly wasm_bindgen__convert__closures__invoke1_mut__hc18aa489d857d6a0: (a: number, b: number, c: number) => void;
|
||||
readonly _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc9126e38b2d002d3: (a: number, b: number, c: number) => void;
|
||||
readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
|
||||
readonly __wbindgen_free: (a: number, b: number) => void;
|
||||
readonly __wbindgen_exn_store: (a: number) => void;
|
||||
readonly wasm_bindgen__convert__closures__invoke2_mut__h41c3b5af183df3b2: (a: number, b: number, c: number, d: number) => void;
|
||||
readonly wasm_bindgen__convert__closures__invoke2_mut__h56f743924f545497: (a: number, b: number, c: number, d: number) => void;
|
||||
}
|
||||
|
||||
export type SyncInitInput = BufferSource | WebAssembly.Module;
|
||||
|
|
|
@ -98,6 +98,14 @@ function takeObject(idx) {
|
|||
return ret;
|
||||
}
|
||||
|
||||
const cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
||||
|
||||
cachedTextDecoder.decode();
|
||||
|
||||
function getStringFromWasm0(ptr, len) {
|
||||
return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));
|
||||
}
|
||||
|
||||
function addHeapObject(obj) {
|
||||
if (heap_next === heap.length) heap.push(heap.length + 1);
|
||||
const idx = heap_next;
|
||||
|
@ -107,14 +115,6 @@ function addHeapObject(obj) {
|
|||
return idx;
|
||||
}
|
||||
|
||||
const cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
||||
|
||||
cachedTextDecoder.decode();
|
||||
|
||||
function getStringFromWasm0(ptr, len) {
|
||||
return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));
|
||||
}
|
||||
|
||||
function debugString(val) {
|
||||
// primitive types
|
||||
const type = typeof val;
|
||||
|
@ -205,7 +205,7 @@ function makeMutClosure(arg0, arg1, dtor, f) {
|
|||
return real;
|
||||
}
|
||||
function __wbg_adapter_24(arg0, arg1, arg2) {
|
||||
wasm.wasm_bindgen__convert__closures__invoke1_mut__hc18aa489d857d6a0(arg0, arg1, addHeapObject(arg2));
|
||||
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc9126e38b2d002d3(arg0, arg1, addHeapObject(arg2));
|
||||
}
|
||||
|
||||
function _assertClass(instance, klass) {
|
||||
|
@ -389,7 +389,7 @@ function handleError(f, args) {
|
|||
}
|
||||
}
|
||||
function __wbg_adapter_86(arg0, arg1, arg2, arg3) {
|
||||
wasm.wasm_bindgen__convert__closures__invoke2_mut__h41c3b5af183df3b2(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
|
||||
wasm.wasm_bindgen__convert__closures__invoke2_mut__h56f743924f545497(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -464,10 +464,6 @@ function getImports() {
|
|||
imports.wbg.__wbindgen_object_drop_ref = function(arg0) {
|
||||
takeObject(arg0);
|
||||
};
|
||||
imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
|
||||
const ret = getObject(arg0);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_string_new = function(arg0, arg1) {
|
||||
const ret = getStringFromWasm0(arg0, arg1);
|
||||
return addHeapObject(ret);
|
||||
|
@ -476,6 +472,10 @@ function getImports() {
|
|||
const ret = fetch(getObject(arg0));
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
|
||||
const ret = getObject(arg0);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbg_signal_31753ac644b25fbb = function(arg0) {
|
||||
const ret = getObject(arg0).signal;
|
||||
return addHeapObject(ret);
|
||||
|
@ -665,10 +665,6 @@ function getImports() {
|
|||
const ret = new Uint8Array(getObject(arg0));
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbg_stringify_d6471d300ded9b68 = function() { return handleError(function (arg0) {
|
||||
const ret = JSON.stringify(getObject(arg0));
|
||||
return addHeapObject(ret);
|
||||
}, arguments) };
|
||||
imports.wbg.__wbg_get_765201544a2b6869 = function() { return handleError(function (arg0, arg1) {
|
||||
const ret = Reflect.get(getObject(arg0), getObject(arg1));
|
||||
return addHeapObject(ret);
|
||||
|
@ -681,6 +677,10 @@ function getImports() {
|
|||
const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2));
|
||||
return ret;
|
||||
}, arguments) };
|
||||
imports.wbg.__wbg_stringify_d6471d300ded9b68 = function() { return handleError(function (arg0) {
|
||||
const ret = JSON.stringify(getObject(arg0));
|
||||
return addHeapObject(ret);
|
||||
}, arguments) };
|
||||
imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {
|
||||
const ret = debugString(getObject(arg1));
|
||||
const ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
||||
|
@ -695,8 +695,8 @@ function getImports() {
|
|||
const ret = wasm.memory;
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
imports.wbg.__wbindgen_closure_wrapper2356 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 293, __wbg_adapter_24);
|
||||
imports.wbg.__wbindgen_closure_wrapper2340 = function(arg0, arg1, arg2) {
|
||||
const ret = makeMutClosure(arg0, arg1, 300, __wbg_adapter_24);
|
||||
return addHeapObject(ret);
|
||||
};
|
||||
|
||||
|
|
Binary file not shown.
|
@ -14,8 +14,8 @@ export function gps_from_area(a: number, b: number, c: number, d: number, e: num
|
|||
export function __wbindgen_malloc(a: number): number;
|
||||
export function __wbindgen_realloc(a: number, b: number, c: number): number;
|
||||
export const __wbindgen_export_2: WebAssembly.Table;
|
||||
export function wasm_bindgen__convert__closures__invoke1_mut__hc18aa489d857d6a0(a: number, b: number, c: number): void;
|
||||
export function _dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hc9126e38b2d002d3(a: number, b: number, c: number): void;
|
||||
export function __wbindgen_add_to_stack_pointer(a: number): number;
|
||||
export function __wbindgen_free(a: number, b: number): void;
|
||||
export function __wbindgen_exn_store(a: number): void;
|
||||
export function wasm_bindgen__convert__closures__invoke2_mut__h41c3b5af183df3b2(a: number, b: number, c: number, d: number): void;
|
||||
export function wasm_bindgen__convert__closures__invoke2_mut__h56f743924f545497(a: number, b: number, c: number, d: number): void;
|
||||
|
|
Loading…
Reference in New Issue