isaacscript-common 7.3.0 → 7.4.3

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.
@@ -112,8 +112,7 @@ export declare type CustomStageTSConfig = Readonly<{
112
112
  * the floor.
113
113
  *
114
114
  * If not specified, the vanilla Basement decorations spritesheet will be used. For reference,
115
- * this is located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
116
- * Rebirth\resources\gfx\grid\props_01_basement.png`
115
+ * this is located at: `resources/gfx/grid/props_01_basement.png`
117
116
  */
118
117
  decorationsPNGPath?: string;
119
118
  /**
@@ -126,8 +125,7 @@ export declare type CustomStageTSConfig = Readonly<{
126
125
  * a vanilla urn/mushroom/skull/polyp/bucket, use the `spawnRockAltReward` helper function.
127
126
  *
128
127
  * If not specified, the vanilla Basement rocks spritesheet will be used. For reference, this is
129
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
130
- * Rebirth\resources-dlc3\gfx\grid\rocks_basement.png`
128
+ * located at: `resources-dlc3/gfx/grid/rocks_basement.png`
131
129
  */
132
130
  rocksPNGPath?: string;
133
131
  /**
@@ -135,8 +133,7 @@ export declare type CustomStageTSConfig = Readonly<{
135
133
  * floor.
136
134
  *
137
135
  * If not specified, the vanilla Basement pits spritesheet will be used. For reference, this is
138
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
139
- * Rebirth\resources\gfx\grid\grid_pit.png`
136
+ * located at: `resources/gfx/grid/grid_pit.png`
140
137
  */
141
138
  pitsPNGPath?: string;
142
139
  /**
@@ -149,8 +146,7 @@ export declare type CustomStageTSConfig = Readonly<{
149
146
  * the floor.
150
147
  *
151
148
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
152
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
153
- * Rebirth\resources\gfx\grid\door_01_normaldoor.png`
149
+ * located at: `resources/gfx/grid/door_01_normaldoor.png`
154
150
  */
155
151
  normal?: string;
156
152
  /**
@@ -158,8 +154,7 @@ export declare type CustomStageTSConfig = Readonly<{
158
154
  * doors for the floor.
159
155
  *
160
156
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
161
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
162
- * Rebirth\resources\gfx\grid\door_02_treasureroomdoor.png`
157
+ * located at: `resources/gfx/grid/door_02_treasureroomdoor.png`
163
158
  */
164
159
  treasureRoom?: string;
165
160
  /**
@@ -167,8 +162,7 @@ export declare type CustomStageTSConfig = Readonly<{
167
162
  * for the floor.
168
163
  *
169
164
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
170
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
171
- * Rebirth\resources\gfx\grid\door_10_bossroomdoor.png`
165
+ * located at: `resources/gfx/grid/door_10_bossroomdoor.png`
172
166
  */
173
167
  bossRoom?: string;
174
168
  /**
@@ -176,8 +170,7 @@ export declare type CustomStageTSConfig = Readonly<{
176
170
  * Super Secret Room doors for the floor.
177
171
  *
178
172
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
179
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
180
- * Rebirth\resources\gfx\grid\door_08_holeinwall.png`
173
+ * located at: `resources/gfx/grid/door_08_holeinwall.png`
181
174
  */
182
175
  secretRoom?: string;
183
176
  /**
@@ -185,8 +178,7 @@ export declare type CustomStageTSConfig = Readonly<{
185
178
  * the floor.
186
179
  *
187
180
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
188
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
189
- * Rebirth\resources\gfx\grid\door_05_arcaderoomdoor.png`
181
+ * located at: `resources/gfx/grid/door_05_arcaderoomdoor.png`
190
182
  */
191
183
  arcade?: string;
192
184
  /**
@@ -194,8 +186,7 @@ export declare type CustomStageTSConfig = Readonly<{
194
186
  * for the floor.
195
187
  *
196
188
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
197
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
198
- * Rebirth\resources\gfx\grid\door_04_selfsacrificeroomdoor.png`
189
+ * located at: `resources/gfx/grid/door_04_selfsacrificeroomdoor.png`
199
190
  */
200
191
  curseRoom?: string;
201
192
  /**
@@ -203,8 +194,7 @@ export declare type CustomStageTSConfig = Readonly<{
203
194
  * Room doors for the floor.
204
195
  *
205
196
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
206
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
207
- * Rebirth\resources\gfx\grid\door_03_ambushroomdoor.png`
197
+ * located at: `resources/gfx/grid/door_03_ambushroomdoor.png`
208
198
  */
209
199
  normalChallengeRoom?: string;
210
200
  /**
@@ -212,8 +202,7 @@ export declare type CustomStageTSConfig = Readonly<{
212
202
  * Room doors for the floor.
213
203
  *
214
204
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
215
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
216
- * Rebirth\resources\gfx\grid\door_09_bossambushroomdoor.png`
205
+ * located at: `resources/gfx/grid/door_09_bossambushroomdoor.png`
217
206
  */
218
207
  bossChallengeRoom?: string;
219
208
  /**
@@ -221,8 +210,7 @@ export declare type CustomStageTSConfig = Readonly<{
221
210
  * for the floor.
222
211
  *
223
212
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
224
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
225
- * Rebirth\resources\gfx\grid\door_07_devilroomdoor.png`
213
+ * located at: `resources/gfx/grid/door_07_devilroomdoor.png`
226
214
  */
227
215
  devilRoom?: string;
228
216
  /**
@@ -230,8 +218,7 @@ export declare type CustomStageTSConfig = Readonly<{
230
218
  * for the floor.
231
219
  *
232
220
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
233
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
234
- * Rebirth\resources\gfx\grid\door_07_holyroomdoor.png`
221
+ * located at: `resources/gfx/grid/door_07_holyroomdoor.png`
235
222
  */
236
223
  angelRoom?: string;
237
224
  /**
@@ -239,8 +226,7 @@ export declare type CustomStageTSConfig = Readonly<{
239
226
  * for the floor.
240
227
  *
241
228
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
242
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
243
- * Rebirth\resources\gfx\grid\door_15_bossrushdoor.png`
229
+ * located at: `resources/gfx/grid/door_15_bossrushdoor.png`
244
230
  */
245
231
  bossRush?: string;
246
232
  /**
@@ -248,8 +234,7 @@ export declare type CustomStageTSConfig = Readonly<{
248
234
  * for the floor.
249
235
  *
250
236
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
251
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
252
- * Rebirth\resources\gfx\grid\door_02b_chestroomdoor.png`
237
+ * located at: `resources/gfx/grid/door_02b_chestroomdoor.png`
253
238
  */
254
239
  chestRoom?: string;
255
240
  }>;
