silphscope 1.2.21 → 1.2.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "silphscope",
3
- "version": "1.2.21",
3
+ "version": "1.2.22",
4
4
  "description": "A firered/leafgreen ROM asset extractor for use in web applications",
5
5
  "main": "main.js",
6
6
  "exports": {
@@ -26,8 +26,8 @@ export async function renderIcon(itemName, items, assets, reader, rom, options =
26
26
  throw new Error(`Missing Item: ${itemName}`);
27
27
  }
28
28
 
29
- const iconPal = resolveItemIconObject(item, reader, "gfx");
30
- const iconPic = resolveItemIconObject(item, reader, "pal");
29
+ const iconPal = resolveItemIconObject(item, reader, itemName, "pal");
30
+ const iconPic = resolveItemIconObject(item, reader, itemName, "gfx");
31
31
  if (!iconPal || !iconPic) {
32
32
  throw new Error(`Missing assets for: ${itemName}`);
33
33
  }
@@ -1,4 +1,4 @@
1
- export function resolveItemIconObject(item, reader, gfxOrPal) {
1
+ export function resolveItemIconObject(item, reader, itemName, gfxOrPal) {
2
2
  const table = reader.getTable("itemIconTable");
3
3
  const entrySize = 8; // why did I make this variable... hmmm... I really can't remember... eh it doesn't do any harm other than being kinda useless since we could just pass 8 as is...
4
4
  const entryOffset = table + item.index * entrySize;
@@ -8,13 +8,13 @@ export function resolveItemIconObject(item, reader, gfxOrPal) {
8
8
  if (gfxOrPal === "gfx") {
9
9
  finalPtr = iconPtr;
10
10
  return {
11
- name: `item_${item.name}_${gfxOrPal}`,
11
+ name: `item_${itemName}_${gfxOrPal}`,
12
12
  offset: finalPtr,
13
13
  }
14
14
  } else if (gfxOrPal === "pal") {
15
15
  finalPtr = palettePtr;
16
16
  return {
17
- name: `item_${item.name}_${gfxOrPal}`,
17
+ name: `item_${itemName}_${gfxOrPal}`,
18
18
  offset: finalPtr,
19
19
  size: 40, // this might be extremely dumb... or! It might just work... idk lol (I mean its worked so far so...)
20
20
  }
@@ -28,7 +28,7 @@ export async function renderMonFoot(monName, mons, reader, rom, options = {}) {
28
28
 
29
29
  if (monName.includes("UNOWN")) return;
30
30
 
31
- const footAsset = resolveMonFootprint(mon, reader); // possibly the easiest change ive had to do if it works first try :o
31
+ const footAsset = resolveMonFootprint(mon, reader, monName); // possibly the easiest change ive had to do if it works first try :o
32
32
  if (!footAsset) {
33
33
  throw new Error(`Missing foot asset for ${monName}`);
34
34
  }
@@ -27,8 +27,8 @@ export async function renderMonIcon(monName, mons, reader, rom, options = {}) {
27
27
  throw new Error(`Missing mon entry for ${monName}`);
28
28
  }
29
29
 
30
- const iconAsset = resolveMonIcon(mon, reader);
31
- const iconPalette = resolveMonIconPalette(mon, reader);
30
+ const iconAsset = resolveMonIcon(mon, reader, monName);
31
+ const iconPalette = resolveMonIconPalette(mon, reader, monName);
32
32
  if (!iconAsset || !iconPalette) throw new Error(`Missing icon asset for ${monName}`);
33
33
 
34
34
  const iconData = extract(iconAsset, rom);
@@ -42,8 +42,8 @@ export async function renderMon(monName, mons, reader, rom, options = {}) {
42
42
  throw new Error(`Missing mon: ${monName}`);
43
43
  }
44
44
 
45
- const monPic = resolveMonSprite(mon, reader, side); // I wonder if this will work :O
46
- const monPal = resolveMonPalette(mon, reader, variant);
45
+ const monPic = resolveMonSprite(mon, reader, monName, side); // I wonder if this will work :O
46
+ const monPal = resolveMonPalette(mon, reader, monName, variant);
47
47
 
48
48
  if (!monPic || !monPal) {
49
49
  throw new Error(`Missing assets for: ${monName}`);
@@ -1,9 +1,9 @@
1
- export function resolveMonFootprint(mon, reader) {
1
+ export function resolveMonFootprint(mon, reader, monName) {
2
2
  const table = reader.getTable("monFootprintTable");
3
3
  const entryOffset = table + mon.index * 4;
4
4
  const ptr = reader.readPointer(entryOffset);
5
5
  return {
6
- name: `mon_${mon.name}_footprint`,
6
+ name: `mon_${monName}_footprint`,
7
7
  offset: ptr,
8
8
  size: 32,
9
9
  };
@@ -1,11 +1,11 @@
1
- export function resolveMonIconPalette(mon, reader) { // I kinda think this might be wrong... but erm who knows :o maybe I got it right first try lol
1
+ export function resolveMonIconPalette(mon, reader, monName) { // I kinda think this might be wrong... but erm who knows :o maybe I got it right first try lol
2
2
  const indexTable = reader.getTable("monIconPaletteIndices");
3
3
  const paletteIndex = reader.readU8(indexTable + mon.index);
4
4
  const paletteTable = reader.getTable("monIconPaletteTable");
5
5
  const entryOffset = paletteTable + paletteIndex * 8;
6
6
  const palettePtr = reader.readPointer(entryOffset);
7
7
  return {
8
- name: `mon_${mon.name}_icon_palette`,
8
+ name: `mon_${monName}_icon_palette`,
9
9
  offset: palettePtr,
10
10
  size: 32,
11
11
  };
@@ -1,4 +1,4 @@
1
- export function resolveMonIcon(mon, reader) {
1
+ export function resolveMonIcon(mon, reader, monName) {
2
2
  const table = reader.getTable("monIconTable");
3
3
  const entryOffset = table + mon.index * 4;
4
4
  const ptr = reader.readPointer(entryOffset);
@@ -1,4 +1,4 @@
1
- export function resolveMonPalette(mon, romReader, variant) {
1
+ export function resolveMonPalette(mon, romReader, monName, variant) {
2
2
  const tableName = variant === "shiny"
3
3
  ? "monShinyPalettes"
4
4
  : "monPalettes";
@@ -6,7 +6,7 @@ export function resolveMonPalette(mon, romReader, variant) {
6
6
  const entryOffset = table + mon.index * 8;
7
7
  const ptr = romReader.readPointer(entryOffset);
8
8
  return {
9
- name: `mon_${mon.name}_${variant}_palette`,
9
+ name: `mon_${monName}_${variant}_palette`,
10
10
  offset: ptr,
11
11
  size: 40 // I hope thats right... from what I can tell all front/back pal's are 40 in size...
12
12
  }
@@ -4,7 +4,7 @@
4
4
  // this time instead of needing a giant lookup table we use this thingy
5
5
  // plus our rom-config to just infer all of this from the table in the ROM itself... in theory..
6
6
 
7
- export function resolveMonSprite(mon, romReader, side) {
7
+ export function resolveMonSprite(mon, romReader, monName, side) {
8
8
  const tableName = side === "back"
9
9
  ? "monBackSprites"
10
10
  : "monFrontSprites";
@@ -12,7 +12,7 @@ export function resolveMonSprite(mon, romReader, side) {
12
12
  const entryOffset = table + mon.index * 8;
13
13
  const ptr = romReader.readPointer(entryOffset);
14
14
  return {
15
- name: `mon_${mon.name}_${side}`, // really not needed anymore lol this was just for testing... but erm its ok for now I guess :p
15
+ name: `mon_${monName}_${side}`, // really not needed anymore lol this was just for testing... but erm its ok for now I guess :p
16
16
  offset: ptr
17
17
  // just realized something... later resolvers will need a size value for assets not in need of lz77 decompressing... luckily these don't but erm... yea.. this could get slightly complicated...
18
18
  };