lpc-forge 1.0.0 → 1.0.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.
- package/dist/assets/manager.d.ts +69 -0
- package/dist/assets/manager.js +531 -0
- package/dist/assets/manager.js.map +1 -0
- package/dist/audio/index.d.ts +4 -0
- package/dist/audio/index.js +4 -0
- package/dist/audio/index.js.map +1 -0
- package/dist/audio/music-catalog.d.ts +11 -0
- package/dist/audio/music-catalog.js +96 -0
- package/dist/audio/music-catalog.js.map +1 -0
- package/dist/audio/sfx-generator.d.ts +11 -0
- package/dist/audio/sfx-generator.js +77 -0
- package/dist/audio/sfx-generator.js.map +1 -0
- package/dist/audio/sfx-presets.d.ts +2 -0
- package/dist/audio/sfx-presets.js +286 -0
- package/dist/audio/sfx-presets.js.map +1 -0
- package/dist/audio/types.d.ts +39 -0
- package/dist/audio/types.js +2 -0
- package/dist/audio/types.js.map +1 -0
- package/dist/character/composer.d.ts +4 -1
- package/dist/character/composer.js +41 -7
- package/dist/character/composer.js.map +1 -1
- package/dist/cli.js +152 -31
- package/dist/export/godot.js +78 -19
- package/dist/export/godot.js.map +1 -1
- package/dist/license.js +1 -1
- package/dist/lighting/index.d.ts +16 -0
- package/dist/lighting/index.js +95 -0
- package/dist/lighting/index.js.map +1 -0
- package/dist/lighting/particles.d.ts +2 -0
- package/dist/lighting/particles.js +192 -0
- package/dist/lighting/particles.js.map +1 -0
- package/dist/lighting/presets.d.ts +2 -0
- package/dist/lighting/presets.js +146 -0
- package/dist/lighting/presets.js.map +1 -0
- package/dist/lighting/types.d.ts +36 -0
- package/dist/lighting/types.js +2 -0
- package/dist/lighting/types.js.map +1 -0
- package/dist/systems/day-night.d.ts +2 -0
- package/dist/systems/day-night.js +109 -0
- package/dist/systems/day-night.js.map +1 -0
- package/dist/systems/dialog.d.ts +2 -0
- package/dist/systems/dialog.js +266 -0
- package/dist/systems/dialog.js.map +1 -0
- package/dist/systems/enemy-ai.d.ts +2 -0
- package/dist/systems/enemy-ai.js +204 -0
- package/dist/systems/enemy-ai.js.map +1 -0
- package/dist/systems/hud-full.d.ts +2 -0
- package/dist/systems/hud-full.js +158 -0
- package/dist/systems/hud-full.js.map +1 -0
- package/dist/systems/index.d.ts +10 -0
- package/dist/systems/index.js +59 -0
- package/dist/systems/index.js.map +1 -0
- package/dist/systems/inventory.d.ts +2 -0
- package/dist/systems/inventory.js +324 -0
- package/dist/systems/inventory.js.map +1 -0
- package/dist/systems/loot.d.ts +2 -0
- package/dist/systems/loot.js +109 -0
- package/dist/systems/loot.js.map +1 -0
- package/dist/systems/menu.d.ts +2 -0
- package/dist/systems/menu.js +453 -0
- package/dist/systems/menu.js.map +1 -0
- package/dist/systems/quest.d.ts +2 -0
- package/dist/systems/quest.js +210 -0
- package/dist/systems/quest.js.map +1 -0
- package/dist/systems/save-load.d.ts +2 -0
- package/dist/systems/save-load.js +163 -0
- package/dist/systems/save-load.js.map +1 -0
- package/dist/systems/scene-transition.d.ts +2 -0
- package/dist/systems/scene-transition.js +107 -0
- package/dist/systems/scene-transition.js.map +1 -0
- package/dist/systems/types.d.ts +20 -0
- package/dist/systems/types.js +2 -0
- package/dist/systems/types.js.map +1 -0
- package/dist/systems/writer.d.ts +11 -0
- package/dist/systems/writer.js +31 -0
- package/dist/systems/writer.js.map +1 -0
- package/dist/ui/generator.d.ts +7 -0
- package/dist/ui/generator.js +307 -0
- package/dist/ui/generator.js.map +1 -0
- package/dist/ui/icons.d.ts +10 -0
- package/dist/ui/icons.js +320 -0
- package/dist/ui/icons.js.map +1 -0
- package/dist/ui/index.d.ts +6 -0
- package/dist/ui/index.js +6 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/portrait.d.ts +12 -0
- package/dist/ui/portrait.js +72 -0
- package/dist/ui/portrait.js.map +1 -0
- package/dist/ui/props.d.ts +9 -0
- package/dist/ui/props.js +247 -0
- package/dist/ui/props.js.map +1 -0
- package/dist/ui/themes.d.ts +2 -0
- package/dist/ui/themes.js +69 -0
- package/dist/ui/themes.js.map +1 -0
- package/dist/ui/types.d.ts +58 -0
- package/dist/ui/types.js +2 -0
- package/dist/ui/types.js.map +1 -0
- package/package.json +7 -2
|
@@ -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,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAGL,UAAU,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,oBAAoB,GACrB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"composer.js","sourceRoot":"","sources":["../../src/character/composer.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -2,35 +2,54 @@
|
|
|
2
2
|
import { Command } from 'commander';
|
|
3
3
|
import { resolve, join } from 'node:path';
|
|
4
4
|
import { mkdir, writeFile } from 'node:fs/promises';
|
|
5
|
+
import { readFileSync } from 'node:fs';
|
|
5
6
|
import { fileURLToPath } from 'node:url';
|
|
7
|
+
import { resolveAssetRoot, ensureAssets } from './assets/manager.js';
|
|
6
8
|
const __dirname = fileURLToPath(new URL('.', import.meta.url));
|
|
7
|
-
const
|
|
9
|
+
const PACKAGE_ROOT = resolve(__dirname, '..');
|
|
10
|
+
const REPO_ROOT = resolveAssetRoot(PACKAGE_ROOT);
|
|
11
|
+
const pkg = JSON.parse(readFileSync(join(PACKAGE_ROOT, 'package.json'), 'utf-8'));
|
|
8
12
|
const program = new Command();
|
|
9
13
|
program
|
|
10
14
|
.name('lpc-forge')
|
|
11
15
|
.description('Complete 2D game asset pipeline — character compositor, map generator, Godot 4 exporter')
|
|
12
|
-
.version(
|
|
16
|
+
.version(pkg.version);
|
|
13
17
|
// === CHARACTER COMMAND ===
|
|
18
|
+
// Hair shorthand aliases: user-friendly name → actual subcategory in sheet_definitions
|
|
19
|
+
const HAIR_ALIASES = {
|
|
20
|
+
mohawk: 'hair_shorthawk',
|
|
21
|
+
mohawk_long: 'hair_longhawk',
|
|
22
|
+
shorthawk: 'hair_shorthawk',
|
|
23
|
+
longhawk: 'hair_longhawk',
|
|
24
|
+
};
|
|
25
|
+
// Skin aliases for common names
|
|
26
|
+
const SKIN_ALIASES = {
|
|
27
|
+
dark: 'brown',
|
|
28
|
+
peach: 'light',
|
|
29
|
+
tan: 'bronze',
|
|
30
|
+
};
|
|
14
31
|
program
|
|
15
32
|
.command('character')
|
|
16
|
-
.description('Generate a character spritesheet')
|
|
17
|
-
.option('-p, --preset <name>', 'Use a preset (warrior, mage, rogue, ranger, villager)')
|
|
33
|
+
.description('Generate a character spritesheet\n\n Available presets: warrior, mage, rogue, ranger, villager, paladin, necromancer,\n knight, barbarian, monk, thief, healer, archer, merchant, guard, skeleton, peasant\n\n Layer syntax: --hair <style>:<color> e.g. "plain:brown", "ponytail:blonde"\n --armor <type>:<variant> e.g. "plate:steel", "leather:brown"\n --weapon <type>:<variant> e.g. "sword_longsword:longsword"')
|
|
34
|
+
.option('-p, --preset <name>', 'Use a preset (warrior, mage, rogue, ranger, villager, ...)')
|
|
18
35
|
.option('-b, --body <type>', 'Body type (male, female, muscular, teen, child, pregnant)', 'male')
|
|
19
|
-
.option('--skin <variant>', 'Skin color variant', 'light')
|
|
20
|
-
.option('--hair <style:color>', 'Hair style and color (e.g., "plain:brown")')
|
|
21
|
-
.option('--armor <type:variant>', 'Armor type and variant')
|
|
22
|
-
.option('--weapon <type:variant>', 'Weapon type and variant')
|
|
36
|
+
.option('--skin <variant>', 'Skin color variant (light, amber, olive, taupe, bronze, brown, black, ...)', 'light')
|
|
37
|
+
.option('--hair <style:color>', 'Hair style and color (e.g., "plain:brown", "ponytail:blonde")')
|
|
38
|
+
.option('--armor <type:variant>', 'Armor type and variant (e.g., "plate:steel")')
|
|
39
|
+
.option('--weapon <type:variant>', 'Weapon type and variant (e.g., "sword_longsword:longsword")')
|
|
23
40
|
.option('-o, --output <path>', 'Output path', './output/character')
|
|
24
41
|
.option('--slice', 'Also slice into individual frames', false)
|
|
25
42
|
.option('--godot', 'Export as Godot 4 resources', false)
|
|
26
43
|
.option('--list-layers', 'List all available layers and variants')
|
|
44
|
+
.option('--verbose', 'Show detailed compositing information', false)
|
|
27
45
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
28
46
|
.action(async (opts) => {
|
|
29
47
|
const chalk = (await import('chalk')).default;
|
|
30
48
|
const ora = (await import('ora')).default;
|
|
31
49
|
if (opts.listLayers) {
|
|
50
|
+
const assetRoot = await ensureAssets(PACKAGE_ROOT);
|
|
32
51
|
const { loadDefinitions, listLayers } = await import('./character/definitions.js');
|
|
33
|
-
const registry = await loadDefinitions(
|
|
52
|
+
const registry = await loadDefinitions(assetRoot);
|
|
34
53
|
const layers = listLayers(registry);
|
|
35
54
|
for (const [category, items] of Object.entries(layers)) {
|
|
36
55
|
console.log(chalk.bold.cyan(`\n${category}`));
|
|
@@ -40,6 +59,7 @@ program
|
|
|
40
59
|
}
|
|
41
60
|
return;
|
|
42
61
|
}
|
|
62
|
+
const assetRoot = await ensureAssets(PACKAGE_ROOT);
|
|
43
63
|
const spinner = ora('Composing character...').start();
|
|
44
64
|
try {
|
|
45
65
|
const { composeCharacter } = await import('./character/composer.js');
|
|
@@ -48,20 +68,23 @@ program
|
|
|
48
68
|
if (opts.preset) {
|
|
49
69
|
const preset = PRESETS[opts.preset];
|
|
50
70
|
if (!preset) {
|
|
51
|
-
spinner.fail(`Unknown preset: ${opts.preset}. Available: ${Object.keys(PRESETS).join(', ')}`);
|
|
71
|
+
spinner.fail(`Unknown preset: "${opts.preset}". Available: ${Object.keys(PRESETS).join(', ')}`);
|
|
52
72
|
process.exit(1);
|
|
53
73
|
}
|
|
54
74
|
spec = preset.spec;
|
|
55
75
|
spinner.text = `Composing ${preset.name}...`;
|
|
56
76
|
}
|
|
57
77
|
else {
|
|
78
|
+
// Resolve skin alias
|
|
79
|
+
const skinVariant = SKIN_ALIASES[opts.skin] ?? opts.skin;
|
|
58
80
|
// Build spec from CLI options
|
|
59
81
|
const layers = [
|
|
60
|
-
{ category: 'body', subcategory: 'body', variant:
|
|
82
|
+
{ category: 'body', subcategory: 'body', variant: skinVariant },
|
|
61
83
|
];
|
|
62
84
|
if (opts.hair) {
|
|
63
85
|
const [style, color] = opts.hair.split(':');
|
|
64
|
-
|
|
86
|
+
const resolvedStyle = HAIR_ALIASES[style] ?? `hair_${style}`;
|
|
87
|
+
layers.push({ category: 'hair', subcategory: resolvedStyle, variant: color || 'brown' });
|
|
65
88
|
}
|
|
66
89
|
if (opts.armor) {
|
|
67
90
|
const [type, variant] = opts.armor.split(':');
|
|
@@ -76,11 +99,16 @@ program
|
|
|
76
99
|
layers,
|
|
77
100
|
};
|
|
78
101
|
}
|
|
79
|
-
const buffer = await composeCharacter(spec,
|
|
102
|
+
const buffer = await composeCharacter(spec, assetRoot, { verbose: opts.verbose });
|
|
80
103
|
const outputDir = resolve(opts.output);
|
|
81
104
|
await mkdir(outputDir, { recursive: true });
|
|
82
105
|
await writeFile(join(outputDir, 'spritesheet.png'), buffer);
|
|
83
106
|
spinner.succeed(`Character spritesheet saved to ${outputDir}/spritesheet.png`);
|
|
107
|
+
if (opts.verbose) {
|
|
108
|
+
const { statSync } = await import('node:fs');
|
|
109
|
+
const size = statSync(join(outputDir, 'spritesheet.png')).size;
|
|
110
|
+
console.log(chalk.gray(` Output size: ${(size / 1024).toFixed(1)} KB`));
|
|
111
|
+
}
|
|
84
112
|
if (opts.slice) {
|
|
85
113
|
const sliceSpinner = ora('Slicing into frames...').start();
|
|
86
114
|
const { sliceCharacter } = await import('./character/slicer.js');
|
|
@@ -111,8 +139,21 @@ program
|
|
|
111
139
|
const chalk = (await import('chalk')).default;
|
|
112
140
|
const ora = (await import('ora')).default;
|
|
113
141
|
const { runBatch } = await import('./character/batch.js');
|
|
142
|
+
const assetRoot = await ensureAssets(PACKAGE_ROOT);
|
|
114
143
|
const spinner = ora('Running batch generation...').start();
|
|
115
|
-
|
|
144
|
+
try {
|
|
145
|
+
const raw = await (await import('node:fs/promises')).readFile(resolve(configPath), 'utf-8');
|
|
146
|
+
const config = JSON.parse(raw);
|
|
147
|
+
if (!config.characters || config.characters.length === 0) {
|
|
148
|
+
spinner.warn('Batch config has no characters to generate.');
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
catch (err) {
|
|
153
|
+
spinner.fail(`Failed to read batch config: ${err instanceof Error ? err.message : String(err)}`);
|
|
154
|
+
process.exit(1);
|
|
155
|
+
}
|
|
156
|
+
const results = await runBatch(resolve(configPath), assetRoot, resolve(opts.output));
|
|
116
157
|
const succeeded = results.filter(r => r.success).length;
|
|
117
158
|
const failed = results.filter(r => !r.success).length;
|
|
118
159
|
spinner.succeed(`Batch complete: ${succeeded} succeeded, ${failed} failed`);
|
|
@@ -128,57 +169,79 @@ program
|
|
|
128
169
|
// === LIST COMMAND ===
|
|
129
170
|
program
|
|
130
171
|
.command('list')
|
|
131
|
-
.description('List available assets')
|
|
132
|
-
.option('-c, --category <name>', '
|
|
172
|
+
.description('List available assets, categories, or presets')
|
|
173
|
+
.option('-c, --category <name>', 'Show detailed layers for a category (e.g., body, hair, torso)')
|
|
174
|
+
.option('--presets', 'Show available character presets with descriptions')
|
|
133
175
|
.option('--body-type <type>', 'Filter by body type')
|
|
134
176
|
.option('--json', 'Output as JSON')
|
|
135
177
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
136
178
|
.action(async (opts) => {
|
|
179
|
+
const chalk = (await import('chalk')).default;
|
|
180
|
+
// --presets: show all presets
|
|
181
|
+
if (opts.presets) {
|
|
182
|
+
const { PRESETS } = await import('./character/presets.js');
|
|
183
|
+
console.log(chalk.bold.cyan('\nAvailable Character Presets:\n'));
|
|
184
|
+
for (const [key, preset] of Object.entries(PRESETS)) {
|
|
185
|
+
console.log(` ${chalk.green(key.padEnd(14))} ${preset.description} (${preset.spec.bodyType})`);
|
|
186
|
+
}
|
|
187
|
+
console.log(chalk.gray(`\n Usage: lpc-forge character --preset <name>`));
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
const assetRoot = await ensureAssets(PACKAGE_ROOT);
|
|
137
191
|
const { loadDefinitions, listLayers } = await import('./character/definitions.js');
|
|
138
|
-
const registry = await loadDefinitions(
|
|
192
|
+
const registry = await loadDefinitions(assetRoot);
|
|
139
193
|
const layers = listLayers(registry);
|
|
140
194
|
if (opts.category) {
|
|
195
|
+
// Detailed view for a specific category
|
|
141
196
|
const filtered = {};
|
|
142
197
|
for (const [key, val] of Object.entries(layers)) {
|
|
143
198
|
if (key.includes(opts.category)) {
|
|
144
199
|
filtered[key] = val;
|
|
145
200
|
}
|
|
146
201
|
}
|
|
202
|
+
if (Object.keys(filtered).length === 0) {
|
|
203
|
+
console.log(chalk.yellow(`No layers found for category "${opts.category}".`));
|
|
204
|
+
console.log(chalk.gray(`Available categories: ${Object.keys(layers).join(', ')}`));
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
147
207
|
if (opts.json) {
|
|
148
208
|
console.log(JSON.stringify(filtered, null, 2));
|
|
149
209
|
}
|
|
150
210
|
else {
|
|
151
211
|
for (const [cat, items] of Object.entries(filtered)) {
|
|
152
|
-
console.log(`\n${cat}
|
|
212
|
+
console.log(chalk.bold.cyan(`\n${cat}`) + chalk.gray(` (${items.length} layers)`));
|
|
153
213
|
for (const item of items) {
|
|
154
|
-
console.log(` ${item.name}: ${item.variants.join(', ')}`);
|
|
214
|
+
console.log(` ${chalk.green(item.name)}: ${item.variants.slice(0, 8).join(', ')}${item.variants.length > 8 ? `, ... (${item.variants.length} total)` : ''}`);
|
|
155
215
|
}
|
|
156
216
|
}
|
|
157
217
|
}
|
|
158
218
|
}
|
|
159
219
|
else {
|
|
220
|
+
// Default: summary view with category counts
|
|
160
221
|
if (opts.json) {
|
|
161
222
|
console.log(JSON.stringify(layers, null, 2));
|
|
162
223
|
}
|
|
163
224
|
else {
|
|
225
|
+
console.log(chalk.bold.cyan('\nAsset Categories:\n'));
|
|
226
|
+
let total = 0;
|
|
164
227
|
for (const [cat, items] of Object.entries(layers)) {
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
console.log(` ${item.name}: ${item.variants.join(', ')}`);
|
|
168
|
-
}
|
|
228
|
+
total += items.length;
|
|
229
|
+
console.log(` ${chalk.green(cat.padEnd(14))} ${items.length} layers`);
|
|
169
230
|
}
|
|
231
|
+
console.log(chalk.bold(`\n Total: ${total} layers`));
|
|
232
|
+
console.log(chalk.gray('\n Use --category <name> for details, --presets for character presets'));
|
|
170
233
|
}
|
|
171
234
|
}
|
|
172
235
|
});
|
|
173
236
|
// === MAP COMMAND ===
|
|
174
237
|
program
|
|
175
238
|
.command('map')
|
|
176
|
-
.description('Generate a procedural map')
|
|
239
|
+
.description('Generate a procedural map\n\n Types: dungeon (BSP), cave (Cellular Automata), overworld (Diamond-Square),\n wfc (Wave Function Collapse), town (Building placement), multifloor')
|
|
177
240
|
.argument('<type>', 'Map type (dungeon, cave, overworld, wfc, town, multifloor)')
|
|
178
|
-
.option('-W, --width <n>', 'Map width in tiles', '50')
|
|
179
|
-
.option('-H, --height <n>', 'Map height in tiles', '50')
|
|
241
|
+
.option('-W, --width <n>', 'Map width in tiles (min: 10)', '50')
|
|
242
|
+
.option('-H, --height <n>', 'Map height in tiles (min: 10)', '50')
|
|
180
243
|
.option('-s, --seed <seed>', 'Random seed')
|
|
181
|
-
.option('--rooms <n>', 'Number of rooms (dungeon only)', '12')
|
|
244
|
+
.option('--rooms <n>', 'Number of rooms (dungeon only, min: 1)', '12')
|
|
182
245
|
.option('--room-min <n>', 'Minimum room size', '5')
|
|
183
246
|
.option('--room-max <n>', 'Maximum room size', '15')
|
|
184
247
|
.option('--buildings <n>', 'Number of buildings (town only)', '6')
|
|
@@ -186,6 +249,7 @@ program
|
|
|
186
249
|
.option('-o, --output <path>', 'Output path', './output/map')
|
|
187
250
|
.option('--render', 'Render visual PNG preview', true)
|
|
188
251
|
.option('--godot', 'Export as Godot 4 TileMap', false)
|
|
252
|
+
.option('--verbose', 'Show generation details', false)
|
|
189
253
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
190
254
|
.action(async (type, opts) => {
|
|
191
255
|
const chalk = (await import('chalk')).default;
|
|
@@ -195,15 +259,25 @@ program
|
|
|
195
259
|
const width = parseInt(opts.width);
|
|
196
260
|
const height = parseInt(opts.height);
|
|
197
261
|
const seed = opts.seed || `map-${Date.now()}`;
|
|
262
|
+
// Validate minimum dimensions
|
|
263
|
+
if (width < 10 || height < 10) {
|
|
264
|
+
spinner.fail(`Map dimensions too small (${width}×${height}). Minimum: 10×10`);
|
|
265
|
+
process.exit(1);
|
|
266
|
+
}
|
|
198
267
|
let map;
|
|
199
268
|
switch (type) {
|
|
200
269
|
case 'dungeon': {
|
|
270
|
+
const maxRooms = parseInt(opts.rooms);
|
|
271
|
+
if (maxRooms < 1) {
|
|
272
|
+
spinner.fail(`--rooms must be at least 1 (got ${maxRooms})`);
|
|
273
|
+
process.exit(1);
|
|
274
|
+
}
|
|
201
275
|
const { generateDungeon } = await import('./map/dungeon.js');
|
|
202
276
|
map = generateDungeon({
|
|
203
277
|
width,
|
|
204
278
|
height,
|
|
205
279
|
seed,
|
|
206
|
-
maxRooms
|
|
280
|
+
maxRooms,
|
|
207
281
|
roomMinSize: parseInt(opts.roomMin),
|
|
208
282
|
roomMaxSize: parseInt(opts.roomMax),
|
|
209
283
|
});
|
|
@@ -335,7 +409,8 @@ program
|
|
|
335
409
|
charSpinner.fail(`Unknown preset: ${opts.character}`);
|
|
336
410
|
process.exit(1);
|
|
337
411
|
}
|
|
338
|
-
const
|
|
412
|
+
const assetRoot = await ensureAssets(PACKAGE_ROOT);
|
|
413
|
+
const charBuffer = await composeCharacter(preset.spec, assetRoot);
|
|
339
414
|
await exportCharacterToGodot(charBuffer, outputDir, opts.character);
|
|
340
415
|
charSpinner.succeed(`${preset.name} character generated`);
|
|
341
416
|
// 3. Generate map
|
|
@@ -420,7 +495,7 @@ program
|
|
|
420
495
|
let enemyCount = 0;
|
|
421
496
|
for (const enemyPreset of enemyPresets) {
|
|
422
497
|
if (PRESETS[enemyPreset]) {
|
|
423
|
-
const enemyBuffer = await composeCharacter(PRESETS[enemyPreset].spec,
|
|
498
|
+
const enemyBuffer = await composeCharacter(PRESETS[enemyPreset].spec, assetRoot);
|
|
424
499
|
await exportCharacterToGodot(enemyBuffer, outputDir, enemyPreset, { isPlayer: false });
|
|
425
500
|
enemyCount++;
|
|
426
501
|
}
|
|
@@ -432,7 +507,7 @@ program
|
|
|
432
507
|
let npcCount = 0;
|
|
433
508
|
for (const npcPreset of npcPresets) {
|
|
434
509
|
if (PRESETS[npcPreset] && npcPreset !== 'guard') {
|
|
435
|
-
const npcBuffer = await composeCharacter(PRESETS[npcPreset].spec,
|
|
510
|
+
const npcBuffer = await composeCharacter(PRESETS[npcPreset].spec, assetRoot);
|
|
436
511
|
await exportCharacterToGodot(npcBuffer, outputDir, `npc_${npcPreset}`, { isPlayer: false });
|
|
437
512
|
npcCount++;
|
|
438
513
|
}
|
|
@@ -934,5 +1009,51 @@ program
|
|
|
934
1009
|
process.exit(1);
|
|
935
1010
|
}
|
|
936
1011
|
});
|
|
1012
|
+
// === SETUP COMMAND ===
|
|
1013
|
+
program
|
|
1014
|
+
.command('setup')
|
|
1015
|
+
.description('Download and install LPC sprite assets (~1.3 GB)')
|
|
1016
|
+
.option('--minimal', 'Download only required assets (body + definitions, ~200 MB)')
|
|
1017
|
+
.option('--check', 'Check if assets are installed and up to date')
|
|
1018
|
+
.option('--clean', 'Remove cached assets')
|
|
1019
|
+
.option('--path <dir>', 'Custom asset directory (also set via LPC_FORGE_ASSETS env var)')
|
|
1020
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1021
|
+
.action(async (opts) => {
|
|
1022
|
+
const chalk = (await import('chalk')).default;
|
|
1023
|
+
const { isAssetsInstalled, getAssetDir, cleanAssets, downloadWithProgress, } = await import('./assets/manager.js');
|
|
1024
|
+
if (opts.check) {
|
|
1025
|
+
const status = await isAssetsInstalled();
|
|
1026
|
+
if (status.installed) {
|
|
1027
|
+
console.log(chalk.green('✅ Assets installed'));
|
|
1028
|
+
console.log(chalk.gray(` Version: ${status.version}`));
|
|
1029
|
+
console.log(chalk.gray(` Location: ${status.path}`));
|
|
1030
|
+
if (status.chunks) {
|
|
1031
|
+
console.log(chalk.gray(` Chunks: ${status.chunks.join(', ')}`));
|
|
1032
|
+
}
|
|
1033
|
+
}
|
|
1034
|
+
else {
|
|
1035
|
+
console.log(chalk.yellow('⚠️ Assets not installed'));
|
|
1036
|
+
console.log(chalk.gray(` Expected at: ${status.path}`));
|
|
1037
|
+
if (status.version) {
|
|
1038
|
+
console.log(chalk.gray(` Found version: ${status.version} (may need update)`));
|
|
1039
|
+
}
|
|
1040
|
+
console.log(chalk.gray('\n Run: lpc-forge setup'));
|
|
1041
|
+
}
|
|
1042
|
+
return;
|
|
1043
|
+
}
|
|
1044
|
+
if (opts.clean) {
|
|
1045
|
+
const dir = opts.path || getAssetDir();
|
|
1046
|
+
const ora = (await import('ora')).default;
|
|
1047
|
+
const spinner = ora('Removing cached assets...').start();
|
|
1048
|
+
await cleanAssets(dir);
|
|
1049
|
+
spinner.succeed(`Assets removed from ${dir}`);
|
|
1050
|
+
return;
|
|
1051
|
+
}
|
|
1052
|
+
// Download
|
|
1053
|
+
await downloadWithProgress({
|
|
1054
|
+
minimal: opts.minimal,
|
|
1055
|
+
path: opts.path,
|
|
1056
|
+
});
|
|
1057
|
+
});
|
|
937
1058
|
program.parse();
|
|
938
1059
|
//# sourceMappingURL=cli.js.map
|
package/dist/export/godot.js
CHANGED
|
@@ -158,41 +158,98 @@ function generateTilesetTres(tileSize) {
|
|
|
158
158
|
lines.push(`tile_size = Vector2i(${tileSize}, ${tileSize})`);
|
|
159
159
|
return lines.join('\n');
|
|
160
160
|
}
|
|
161
|
+
/** Merge adjacent wall tiles into larger rectangles using row-based greedy merging */
|
|
162
|
+
function mergeWallTiles(map, tileSize) {
|
|
163
|
+
const rects = [];
|
|
164
|
+
const visited = Array.from({ length: map.height }, () => new Array(map.width).fill(false));
|
|
165
|
+
for (let y = 0; y < map.height; y++) {
|
|
166
|
+
for (let x = 0; x < map.width; x++) {
|
|
167
|
+
const t = map.tiles[y][x];
|
|
168
|
+
// TileType.WALL = 2, TileType.TREE = 7
|
|
169
|
+
if ((t !== 2 && t !== 7) || visited[y][x])
|
|
170
|
+
continue;
|
|
171
|
+
// Extend horizontally as far as possible
|
|
172
|
+
let endX = x;
|
|
173
|
+
while (endX + 1 < map.width && !visited[y][endX + 1] &&
|
|
174
|
+
(map.tiles[y][endX + 1] === 2 || map.tiles[y][endX + 1] === 7)) {
|
|
175
|
+
endX++;
|
|
176
|
+
}
|
|
177
|
+
// Try to extend downward
|
|
178
|
+
let endY = y;
|
|
179
|
+
outer: while (endY + 1 < map.height) {
|
|
180
|
+
for (let cx = x; cx <= endX; cx++) {
|
|
181
|
+
if (visited[endY + 1][cx] ||
|
|
182
|
+
(map.tiles[endY + 1][cx] !== 2 && map.tiles[endY + 1][cx] !== 7)) {
|
|
183
|
+
break outer;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
endY++;
|
|
187
|
+
}
|
|
188
|
+
// Mark all covered tiles as visited
|
|
189
|
+
for (let vy = y; vy <= endY; vy++) {
|
|
190
|
+
for (let vx = x; vx <= endX; vx++) {
|
|
191
|
+
visited[vy][vx] = true;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
const tilesW = endX - x + 1;
|
|
195
|
+
const tilesH = endY - y + 1;
|
|
196
|
+
rects.push({
|
|
197
|
+
cx: x * tileSize + (tilesW * tileSize) / 2,
|
|
198
|
+
cy: y * tileSize + (tilesH * tileSize) / 2,
|
|
199
|
+
w: tilesW * tileSize,
|
|
200
|
+
h: tilesH * tileSize,
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return rects;
|
|
205
|
+
}
|
|
161
206
|
function generateMapTscn(map, mapName, tileSize) {
|
|
162
207
|
const lines = [];
|
|
163
|
-
//
|
|
164
|
-
|
|
208
|
+
// Merge adjacent wall tiles into larger rectangles (row-based greedy merge)
|
|
209
|
+
const wallRects = mergeWallTiles(map, tileSize);
|
|
210
|
+
// Collect non-default wall shapes that need sub_resources
|
|
211
|
+
const customShapes = wallRects.filter(r => r.w !== tileSize || r.h !== tileSize);
|
|
212
|
+
// load_steps = 1 (ext tileset) + 1 (default wall shape) + custom shapes
|
|
213
|
+
const loadSteps = 2 + customShapes.length;
|
|
214
|
+
lines.push(`[gd_scene load_steps=${loadSteps} format=3]`);
|
|
165
215
|
lines.push('');
|
|
166
216
|
lines.push(`[ext_resource type="TileSet" path="res://${mapName}_tileset.tres" id="1"]`);
|
|
167
217
|
lines.push('');
|
|
168
|
-
//
|
|
218
|
+
// Default collision shape for single-tile walls
|
|
169
219
|
lines.push(`[sub_resource type="RectangleShape2D" id="1"]`);
|
|
170
220
|
lines.push(`size = Vector2(${tileSize}, ${tileSize})`);
|
|
171
221
|
lines.push('');
|
|
222
|
+
// Custom collision shapes for merged walls
|
|
223
|
+
for (let i = 0; i < wallRects.length; i++) {
|
|
224
|
+
const rect = wallRects[i];
|
|
225
|
+
if (rect.w !== tileSize || rect.h !== tileSize) {
|
|
226
|
+
lines.push(`[sub_resource type="RectangleShape2D" id="wall_${i}"]`);
|
|
227
|
+
lines.push(`size = Vector2(${rect.w}, ${rect.h})`);
|
|
228
|
+
lines.push('');
|
|
229
|
+
}
|
|
230
|
+
}
|
|
172
231
|
lines.push(`[node name="${capitalize(mapName)}" type="Node2D"]`);
|
|
173
232
|
lines.push('');
|
|
174
233
|
// Ground TileMapLayer
|
|
175
234
|
lines.push(`[node name="Ground" type="TileMapLayer" parent="."]`);
|
|
176
235
|
lines.push(`tile_set = ExtResource("1")`);
|
|
177
236
|
lines.push('');
|
|
178
|
-
// Wall collision StaticBody2D with
|
|
237
|
+
// Wall collision StaticBody2D with merged collision rectangles
|
|
179
238
|
lines.push(`[node name="Walls" type="StaticBody2D" parent="."]`);
|
|
180
239
|
lines.push(`collision_layer = 1`);
|
|
181
240
|
lines.push(`collision_mask = 0`);
|
|
182
241
|
lines.push('');
|
|
183
|
-
let
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
lines.push('');
|
|
193
|
-
wallIdx++;
|
|
194
|
-
}
|
|
242
|
+
for (let i = 0; i < wallRects.length; i++) {
|
|
243
|
+
const rect = wallRects[i];
|
|
244
|
+
lines.push(`[node name="Wall${i}" type="CollisionShape2D" parent="Walls"]`);
|
|
245
|
+
lines.push(`position = Vector2(${rect.cx}, ${rect.cy})`);
|
|
246
|
+
if (rect.w === tileSize && rect.h === tileSize) {
|
|
247
|
+
lines.push(`shape = SubResource("1")`);
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
lines.push(`shape = SubResource("wall_${i}")`);
|
|
195
251
|
}
|
|
252
|
+
lines.push('');
|
|
196
253
|
}
|
|
197
254
|
// Spawn and exit markers
|
|
198
255
|
if (map.spawnPoint) {
|
|
@@ -338,8 +395,10 @@ var health: int = MAX_HEALTH
|
|
|
338
395
|
func _ready() -> void:
|
|
339
396
|
\tattack_timer.timeout.connect(_on_attack_finished)
|
|
340
397
|
\thurt_timer.timeout.connect(_on_hurt_finished)
|
|
341
|
-
\thealth_changed.emit(health, MAX_HEALTH)
|
|
342
|
-
|
|
398
|
+
\thealth_changed.emit(health, MAX_HEALTH) # Move to spawn point if available in scene
|
|
399
|
+
var spawn := get_parent().find_child("SpawnPoint", true, false)
|
|
400
|
+
if spawn is Marker2D:
|
|
401
|
+
global_position = spawn.global_position
|
|
343
402
|
func _physics_process(_delta: float) -> void:
|
|
344
403
|
\tmatch state:
|
|
345
404
|
\t\tState.IDLE:
|
|
@@ -419,7 +478,7 @@ func _on_hurt_finished() -> void:
|
|
|
419
478
|
\t_change_state(State.IDLE)
|
|
420
479
|
|
|
421
480
|
func _get_input() -> Vector2:
|
|
422
|
-
\treturn Input.get_vector("
|
|
481
|
+
\treturn Input.get_vector("move_left", "move_right", "move_up", "move_down")
|
|
423
482
|
|
|
424
483
|
func _set_direction(input_dir: Vector2) -> void:
|
|
425
484
|
\tif abs(input_dir.x) > abs(input_dir.y):
|
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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"}
|
package/dist/license.js
CHANGED
|
@@ -101,7 +101,7 @@ export async function requireLicense(commandName) {
|
|
|
101
101
|
console.log('');
|
|
102
102
|
console.log(chalk.yellow(`⚠ The "${commandName}" command requires LPC Forge Premium.`));
|
|
103
103
|
console.log('');
|
|
104
|
-
console.log(chalk.white(' Purchase
|
|
104
|
+
console.log(chalk.white(' Purchase at: ') + chalk.cyan.underline('https://blueth.online/plugins/lpc-forge'));
|
|
105
105
|
console.log(chalk.white(' Then activate: ') + chalk.green('lpc-forge activate <your-license-key>'));
|
|
106
106
|
console.log('');
|
|
107
107
|
console.log(chalk.gray(' Free commands: character, batch, list, map, init (without --full)'));
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { LightingPreset, ParticlePreset } from './types.js';
|
|
2
|
+
export type { LightingPreset, ParticlePreset } from './types.js';
|
|
3
|
+
/** List all lighting preset names */
|
|
4
|
+
export declare function listLightingPresets(): string[];
|
|
5
|
+
/** List all particle preset names */
|
|
6
|
+
export declare function listParticlePresets(): string[];
|
|
7
|
+
/** Get a lighting preset by name */
|
|
8
|
+
export declare function getLightingPreset(name: string): LightingPreset | null;
|
|
9
|
+
/** Get a particle preset by name */
|
|
10
|
+
export declare function getParticlePreset(name: string): ParticlePreset | null;
|
|
11
|
+
/** Generate a CanvasModulate + Light2D .tscn from a lighting preset */
|
|
12
|
+
export declare function generateLightingScene(preset: LightingPreset): string;
|
|
13
|
+
/** Write all lighting presets to an output directory */
|
|
14
|
+
export declare function writeAllLightingPresets(outputDir: string): Promise<string[]>;
|
|
15
|
+
/** Write all particle presets to an output directory */
|
|
16
|
+
export declare function writeAllParticlePresets(outputDir: string): Promise<string[]>;
|