@@ -371,9 +356,8 @@ export declare type CustomStageShadow = Readonly<{
371
356
  /**
372
357
  * The full path to the shadow overlay PNG file.
373
358
  *
374
- * For an example of a vanilla shadow overlay, see: `C:\Program Files
375
- * (x86)\Steam\steamapps\common\The Binding of Isaac
376
- * Rebirth\resources\gfx\overlays\basement\1x1_overlay_1.png`
359
+ * For an example of a vanilla shadow overlay, see:
360
+ * `resources/gfx/overlays/basement/1x1_overlay_1.png`
377
361
  */
378
362
  pngPath: string;
379
363
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CustomStageLua.d.ts","sourceRoot":"","sources":["../../src/interfaces/CustomStageLua.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,oBAAY,mBAAmB,GAAG,QAAQ,CAAC;IACzC,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;;;;;;OAUG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,QAAQ,CAAC;QAC1B;;;;;;;;WAQG;QACH,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;QAE3B;;;;;;;;WAQG;QACH,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;QAE3B;;;;;;;;;;WAUG;QACH,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAEzB;;;;;;;;;;;;WAYG;QACH,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;KAC5B,CAAC,CAAC;IAEH;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,YAAY,CAAC,EAAE,QAAQ,CAAC;QACtB;;;;;;;WAOG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB;;;;;;;WAOG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC;QAEtB;;;;;;;WAOG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAElB;;;;;;;WAOG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QAEpB;;;;;;;WAOG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB;;;;;;;WAOG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB;;;;;;;WAOG;QACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAE7B;;;;;;;WAOG;QACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAE3B;;;;;;;WAOG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB;;;;;;;WAOG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QAEnB;;;;;;;WAOG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAElB;;;;;;;WAOG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IAEH;;;;;OAKG;IACH,OAAO,CAAC,EAAE,QAAQ,CAAC;QACjB;;;;;;;WAOG;QACH,KAAK,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;QAErC;;;;;;;WAOG;QACH,KAAK,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;QAErC;;;;;;;WAOG;QACH,KAAK,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;QAErC;;;;;;;;WAQG;QACH,KAAK,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;KACtC,CAAC,CAAC;IAEH,kFAAkF;IAClF,QAAQ,CAAC,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAE/C,yEAAyE;IACzE,YAAY,CAAC,EAAE,QAAQ,CAAC;QACtB;;;;;;WAMG;QACH,eAAe,CAAC,EAAE,QAAQ,CAAC;YACzB;;;eAGG;YACH,CAAC,EAAE,MAAM,CAAC;YAEV;;;eAGG;YACH,CAAC,EAAE,MAAM,CAAC;YAEV;;;eAGG;YACH,CAAC,EAAE,MAAM,CAAC;YAEV;;;eAGG;YACH,CAAC,EAAE,MAAM,CAAC;SACX,CAAC,CAAC;QAEH;;;;;;;WAOG;QACH,aAAa,CAAC,EAAE,QAAQ,CAAC;YACvB;;;eAGG;YACH,CAAC,EAAE,MAAM,CAAC;YAEV;;;eAGG;YACH,CAAC,EAAE,MAAM,CAAC;YAEV;;;eAGG;YACH,CAAC,EAAE,MAAM,CAAC;YAEV;;;eAGG;YACH,CAAC,EAAE,MAAM,CAAC;SACX,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ,CAAC,CAAC;AAEH;;;GAGG;AAEH,oBAAY,iBAAiB,GAAG,QAAQ,CAAC;IACvC;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,QAAQ,CAAC;QACf;;;WAGG;QACH,CAAC,EAAE,MAAM,CAAC;QAEV;;;WAGG;QACH,CAAC,EAAE,MAAM,CAAC;QAEV;;;WAGG;QACH,CAAC,EAAE,MAAM,CAAC;QAEV;;;WAGG;QACH,CAAC,EAAE,MAAM,CAAC;KACX,CAAC,CAAC;CACJ,CAAC,CAAC;AAEH,oEAAoE;AAEpE,MAAM,WAAW,wBAAwB;IACvC;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAe,SAAQ,mBAAmB;IACzD,QAAQ,CAAC,aAAa,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAC5D;AAED;;;GAGG;AACH,oBAAY,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC"}
1
+ {"version":3,"file":"CustomStageLua.d.ts","sourceRoot":"","sources":["../../src/interfaces/CustomStageLua.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "isaacscript-common",
3
- "version": "7.3.0",
3
+ "version": "7.4.3",
4
4
  "description": "Helper functions and features for IsaacScript mods.",
5
5
  "keywords": [
6
6
  "isaac",
@@ -193,12 +193,10 @@ function setStageRoomsData(
193
193
  * files for them.
194
194
  *
195
195
  * For reference:
196
- * - The vanilla name sprite for Monstro is located at "C:\Program Files
197
- * (x86)\Steam\steamapps\common\The Binding of Isaac
198
- * Rebirth\resources\gfx\ui\boss\bossname_20.0_monstro.png".
199
- * - The vanilla portrait sprite for Monstro is located at "C:\Program Files
200
- * (x86)\Steam\steamapps\common\The Binding of Isaac
201
- * Rebirth\resources\gfx\ui\boss\portrait_20.0_monstro.png".
196
+ * - The vanilla name sprite for Monstro is located at:
197
+ * `resources/gfx/ui/boss/bossname_20.0_monstro.png`
198
+ * - The vanilla portrait sprite for Monstro is located at:
199
+ * `resources/gfx/ui/boss/portrait_20.0_monstro.png`
202
200
  *
203
201
  * (Note that boss metadata like this cannot be specified with the rest of the custom stage metadata
204
202
  * in the "tsconfig.json" file because there is not a way to retrieve the name of an entity at
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  CrawlSpaceVariant,
3
+ EffectVariant,
3
4
  GridCollisionClass,
4
5
  GridEntityType,
5
6
  GridEntityXMLType,
@@ -16,12 +17,14 @@ import {
16
17
  ROOM_SHAPE_TO_TOP_LEFT_WALL_GRID_INDEX_MAP,
17
18
  } from "../maps/roomShapeToTopLeftWallGridIndexMap";
18
19
  import { AnyGridEntity } from "../types/AnyGridEntity";
20
+ import { removeEntities } from "./entities";
21
+ import { getEffects } from "./entitiesSpecific";
19
22
  import { isCircleIntersectingRectangle } from "./math";
20
23
  import { roomUpdateSafe } from "./rooms";
21
24
  import { clearSprite } from "./sprites";
22
25
  import { asNumber, isNumber } from "./types";
23
26
  import { erange } from "./utils";
24
- import { isVector } from "./vector";
27
+ import { isVector, vectorEquals } from "./vector";
25
28
 
26
29
  const BREAKABLE_GRID_ENTITY_TYPES_BY_EXPLOSIONS: ReadonlySet<GridEntityType> =
27
30
  new Set([
@@ -498,6 +501,9 @@ export function removeGridEntities<T extends AnyGridEntity>(
498
501
  * Helper function to remove a grid entity by providing the grid entity object or the grid index
499
502
  * inside of the room.
500
503
  *
504
+ * If removing a Devil Statue or an Angel Statue, this will also remove the associated effect
505
+ * (`EffectVariant.DEVIL` (6) or `EffectVariant.ANGEL` (9), respectively.)
506
+ *
501
507
  * @param gridEntityOrGridIndex The grid entity or grid index to remove.
502
508
  * @param updateRoom Whether or not to update the room after the grid entity is removed. This is
503
509
  * generally a good idea because if the room is not updated, you will be unable to
@@ -511,6 +517,18 @@ export function removeGridEntity(
511
517
  ): void {
512
518
  const room = game.GetRoom();
513
519
 
520
+ const gridEntity = isNumber(gridEntityOrGridIndex)
521
+ ? room.GetGridEntity(gridEntityOrGridIndex)
522
+ : gridEntityOrGridIndex;
523
+ if (gridEntity === undefined) {
524
+ // There is no grid entity to remove.
525
+ return;
526
+ }
527
+
528
+ const gridEntityType = gridEntity.GetType();
529
+ const variant = gridEntity.GetVariant();
530
+ const position = gridEntity.Position;
531
+
514
532
  const gridIndex = isNumber(gridEntityOrGridIndex)
515
533
  ? gridEntityOrGridIndex
516
534
  : gridEntityOrGridIndex.GetGridIndex();
@@ -519,6 +537,20 @@ export function removeGridEntity(
519
537
  if (updateRoom) {
520
538
  roomUpdateSafe();
521
539
  }
540
+
541
+ // In the special case of removing a Devil Statue or Angel Statue, we also need to delete the
542
+ // corresponding effect.
543
+ if (gridEntityType === GridEntityType.STATUE) {
544
+ const effectVariant =
545
+ variant === asNumber(StatueVariant.DEVIL)
546
+ ? EffectVariant.DEVIL
547
+ : EffectVariant.ANGEL;
548
+ const effects = getEffects(effectVariant);
549
+ const effectsOnTile = effects.filter((effect) =>
550
+ vectorEquals(effect.Position, position),
551
+ );
552
+ removeEntities(effectsOnTile);
553
+ }
522
554
  }
523
555
 
524
556
  /**
@@ -122,8 +122,7 @@ export type CustomStageTSConfig = Readonly<{
122
122
  * the floor.
123
123
  *
124
124
  * If not specified, the vanilla Basement decorations spritesheet will be used. For reference,
125
- * this is located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
126
- * Rebirth\resources\gfx\grid\props_01_basement.png`
125
+ * this is located at: `resources/gfx/grid/props_01_basement.png`
127
126
  */
128
127
  decorationsPNGPath?: string;
129
128
 
@@ -137,8 +136,7 @@ export type CustomStageTSConfig = Readonly<{
137
136
  * a vanilla urn/mushroom/skull/polyp/bucket, use the `spawnRockAltReward` helper function.
138
137
  *
139
138
  * If not specified, the vanilla Basement rocks spritesheet will be used. For reference, this is
140
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
141
- * Rebirth\resources-dlc3\gfx\grid\rocks_basement.png`
139
+ * located at: `resources-dlc3/gfx/grid/rocks_basement.png`
142
140
  */
143
141
  rocksPNGPath?: string;
144
142
 
@@ -147,8 +145,7 @@ export type CustomStageTSConfig = Readonly<{
147
145
  * floor.
148
146
  *
149
147
  * If not specified, the vanilla Basement pits spritesheet will be used. For reference, this is
150
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
151
- * Rebirth\resources\gfx\grid\grid_pit.png`
148
+ * located at: `resources/gfx/grid/grid_pit.png`
152
149
  */
153
150
  pitsPNGPath?: string;
154
151
 
@@ -162,8 +159,7 @@ export type CustomStageTSConfig = Readonly<{
162
159
  * the floor.
163
160
  *
164
161
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
165
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
166
- * Rebirth\resources\gfx\grid\door_01_normaldoor.png`
162
+ * located at: `resources/gfx/grid/door_01_normaldoor.png`
167
163
  */
168
164
  normal?: string; // RoomType.DEFAULT (1)
169
165
 
@@ -172,8 +168,7 @@ export type CustomStageTSConfig = Readonly<{
172
168
  * doors for the floor.
173
169
  *
174
170
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
175
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
176
- * Rebirth\resources\gfx\grid\door_02_treasureroomdoor.png`
171
+ * located at: `resources/gfx/grid/door_02_treasureroomdoor.png`
177
172
  */
178
173
  treasureRoom?: string; // RoomType.TREASURE (4)
179
174
 
@@ -182,8 +177,7 @@ export type CustomStageTSConfig = Readonly<{
182
177
  * for the floor.
183
178
  *
184
179
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
185
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
186
- * Rebirth\resources\gfx\grid\door_10_bossroomdoor.png`
180
+ * located at: `resources/gfx/grid/door_10_bossroomdoor.png`
187
181
  */
188
182
  bossRoom?: string; // RoomType.BOSS (5)
189
183
 
@@ -192,8 +186,7 @@ export type CustomStageTSConfig = Readonly<{
192
186
  * Super Secret Room doors for the floor.
193
187
  *
194
188
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
195
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
196
- * Rebirth\resources\gfx\grid\door_08_holeinwall.png`
189
+ * located at: `resources/gfx/grid/door_08_holeinwall.png`
197
190
  */
198
191
  secretRoom?: string; // RoomType.SECRET (7) and RoomType.SUPER_SECRET (8)
199
192
 
@@ -202,8 +195,7 @@ export type CustomStageTSConfig = Readonly<{
202
195
  * the floor.
203
196
  *
204
197
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
205
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
206
- * Rebirth\resources\gfx\grid\door_05_arcaderoomdoor.png`
198
+ * located at: `resources/gfx/grid/door_05_arcaderoomdoor.png`
207
199
  */
208
200
  arcade?: string; // RoomType.ARCADE (9)
209
201
 
@@ -212,8 +204,7 @@ export type CustomStageTSConfig = Readonly<{
212
204
  * for the floor.
213
205
  *
214
206
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
215
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
216
- * Rebirth\resources\gfx\grid\door_04_selfsacrificeroomdoor.png`
207
+ * located at: `resources/gfx/grid/door_04_selfsacrificeroomdoor.png`
217
208
  */
218
209
  curseRoom?: string; // RoomType.CURSE (10)
219
210
 
@@ -222,8 +213,7 @@ export type CustomStageTSConfig = Readonly<{
222
213
  * Room doors for the floor.
223
214
  *
224
215
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
225
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
226
- * Rebirth\resources\gfx\grid\door_03_ambushroomdoor.png`
216
+ * located at: `resources/gfx/grid/door_03_ambushroomdoor.png`
227
217
  */
228
218
  normalChallengeRoom?: string; // RoomType.CHALLENGE (11)
229
219
 
@@ -232,8 +222,7 @@ export type CustomStageTSConfig = Readonly<{
232
222
  * Room doors for the floor.
233
223
  *
234
224
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
235
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
236
- * Rebirth\resources\gfx\grid\door_09_bossambushroomdoor.png`
225
+ * located at: `resources/gfx/grid/door_09_bossambushroomdoor.png`
237
226
  */
238
227
  bossChallengeRoom?: string; // RoomType.CHALLENGE (11)
239
228
 
@@ -242,8 +231,7 @@ export type CustomStageTSConfig = Readonly<{
242
231
  * for the floor.
243
232
  *
244
233
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
245
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
246
- * Rebirth\resources\gfx\grid\door_07_devilroomdoor.png`
234
+ * located at: `resources/gfx/grid/door_07_devilroomdoor.png`
247
235
  */
248
236
  devilRoom?: string; // RoomType.DEVIL (14)
249
237
 
@@ -252,8 +240,7 @@ export type CustomStageTSConfig = Readonly<{
252
240
  * for the floor.
253
241
  *
254
242
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
255
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
256
- * Rebirth\resources\gfx\grid\door_07_holyroomdoor.png`
243
+ * located at: `resources/gfx/grid/door_07_holyroomdoor.png`
257
244
  */
258
245
  angelRoom?: string; // RoomType.ANGEL (15)
259
246
 
@@ -262,8 +249,7 @@ export type CustomStageTSConfig = Readonly<{
262
249
  * for the floor.
263
250
  *
264
251
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
265
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
266
- * Rebirth\resources\gfx\grid\door_15_bossrushdoor.png`
252
+ * located at: `resources/gfx/grid/door_15_bossrushdoor.png`
267
253
  */
268
254
  bossRush?: string; // RoomType.BOSS_RUSH (17)
269
255
 
@@ -272,8 +258,7 @@ export type CustomStageTSConfig = Readonly<{
272
258
  * for the floor.
273
259
  *
274
260
  * If not specified, the vanilla Basement door spritesheet will be used. For reference, this is
275
- * located at: `C:\Program Files (x86)\Steam\steamapps\common\The Binding of Isaac
276
- * Rebirth\resources\gfx\grid\door_02b_chestroomdoor.png`
261
+ * located at: `resources/gfx/grid/door_02b_chestroomdoor.png`
277
262
  */
278
263
  chestRoom?: string; // RoomType.CHEST (20)
279
264
  }>;
@@ -410,9 +395,8 @@ export type CustomStageShadow = Readonly<{
410
395
  /**
411
396
  * The full path to the shadow overlay PNG file.
412
397
  *
413
- * For an example of a vanilla shadow overlay, see: `C:\Program Files
414
- * (x86)\Steam\steamapps\common\The Binding of Isaac
415
- * Rebirth\resources\gfx\overlays\basement\1x1_overlay_1.png`
398
+ * For an example of a vanilla shadow overlay, see:
399
+ * `resources/gfx/overlays/basement/1x1_overlay_1.png`
416
400
  */
417
401
  pngPath: string;
418
402