@rpgm-tools/neo-angband-core 0.22.0 → 0.23.0

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/README.md CHANGED
@@ -32,7 +32,7 @@ import { Rng, ENGINE_VERSION, PARITY_BASELINE } from "@rpgm-tools/neo-angband-co
32
32
  const rng = new Rng(1234);
33
33
  console.log(rng.damroll(3, 6), rng.damroll(3, 6), rng.damroll(3, 6)); // 9 13 8
34
34
 
35
- console.log(ENGINE_VERSION, PARITY_BASELINE); // 0.22.0 4.2.6
35
+ console.log(ENGINE_VERSION, PARITY_BASELINE); // 0.23.0 4.2.6
36
36
  ```
37
37
 
38
38
  Two entry points:
@@ -102,6 +102,7 @@ import type { GlyphHandler, GlyphKind, GlyphRegistry } from "../gen/glyph.js";
102
102
  import type { CaveBuilder, DunProfile, DungeonProfiles } from "../gen/cave.js";
103
103
  import type { ActionRegistry, PlayerAction } from "../game/player-turn.js";
104
104
  import type { CommandVerbTable } from "../cmd.js";
105
+ import type { TileAtlas } from "../visuals/tile-prefs.js";
105
106
  import type { GameState } from "../game/context.js";
106
107
  import type { Monster } from "../mon/monster.js";
107
108
  import type { BlowEffectHandler, BlowEffectSpec, BlowEffectRegistry } from "../combat/mon-melee.js";
@@ -143,6 +144,8 @@ export declare const REGISTRY_CAPABILITIES: {
143
144
  readonly message: "registry:message";
144
145
  /** Web-owned screen rows; kept here so the capability vocabulary has one source. */
145
146
  readonly menu: "registry:menu";
147
+ /** Web-owned tile maps, same reason. See TilesFacade. */
148
+ readonly tiles: "registry:tiles";
146
149
  };
147
150
  export type RegistryDomain = keyof typeof REGISTRY_CAPABILITIES;
148
151
  /**
@@ -205,6 +208,8 @@ export interface RegistryTargets {
205
208
  sounds?: SoundPrefRegistryTarget | null;
206
209
  /** The front end's menu transformer registry (web owns the live implementation). */
207
210
  menus?: MenuRegistryTarget | null;
211
+ /** The front end's tile-filler registry (web owns the live implementation). */
212
+ tiles?: TileRegistryTarget | null;
208
213
  }
209
214
  /**
210
215
  * A menu row's stable, presentation-independent meaning. `kind` identifies
@@ -241,6 +246,77 @@ export interface MenuRegistryTarget {
241
246
  register(id: string, transformer: MenuTransformer, owner?: string): void;
242
247
  handlerFor(id: string): MenuTransformer | null;
243
248
  }
249
+ /**
250
+ * Which tile pack a fill is running for, so a filler can decline a pack it has
251
+ * no business drawing for. A tileset mod's fill is right for ITS OWN packs and
252
+ * a guess about anybody else's art.
253
+ */
254
+ export interface TileFillPack {
255
+ /** The engine drawing it: "tilesheet" for a fixed atlas, "linoleum" for a loose pack. */
256
+ readonly engine: string;
257
+ /** The pack's stable id - its directory name - or "" when the engine has none. */
258
+ readonly id: string;
259
+ /** The name the Graphics screen shows for it. */
260
+ readonly menuname: string;
261
+ }
262
+ /**
263
+ * What a tile filler is handed, and deliberately NOT the tile map itself.
264
+ *
265
+ * WHY A DOOR RATHER THAN THE MAP. The map is the pack author's work plus every
266
+ * pref layer the player has. A filler exists for one narrow thing - content the
267
+ * pack has never heard of, which is to say content a mod added - and handing it
268
+ * the map would let it repaint the Balrog. `fillMonster` and `fillObject` write
269
+ * only where NOTHING is assigned and return false otherwise, so the guarantee
270
+ * that no filler can change what an existing rule draws is mechanical rather
271
+ * than a promise each mod keeps separately. It also makes two fillers
272
+ * order-independent: whoever asks first for a given index gets it, and neither
273
+ * can undo the other.
274
+ *
275
+ * WHAT IS NOT HERE, on purpose. Who is kin to whom, who deserves a tile at all,
276
+ * which donor to copy, and what colour to make it are all JUDGEMENTS, and the
277
+ * game does not get to make them: 4.2.6 has no opinion about what a creature it
278
+ * has never heard of should look like, and a rule invented here would be the
279
+ * port adding something. A tileset mod holds the policy and reads the bound
280
+ * registries through `ctx.registries` to apply it.
281
+ *
282
+ * `derive` is the one capability the game does supply, because it is mechanism
283
+ * with no taste in it: give me a tile that draws `donor`'s asset with its hue
284
+ * rotated `hue` degrees. It returns null when this engine cannot - a fixed
285
+ * atlas has no spare cell to put a variant in, and even a loose pack cannot
286
+ * recolour a donor it does not own the asset for - so a filler that wants a
287
+ * plain copy instead has to say so.
288
+ */
289
+ export interface TileFill {
290
+ /** The pack being filled. */
291
+ readonly pack: TileFillPack;
292
+ /** The tile assigned to a race (`ridx`) right now, or null. A donor to copy. */
293
+ monsterTile(ridx: number): TileAtlas | null;
294
+ /** The tile assigned to an object kind (`kidx`) right now, or null. */
295
+ objectTile(kidx: number): TileAtlas | null;
296
+ /** Supply a race's tile IF nothing has. False means something already had. */
297
+ fillMonster(ridx: number, tile: TileAtlas): boolean;
298
+ /** Supply an object kind's tile IF nothing has. False means something already had. */
299
+ fillObject(kidx: number, tile: TileAtlas): boolean;
300
+ /** A tile drawing `donor`'s asset with its hue rotated, or null if impossible. */
301
+ derive(donor: TileAtlas, hue: number): TileAtlas | null;
302
+ }
303
+ /**
304
+ * A mod's tile filler: supply tiles for content this pack does not draw.
305
+ *
306
+ * Called once per built tile map, which is at graphics-mode change and at boot,
307
+ * after every pref layer (the pack's own, then each mod's) has been applied - so
308
+ * an author who named a specific tile has already won and the filler sees no
309
+ * blank there.
310
+ *
311
+ * Only monsters and object kinds, because that is what the one consumer needs.
312
+ * A terrain or trap filler would be a seam with nothing behind it, and this
313
+ * repository has shipped enough of those.
314
+ */
315
+ export type TileFiller = (fill: TileFill) => void;
316
+ /** Structural target implemented by the web front end, not by headless core. */
317
+ export interface TileRegistryTarget {
318
+ register(filler: TileFiller, owner?: string): void;
319
+ }
244
320
  /** The effect-override facade (gated by registry:effect). */
245
321
  export interface EffectFacade {
246
322
  /**
@@ -387,6 +463,18 @@ export interface MenuFacade {
387
463
  /** The currently installed transformer, for layering/wrapping an earlier mod. */
388
464
  handlerFor(id: string): MenuTransformer | null;
389
465
  }
466
+ /**
467
+ * The tile-filling facade (gated by registry:tiles).
468
+ *
469
+ * One filler per mod: registering twice replaces this mod's own and never
470
+ * anybody else's, so there is nothing to wrap and no `handlerFor` here. Every
471
+ * registered filler runs, in load order, and each can only write where nothing
472
+ * has - see TileFill for why that is the whole safety argument.
473
+ */
474
+ export interface TilesFacade {
475
+ /** Install (or replace) this mod's tile filler. */
476
+ register(filler: TileFiller): void;
477
+ }
390
478
  /** The monster-AI facade (gated by registry:monster). */
391
479
  export interface MonsterFacade {
392
480
  /**
@@ -791,6 +879,7 @@ export interface ModRegistryHost {
791
879
  readonly vocab: VocabFacade;
792
880
  readonly messages: MessageFacade;
793
881
  readonly menus: MenuFacade;
882
+ readonly tiles: TilesFacade;
794
883
  }
795
884
  /**
796
885
  * Build the capability-gated registry host over the live registries. Pass the
@@ -1 +1 @@
1
- {"version":3,"file":"registry-host.d.ts","sourceRoot":"","sources":["../../src/mod/registry-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry-host.d.ts","sourceRoot":"","sources":["../../src/mod/registry-host.ts"],"names":[],"mappings":"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"}
@@ -120,6 +120,8 @@ export const REGISTRY_CAPABILITIES = {
120
120
  message: "registry:message",
121
121
  /** Web-owned screen rows; kept here so the capability vocabulary has one source. */
122
122
  menu: "registry:menu",
123
+ /** Web-owned tile maps, same reason. See TilesFacade. */
124
+ tiles: "registry:tiles",
123
125
  };
124
126
  /** Absent capabilities => trusted host, all granted (perceive/act convention). */
125
127
  function granted(caps, capability) {
@@ -552,6 +554,15 @@ export function createModRegistryHost(targets, capabilities) {
552
554
  return requireTarget(targets.menus, "menu").handlerFor(id);
553
555
  },
554
556
  },
557
+ tiles: {
558
+ register(filler) {
559
+ requireCap(capabilities, "tiles");
560
+ if (typeof filler !== "function") {
561
+ throw new Error("mod registry: a tile filler must be a function");
562
+ }
563
+ requireTarget(targets.tiles, "tiles").register(filler);
564
+ },
565
+ },
555
566
  };
556
567
  }
557
568
  //# sourceMappingURL=registry-host.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry-host.js","sourceRoot":"","sources":["../../src/mod/registry-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry-host.js","sourceRoot":"","sources":["../../src/mod/registry-host.ts"],"names":[],"mappings":"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"}
@@ -133,7 +133,7 @@ export type OrphanStore = Record<string, OrphanEntry[]>;
133
133
  * core pack outright, and versionMap's versions are only ever used to key
134
134
  * quarantined MOD entities. An existing save keeps whatever it recorded.
135
135
  */
136
- export declare const CORE_PACK_VERSION = "0.22.0";
136
+ export declare const CORE_PACK_VERSION = "0.23.0";
137
137
  /** A core-only manifest: the base game with no mods, deterministic. */
138
138
  export declare function coreOnlyManifest(): SaveManifest;
139
139
  /**
package/dist/version.d.ts CHANGED
@@ -21,5 +21,5 @@ export declare const PARITY_BASELINE = "4.2.6";
21
21
  * released tag is iterated takes a MINOR bump, because a published tag is pinned
22
22
  * by digest in a catalogue and must never be moved.
23
23
  */
24
- export declare const ENGINE_VERSION = "0.22.0";
24
+ export declare const ENGINE_VERSION = "0.23.0";
25
25
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -21,5 +21,5 @@ export const PARITY_BASELINE = "4.2.6";
21
21
  * released tag is iterated takes a MINOR bump, because a published tag is pinned
22
22
  * by digest in a catalogue and must never be moved.
23
23
  */
24
- export const ENGINE_VERSION = "0.22.0";
24
+ export const ENGINE_VERSION = "0.23.0";
25
25
  //# sourceMappingURL=version.js.map
@@ -93,9 +93,9 @@ export interface TilePrefsDeps {
93
93
  * MonsterRegistry (or anything with lookup_monster's raceByName).
94
94
  *
95
95
  * `races` is optional because a caller that only resolves `monster:` lines
96
- * needs nothing more than the name lookup - but `monster-base:` lines and
97
- * `fillTilesFromKin` both walk the whole list, so a caller that omits it gets
98
- * those two behaviours skipped rather than a type error.
96
+ * needs nothing more than the name lookup - but `monster-base:` lines walk the
97
+ * whole list, so a caller that omits it gets those lines skipped rather than a
98
+ * type error.
99
99
  */
100
100
  monsters: {
101
101
  raceByName(name: string): {
@@ -166,71 +166,6 @@ export declare function tileForFlavor(map: TileMap, flavor: Pick<Flavor, "fidx">
166
166
  export declare function tileForShownObject(map: TileMap, kind: Pick<ObjectKind, "kidx">,
167
167
  /** The flavour to draw as, or null to draw as the kind. */
168
168
  flavor: Pick<Flavor, "fidx"> | number | null): TileAtlas | null;
169
- /** How many entries a kin fill supplied, by category. */
170
- export interface KinTileFill {
171
- readonly monsters: number;
172
- readonly objects: number;
173
- }
174
- /** What a kin fill needs to know: who is kin to whom, and who added what. */
175
- export interface KinTileDeps {
176
- readonly monsters: {
177
- readonly races?: readonly {
178
- ridx: number;
179
- base: {
180
- name: string;
181
- };
182
- from?: {
183
- owner: string;
184
- };
185
- }[];
186
- };
187
- readonly objects: {
188
- readonly kinds: readonly {
189
- kidx: number;
190
- tval: number;
191
- from?: {
192
- owner: string;
193
- };
194
- }[];
195
- };
196
- }
197
- /**
198
- * Give every entity with no tile of its own the tile of its nearest KIN: a
199
- * monster takes one from another race sharing its `base`, an object kind from
200
- * another kind sharing its `tval`.
201
- *
202
- * WHY THIS IS NOT A CONVENIENCE. A pref file assigns tiles by ATLAS
203
- * COORDINATE, and every tile pack lays its atlas out differently - so a mod
204
- * that adds a monster cannot name a cell that is correct in Linoleum and also
205
- * correct in a pack the author has never seen. The author's only portable
206
- * options were to ship one pref file per known pack, or to accept a coloured
207
- * glyph standing in a tiled dungeon. Neither is provisioning a creature; the
208
- * first is unmaintainable and the second is the wart. Kin resolution is
209
- * pack-independent because it copies whatever THAT pack already drew for the
210
- * family, so an added ant is an ant in every tile set at once.
211
- *
212
- * ONLY MOD-ADDED RECORDS ARE FILLED, and that restriction is the whole safety
213
- * argument. It was originally written to fill anything the pack had left blank,
214
- * on the assumption that a shipped pack draws everything core ships. Measured
215
- * against the real packs, that assumption is false twice over: rings, amulets,
216
- * mushrooms and food are drawn by FLAVOUR, so their kind slots are empty by
217
- * design and filling them would put art on an identified ring that the pack
218
- * never drew; and an older pack such as adam-bolt simply has no tile for
219
- * content added to the game after it was made - 19 monsters and a Knight's
220
- * Shield among them - where a glyph is the honest answer and a sibling's tile
221
- * would be a lie. Provenance is what separates the two cases: a record with no
222
- * `from`, or one owned by the base pack, is core's and is left alone, so this
223
- * cannot change how the unmodded game draws at all. An author who wants a
224
- * specific cell still says so in a `.prf` and that wins, because their pref
225
- * layers in before this runs.
226
- *
227
- * Donors are NOT restricted that way: core's art is exactly what a mod's ant
228
- * should borrow.
229
- *
230
- * Deterministic: the donor is the lowest-index kin carrying a tile, and both
231
- * registries are in bound order.
232
- */
233
- export declare function fillTilesFromKin(map: TileMap, deps: KinTileDeps, baseId?: string): KinTileFill;
234
169
  /** Projection tile for a PROJ index and BOLT motion, or null. */
235
170
  export declare function tileForProjection(map: TileMap, gf: number, motion: number): TileAtlas | null;
236
171
  //# sourceMappingURL=tile-prefs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tile-prefs.d.ts","sourceRoot":"","sources":["../../src/visuals/tile-prefs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,QAAQ;;;;;;CAMX,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;;CAOP,CAAC;AAKX;;;;;;GAMG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,qBAAa,OAAO;IAClB,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,EAAE,CAAoB;IAC9D,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,EAAE,CAAoB;IAC9D,iCAAiC;IACjC,QAAQ,CAAC,OAAO,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,CAAM;IACjD,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,CAAM;IAChD,gCAAgC;IAChC,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,CAAM;IAChD,qCAAqC;IACrC,QAAQ,CAAC,EAAE,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC,EAAE,EAAE,CAGtC;CACH;AAED,gEAAgE;AAChE,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,WAAW,CAAC;IACrB;;;;;;;OAOG;IACH,QAAQ,EAAE;QACR,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC;QAClD,KAAK,CAAC,EAAE,SAAS;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,EAAE,CAAC;KAC7D,CAAC;IACF,sEAAsE;IACtE,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,IAAI,CAAC;IAClC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC3C;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB;AAMD,uEAAuE;AACvE,wBAAgB,cAAc,CAC5B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,SAAS,GAAG,IAAI,CAGlB;AAED,iEAAiE;AACjE,wBAAgB,WAAW,CACzB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,SAAS,GAAG,IAAI,CAGlB;AAED,qDAAqD;AACrD,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAE3E;AAED,+CAA+C;AAC/C,wBAAgB,aAAa,CAC3B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,GAC7B,SAAS,GAAG,IAAI,CAElB;AAED,mDAAmD;AACnD,wBAAgB,aAAa,CAC3B,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GACpC,SAAS,GAAG,IAAI,CAGlB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;AAC9B,2DAA2D;AAC3D,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,GAC3C,SAAS,GAAG,IAAI,CAElB;AAMD,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,6EAA6E;AAC7E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS;YACxB,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE;gBAAE,IAAI,EAAE,MAAM,CAAA;aAAE,CAAC;YACvB,IAAI,CAAC,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAA;aAAE,CAAC;SAC1B,EAAE,CAAC;KACL,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,KAAK,EAAE,SAAS;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,EAAE,CAAC;KACrF,CAAC;CACH;AAeD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,WAAW,EACjB,MAAM,GAAE,MAAkB,GACzB,WAAW,CAiCb;AAED,iEAAiE;AACjE,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,OAAO,EACZ,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACb,SAAS,GAAG,IAAI,CAElB"}
1
+ {"version":3,"file":"tile-prefs.d.ts","sourceRoot":"","sources":["../../src/visuals/tile-prefs.ts"],"names":[],"mappings":"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"}
@@ -126,91 +126,6 @@ export function tileForShownObject(map, kind,
126
126
  flavor) {
127
127
  return flavor === null ? tileForObject(map, kind) : tileForFlavor(map, flavor);
128
128
  }
129
- /**
130
- * The pack whose content is NOT provisioned - the base game. A record with no
131
- * provenance is core's own and unmodified, and a record owned by `baseId` is
132
- * core's own with a mod's patch applied; neither is something a tile pack could
133
- * not have known about.
134
- */
135
- const BASE_PACK = "core";
136
- /** Whether a record was ADDED by a mod, rather than being core's own. */
137
- function addedByMod(rec, baseId) {
138
- return rec.from !== undefined && rec.from.owner !== baseId;
139
- }
140
- /**
141
- * Give every entity with no tile of its own the tile of its nearest KIN: a
142
- * monster takes one from another race sharing its `base`, an object kind from
143
- * another kind sharing its `tval`.
144
- *
145
- * WHY THIS IS NOT A CONVENIENCE. A pref file assigns tiles by ATLAS
146
- * COORDINATE, and every tile pack lays its atlas out differently - so a mod
147
- * that adds a monster cannot name a cell that is correct in Linoleum and also
148
- * correct in a pack the author has never seen. The author's only portable
149
- * options were to ship one pref file per known pack, or to accept a coloured
150
- * glyph standing in a tiled dungeon. Neither is provisioning a creature; the
151
- * first is unmaintainable and the second is the wart. Kin resolution is
152
- * pack-independent because it copies whatever THAT pack already drew for the
153
- * family, so an added ant is an ant in every tile set at once.
154
- *
155
- * ONLY MOD-ADDED RECORDS ARE FILLED, and that restriction is the whole safety
156
- * argument. It was originally written to fill anything the pack had left blank,
157
- * on the assumption that a shipped pack draws everything core ships. Measured
158
- * against the real packs, that assumption is false twice over: rings, amulets,
159
- * mushrooms and food are drawn by FLAVOUR, so their kind slots are empty by
160
- * design and filling them would put art on an identified ring that the pack
161
- * never drew; and an older pack such as adam-bolt simply has no tile for
162
- * content added to the game after it was made - 19 monsters and a Knight's
163
- * Shield among them - where a glyph is the honest answer and a sibling's tile
164
- * would be a lie. Provenance is what separates the two cases: a record with no
165
- * `from`, or one owned by the base pack, is core's and is left alone, so this
166
- * cannot change how the unmodded game draws at all. An author who wants a
167
- * specific cell still says so in a `.prf` and that wins, because their pref
168
- * layers in before this runs.
169
- *
170
- * Donors are NOT restricted that way: core's art is exactly what a mod's ant
171
- * should borrow.
172
- *
173
- * Deterministic: the donor is the lowest-index kin carrying a tile, and both
174
- * registries are in bound order.
175
- */
176
- export function fillTilesFromKin(map, deps, baseId = BASE_PACK) {
177
- let monsters = 0;
178
- const races = deps.monsters.races;
179
- if (races) {
180
- const donor = new Map();
181
- for (const race of races) {
182
- const tile = map.monster[race.ridx];
183
- if (tile && !donor.has(race.base.name))
184
- donor.set(race.base.name, tile);
185
- }
186
- for (const race of races) {
187
- if (map.monster[race.ridx] || !addedByMod(race, baseId))
188
- continue;
189
- const tile = donor.get(race.base.name);
190
- if (!tile)
191
- continue;
192
- map.monster[race.ridx] = { ...tile };
193
- monsters++;
194
- }
195
- }
196
- let objects = 0;
197
- const donorByTval = new Map();
198
- for (const kind of deps.objects.kinds) {
199
- const tile = map.object[kind.kidx];
200
- if (tile && !donorByTval.has(kind.tval))
201
- donorByTval.set(kind.tval, tile);
202
- }
203
- for (const kind of deps.objects.kinds) {
204
- if (map.object[kind.kidx] || !addedByMod(kind, baseId))
205
- continue;
206
- const tile = donorByTval.get(kind.tval);
207
- if (!tile)
208
- continue;
209
- map.object[kind.kidx] = { ...tile };
210
- objects++;
211
- }
212
- return { monsters, objects };
213
- }
214
129
  /** Projection tile for a PROJ index and BOLT motion, or null. */
215
130
  export function tileForProjection(map, gf, motion) {
216
131
  return map.gf[gf]?.[motion] ?? null;
@@ -1 +1 @@
1
- {"version":3,"file":"tile-prefs.js","sourceRoot":"","sources":["../../src/visuals/tile-prefs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAOrD;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;CACE,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,SAAS,EAAE,CAAC;IACZ,EAAE,EAAE,CAAC;IACL,GAAG,EAAE,CAAC;IACN,GAAG,EAAE,CAAC;IACN,IAAI,EAAE,CAAC;IACP,GAAG,EAAE,CAAC;CACE,CAAC;AAEX,6EAA6E;AAC7E,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AActC;;;;GAIG;AACH,MAAM,OAAO,OAAO;IAClB,4EAA4E;IACnE,IAAI,GAAgC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9D,yEAAyE;IAChE,IAAI,GAAgC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9D,iCAAiC;IACxB,OAAO,GAA8B,EAAE,CAAC;IACjD,8BAA8B;IACrB,MAAM,GAA8B,EAAE,CAAC;IAChD,gCAAgC;IACvB,MAAM,GAA8B,EAAE,CAAC;IAChD,qCAAqC;IAC5B,EAAE,GAAgC,KAAK,CAAC,IAAI,CACnD,EAAE,MAAM,EAAE,QAAQ,EAAE,EACpB,GAAG,EAAE,CAAC,EAA+B,CACtC,CAAC;CACH;AAyCD,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AAExE,uEAAuE;AACvE,MAAM,UAAU,cAAc,CAC5B,GAAY,EACZ,IAAY,EACZ,QAAgB;IAEhB,MAAM,CAAC,GAAG,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC7E,OAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,CAA+B,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAClE,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,WAAW,CACzB,GAAY,EACZ,IAAY,EACZ,QAAgB;IAEhB,MAAM,CAAC,GAAG,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC7E,OAAQ,GAAG,CAAC,IAAI,CAAC,CAAC,CAA+B,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAClE,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,cAAc,CAAC,GAAY,EAAE,IAAY;IACvD,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACnC,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,aAAa,CAC3B,GAAY,EACZ,IAA8B;IAE9B,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACvC,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,aAAa,CAC3B,GAAY,EACZ,MAAqC;IAErC,MAAM,IAAI,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;IAC/D,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAY,EACZ,IAA8B;AAC9B,2DAA2D;AAC3D,MAA4C;IAE5C,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACjF,CAAC;AA0BD;;;;;GAKG;AACH,MAAM,SAAS,GAAG,MAAM,CAAC;AAEzB,yEAAyE;AACzE,SAAS,UAAU,CAAC,GAAiC,EAAE,MAAc;IACnE,OAAO,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;AAC7D,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,UAAU,gBAAgB,CAC9B,GAAY,EACZ,IAAiB,EACjB,SAAiB,SAAS;IAE1B,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAClC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1E,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;gBAAE,SAAS;YAClE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YACrC,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqB,CAAC;IACjD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;YAAE,SAAS;QACjE,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;QACpC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,iBAAiB,CAC/B,GAAY,EACZ,EAAU,EACV,MAAc;IAEd,OAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,CAA2C,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;AACjF,CAAC"}
1
+ {"version":3,"file":"tile-prefs.js","sourceRoot":"","sources":["../../src/visuals/tile-prefs.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpgm-tools/neo-angband-core",
3
- "version": "0.22.0",
3
+ "version": "0.23.0",
4
4
  "description": "Headless Neo Angband game engine: rules, world, entities, effects, generation",
5
5
  "license": "GPL-2.0-only",
6
6
  "author": "neostryder (RPGM Tools)",
@@ -104,6 +104,7 @@ import type { GlyphHandler, GlyphKind, GlyphRegistry } from "../gen/glyph.js";
104
104
  import type { CaveBuilder, DunProfile, DungeonProfiles } from "../gen/cave.js";
105
105
  import type { ActionRegistry, PlayerAction } from "../game/player-turn.js";
106
106
  import type { CommandVerbTable } from "../cmd.js";
107
+ import type { TileAtlas } from "../visuals/tile-prefs.js";
107
108
  import type { GameState } from "../game/context.js";
108
109
  import type { Monster } from "../mon/monster.js";
109
110
  import type {
@@ -201,6 +202,8 @@ export const REGISTRY_CAPABILITIES = {
201
202
  message: "registry:message",
202
203
  /** Web-owned screen rows; kept here so the capability vocabulary has one source. */
203
204
  menu: "registry:menu",
205
+ /** Web-owned tile maps, same reason. See TilesFacade. */
206
+ tiles: "registry:tiles",
204
207
  } as const;
205
208
 
206
209
  export type RegistryDomain = keyof typeof REGISTRY_CAPABILITIES;
@@ -266,6 +269,8 @@ export interface RegistryTargets {
266
269
  sounds?: SoundPrefRegistryTarget | null;
267
270
  /** The front end's menu transformer registry (web owns the live implementation). */
268
271
  menus?: MenuRegistryTarget | null;
272
+ /** The front end's tile-filler registry (web owns the live implementation). */
273
+ tiles?: TileRegistryTarget | null;
269
274
  }
270
275
 
271
276
  /**
@@ -306,6 +311,81 @@ export interface MenuRegistryTarget {
306
311
  handlerFor(id: string): MenuTransformer | null;
307
312
  }
308
313
 
314
+ /**
315
+ * Which tile pack a fill is running for, so a filler can decline a pack it has
316
+ * no business drawing for. A tileset mod's fill is right for ITS OWN packs and
317
+ * a guess about anybody else's art.
318
+ */
319
+ export interface TileFillPack {
320
+ /** The engine drawing it: "tilesheet" for a fixed atlas, "linoleum" for a loose pack. */
321
+ readonly engine: string;
322
+ /** The pack's stable id - its directory name - or "" when the engine has none. */
323
+ readonly id: string;
324
+ /** The name the Graphics screen shows for it. */
325
+ readonly menuname: string;
326
+ }
327
+
328
+ /**
329
+ * What a tile filler is handed, and deliberately NOT the tile map itself.
330
+ *
331
+ * WHY A DOOR RATHER THAN THE MAP. The map is the pack author's work plus every
332
+ * pref layer the player has. A filler exists for one narrow thing - content the
333
+ * pack has never heard of, which is to say content a mod added - and handing it
334
+ * the map would let it repaint the Balrog. `fillMonster` and `fillObject` write
335
+ * only where NOTHING is assigned and return false otherwise, so the guarantee
336
+ * that no filler can change what an existing rule draws is mechanical rather
337
+ * than a promise each mod keeps separately. It also makes two fillers
338
+ * order-independent: whoever asks first for a given index gets it, and neither
339
+ * can undo the other.
340
+ *
341
+ * WHAT IS NOT HERE, on purpose. Who is kin to whom, who deserves a tile at all,
342
+ * which donor to copy, and what colour to make it are all JUDGEMENTS, and the
343
+ * game does not get to make them: 4.2.6 has no opinion about what a creature it
344
+ * has never heard of should look like, and a rule invented here would be the
345
+ * port adding something. A tileset mod holds the policy and reads the bound
346
+ * registries through `ctx.registries` to apply it.
347
+ *
348
+ * `derive` is the one capability the game does supply, because it is mechanism
349
+ * with no taste in it: give me a tile that draws `donor`'s asset with its hue
350
+ * rotated `hue` degrees. It returns null when this engine cannot - a fixed
351
+ * atlas has no spare cell to put a variant in, and even a loose pack cannot
352
+ * recolour a donor it does not own the asset for - so a filler that wants a
353
+ * plain copy instead has to say so.
354
+ */
355
+ export interface TileFill {
356
+ /** The pack being filled. */
357
+ readonly pack: TileFillPack;
358
+ /** The tile assigned to a race (`ridx`) right now, or null. A donor to copy. */
359
+ monsterTile(ridx: number): TileAtlas | null;
360
+ /** The tile assigned to an object kind (`kidx`) right now, or null. */
361
+ objectTile(kidx: number): TileAtlas | null;
362
+ /** Supply a race's tile IF nothing has. False means something already had. */
363
+ fillMonster(ridx: number, tile: TileAtlas): boolean;
364
+ /** Supply an object kind's tile IF nothing has. False means something already had. */
365
+ fillObject(kidx: number, tile: TileAtlas): boolean;
366
+ /** A tile drawing `donor`'s asset with its hue rotated, or null if impossible. */
367
+ derive(donor: TileAtlas, hue: number): TileAtlas | null;
368
+ }
369
+
370
+ /**
371
+ * A mod's tile filler: supply tiles for content this pack does not draw.
372
+ *
373
+ * Called once per built tile map, which is at graphics-mode change and at boot,
374
+ * after every pref layer (the pack's own, then each mod's) has been applied - so
375
+ * an author who named a specific tile has already won and the filler sees no
376
+ * blank there.
377
+ *
378
+ * Only monsters and object kinds, because that is what the one consumer needs.
379
+ * A terrain or trap filler would be a seam with nothing behind it, and this
380
+ * repository has shipped enough of those.
381
+ */
382
+ export type TileFiller = (fill: TileFill) => void;
383
+
384
+ /** Structural target implemented by the web front end, not by headless core. */
385
+ export interface TileRegistryTarget {
386
+ register(filler: TileFiller, owner?: string): void;
387
+ }
388
+
309
389
  /** The effect-override facade (gated by registry:effect). */
310
390
  export interface EffectFacade {
311
391
  /**
@@ -459,6 +539,19 @@ export interface MenuFacade {
459
539
  handlerFor(id: string): MenuTransformer | null;
460
540
  }
461
541
 
542
+ /**
543
+ * The tile-filling facade (gated by registry:tiles).
544
+ *
545
+ * One filler per mod: registering twice replaces this mod's own and never
546
+ * anybody else's, so there is nothing to wrap and no `handlerFor` here. Every
547
+ * registered filler runs, in load order, and each can only write where nothing
548
+ * has - see TileFill for why that is the whole safety argument.
549
+ */
550
+ export interface TilesFacade {
551
+ /** Install (or replace) this mod's tile filler. */
552
+ register(filler: TileFiller): void;
553
+ }
554
+
462
555
  /** The monster-AI facade (gated by registry:monster). */
463
556
  export interface MonsterFacade {
464
557
  /**
@@ -877,6 +970,7 @@ export interface ModRegistryHost {
877
970
  readonly vocab: VocabFacade;
878
971
  readonly messages: MessageFacade;
879
972
  readonly menus: MenuFacade;
973
+ readonly tiles: TilesFacade;
880
974
  }
881
975
 
882
976
  /** Absent capabilities => trusted host, all granted (perceive/act convention). */
@@ -1365,5 +1459,14 @@ export function createModRegistryHost(
1365
1459
  return requireTarget(targets.menus, "menu").handlerFor(id);
1366
1460
  },
1367
1461
  },
1462
+ tiles: {
1463
+ register(filler): void {
1464
+ requireCap(capabilities, "tiles");
1465
+ if (typeof filler !== "function") {
1466
+ throw new Error("mod registry: a tile filler must be a function");
1467
+ }
1468
+ requireTarget(targets.tiles, "tiles").register(filler);
1469
+ },
1470
+ },
1368
1471
  };
1369
1472
  }
package/src/version.ts CHANGED
@@ -23,4 +23,4 @@ export const PARITY_BASELINE = "4.2.6";
23
23
  * released tag is iterated takes a MINOR bump, because a published tag is pinned
24
24
  * by digest in a catalogue and must never be moved.
25
25
  */
26
- export const ENGINE_VERSION = "0.22.0";
26
+ export const ENGINE_VERSION = "0.23.0";
@@ -106,9 +106,9 @@ export interface TilePrefsDeps {
106
106
  * MonsterRegistry (or anything with lookup_monster's raceByName).
107
107
  *
108
108
  * `races` is optional because a caller that only resolves `monster:` lines
109
- * needs nothing more than the name lookup - but `monster-base:` lines and
110
- * `fillTilesFromKin` both walk the whole list, so a caller that omits it gets
111
- * those two behaviours skipped rather than a type error.
109
+ * needs nothing more than the name lookup - but `monster-base:` lines walk the
110
+ * whole list, so a caller that omits it gets those lines skipped rather than a
111
+ * type error.
112
112
  */
113
113
  monsters: {
114
114
  raceByName(name: string): { ridx: number } | null;
@@ -215,118 +215,6 @@ export function tileForShownObject(
215
215
  return flavor === null ? tileForObject(map, kind) : tileForFlavor(map, flavor);
216
216
  }
217
217
 
218
- /* ------------------------------------------------------------------ *
219
- * Provisioning an ADDED entity with a tile.
220
- * ------------------------------------------------------------------ */
221
-
222
- /** How many entries a kin fill supplied, by category. */
223
- export interface KinTileFill {
224
- readonly monsters: number;
225
- readonly objects: number;
226
- }
227
-
228
- /** What a kin fill needs to know: who is kin to whom, and who added what. */
229
- export interface KinTileDeps {
230
- readonly monsters: {
231
- readonly races?: readonly {
232
- ridx: number;
233
- base: { name: string };
234
- from?: { owner: string };
235
- }[];
236
- };
237
- readonly objects: {
238
- readonly kinds: readonly { kidx: number; tval: number; from?: { owner: string } }[];
239
- };
240
- }
241
-
242
- /**
243
- * The pack whose content is NOT provisioned - the base game. A record with no
244
- * provenance is core's own and unmodified, and a record owned by `baseId` is
245
- * core's own with a mod's patch applied; neither is something a tile pack could
246
- * not have known about.
247
- */
248
- const BASE_PACK = "core";
249
-
250
- /** Whether a record was ADDED by a mod, rather than being core's own. */
251
- function addedByMod(rec: { from?: { owner: string } }, baseId: string): boolean {
252
- return rec.from !== undefined && rec.from.owner !== baseId;
253
- }
254
-
255
- /**
256
- * Give every entity with no tile of its own the tile of its nearest KIN: a
257
- * monster takes one from another race sharing its `base`, an object kind from
258
- * another kind sharing its `tval`.
259
- *
260
- * WHY THIS IS NOT A CONVENIENCE. A pref file assigns tiles by ATLAS
261
- * COORDINATE, and every tile pack lays its atlas out differently - so a mod
262
- * that adds a monster cannot name a cell that is correct in Linoleum and also
263
- * correct in a pack the author has never seen. The author's only portable
264
- * options were to ship one pref file per known pack, or to accept a coloured
265
- * glyph standing in a tiled dungeon. Neither is provisioning a creature; the
266
- * first is unmaintainable and the second is the wart. Kin resolution is
267
- * pack-independent because it copies whatever THAT pack already drew for the
268
- * family, so an added ant is an ant in every tile set at once.
269
- *
270
- * ONLY MOD-ADDED RECORDS ARE FILLED, and that restriction is the whole safety
271
- * argument. It was originally written to fill anything the pack had left blank,
272
- * on the assumption that a shipped pack draws everything core ships. Measured
273
- * against the real packs, that assumption is false twice over: rings, amulets,
274
- * mushrooms and food are drawn by FLAVOUR, so their kind slots are empty by
275
- * design and filling them would put art on an identified ring that the pack
276
- * never drew; and an older pack such as adam-bolt simply has no tile for
277
- * content added to the game after it was made - 19 monsters and a Knight's
278
- * Shield among them - where a glyph is the honest answer and a sibling's tile
279
- * would be a lie. Provenance is what separates the two cases: a record with no
280
- * `from`, or one owned by the base pack, is core's and is left alone, so this
281
- * cannot change how the unmodded game draws at all. An author who wants a
282
- * specific cell still says so in a `.prf` and that wins, because their pref
283
- * layers in before this runs.
284
- *
285
- * Donors are NOT restricted that way: core's art is exactly what a mod's ant
286
- * should borrow.
287
- *
288
- * Deterministic: the donor is the lowest-index kin carrying a tile, and both
289
- * registries are in bound order.
290
- */
291
- export function fillTilesFromKin(
292
- map: TileMap,
293
- deps: KinTileDeps,
294
- baseId: string = BASE_PACK,
295
- ): KinTileFill {
296
- let monsters = 0;
297
- const races = deps.monsters.races;
298
- if (races) {
299
- const donor = new Map<string, TileAtlas>();
300
- for (const race of races) {
301
- const tile = map.monster[race.ridx];
302
- if (tile && !donor.has(race.base.name)) donor.set(race.base.name, tile);
303
- }
304
- for (const race of races) {
305
- if (map.monster[race.ridx] || !addedByMod(race, baseId)) continue;
306
- const tile = donor.get(race.base.name);
307
- if (!tile) continue;
308
- map.monster[race.ridx] = { ...tile };
309
- monsters++;
310
- }
311
- }
312
-
313
- let objects = 0;
314
- const donorByTval = new Map<number, TileAtlas>();
315
- for (const kind of deps.objects.kinds) {
316
- const tile = map.object[kind.kidx];
317
- if (tile && !donorByTval.has(kind.tval)) donorByTval.set(kind.tval, tile);
318
- }
319
- for (const kind of deps.objects.kinds) {
320
- if (map.object[kind.kidx] || !addedByMod(kind, baseId)) continue;
321
- const tile = donorByTval.get(kind.tval);
322
- if (!tile) continue;
323
- map.object[kind.kidx] = { ...tile };
324
- objects++;
325
- }
326
-
327
- return { monsters, objects };
328
- }
329
-
330
218
  /** Projection tile for a PROJ index and BOLT motion, or null. */
331
219
  export function tileForProjection(
332
220
  map: TileMap,