lpc-forge 1.0.5 → 1.2.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/CREDITS.csv +0 -19962
- package/dist/assets/manager.js +143 -21
- package/dist/assets/manager.js.map +1 -1
- package/dist/audio/music-catalog.js +16 -16
- package/dist/audio/music-catalog.js.map +1 -1
- package/dist/audio/sfx-generator.js +12 -5
- package/dist/audio/sfx-generator.js.map +1 -1
- package/dist/character/batch.js +9 -0
- package/dist/character/batch.js.map +1 -1
- package/dist/character/composer.js +43 -35
- package/dist/character/composer.js.map +1 -1
- package/dist/character/definitions.js +7 -6
- package/dist/character/definitions.js.map +1 -1
- package/dist/character/types.d.ts +4 -2
- package/dist/character/types.js +15 -17
- package/dist/character/types.js.map +1 -1
- package/dist/cli.js +1 -0
- package/dist/export/godot.d.ts +8 -0
- package/dist/export/godot.js +21 -14
- package/dist/export/godot.js.map +1 -1
- package/dist/license.js +43 -28
- package/dist/lighting/index.js +5 -5
- package/dist/lighting/index.js.map +1 -1
- package/dist/lighting/particles.js +0 -1
- package/dist/lighting/particles.js.map +1 -1
- package/dist/lighting/presets.js +0 -2
- package/dist/lighting/presets.js.map +1 -1
- package/dist/lighting/types.d.ts +2 -1
- package/dist/map/cellular.js +17 -4
- package/dist/map/cellular.js.map +1 -1
- package/dist/map/dungeon.js +11 -2
- package/dist/map/dungeon.js.map +1 -1
- package/dist/map/multifloor.d.ts +1 -1
- package/dist/map/multifloor.js +4 -3
- package/dist/map/multifloor.js.map +1 -1
- package/dist/map/overworld.js +3 -0
- package/dist/map/overworld.js.map +1 -1
- package/dist/map/town.js +6 -1
- package/dist/map/town.js.map +1 -1
- package/dist/map/wfc.js +1 -0
- package/dist/map/wfc.js.map +1 -1
- package/dist/systems/day-night.js +4 -1
- package/dist/systems/day-night.js.map +1 -1
- package/dist/systems/dialog.js +3 -0
- package/dist/systems/dialog.js.map +1 -1
- package/dist/systems/enemy-ai.js +20 -9
- package/dist/systems/enemy-ai.js.map +1 -1
- package/dist/systems/hud-full.js +2 -0
- package/dist/systems/hud-full.js.map +1 -1
- package/dist/systems/index.js +10 -1
- package/dist/systems/index.js.map +1 -1
- package/dist/systems/inventory.js +3 -2
- package/dist/systems/inventory.js.map +1 -1
- package/dist/systems/loot.js +4 -2
- package/dist/systems/loot.js.map +1 -1
- package/dist/systems/menu.js +6 -3
- package/dist/systems/menu.js.map +1 -1
- package/dist/systems/quest.js +11 -7
- package/dist/systems/quest.js.map +1 -1
- package/dist/systems/save-load.js +5 -7
- package/dist/systems/save-load.js.map +1 -1
- package/dist/systems/scene-transition.js +3 -2
- package/dist/systems/scene-transition.js.map +1 -1
- package/dist/systems/writer.js +6 -1
- package/dist/systems/writer.js.map +1 -1
- package/dist/tileset/atlas.js +4 -3
- package/dist/tileset/atlas.js.map +1 -1
- package/dist/tileset/registry.js.map +1 -1
- package/dist/tileset/terrain.js +4 -3
- package/dist/tileset/terrain.js.map +1 -1
- package/dist/ui/generator.js +45 -62
- package/dist/ui/generator.js.map +1 -1
- package/dist/ui/icons.js +102 -129
- package/dist/ui/icons.js.map +1 -1
- package/dist/ui/index.d.ts +2 -2
- package/dist/ui/index.js +2 -2
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/pixel-utils.d.ts +27 -0
- package/dist/ui/pixel-utils.js +37 -0
- package/dist/ui/pixel-utils.js.map +1 -0
- package/dist/ui/portrait.js +1 -5
- package/dist/ui/portrait.js.map +1 -1
- package/dist/ui/props.js +85 -111
- package/dist/ui/props.js.map +1 -1
- package/dist/utils/credits.js +1 -1
- package/dist/utils/credits.js.map +1 -1
- package/dist/utils/rng.js +5 -0
- package/dist/utils/rng.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import sharp from 'sharp';
|
|
2
|
-
import {
|
|
2
|
+
import { access } from 'node:fs/promises';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { ANIMATIONS, FRAME_SIZE, SHEET_WIDTH, SHEET_HEIGHT, ANIMATION_FOLDER_MAP, } from './types.js';
|
|
5
5
|
import { loadDefinitions, findDefinition, listLayers } from './definitions.js';
|
|
6
|
+
/** Fallback chains when a layer has no path for the requested body type */
|
|
7
|
+
const BODY_TYPE_FALLBACKS = {
|
|
8
|
+
muscular: ['male'],
|
|
9
|
+
pregnant: ['female'],
|
|
10
|
+
teen: ['male', 'female'],
|
|
11
|
+
child: ['teen', 'male'],
|
|
12
|
+
};
|
|
6
13
|
/** Compose a complete character spritesheet from a CharacterSpec */
|
|
7
14
|
export async function composeCharacter(spec, repoRoot, options) {
|
|
8
15
|
const verbose = options?.verbose ?? false;
|
|
@@ -85,25 +92,10 @@ export async function composeCharacter(spec, repoRoot, options) {
|
|
|
85
92
|
console.log(` z=${l.zPos}: ${l.basePath} [${l.variant}]`);
|
|
86
93
|
}
|
|
87
94
|
}
|
|
88
|
-
// Build
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
if (buffer) {
|
|
93
|
-
layerBuffers.push(buffer);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
if (layerBuffers.length === 0) {
|
|
97
|
-
throw new Error('No valid layers could be loaded. Check that assets are installed (run: lpc-forge setup).');
|
|
98
|
-
}
|
|
99
|
-
// Composite all layers together
|
|
100
|
-
const composites = layerBuffers.map((input) => ({
|
|
101
|
-
input,
|
|
102
|
-
top: 0,
|
|
103
|
-
left: 0,
|
|
104
|
-
blend: 'over',
|
|
105
|
-
}));
|
|
106
|
-
return sharp({
|
|
95
|
+
// Build and composite layers incrementally to reduce memory usage.
|
|
96
|
+
// Instead of holding all layer buffers in memory, composite one at a time
|
|
97
|
+
// onto an intermediate canvas and release each buffer after use.
|
|
98
|
+
let canvasBuffer = await sharp({
|
|
107
99
|
create: {
|
|
108
100
|
width: SHEET_WIDTH,
|
|
109
101
|
height: SHEET_HEIGHT,
|
|
@@ -112,18 +104,24 @@ export async function composeCharacter(spec, repoRoot, options) {
|
|
|
112
104
|
},
|
|
113
105
|
})
|
|
114
106
|
.png()
|
|
115
|
-
.composite(composites)
|
|
116
107
|
.toBuffer();
|
|
108
|
+
let layerCount = 0;
|
|
109
|
+
for (const layer of resolvedLayers) {
|
|
110
|
+
const buffer = await buildUniversalSheet(layer, spritesDir);
|
|
111
|
+
if (buffer) {
|
|
112
|
+
canvasBuffer = await sharp(canvasBuffer)
|
|
113
|
+
.composite([{ input: buffer, top: 0, left: 0, blend: 'over' }])
|
|
114
|
+
.toBuffer();
|
|
115
|
+
layerCount++;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
if (layerCount === 0) {
|
|
119
|
+
throw new Error('No valid layers could be loaded. Check that assets are installed (run: lpc-forge setup).');
|
|
120
|
+
}
|
|
121
|
+
return canvasBuffer;
|
|
117
122
|
}
|
|
118
123
|
function findFallbackBodyType(paths, bodyType) {
|
|
119
|
-
|
|
120
|
-
const fallbacks = {
|
|
121
|
-
muscular: ['male'],
|
|
122
|
-
pregnant: ['female'],
|
|
123
|
-
teen: ['male', 'female'],
|
|
124
|
-
child: ['teen', 'male'],
|
|
125
|
-
};
|
|
126
|
-
const chain = fallbacks[bodyType] ?? [];
|
|
124
|
+
const chain = BODY_TYPE_FALLBACKS[bodyType] ?? [];
|
|
127
125
|
for (const fb of chain) {
|
|
128
126
|
if (paths[fb])
|
|
129
127
|
return paths[fb];
|
|
@@ -156,10 +154,10 @@ async function buildUniversalSheet(layer, spritesDir) {
|
|
|
156
154
|
const variantFile = layer.variant.replace(/ /g, '_');
|
|
157
155
|
// Try to find the animation PNG
|
|
158
156
|
const animPath = join(spritesDir, layer.basePath, folderName, `${variantFile}.png`);
|
|
159
|
-
if (!
|
|
157
|
+
if (!(await fileExists(animPath))) {
|
|
160
158
|
// Also try without folder mapping
|
|
161
159
|
const altPath = join(spritesDir, layer.basePath, animName, `${variantFile}.png`);
|
|
162
|
-
if (
|
|
160
|
+
if (await fileExists(altPath)) {
|
|
163
161
|
try {
|
|
164
162
|
const buf = await sharp(altPath).png().toBuffer();
|
|
165
163
|
composites.push({
|
|
@@ -168,8 +166,8 @@ async function buildUniversalSheet(layer, spritesDir) {
|
|
|
168
166
|
left: 0,
|
|
169
167
|
});
|
|
170
168
|
}
|
|
171
|
-
catch {
|
|
172
|
-
|
|
169
|
+
catch (e) {
|
|
170
|
+
console.warn(`Warning: Could not load sprite file: ${altPath}`, e instanceof Error ? e.message : e);
|
|
173
171
|
}
|
|
174
172
|
}
|
|
175
173
|
continue;
|
|
@@ -182,8 +180,8 @@ async function buildUniversalSheet(layer, spritesDir) {
|
|
|
182
180
|
left: 0,
|
|
183
181
|
});
|
|
184
182
|
}
|
|
185
|
-
catch {
|
|
186
|
-
|
|
183
|
+
catch (e) {
|
|
184
|
+
console.warn(`Warning: Could not load sprite file: ${animPath}`, e instanceof Error ? e.message : e);
|
|
187
185
|
}
|
|
188
186
|
}
|
|
189
187
|
if (composites.length === 0)
|
|
@@ -200,4 +198,14 @@ async function buildUniversalSheet(layer, spritesDir) {
|
|
|
200
198
|
.composite(composites)
|
|
201
199
|
.toBuffer();
|
|
202
200
|
}
|
|
201
|
+
/** Check if a file exists using async access */
|
|
202
|
+
async function fileExists(filePath) {
|
|
203
|
+
try {
|
|
204
|
+
await access(filePath);
|
|
205
|
+
return true;
|
|
206
|
+
}
|
|
207
|
+
catch {
|
|
208
|
+
return false;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
203
211
|
//# sourceMappingURL=composer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../../src/character/composer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../../src/character/composer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { readFile, readdir, stat } from 'node:fs/promises';
|
|
2
|
-
import { join } from 'node:path';
|
|
2
|
+
import { join, basename } from 'node:path';
|
|
3
3
|
/** Recursively read all JSON definitions from sheet_definitions/ */
|
|
4
4
|
export async function loadDefinitions(repoRoot) {
|
|
5
5
|
const defsDir = join(repoRoot, 'sheet_definitions');
|
|
@@ -33,8 +33,8 @@ async function loadCategoryDefinitions(dirPath, categoryPrefix, definitions) {
|
|
|
33
33
|
definitions.set(def.name, def);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
catch {
|
|
37
|
-
|
|
36
|
+
catch (e) {
|
|
37
|
+
console.warn(`Warning: Skipping invalid JSON file: ${fullPath}`, e instanceof Error ? e.message : e);
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
}
|
|
@@ -67,7 +67,7 @@ async function parseDefinitionFile(filePath, category) {
|
|
|
67
67
|
if (layers.length === 0)
|
|
68
68
|
return null;
|
|
69
69
|
// Derive a subcategory key from the filename
|
|
70
|
-
const fileName = filePath
|
|
70
|
+
const fileName = basename(filePath, '.json');
|
|
71
71
|
return {
|
|
72
72
|
name: `${category}/${fileName}`,
|
|
73
73
|
priority: json.priority ?? 0,
|
|
@@ -99,9 +99,10 @@ export function findDefinition(registry, category, subcategory) {
|
|
|
99
99
|
if (registry.definitions.has(exactKey)) {
|
|
100
100
|
return registry.definitions.get(exactKey);
|
|
101
101
|
}
|
|
102
|
-
// Try partial matching
|
|
102
|
+
// Try partial matching — use exact path component matching
|
|
103
103
|
for (const [key, def] of registry.definitions) {
|
|
104
|
-
if (key.startsWith(category + '/') &&
|
|
104
|
+
if (key.startsWith(category + '/') &&
|
|
105
|
+
(key.split('/').some(part => part === subcategory) || key.endsWith('/' + subcategory))) {
|
|
105
106
|
return def;
|
|
106
107
|
}
|
|
107
108
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/character/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/character/definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,11 +38,13 @@ export interface SliceResult {
|
|
|
38
38
|
export declare const FRAME_SIZE = 64;
|
|
39
39
|
export declare const SHEET_WIDTH = 832;
|
|
40
40
|
export declare const SHEET_HEIGHT = 3456;
|
|
41
|
-
export
|
|
41
|
+
export interface AnimationInfo {
|
|
42
42
|
frames: number;
|
|
43
43
|
rows: number;
|
|
44
44
|
row: number;
|
|
45
|
-
|
|
45
|
+
loop: boolean;
|
|
46
|
+
}
|
|
47
|
+
export declare const ANIMATIONS: Record<string, AnimationInfo>;
|
|
46
48
|
export declare const ANIMATION_FOLDER_MAP: Record<string, string>;
|
|
47
49
|
export declare const DIRECTIONS: readonly ["up", "left", "down", "right"];
|
|
48
50
|
export type Direction = typeof DIRECTIONS[number];
|
package/dist/character/types.js
CHANGED
|
@@ -1,24 +1,22 @@
|
|
|
1
1
|
export const FRAME_SIZE = 64;
|
|
2
2
|
export const SHEET_WIDTH = 832; // 13 frames wide
|
|
3
3
|
export const SHEET_HEIGHT = 3456; // 54 rows
|
|
4
|
-
// Animation definitions derived from the existing constants.js
|
|
5
|
-
// row = starting row index, rows = number of direction rows, frames = frames per direction
|
|
6
4
|
export const ANIMATIONS = {
|
|
7
|
-
spellcast: { frames: 7, rows: 4, row: 0 },
|
|
8
|
-
thrust: { frames: 8, rows: 4, row: 4 },
|
|
9
|
-
walk: { frames: 9, rows: 4, row: 8 },
|
|
10
|
-
slash: { frames: 6, rows: 4, row: 12 },
|
|
11
|
-
shoot: { frames: 13, rows: 4, row: 16 },
|
|
12
|
-
hurt: { frames: 6, rows: 1, row: 20 },
|
|
13
|
-
climb: { frames: 6, rows: 1, row: 21 },
|
|
14
|
-
idle: { frames: 2, rows: 4, row: 22 },
|
|
15
|
-
jump: { frames: 5, rows: 4, row: 26 },
|
|
16
|
-
sit: { frames: 3, rows: 4, row: 30 },
|
|
17
|
-
emote: { frames: 3, rows: 4, row: 34 },
|
|
18
|
-
run: { frames: 8, rows: 4, row: 38 },
|
|
19
|
-
combat_idle: { frames: 2, rows: 4, row: 42 },
|
|
20
|
-
backslash: { frames: 13, rows: 4, row: 46 },
|
|
21
|
-
halfslash: { frames: 6, rows: 4, row: 50 },
|
|
5
|
+
spellcast: { frames: 7, rows: 4, row: 0, loop: false },
|
|
6
|
+
thrust: { frames: 8, rows: 4, row: 4, loop: false },
|
|
7
|
+
walk: { frames: 9, rows: 4, row: 8, loop: true },
|
|
8
|
+
slash: { frames: 6, rows: 4, row: 12, loop: false },
|
|
9
|
+
shoot: { frames: 13, rows: 4, row: 16, loop: false },
|
|
10
|
+
hurt: { frames: 6, rows: 1, row: 20, loop: false },
|
|
11
|
+
climb: { frames: 6, rows: 1, row: 21, loop: false },
|
|
12
|
+
idle: { frames: 2, rows: 4, row: 22, loop: true },
|
|
13
|
+
jump: { frames: 5, rows: 4, row: 26, loop: false },
|
|
14
|
+
sit: { frames: 3, rows: 4, row: 30, loop: false },
|
|
15
|
+
emote: { frames: 3, rows: 4, row: 34, loop: false },
|
|
16
|
+
run: { frames: 8, rows: 4, row: 38, loop: true },
|
|
17
|
+
combat_idle: { frames: 2, rows: 4, row: 42, loop: true },
|
|
18
|
+
backslash: { frames: 13, rows: 4, row: 46, loop: false },
|
|
19
|
+
halfslash: { frames: 6, rows: 4, row: 50, loop: false },
|
|
22
20
|
};
|
|
23
21
|
// Folder name mapping (animation name → actual folder name in spritesheets)
|
|
24
22
|
export const ANIMATION_FOLDER_MAP = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/character/types.ts"],"names":[],"mappings":"AAwCA,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAE7B,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,iBAAiB;AACjD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,UAAU;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/character/types.ts"],"names":[],"mappings":"AAwCA,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAE7B,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,iBAAiB;AACjD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,UAAU;AAW5C,MAAM,CAAC,MAAM,UAAU,GAAkC;IACvD,SAAS,EAAK,EAAE,MAAM,EAAE,CAAC,EAAG,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAG,IAAI,EAAE,KAAK,EAAE;IAC3D,MAAM,EAAQ,EAAE,MAAM,EAAE,CAAC,EAAG,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAG,IAAI,EAAE,KAAK,EAAE;IAC3D,IAAI,EAAU,EAAE,MAAM,EAAE,CAAC,EAAG,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAG,IAAI,EAAE,IAAI,EAAE;IAC1D,KAAK,EAAS,EAAE,MAAM,EAAE,CAAC,EAAG,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC3D,KAAK,EAAS,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC3D,IAAI,EAAU,EAAE,MAAM,EAAE,CAAC,EAAG,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC3D,KAAK,EAAS,EAAE,MAAM,EAAE,CAAC,EAAG,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC3D,IAAI,EAAU,EAAE,MAAM,EAAE,CAAC,EAAG,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;IAC1D,IAAI,EAAU,EAAE,MAAM,EAAE,CAAC,EAAG,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC3D,GAAG,EAAW,EAAE,MAAM,EAAE,CAAC,EAAG,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC3D,KAAK,EAAS,EAAE,MAAM,EAAE,CAAC,EAAG,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC3D,GAAG,EAAW,EAAE,MAAM,EAAE,CAAC,EAAG,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;IAC1D,WAAW,EAAG,EAAE,MAAM,EAAE,CAAC,EAAG,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;IAC1D,SAAS,EAAK,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;IAC3D,SAAS,EAAK,EAAE,MAAM,EAAE,CAAC,EAAG,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;CAC5D,CAAC;AAEF,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,MAAM,EAAE,aAAa;IACrB,UAAU,EAAE,WAAW;IACvB,cAAc,EAAE,WAAW;IAC3B,cAAc,EAAE,WAAW;CAC5B,CAAC;AAEF,yDAAyD;AACzD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -5,6 +5,7 @@ import { mkdir, writeFile } from 'node:fs/promises';
|
|
|
5
5
|
import { readFileSync } from 'node:fs';
|
|
6
6
|
import { fileURLToPath } from 'node:url';
|
|
7
7
|
import { resolveAssetRoot, ensureAssets } from './assets/manager.js';
|
|
8
|
+
// TODO: Consider extracting shared chalk/ora lazy-loading utility for CLI commands
|
|
8
9
|
const __dirname = fileURLToPath(new URL('.', import.meta.url));
|
|
9
10
|
const PACKAGE_ROOT = resolve(__dirname, '..');
|
|
10
11
|
const REPO_ROOT = resolveAssetRoot(PACKAGE_ROOT);
|
package/dist/export/godot.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export interface CharacterExportOptions {
|
|
|
3
3
|
animationSpeed?: number;
|
|
4
4
|
resPath?: string;
|
|
5
5
|
isPlayer?: boolean;
|
|
6
|
+
playerSpeed?: number;
|
|
7
|
+
playerHealth?: number;
|
|
6
8
|
}
|
|
7
9
|
/** Export a character spritesheet as Godot 4.6 resources */
|
|
8
10
|
export declare function exportCharacterToGodot(sheetBuffer: Buffer, outputDir: string, characterName: string, options?: CharacterExportOptions): Promise<void>;
|
|
@@ -14,4 +16,10 @@ export declare function exportMapToGodot(map: GeneratedMap, outputDir: string, m
|
|
|
14
16
|
export declare function scaffoldGodotProject(outputDir: string, projectName: string, options?: {
|
|
15
17
|
characterName?: string;
|
|
16
18
|
mapName?: string;
|
|
19
|
+
viewportWidth?: number;
|
|
20
|
+
viewportHeight?: number;
|
|
21
|
+
spawnPoint?: {
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
};
|
|
17
25
|
}): Promise<void>;
|
package/dist/export/godot.js
CHANGED
|
@@ -2,6 +2,7 @@ import { mkdir, writeFile } from 'node:fs/promises';
|
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import { sliceCharacter } from '../character/slicer.js';
|
|
4
4
|
import { ANIMATIONS, DIRECTIONS, FRAME_SIZE } from '../character/types.js';
|
|
5
|
+
import { TileType } from '../map/types.js';
|
|
5
6
|
/** Export a character spritesheet as Godot 4.6 resources */
|
|
6
7
|
export async function exportCharacterToGodot(sheetBuffer, outputDir, characterName, options) {
|
|
7
8
|
const speed = options?.animationSpeed ?? 10;
|
|
@@ -57,7 +58,7 @@ function generateSpriteFramesTres(name, resBase, speed) {
|
|
|
57
58
|
"texture": ExtResource("${id}")
|
|
58
59
|
}`);
|
|
59
60
|
}
|
|
60
|
-
const loop =
|
|
61
|
+
const loop = animInfo.loop;
|
|
61
62
|
anims.push(`{
|
|
62
63
|
"frames": [${frames.join(', ')}],
|
|
63
64
|
"loop": ${loop},
|
|
@@ -87,9 +88,9 @@ function generateCharacterTscn(name, resBase, isPlayer) {
|
|
|
87
88
|
lines.push(`[sub_resource type="RectangleShape2D" id="2"]`);
|
|
88
89
|
lines.push(`size = Vector2(${FRAME_SIZE / 2}, ${FRAME_SIZE / 2})`);
|
|
89
90
|
lines.push('');
|
|
90
|
-
// Hurtbox shape
|
|
91
|
+
// Hurtbox shape — derived from FRAME_SIZE
|
|
91
92
|
lines.push(`[sub_resource type="RectangleShape2D" id="3"]`);
|
|
92
|
-
lines.push(`size = Vector2(
|
|
93
|
+
lines.push(`size = Vector2(${Math.floor(FRAME_SIZE * 3 / 8)}, ${FRAME_SIZE / 2})`);
|
|
93
94
|
lines.push('');
|
|
94
95
|
// Root node
|
|
95
96
|
lines.push(`[node name="${capitalize(name)}" type="CharacterBody2D"]`);
|
|
@@ -102,7 +103,7 @@ function generateCharacterTscn(name, resBase, isPlayer) {
|
|
|
102
103
|
lines.push(`sprite_frames = ExtResource("1")`);
|
|
103
104
|
lines.push(`animation = &"idle_down"`);
|
|
104
105
|
lines.push(`autoplay = "idle_down"`);
|
|
105
|
-
lines.push(`offset = Vector2(0,
|
|
106
|
+
lines.push(`offset = Vector2(0, -${FRAME_SIZE / 4})`);
|
|
106
107
|
lines.push('');
|
|
107
108
|
// Body collision
|
|
108
109
|
lines.push(`[node name="CollisionShape2D" type="CollisionShape2D" parent="."]`);
|
|
@@ -110,8 +111,10 @@ function generateCharacterTscn(name, resBase, isPlayer) {
|
|
|
110
111
|
lines.push(`position = Vector2(0, 8)`);
|
|
111
112
|
lines.push('');
|
|
112
113
|
// Hitbox Area2D
|
|
114
|
+
// Layer 2: Hitbox layer — used for attack collision detection
|
|
113
115
|
lines.push(`[node name="Hitbox" type="Area2D" parent="."]`);
|
|
114
116
|
lines.push(`collision_layer = 2`);
|
|
117
|
+
// No mask: hitbox doesn't detect others, it's only detected by hurtboxes
|
|
115
118
|
lines.push(`collision_mask = 0`);
|
|
116
119
|
lines.push(`monitorable = true`);
|
|
117
120
|
lines.push(`monitoring = false`);
|
|
@@ -165,13 +168,12 @@ function mergeWallTiles(map, tileSize) {
|
|
|
165
168
|
for (let y = 0; y < map.height; y++) {
|
|
166
169
|
for (let x = 0; x < map.width; x++) {
|
|
167
170
|
const t = map.tiles[y][x];
|
|
168
|
-
|
|
169
|
-
if ((t !== 2 && t !== 7) || visited[y][x])
|
|
171
|
+
if ((t !== TileType.WALL && t !== TileType.TREE) || visited[y][x])
|
|
170
172
|
continue;
|
|
171
173
|
// Extend horizontally as far as possible
|
|
172
174
|
let endX = x;
|
|
173
175
|
while (endX + 1 < map.width && !visited[y][endX + 1] &&
|
|
174
|
-
(map.tiles[y][endX + 1] ===
|
|
176
|
+
(map.tiles[y][endX + 1] === TileType.WALL || map.tiles[y][endX + 1] === TileType.TREE)) {
|
|
175
177
|
endX++;
|
|
176
178
|
}
|
|
177
179
|
// Try to extend downward
|
|
@@ -179,7 +181,7 @@ function mergeWallTiles(map, tileSize) {
|
|
|
179
181
|
outer: while (endY + 1 < map.height) {
|
|
180
182
|
for (let cx = x; cx <= endX; cx++) {
|
|
181
183
|
if (visited[endY + 1][cx] ||
|
|
182
|
-
(map.tiles[endY + 1][cx] !==
|
|
184
|
+
(map.tiles[endY + 1][cx] !== TileType.WALL && map.tiles[endY + 1][cx] !== TileType.TREE)) {
|
|
183
185
|
break outer;
|
|
184
186
|
}
|
|
185
187
|
}
|
|
@@ -269,9 +271,6 @@ function generateMapTscn(map, mapName, tileSize) {
|
|
|
269
271
|
const nodeName = `POI_${poi.type}_${i}`;
|
|
270
272
|
lines.push(`[node name="${nodeName}" type="Marker2D" parent="."]`);
|
|
271
273
|
lines.push(`position = Vector2(${poi.x * tileSize + tileSize / 2}, ${poi.y * tileSize + tileSize / 2})`);
|
|
272
|
-
const meta = { poi_type: poi.type };
|
|
273
|
-
if (poi.label)
|
|
274
|
-
meta['poi_label'] = poi.label;
|
|
275
274
|
lines.push(`metadata/poi_type = "${poi.type}"`);
|
|
276
275
|
if (poi.label)
|
|
277
276
|
lines.push(`metadata/poi_label = "${poi.label}"`);
|
|
@@ -284,6 +283,10 @@ function generateMapTscn(map, mapName, tileSize) {
|
|
|
284
283
|
export async function scaffoldGodotProject(outputDir, projectName, options) {
|
|
285
284
|
const charName = options?.characterName ?? 'player';
|
|
286
285
|
const mapName = options?.mapName ?? 'dungeon';
|
|
286
|
+
const vpWidth = options?.viewportWidth ?? 1280;
|
|
287
|
+
const vpHeight = options?.viewportHeight ?? 720;
|
|
288
|
+
const spawnX = options?.spawnPoint ? options.spawnPoint.x * 32 : 400;
|
|
289
|
+
const spawnY = options?.spawnPoint ? options.spawnPoint.y * 32 : 400;
|
|
287
290
|
await mkdir(outputDir, { recursive: true });
|
|
288
291
|
// project.godot
|
|
289
292
|
const projectGodot = `; Engine configuration file.
|
|
@@ -301,8 +304,8 @@ config/icon="res://icon.svg"
|
|
|
301
304
|
|
|
302
305
|
[display]
|
|
303
306
|
|
|
304
|
-
window/size/viewport_width
|
|
305
|
-
window/size/viewport_height
|
|
307
|
+
window/size/viewport_width=${vpWidth}
|
|
308
|
+
window/size/viewport_height=${vpHeight}
|
|
306
309
|
window/stretch/mode="canvas_items"
|
|
307
310
|
|
|
308
311
|
[input]
|
|
@@ -327,6 +330,10 @@ attack={
|
|
|
327
330
|
"deadzone": 0.5,
|
|
328
331
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":32,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)]
|
|
329
332
|
}
|
|
333
|
+
interact={
|
|
334
|
+
"deadzone": 0.5,
|
|
335
|
+
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":69,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)]
|
|
336
|
+
}
|
|
330
337
|
|
|
331
338
|
[rendering]
|
|
332
339
|
|
|
@@ -345,7 +352,7 @@ textures/canvas_textures/default_texture_filter=0
|
|
|
345
352
|
[node name="Map" parent="." instance=ExtResource("2")]
|
|
346
353
|
|
|
347
354
|
[node name="Player" parent="." instance=ExtResource("1")]
|
|
348
|
-
position = Vector2(
|
|
355
|
+
position = Vector2(${spawnX}, ${spawnY})
|
|
349
356
|
|
|
350
357
|
[node name="Camera2D" type="Camera2D" parent="Player"]
|
|
351
358
|
zoom = Vector2(2, 2)
|
package/dist/export/godot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"godot.js","sourceRoot":"","sources":["../../src/export/godot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"godot.js","sourceRoot":"","sources":["../../src/export/godot.ts"],"names":[],"mappings":"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"}
|