modwright 0.1.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/LICENSE +35 -0
- package/README.md +212 -0
- package/assets/claude/agents/mw-explore.md +46 -0
- package/assets/claude/agents/mw-fixture.md +33 -0
- package/assets/claude/agents/mw-rule-author.md +51 -0
- package/assets/claude/agents/mw-scaffold-author.md +48 -0
- package/assets/claude/skills/mw-author.md +59 -0
- package/assets/claude/skills/mw-new-item.md +51 -0
- package/assets/claude/skills/mw-new-spell.md +50 -0
- package/assets/claude/skills/mw-scaffold.md +59 -0
- package/assets/claude/skills/mw-ship.md +57 -0
- package/assets/claude/skills/mw-validate.md +51 -0
- package/assets/claude/skills/mw-verify.md +59 -0
- package/assets/nivalisnights/extract_resources.py +177 -0
- package/bridges/bg3-se/Mods/ModWrightBridge/ScriptExtender/Config.json +5 -0
- package/bridges/bg3-se/Mods/ModWrightBridge/ScriptExtender/Lua/BootstrapClient.lua +55 -0
- package/bridges/bg3-se/Mods/ModWrightBridge/ScriptExtender/Lua/BootstrapServer.lua +81 -0
- package/bridges/bg3-se/Mods/ModWrightBridge/ScriptExtender/Lua/ModWrightBridge/Log.lua +96 -0
- package/bridges/bg3-se/Mods/ModWrightBridge/ScriptExtender/Lua/ModWrightBridge/Probes.lua +1038 -0
- package/bridges/bg3-se/Mods/ModWrightBridge/ScriptExtender/Lua/ModWrightBridge/ProbesClient.lua +74 -0
- package/bridges/bg3-se/Mods/ModWrightBridge/ScriptExtender/Lua/ModWrightBridge/Protocol.lua +985 -0
- package/bridges/bg3-se/Mods/ModWrightBridge/ScriptExtender/Lua/ModWrightBridge/Watch.lua +175 -0
- package/bridges/bg3-se/Mods/ModWrightBridge/meta.lsx +45 -0
- package/bridges/bg3-se/README.md +99 -0
- package/bridges/bg3-se/bridge.json +68 -0
- package/bridges/cp2077-cet/ModWrightBridge/init.lua +375 -0
- package/bridges/cp2077-cet/ModWrightBridge/probes.lua +1104 -0
- package/bridges/cp2077-cet/ModWrightBridge/protocol.lua +1306 -0
- package/bridges/cp2077-cet/README.md +165 -0
- package/bridges/cp2077-cet/bridge.json +53 -0
- package/dist/core/bridge/arm.js +175 -0
- package/dist/core/bridge/cet-console.js +26 -0
- package/dist/core/bridge/cet-log.js +362 -0
- package/dist/core/bridge/index.js +11 -0
- package/dist/core/bridge/locate.js +35 -0
- package/dist/core/bridge/paths.js +34 -0
- package/dist/core/bridge/pending.js +89 -0
- package/dist/core/bridge/poll.js +155 -0
- package/dist/core/bridge/stage.js +100 -0
- package/dist/core/bridge/status.js +97 -0
- package/dist/core/bridge/types.js +145 -0
- package/dist/core/bridge/validate.js +107 -0
- package/dist/core/build/index.js +6 -0
- package/dist/core/build/manifest.js +47 -0
- package/dist/core/build/paths.js +32 -0
- package/dist/core/build/run.js +342 -0
- package/dist/core/build/stage.js +265 -0
- package/dist/core/build/steps/bg3.js +129 -0
- package/dist/core/build/steps/core.js +195 -0
- package/dist/core/build/steps/cyberpunk.js +95 -0
- package/dist/core/build/steps/listing.js +35 -0
- package/dist/core/build/types.js +13 -0
- package/dist/core/build/zip.js +148 -0
- package/dist/core/compat/check.js +113 -0
- package/dist/core/compat/pe.js +220 -0
- package/dist/core/compat/types.js +1 -0
- package/dist/core/compat/version.js +70 -0
- package/dist/core/deploy/guards.js +292 -0
- package/dist/core/deploy/index.js +5 -0
- package/dist/core/deploy/plan.js +696 -0
- package/dist/core/deploy/reload-apply.js +361 -0
- package/dist/core/deploy/reload.js +358 -0
- package/dist/core/deploy/sources.js +169 -0
- package/dist/core/deploy/types.js +1 -0
- package/dist/core/epic.js +54 -0
- package/dist/core/fsutil.js +191 -0
- package/dist/core/home.js +70 -0
- package/dist/core/knowledge/facts.js +229 -0
- package/dist/core/knowledge/index.js +4 -0
- package/dist/core/knowledge/search.js +112 -0
- package/dist/core/knowledge/store.js +123 -0
- package/dist/core/knowledge/types.js +1 -0
- package/dist/core/ledger/check.js +42 -0
- package/dist/core/ledger/hooks.js +80 -0
- package/dist/core/ledger/index.js +7 -0
- package/dist/core/ledger/query.js +17 -0
- package/dist/core/ledger/record.js +84 -0
- package/dist/core/ledger/status.js +53 -0
- package/dist/core/ledger/store.js +98 -0
- package/dist/core/ledger/types.js +108 -0
- package/dist/core/logs/index.js +4 -0
- package/dist/core/logs/registry.js +50 -0
- package/dist/core/logs/scan.js +195 -0
- package/dist/core/logs/triage.js +160 -0
- package/dist/core/logs/types.js +1 -0
- package/dist/core/lsx.js +10 -0
- package/dist/core/lz4.js +66 -0
- package/dist/core/mods.js +229 -0
- package/dist/core/process.js +49 -0
- package/dist/core/project/build-steps.js +83 -0
- package/dist/core/project/describe.js +74 -0
- package/dist/core/project/index.js +5 -0
- package/dist/core/project/load.js +146 -0
- package/dist/core/project/schema.js +264 -0
- package/dist/core/project/types.js +3 -0
- package/dist/core/prompts.js +72 -0
- package/dist/core/registry.js +35 -0
- package/dist/core/safety/backup.js +206 -0
- package/dist/core/safety/execute.js +188 -0
- package/dist/core/safety/index.js +5 -0
- package/dist/core/safety/plan.js +122 -0
- package/dist/core/safety/restore.js +172 -0
- package/dist/core/safety/types.js +1 -0
- package/dist/core/scaffold/bootstrap.js +7 -0
- package/dist/core/scaffold/catalog.js +28 -0
- package/dist/core/scaffold/claude-assets.js +271 -0
- package/dist/core/scaffold/collisions.js +64 -0
- package/dist/core/scaffold/emit.js +356 -0
- package/dist/core/scaffold/engine.js +680 -0
- package/dist/core/scaffold/ids.js +78 -0
- package/dist/core/scaffold/index.js +10 -0
- package/dist/core/scaffold/jsonpath.js +121 -0
- package/dist/core/scaffold/load.js +81 -0
- package/dist/core/scaffold/render.js +85 -0
- package/dist/core/scaffold/sequence.js +396 -0
- package/dist/core/scaffold/types.js +309 -0
- package/dist/core/steam.js +63 -0
- package/dist/core/surfaceutil.js +36 -0
- package/dist/core/testplan/check.js +67 -0
- package/dist/core/testplan/index.js +5 -0
- package/dist/core/testplan/load.js +100 -0
- package/dist/core/testplan/registry.js +317 -0
- package/dist/core/testplan/run.js +389 -0
- package/dist/core/testplan/types.js +82 -0
- package/dist/core/text/converters/bg3.js +50 -0
- package/dist/core/text/converters/cyberpunk.js +36 -0
- package/dist/core/text/converters/index.js +261 -0
- package/dist/core/text/diff/cr2w.js +180 -0
- package/dist/core/text/diff/index.js +16 -0
- package/dist/core/text/diff/loca.js +43 -0
- package/dist/core/text/diff/lsx.js +126 -0
- package/dist/core/text/handles.js +86 -0
- package/dist/core/text/index.js +6 -0
- package/dist/core/text/json.js +46 -0
- package/dist/core/text/templates/cache.js +71 -0
- package/dist/core/text/templates/index.js +3 -0
- package/dist/core/text/templates/library.js +245 -0
- package/dist/core/text/templates/types.js +51 -0
- package/dist/core/text/toolchain.js +16 -0
- package/dist/core/text/types.js +1 -0
- package/dist/core/text/validate.js +149 -0
- package/dist/core/text/xml.js +58 -0
- package/dist/core/toolchain/datafetch.js +151 -0
- package/dist/core/toolchain/env.js +63 -0
- package/dist/core/toolchain/features.js +170 -0
- package/dist/core/toolchain/index.js +8 -0
- package/dist/core/toolchain/install.js +191 -0
- package/dist/core/toolchain/locate.js +275 -0
- package/dist/core/toolchain/remember.js +84 -0
- package/dist/core/toolchain/run.js +318 -0
- package/dist/core/toolchain/specs.js +351 -0
- package/dist/core/toolchain/types.js +1 -0
- package/dist/core/types.js +1 -0
- package/dist/core/userconfig.js +66 -0
- package/dist/core/validate/context.js +139 -0
- package/dist/core/validate/index.js +5 -0
- package/dist/core/validate/registry.js +58 -0
- package/dist/core/validate/run.js +131 -0
- package/dist/core/validate/suppressions.js +91 -0
- package/dist/core/validate/types.js +2 -0
- package/dist/core/yamledit.js +51 -0
- package/dist/index.js +389 -0
- package/dist/server.js +1914 -0
- package/dist/surfaces/baldursgate3/compat.js +164 -0
- package/dist/surfaces/baldursgate3/identity.js +110 -0
- package/dist/surfaces/baldursgate3/index/build.js +331 -0
- package/dist/surfaces/baldursgate3/index/index.js +17 -0
- package/dist/surfaces/baldursgate3/index/info.js +40 -0
- package/dist/surfaces/baldursgate3/index/parsers/loca.js +41 -0
- package/dist/surfaces/baldursgate3/index/parsers/lsx.js +137 -0
- package/dist/surfaces/baldursgate3/index/parsers/stats.js +45 -0
- package/dist/surfaces/baldursgate3/index/parsers/treasuretable.js +57 -0
- package/dist/surfaces/baldursgate3/index/parsers/xmlutil.js +142 -0
- package/dist/surfaces/baldursgate3/index/queries.js +327 -0
- package/dist/surfaces/baldursgate3/index/schema.js +62 -0
- package/dist/surfaces/baldursgate3/index.js +3 -0
- package/dist/surfaces/baldursgate3/logs.js +278 -0
- package/dist/surfaces/baldursgate3/modsettings.js +115 -0
- package/dist/surfaces/baldursgate3/pak.js +153 -0
- package/dist/surfaces/baldursgate3/settings.js +49 -0
- package/dist/surfaces/baldursgate3/surface.js +232 -0
- package/dist/surfaces/baldursgate3/validators/bridge.js +7 -0
- package/dist/surfaces/baldursgate3/validators/files.js +476 -0
- package/dist/surfaces/baldursgate3/validators/items.js +1001 -0
- package/dist/surfaces/baldursgate3/validators/progression.js +734 -0
- package/dist/surfaces/baldursgate3/validators/stats.js +1076 -0
- package/dist/surfaces/baldursgate3/validators/story.js +790 -0
- package/dist/surfaces/baldursgate3/validators/templates.js +7 -0
- package/dist/surfaces/cyberpunk2077/compat.js +223 -0
- package/dist/surfaces/cyberpunk2077/index/build.js +231 -0
- package/dist/surfaces/cyberpunk2077/index/index.js +17 -0
- package/dist/surfaces/cyberpunk2077/index/info.js +51 -0
- package/dist/surfaces/cyberpunk2077/index/model.js +52 -0
- package/dist/surfaces/cyberpunk2077/index/parsers/tweak.js +483 -0
- package/dist/surfaces/cyberpunk2077/index/parsers/tweakxl-yaml.js +183 -0
- package/dist/surfaces/cyberpunk2077/index/queries.js +504 -0
- package/dist/surfaces/cyberpunk2077/index/resource.js +135 -0
- package/dist/surfaces/cyberpunk2077/index/schema.js +90 -0
- package/dist/surfaces/cyberpunk2077/index.js +3 -0
- package/dist/surfaces/cyberpunk2077/logs.js +742 -0
- package/dist/surfaces/cyberpunk2077/paths.js +12 -0
- package/dist/surfaces/cyberpunk2077/surface.js +218 -0
- package/dist/surfaces/cyberpunk2077/validators/bridge.js +7 -0
- package/dist/surfaces/cyberpunk2077/validators/cr2w.js +349 -0
- package/dist/surfaces/cyberpunk2077/validators/garments.js +1181 -0
- package/dist/surfaces/cyberpunk2077/validators/mesh.js +338 -0
- package/dist/surfaces/cyberpunk2077/validators/modsettings.js +120 -0
- package/dist/surfaces/cyberpunk2077/validators/packaging.js +463 -0
- package/dist/surfaces/cyberpunk2077/validators/red4ext.js +318 -0
- package/dist/surfaces/cyberpunk2077/validators/redscript.js +193 -0
- package/dist/surfaces/cyberpunk2077/validators/templates.js +7 -0
- package/dist/surfaces/cyberpunk2077/validators/tweaks.js +768 -0
- package/dist/surfaces/cyberpunk2077/validators/vehicles.js +531 -0
- package/dist/surfaces/cyberpunk2077/validators/xl.js +308 -0
- package/dist/surfaces/eldenring/binders.js +111 -0
- package/dist/surfaces/eldenring/compat.js +166 -0
- package/dist/surfaces/eldenring/dcx.js +49 -0
- package/dist/surfaces/eldenring/index.js +13 -0
- package/dist/surfaces/eldenring/loaders.js +132 -0
- package/dist/surfaces/eldenring/logs.js +67 -0
- package/dist/surfaces/eldenring/paramdef.js +256 -0
- package/dist/surfaces/eldenring/params.js +129 -0
- package/dist/surfaces/eldenring/surface.js +121 -0
- package/dist/surfaces/eldenring/tools.js +52 -0
- package/dist/surfaces/eldenring/validators/binders.js +193 -0
- package/dist/surfaces/eldenring/validators/packages.js +159 -0
- package/dist/surfaces/eldenring/validators/params.js +334 -0
- package/dist/surfaces/eldenring/validators/profiles.js +287 -0
- package/dist/surfaces/index.js +34 -0
- package/dist/surfaces/nivalisnights/compat.js +229 -0
- package/dist/surfaces/nivalisnights/index/build.js +310 -0
- package/dist/surfaces/nivalisnights/index/index.js +5 -0
- package/dist/surfaces/nivalisnights/index/queries.js +231 -0
- package/dist/surfaces/nivalisnights/index.js +4 -0
- package/dist/surfaces/nivalisnights/logs.js +473 -0
- package/dist/surfaces/nivalisnights/surface.js +195 -0
- package/dist/surfaces/skyrimse/archives.js +229 -0
- package/dist/surfaces/skyrimse/compat.js +163 -0
- package/dist/surfaces/skyrimse/index.js +12 -0
- package/dist/surfaces/skyrimse/loadorder.js +174 -0
- package/dist/surfaces/skyrimse/logs.js +241 -0
- package/dist/surfaces/skyrimse/plugins.js +149 -0
- package/dist/surfaces/skyrimse/records.js +94 -0
- package/dist/surfaces/skyrimse/surface.js +240 -0
- package/dist/surfaces/skyrimse/validators/archive-records.js +165 -0
- package/dist/surfaces/skyrimse/validators/archives.js +110 -0
- package/dist/surfaces/skyrimse/validators/plugins.js +374 -0
- package/dist/surfaces/skyrimse/validators/records.js +117 -0
- package/dist/surfaces/stardewvalley/compat.js +190 -0
- package/dist/surfaces/stardewvalley/config.js +42 -0
- package/dist/surfaces/stardewvalley/contentpatcher.js +203 -0
- package/dist/surfaces/stardewvalley/index/index.js +229 -0
- package/dist/surfaces/stardewvalley/index/wiki.js +190 -0
- package/dist/surfaces/stardewvalley/index.js +12 -0
- package/dist/surfaces/stardewvalley/logs.js +307 -0
- package/dist/surfaces/stardewvalley/mods.js +182 -0
- package/dist/surfaces/stardewvalley/surface.js +244 -0
- package/dist/surfaces/stardewvalley/validators/content.js +321 -0
- package/dist/surfaces/stardewvalley/validators/fields.js +147 -0
- package/dist/surfaces/stardewvalley/validators/loadorder.js +69 -0
- package/dist/surfaces/stardewvalley/validators/manifest.js +221 -0
- package/dist/surfaces/subnautica2/compat.js +138 -0
- package/dist/surfaces/subnautica2/index.js +5 -0
- package/dist/surfaces/subnautica2/logs.js +129 -0
- package/dist/surfaces/subnautica2/paks.js +173 -0
- package/dist/surfaces/subnautica2/surface.js +151 -0
- package/dist/surfaces/subnautica2/validators/packaging.js +298 -0
- package/dist/surfaces/valheim/compat.js +171 -0
- package/dist/surfaces/valheim/index/index.js +301 -0
- package/dist/surfaces/valheim/index/tables.js +103 -0
- package/dist/surfaces/valheim/index.js +11 -0
- package/dist/surfaces/valheim/logs.js +197 -0
- package/dist/surfaces/valheim/packaging.js +131 -0
- package/dist/surfaces/valheim/plugins.js +270 -0
- package/dist/surfaces/valheim/references.js +121 -0
- package/dist/surfaces/valheim/surface.js +223 -0
- package/dist/surfaces/valheim/validators/packaging.js +218 -0
- package/dist/surfaces/valheim/validators/plugins.js +287 -0
- package/dist/surfaces/valheim/validators/references.js +169 -0
- package/knowledge/baldursgate3/animations.gr2.yaml +166 -0
- package/knowledge/baldursgate3/audio.voice.yaml +182 -0
- package/knowledge/baldursgate3/audio.wwise.yaml +104 -0
- package/knowledge/baldursgate3/charactercreation.heads-hair.yaml +193 -0
- package/knowledge/baldursgate3/communitylibrary.shared-content.yaml +129 -0
- package/knowledge/baldursgate3/compatibilityframework.api.yaml +176 -0
- package/knowledge/baldursgate3/crash.causes.yaml +90 -0
- package/knowledge/baldursgate3/dialogue.dialogbank.yaml +120 -0
- package/knowledge/baldursgate3/dialogue.files.yaml +236 -0
- package/knowledge/baldursgate3/dialogue.osiris-goals.yaml +386 -0
- package/knowledge/baldursgate3/dialogue.yaml +122 -0
- package/knowledge/baldursgate3/feats.classes.yaml +164 -0
- package/knowledge/baldursgate3/items.cloth-physics.yaml +167 -0
- package/knowledge/baldursgate3/items.roottemplates.yaml +320 -0
- package/knowledge/baldursgate3/items.visualbank.yaml +628 -0
- package/knowledge/baldursgate3/journal.quests.yaml +214 -0
- package/knowledge/baldursgate3/loadorder.modsettings.yaml +128 -0
- package/knowledge/baldursgate3/localization.handles.yaml +92 -0
- package/knowledge/baldursgate3/misc.encoding-and-practice.yaml +111 -0
- package/knowledge/baldursgate3/origins.companions.yaml +144 -0
- package/knowledge/baldursgate3/osiris.signatures.yaml +211 -0
- package/knowledge/baldursgate3/packaging.meta.yaml +155 -0
- package/knowledge/baldursgate3/packaging.paks.yaml +79 -0
- package/knowledge/baldursgate3/process.launch.yaml +34 -0
- package/knowledge/baldursgate3/progressions.yaml +92 -0
- package/knowledge/baldursgate3/publishing.modio-nexus.yaml +170 -0
- package/knowledge/baldursgate3/publishing.toolkit-modio.yaml +135 -0
- package/knowledge/baldursgate3/races.progression.yaml +228 -0
- package/knowledge/baldursgate3/scriptextender.console.yaml +257 -0
- package/knowledge/baldursgate3/scriptextender.yaml +252 -0
- package/knowledge/baldursgate3/stats.boosts.yaml +293 -0
- package/knowledge/baldursgate3/stats.equipment-kits.yaml +69 -0
- package/knowledge/baldursgate3/stats.interrupts.yaml +45 -0
- package/knowledge/baldursgate3/stats.itemcombos.yaml +65 -0
- package/knowledge/baldursgate3/stats.spells.yaml +293 -0
- package/knowledge/baldursgate3/stats.weapons.yaml +210 -0
- package/knowledge/baldursgate3/toolchain.divine.yaml +179 -0
- package/knowledge/baldursgate3/toolchain.lslib-formats.yaml +242 -0
- package/knowledge/baldursgate3/toolkit.levels.yaml +177 -0
- package/knowledge/baldursgate3/ui.icons-atlas.yaml +78 -0
- package/knowledge/baldursgate3/ui.icons.yaml +412 -0
- package/knowledge/baldursgate3/ui.mcm.yaml +161 -0
- package/knowledge/baldursgate3/vfx.materials.yaml +174 -0
- package/knowledge/baldursgate3/visuals.characterfix.yaml +73 -0
- package/knowledge/cyberpunk2077/animations.anims.yaml +118 -0
- package/knowledge/cyberpunk2077/anims.archivexl.yaml +163 -0
- package/knowledge/cyberpunk2077/anims.authoring.yaml +579 -0
- package/knowledge/cyberpunk2077/anims.encoder.yaml +156 -0
- package/knowledge/cyberpunk2077/anims.graph.yaml +629 -0
- package/knowledge/cyberpunk2077/anims.method.yaml +360 -0
- package/knowledge/cyberpunk2077/anims.pipeline.yaml +352 -0
- package/knowledge/cyberpunk2077/anims.roundtrip.yaml +222 -0
- package/knowledge/cyberpunk2077/anims.sets.yaml +176 -0
- package/knowledge/cyberpunk2077/archivexl.bodytypes.yaml +149 -0
- package/knowledge/cyberpunk2077/archivexl.dynamic-appearances.yaml +218 -0
- package/knowledge/cyberpunk2077/archivexl.manifest.yaml +214 -0
- package/knowledge/cyberpunk2077/audio.events.yaml +168 -0
- package/knowledge/cyberpunk2077/audio.sounds.yaml +164 -0
- package/knowledge/cyberpunk2077/audio.voicesets.yaml +146 -0
- package/knowledge/cyberpunk2077/cet.sandbox.yaml +219 -0
- package/knowledge/cyberpunk2077/clothing.garments.yaml +283 -0
- package/knowledge/cyberpunk2077/clothing.refits.yaml +215 -0
- package/knowledge/cyberpunk2077/codeware.overview.yaml +111 -0
- package/knowledge/cyberpunk2077/codeware.systems.yaml +192 -0
- package/knowledge/cyberpunk2077/drones.combat.yaml +416 -0
- package/knowledge/cyberpunk2077/drones.control.yaml +552 -0
- package/knowledge/cyberpunk2077/entities.appearance.yaml +166 -0
- package/knowledge/cyberpunk2077/equipmentex.slots.yaml +151 -0
- package/knowledge/cyberpunk2077/fx.effects.yaml +246 -0
- package/knowledge/cyberpunk2077/fx.lights.yaml +171 -0
- package/knowledge/cyberpunk2077/hair.modding.yaml +145 -0
- package/knowledge/cyberpunk2077/items.wiring.yaml +246 -0
- package/knowledge/cyberpunk2077/loadorder.archives.yaml +71 -0
- package/knowledge/cyberpunk2077/mesh.blender.yaml +209 -0
- package/knowledge/cyberpunk2077/nativedb.dump.yaml +98 -0
- package/knowledge/cyberpunk2077/npc.appearance.yaml +275 -0
- package/knowledge/cyberpunk2077/npc.behaviour.yaml +128 -0
- package/knowledge/cyberpunk2077/npc.locomotion.yaml +490 -0
- package/knowledge/cyberpunk2077/packaging.deploy.yaml +175 -0
- package/knowledge/cyberpunk2077/packaging.variants.yaml +176 -0
- package/knowledge/cyberpunk2077/player.control.yaml +918 -0
- package/knowledge/cyberpunk2077/process.assetbuild.yaml +154 -0
- package/knowledge/cyberpunk2077/process.lessons.yaml +276 -0
- package/knowledge/cyberpunk2077/quests.minor.yaml +46 -0
- package/knowledge/cyberpunk2077/quests.scenes.yaml +282 -0
- package/knowledge/cyberpunk2077/quickhacks.tiers.yaml +41 -0
- package/knowledge/cyberpunk2077/red4ext.api.yaml +645 -0
- package/knowledge/cyberpunk2077/red4ext.plugins.yaml +124 -0
- package/knowledge/cyberpunk2077/redhottools.hotreload.yaml +245 -0
- package/knowledge/cyberpunk2077/redscript.compile-log.yaml +76 -0
- package/knowledge/cyberpunk2077/redscript.modules.yaml +118 -0
- package/knowledge/cyberpunk2077/toolchain.wolvenkit.yaml +163 -0
- package/knowledge/cyberpunk2077/tweakdb.loot-recipes.yaml +184 -0
- package/knowledge/cyberpunk2077/tweakdb.melee.yaml +352 -0
- package/knowledge/cyberpunk2077/tweakdb.weapons.yaml +325 -0
- package/knowledge/cyberpunk2077/tweakxl.hotreload.yaml +151 -0
- package/knowledge/cyberpunk2077/tweakxl.yaml-syntax.yaml +208 -0
- package/knowledge/cyberpunk2077/ui.icons.yaml +259 -0
- package/knowledge/cyberpunk2077/ui.inkatlas.yaml +81 -0
- package/knowledge/cyberpunk2077/ui.modsettings.yaml +204 -0
- package/knowledge/cyberpunk2077/vehicles.control.yaml +475 -0
- package/knowledge/cyberpunk2077/vehicles.dashboard-ui.yaml +203 -0
- package/knowledge/cyberpunk2077/vehicles.entities.yaml +195 -0
- package/knowledge/cyberpunk2077/vehicles.wiring.yaml +137 -0
- package/knowledge/cyberpunk2077/wolvenkit.cli.yaml +167 -0
- package/knowledge/cyberpunk2077/workspot.system.yaml +55 -0
- package/knowledge/cyberpunk2077/world.interactions.yaml +41 -0
- package/knowledge/cyberpunk2077/world.loot-container.yaml +167 -0
- package/knowledge/cyberpunk2077/world.sectors.yaml +233 -0
- package/knowledge/eldenring/formats.binders.yaml +237 -0
- package/knowledge/eldenring/launcher.me3.yaml +230 -0
- package/knowledge/eldenring/launcher.modengine2.yaml +119 -0
- package/knowledge/eldenring/params.paramdef.yaml +149 -0
- package/knowledge/eldenring/params.regulation.yaml +142 -0
- package/knowledge/eldenring/saves.online.yaml +118 -0
- package/knowledge/eldenring/toolchain.cli.yaml +256 -0
- package/knowledge/nivalisnights/modding.runtime.yaml +157 -0
- package/knowledge/skyrimse/archives.bsa.yaml +212 -0
- package/knowledge/skyrimse/install.detection.yaml +41 -0
- package/knowledge/skyrimse/loadorder.files.yaml +242 -0
- package/knowledge/skyrimse/plugins.esl.yaml +189 -0
- package/knowledge/skyrimse/plugins.format.yaml +224 -0
- package/knowledge/skyrimse/skse.runtime.yaml +283 -0
- package/knowledge/skyrimse/toolchain.xedit-spriggit.yaml +336 -0
- package/knowledge/stardewvalley/contentpatcher.format.yaml +338 -0
- package/knowledge/stardewvalley/distribution.channels.yaml +236 -0
- package/knowledge/stardewvalley/game.versions.yaml +202 -0
- package/knowledge/stardewvalley/install.layout.yaml +277 -0
- package/knowledge/stardewvalley/smapi.loader.yaml +284 -0
- package/knowledge/stardewvalley/smapi.logs.yaml +329 -0
- package/knowledge/stardewvalley/smapi.manifest.yaml +293 -0
- package/knowledge/stardewvalley/toolchain.build.yaml +261 -0
- package/knowledge/stardewvalley/wiki.dataformat.yaml +130 -0
- package/knowledge/subnautica2/game.build.yaml +331 -0
- package/knowledge/subnautica2/modding.state.yaml +210 -0
- package/knowledge/subnautica2/ue5.containers.yaml +72 -0
- package/knowledge/subnautica2/ue5.paks.yaml +203 -0
- package/knowledge/subnautica2/ue5.tooling.yaml +175 -0
- package/knowledge/subnautica2/ue5.ue4ss.yaml +203 -0
- package/knowledge/valheim/bepinex.loader.yaml +247 -0
- package/knowledge/valheim/bepinex.plugins.yaml +251 -0
- package/knowledge/valheim/game.versions.yaml +321 -0
- package/knowledge/valheim/install.layout.yaml +216 -0
- package/knowledge/valheim/jotunn.library.yaml +334 -0
- package/knowledge/valheim/thunderstore.packaging.yaml +217 -0
- package/knowledge/valheim/toolchain.build.yaml +111 -0
- package/package.json +29 -0
- package/scaffolds/baldursgate3/new-class-injection.yaml +148 -0
- package/scaffolds/baldursgate3/new-item.yaml +264 -0
- package/scaffolds/baldursgate3/new-mod.yaml +174 -0
- package/scaffolds/baldursgate3/new-passive.yaml +100 -0
- package/scaffolds/baldursgate3/new-project.yaml +118 -0
- package/scaffolds/baldursgate3/new-quest-stub.yaml +159 -0
- package/scaffolds/baldursgate3/new-spell.yaml +102 -0
- package/scaffolds/baldursgate3/new-status.yaml +119 -0
- package/scaffolds/baldursgate3/sequences/subclass-kit.yaml +50 -0
- package/scaffolds/cyberpunk2077/edit-tweak.yaml +70 -0
- package/scaffolds/cyberpunk2077/mesh-export-preset.yaml +170 -0
- package/scaffolds/cyberpunk2077/new-entity-patch.yaml +255 -0
- package/scaffolds/cyberpunk2077/new-garment-refit.yaml +279 -0
- package/scaffolds/cyberpunk2077/new-item-chain.yaml +548 -0
- package/scaffolds/cyberpunk2077/new-localization.yaml +130 -0
- package/scaffolds/cyberpunk2077/new-mod-settings.yaml +133 -0
- package/scaffolds/cyberpunk2077/new-player-replacer.yaml +1003 -0
- package/scaffolds/cyberpunk2077/new-project.yaml +157 -0
- package/scaffolds/cyberpunk2077/new-sector-node.yaml +156 -0
- package/scaffolds/cyberpunk2077/new-tweak.yaml +121 -0
- package/scaffolds/cyberpunk2077/new-vehicle-livery.yaml +148 -0
- package/scaffolds/cyberpunk2077/new-workspot-entity.yaml +177 -0
- package/scaffolds/cyberpunk2077/sequences/iconic-weapon.yaml +72 -0
- package/scaffolds/cyberpunk2077/sequences/quickhack-takeover.yaml +213 -0
- package/scaffolds/stardewvalley/new-cp-patch.yaml +106 -0
- package/scaffolds/stardewvalley/new-csharp-mod.yaml +195 -0
- package/scaffolds/stardewvalley/new-project.yaml +184 -0
- package/scaffolds/stardewvalley/sequences/content-pack.yaml +31 -0
- package/scripts/mw-tool.mjs +184 -0
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
game: skyrimse
|
|
2
|
+
topic: toolchain.xedit-spriggit
|
|
3
|
+
title: The unattended toolchain — xEdit switches and exit codes, Spriggit round-trip fidelity, the
|
|
4
|
+
Papyrus compiler, and what cannot be automated
|
|
5
|
+
facts:
|
|
6
|
+
- id: sse.toolchain.xedit-spriggit.one-binary-renamed-or-switched
|
|
7
|
+
claim: xEdit is one executable selected by rename or by switch. Renaming it to SSEEdit makes it work
|
|
8
|
+
with Skyrim SE, and the -sse switch does the same; mode detection checks the command line
|
|
9
|
+
first and then substring-matches the executable's own filename.
|
|
10
|
+
status: community
|
|
11
|
+
source: github.com/TES5Edit/TES5Edit README.md, "xEdit versions" ("Rename to SSEEdit to work with
|
|
12
|
+
Skyrim SE"); xEdit/xeInit.pas, DetectAppMode
|
|
13
|
+
tags:
|
|
14
|
+
- xedit
|
|
15
|
+
- sseedit
|
|
16
|
+
- toolchain
|
|
17
|
+
- invocation
|
|
18
|
+
detail: The filename fallback is why SSEEditQAC.exe works. Game modes accepted by the -<gamemode>
|
|
19
|
+
switch are tes5vr, fo4vr, tes4, tes5, enderal, sse, fo3, fnv, fo4, fo76.
|
|
20
|
+
- id: sse.toolchain.xedit-spriggit.unattended-modes
|
|
21
|
+
claim: "xEdit runs without user interaction only in its wbAutoModes set. The self-closing ones take
|
|
22
|
+
a positional plugin name - -checkforerrors, -checkforitm, -checkfordr, -sortandcleanmasters,
|
|
23
|
+
-setesm, -clearesm, -masterupdate, -masterrestore, -onamupdate. -script: and -qac need
|
|
24
|
+
-autoload and -autoexit as well."
|
|
25
|
+
status: community
|
|
26
|
+
source: github.com/TES5Edit/TES5Edit Core/wbInterface.pas, wbAutoModes and wbPluginModes (commented
|
|
27
|
+
"Tool modes that run without user interaction until final status" and "Auto modes that require
|
|
28
|
+
a specific plugin to be provided"); whatsnew.md sections "Auto Exit", "Auto Load for Quick
|
|
29
|
+
[Auto] Clean"
|
|
30
|
+
tags:
|
|
31
|
+
- xedit
|
|
32
|
+
- cli
|
|
33
|
+
- unattended
|
|
34
|
+
- automation
|
|
35
|
+
- toolchain
|
|
36
|
+
detail: The documented recipe is `SSEEdit.exe -quickautoclean -autoload update.esm`. -autoexit "can
|
|
37
|
+
be used together with a number of different modes ... to have xEdit automatically close after
|
|
38
|
+
the operation is finished"; -autoload "will not show the Module Selection dialog and just load
|
|
39
|
+
all modules that are active according to plugins.txt". Neither switch appears on the docs site
|
|
40
|
+
- only in whatsnew.md.
|
|
41
|
+
- id: sse.toolchain.xedit-spriggit.exit-code-is-the-issue-count
|
|
42
|
+
claim: In the three check modes, xEdit's process exit code is the count of errors, ITMs or UDRs
|
|
43
|
+
found, capped at 127. 255 means an unexpected mode and 0 means clean or any non-check mode.
|
|
44
|
+
status: community
|
|
45
|
+
source: github.com/TES5Edit/TES5Edit xEdit/xeMainForm.pas (`if ErrorsCount>126 then CheckResult :=
|
|
46
|
+
127 else CheckResult := ErrorsCount;`, identically for ITMcount and DRcount, with `CheckResult
|
|
47
|
+
:= 255;` as the fallthrough and `ExitCode := CheckResult;`)
|
|
48
|
+
tags:
|
|
49
|
+
- xedit
|
|
50
|
+
- cli
|
|
51
|
+
- exit-code
|
|
52
|
+
- automation
|
|
53
|
+
- toolchain
|
|
54
|
+
- validator
|
|
55
|
+
detail: This is the only genuinely scriptable status signal in the Skyrim toolchain and makes
|
|
56
|
+
-checkforitm usable as a build gate.
|
|
57
|
+
- id: sse.toolchain.xedit-spriggit.modals-can-still-block-a-fresh-run
|
|
58
|
+
claim: Three dialogs can still appear in an otherwise unattended xEdit run - the developer/donation
|
|
59
|
+
message (re-shown every 14 days for non-patrons), a 64-bit first-start confirmation gated on
|
|
60
|
+
the settings key Init\First64Start, and the game selection dialog when neither the exe name
|
|
61
|
+
nor a -<gamemode> switch resolves.
|
|
62
|
+
status: community
|
|
63
|
+
source: github.com/TES5Edit/TES5Edit xEdit/xeMainForm.pas (`if (not wbPatron or not xeAutoLoad) and
|
|
64
|
+
not xeTestConflicts then ShowDeveloperMessage;` and the MessageDlg gated on Init\First64Start)
|
|
65
|
+
and xEdit/xeInit.pas (TfrmGameSelect)
|
|
66
|
+
tags:
|
|
67
|
+
- xedit
|
|
68
|
+
- cli
|
|
69
|
+
- unattended
|
|
70
|
+
- gotcha
|
|
71
|
+
- first-run
|
|
72
|
+
- toolchain
|
|
73
|
+
detail: 'A first unattended run on a clean machine can therefore hang. A separate trap - if the
|
|
74
|
+
script named by -script: does not exist, xEdit opens a file-open dialog titled "Select a
|
|
75
|
+
script to execute" rather than failing.'
|
|
76
|
+
- id: sse.toolchain.xedit-spriggit.quick-auto-clean-is-not-byte-stable
|
|
77
|
+
claim: Quick Auto Clean applies the filter, undeletes and disables references, and removes
|
|
78
|
+
identical-to-master records, three times with a silent save between each pass. It marks all
|
|
79
|
+
groups and records modified before saving, so it produces a different CRC than the old manual
|
|
80
|
+
method.
|
|
81
|
+
status: community
|
|
82
|
+
source: tes5edit.github.io/docs 7.4.7.2 "Quick Auto Clean Method" ("This procedure cleans 3 times
|
|
83
|
+
and saves in between each step", "For quick auto clean you will not be given an option to
|
|
84
|
+
save"); whatsnew.md "Quick [Auto] Clean" ("using Quick Clean will now produce a different CRC
|
|
85
|
+
than using the old manual method")
|
|
86
|
+
tags:
|
|
87
|
+
- xedit
|
|
88
|
+
- cleaning
|
|
89
|
+
- itm
|
|
90
|
+
- udr
|
|
91
|
+
- byte-stability
|
|
92
|
+
- build-step
|
|
93
|
+
- gotcha
|
|
94
|
+
detail: Byte comparison cannot be used to verify a cleaning step. Cleaning must also be done one
|
|
95
|
+
file at a time - with other mods loaded, ITMs become "identical to master, but conflict
|
|
96
|
+
winner" and are not cleaned (docs 7.4.2). Undeleting a reference moves it, with xEdit setting
|
|
97
|
+
the Z axis position to -30,000 units (docs 7.5.3).
|
|
98
|
+
- id: sse.toolchain.xedit-spriggit.conflict-model-is-two-dimensional
|
|
99
|
+
claim: xEdit computes two independent statuses per row - a per-record TConflictAll shown as the
|
|
100
|
+
background colour, and a per-file TConflictThis shown as the text colour.
|
|
101
|
+
status: community
|
|
102
|
+
source: github.com/TES5Edit/TES5Edit Core/wbInterface.pas, wbNameConflictAll and wbNameConflictThis;
|
|
103
|
+
tes5edit.github.io/docs 5.5 "Color Schemes and Display Order"
|
|
104
|
+
tags:
|
|
105
|
+
- xedit
|
|
106
|
+
- conflict
|
|
107
|
+
- record
|
|
108
|
+
- model
|
|
109
|
+
detail: TConflictAll values are Single Record, Multiple but no conflict, Benign Conflict, Override
|
|
110
|
+
without conflict, Conflict, Critical Conflict. TConflictThis values are Ignored, Not Defined,
|
|
111
|
+
Identical to Master, Single Record, Hidden by Mod Group, Master, Benign conflict, Override
|
|
112
|
+
without conflict, Identical to Master but conflict winner, Conflict winner, Conflict loser.
|
|
113
|
+
The docs' example - green background with grey text for a lone module - makes the two axes
|
|
114
|
+
concrete.
|
|
115
|
+
- id: sse.toolchain.xedit-spriggit.spriggit-cli-syntax
|
|
116
|
+
claim: Spriggit converts a plugin to and from a folder of one-file-per-record YAML or JSON. Its
|
|
117
|
+
verbs are convert-from-plugin and convert-to-plugin, with serialize and deserialize accepted
|
|
118
|
+
as aliases, taking --InputPath, --OutputPath, --GameRelease SkyrimSE and --PackageName
|
|
119
|
+
Spriggit.Yaml.
|
|
120
|
+
status: community
|
|
121
|
+
source: github.com/Mutagen-Modding/Spriggit README.md and docs/cli.md, including the example
|
|
122
|
+
`Spriggit.CLI.exe convert-from-plugin --InputPath "...\Data\SomeMod.esp" --OutputPath
|
|
123
|
+
"C:\MyGitRepository\SomeMod.esp" --GameRelease SkyrimSE --PackageName Spriggit.Yaml`
|
|
124
|
+
tags:
|
|
125
|
+
- spriggit
|
|
126
|
+
- cli
|
|
127
|
+
- toolchain
|
|
128
|
+
- text-converter
|
|
129
|
+
- yaml
|
|
130
|
+
- git
|
|
131
|
+
detail: Other arguments - -v/--PackageVersion, -t/--Threads, -m/--ModKey, -c/--Check,
|
|
132
|
+
-d/--DataFolder, -u/--ErrorOnUnknown, plus -l/--Localized and -b/--BackupDays on deserialize.
|
|
133
|
+
The translation logic lives in NuGet packages fetched at run time and stamped into
|
|
134
|
+
spriggit-meta.json, so deserialization can pull the exact version that wrote the text.
|
|
135
|
+
- id: sse.toolchain.xedit-spriggit.spriggit-is-not-lossless
|
|
136
|
+
claim: Spriggit does not round-trip a plugin byte-identically. It deliberately omits unused and
|
|
137
|
+
unknown fields (including group header data, timestamps and last-modified data), reorders
|
|
138
|
+
list-type fields on purpose, and refuses to proceed rather than skip a record it does not
|
|
139
|
+
recognise.
|
|
140
|
+
status: community
|
|
141
|
+
source: 'github.com/Mutagen-Modding/Spriggit docs/omissions.md ("Omitted fields are: Not written
|
|
142
|
+
during serialization ... Set to default values during deserialization"), docs/sorting.md,
|
|
143
|
+
docs/unexpected-records.md ("If Spriggit encounters a record that it is unsure of, it refuses
|
|
144
|
+
to proceed, rather than skip the record")'
|
|
145
|
+
tags:
|
|
146
|
+
- spriggit
|
|
147
|
+
- fidelity
|
|
148
|
+
- round-trip
|
|
149
|
+
- text-converter
|
|
150
|
+
- gotcha
|
|
151
|
+
- verification
|
|
152
|
+
detail: Its own --Check is weak by design - PostSerializeChecker.cs compares only the record count
|
|
153
|
+
and a set of record identifiers, with no field-level or byte-level comparison. A separate
|
|
154
|
+
`standardize` verb exists precisely because binary comparison needs normalising first. So a
|
|
155
|
+
converter built on Spriggit cannot use a byte-compare round-trip verification.
|
|
156
|
+
- id: sse.toolchain.xedit-spriggit.spriggit-is-the-only-ci-ready-piece
|
|
157
|
+
claim: Spriggit publishes a self-contained linux-x64 single-file CLI alongside the Windows one and
|
|
158
|
+
tests on ubuntu and macos runners, making it the only part of the Skyrim toolchain built for
|
|
159
|
+
headless use.
|
|
160
|
+
status: community
|
|
161
|
+
source: github.com/Mutagen-Modding/Spriggit .github/workflows/ci-publish.yml (dotnet publish -r
|
|
162
|
+
win-x64 and -r linux-x64 with PublishSingleFile and --self-contained) and the 0.41.0 release
|
|
163
|
+
assets SpriggitCLI.zip and SpriggitLinuxCLI.zip
|
|
164
|
+
tags:
|
|
165
|
+
- spriggit
|
|
166
|
+
- ci
|
|
167
|
+
- linux
|
|
168
|
+
- headless
|
|
169
|
+
- toolchain
|
|
170
|
+
- packaging
|
|
171
|
+
detail: The README's claim that the CLI "is not self contained" is out of date relative to the
|
|
172
|
+
pipeline. It also installs as a dotnet tool named spriggit. The author maintains a reference
|
|
173
|
+
workflow at github.com/Noggog/SpriggitWorkflowTests that runs the Linux CLI on ubuntu-latest.
|
|
174
|
+
- id: sse.toolchain.xedit-spriggit.mutagen-has-no-node-path
|
|
175
|
+
claim: Mutagen is a C# library with no executable, CLI, server or stdio interface of its own. The
|
|
176
|
+
only shipped CLI surfaces built on it are Spriggit.CLI and Synthesis.CLI, so a Node process
|
|
177
|
+
must shell out to Spriggit and read its YAML or JSON.
|
|
178
|
+
status: inferred
|
|
179
|
+
source: mutagen-modding.github.io/Mutagen docs index ("Mutagen is a C# library for analyzing,
|
|
180
|
+
modifying, and creating Bethesda mods"); every project in the Mutagen repository is a library,
|
|
181
|
+
code generator, test project or WPF app
|
|
182
|
+
tags:
|
|
183
|
+
- mutagen
|
|
184
|
+
- node
|
|
185
|
+
- integration
|
|
186
|
+
- toolchain
|
|
187
|
+
- constraint
|
|
188
|
+
detail: Marked inferred because it is a conclusion from the absence of an Exe project rather than a
|
|
189
|
+
documented statement. Mutagen's GameRelease enum, which is what Spriggit's --GameRelease
|
|
190
|
+
accepts, includes SkyrimSE, SkyrimSEGog, SkyrimLE, SkyrimVR, EnderalSE, Fallout4 and
|
|
191
|
+
Starfield.
|
|
192
|
+
- id: sse.toolchain.xedit-spriggit.synthesis-cli-is-not-released
|
|
193
|
+
claim: Synthesis bundles patchers into a single output plugin named Synthesis.esp and documents a
|
|
194
|
+
run-pipeline CLI, but no CLI binary is published in its releases and it requires the .NET SDK
|
|
195
|
+
rather than just a runtime, because it compiles patchers from source at run time.
|
|
196
|
+
status: community
|
|
197
|
+
source: mutagen-modding.github.io/Synthesis docs index and docs/Synthesis-CLI.md;
|
|
198
|
+
docs/Installation.md ("Be sure to install the SDK; The Runtime alone is not enough for
|
|
199
|
+
Synthesis to compile patchers"); the 0.36.6 release ships only Synthesis.zip
|
|
200
|
+
tags:
|
|
201
|
+
- synthesis
|
|
202
|
+
- patcher
|
|
203
|
+
- cli
|
|
204
|
+
- toolchain
|
|
205
|
+
- constraint
|
|
206
|
+
- id: sse.toolchain.xedit-spriggit.papyrus-source-directory-is-inverted-on-sse
|
|
207
|
+
claim: Skyrim SE's Papyrus source folder is Data\Source\Scripts, not Data\Scripts\Source, which is
|
|
208
|
+
Skyrim LE's. Compiled output goes to Data\Scripts for both.
|
|
209
|
+
status: community
|
|
210
|
+
source: github.com/joelday/papyrus-lang src/papyrus-lang-vscode/src/CreationKitInfoProvider.ts,
|
|
211
|
+
getDefaultPapyrusConfigForGame (skyrim -> '.\\Data\\Scripts\\Source\\', skyrimSpecialEdition
|
|
212
|
+
-> '.\\Data\\Source\\Scripts\\')
|
|
213
|
+
tags:
|
|
214
|
+
- papyrus
|
|
215
|
+
- paths
|
|
216
|
+
- sse-vs-le
|
|
217
|
+
- gotcha
|
|
218
|
+
- scaffold
|
|
219
|
+
- build-step
|
|
220
|
+
detail: Both directories exist on a real SE install because SKSE's readme instructs users to put its
|
|
221
|
+
own .psc files in Data\Scripts\Source. An import path should include both. These are not
|
|
222
|
+
hardcoded - they come from CreationKit.ini's [Papyrus] sScriptSourceFolder, sAdditionalImports
|
|
223
|
+
(which supports a $(source) token), sScriptCompiledFolder and sCompilerFolder.
|
|
224
|
+
- id: sse.toolchain.xedit-spriggit.papyrus-compiler-invocation
|
|
225
|
+
claim: The compiler is <game root>\Papyrus Compiler\PapyrusCompiler.exe and is invoked per script as
|
|
226
|
+
`PapyrusCompiler.exe "<script.psc>" -f="<flags file>" -i="<imports joined by ;>" -o="<output
|
|
227
|
+
dir>" [-op]`, with TESV_Papyrus_Flags.flg as the flags file for both Skyrim LE and SE.
|
|
228
|
+
status: community
|
|
229
|
+
source: github.com/fireundubh/pyro pyro/ProjectBase.py get_compiler_path, pyro/Constants.py class
|
|
230
|
+
FlagsName, and pyro/PapyrusProject.py's argument assembly; corroborated for the flags file by
|
|
231
|
+
papyrus-lang src/papyrus-lang-vscode/src/common/PathResolver.ts
|
|
232
|
+
tags:
|
|
233
|
+
- papyrus
|
|
234
|
+
- compiler
|
|
235
|
+
- cli
|
|
236
|
+
- build-step
|
|
237
|
+
- toolchain
|
|
238
|
+
detail: -release and -final are emitted only for Fallout 4 and Starfield, never for SSE. The
|
|
239
|
+
spellings -all, -q and -optimize are widely repeated but unconfirmed - Pyro emits -op and
|
|
240
|
+
compiles per script, and PapyrusCompiler.exe -h could not be reached because the Creation Kit
|
|
241
|
+
wiki is unavailable.
|
|
242
|
+
- id: sse.toolchain.xedit-spriggit.creationkit-reads-two-ini-files-on-sse
|
|
243
|
+
claim: The Skyrim SE Creation Kit reads CreationKit.ini and CreationKitCustom.ini, where the Skyrim
|
|
244
|
+
LE editor reads SkyrimEditor.ini.
|
|
245
|
+
status: community
|
|
246
|
+
source: github.com/joelday/papyrus-lang src/papyrus-lang-vscode/package.json, the
|
|
247
|
+
papyrus.skyrimSpecialEdition.creationKitIniFiles and papyrus.skyrim.creationKitIniFiles
|
|
248
|
+
defaults
|
|
249
|
+
tags:
|
|
250
|
+
- creation-kit
|
|
251
|
+
- ini
|
|
252
|
+
- sse-vs-le
|
|
253
|
+
- paths
|
|
254
|
+
- id: sse.toolchain.xedit-spriggit.creationkit-version-line-is-1-6-x
|
|
255
|
+
claim: The Skyrim SE Creation Kit's version line is 1.5.x to 1.6.x, with 1.5.73.0, 1.6.1130.0 and
|
|
256
|
+
1.6.1378.1 currently active. The 2.x "Creation Kit" numbering belongs to Starfield's editor,
|
|
257
|
+
not Skyrim's.
|
|
258
|
+
status: community
|
|
259
|
+
source: github.com/Perchik71/Creation-Kit-Platform-Extended wiki, the supported editor versions
|
|
260
|
+
table, corroborated by the repository's Stuffs/__CreateDatabase_sse_*.bat scripts
|
|
261
|
+
tags:
|
|
262
|
+
- creation-kit
|
|
263
|
+
- version
|
|
264
|
+
- compat-matrix
|
|
265
|
+
detail: CKPE's own SSE patch for the 1.71 plugin format defines the editor's ESL-capacity strings "
|
|
266
|
+
<NOT ESL Capable - no more IDs remaining>" and " <ESL Capable - %d IDs remaining>" alongside
|
|
267
|
+
constexpr float fPluginVersion = 1.71f.
|
|
268
|
+
- id: sse.toolchain.xedit-spriggit.wrye-bash-has-no-headless-mode
|
|
269
|
+
claim: Wrye Bash has no command-line way to build a Bashed Patch. Its entire CLI is path overrides,
|
|
270
|
+
settings backup and restore, UAC flags and a language switch; everything else launches the
|
|
271
|
+
GUI.
|
|
272
|
+
status: community
|
|
273
|
+
source: github.com/wrye-bash/wrye-bash Mopy/bash/barg.py, which parses -o/--oblivionPath,
|
|
274
|
+
-m/--oblivionMods, -p, -u, -l, -b/--backup, -r/--restore, -f/--filename, -q/--quiet-quit,
|
|
275
|
+
--no-uac/--uac, -L/--Language, -n/--unsupported and a deprecated -d/--debug
|
|
276
|
+
tags:
|
|
277
|
+
- wrye-bash
|
|
278
|
+
- cli
|
|
279
|
+
- automation
|
|
280
|
+
- constraint
|
|
281
|
+
- toolchain
|
|
282
|
+
detail: ModWright can detect a Bashed Patch's presence but cannot build or refresh one. The Leveled
|
|
283
|
+
Lists patcher is the one that matters most - it merges changes multiple mods make to the same
|
|
284
|
+
leveled list, which last-loaded-wins would otherwise discard.
|
|
285
|
+
- id: sse.toolchain.xedit-spriggit.bash-tags-come-from-loot
|
|
286
|
+
claim: Wrye Bash's Bash Tags are read, in increasing priority, from the plugin's own header
|
|
287
|
+
description, a bundled taglist.yaml, LOOT's masterlist.yaml, LOOT's userlist.yaml,
|
|
288
|
+
<Game>\Data\BashTags\<plugin>.txt, and finally tags set manually in Wrye Bash.
|
|
289
|
+
status: community
|
|
290
|
+
source: wrye-bash.github.io "Wrye Bash Advanced Readme", section "Bash Tags"
|
|
291
|
+
tags:
|
|
292
|
+
- wrye-bash
|
|
293
|
+
- bash-tags
|
|
294
|
+
- loot
|
|
295
|
+
- masterlist
|
|
296
|
+
- metadata
|
|
297
|
+
detail: This is why a TES4 header parser should surface SNAM - a plugin's description is a real
|
|
298
|
+
metadata channel, not just documentation. Wrye Bash looks for LOOT's files in
|
|
299
|
+
%LOCALAPPDATA%\LOOT\<Game>\ and falls back to its own bundled taglist.
|
|
300
|
+
- id: sse.toolchain.xedit-spriggit.behaviour-and-lod-tools-cannot-be-automated
|
|
301
|
+
claim: Nemesis, Pandora, DynDOLOD and xLODGen cannot be driven unattended. Nemesis must live inside
|
|
302
|
+
<Data>\Nemesis_Engine and is a Qt GUI whose command-line paths end in a blocking getch();
|
|
303
|
+
Pandora always creates a window; DynDOLOD documents no switch that starts or finishes
|
|
304
|
+
generation; xLODGen is xEdit's LODGen mode behind an unconditional modal.
|
|
305
|
+
status: community
|
|
306
|
+
source: github.com/ShikyoKira/Project-New-Reign---Nemesis-Main src/nemesisinfo.cpp, src/main.cpp and
|
|
307
|
+
src/ui/CmdLaunch.cpp; github.com/Monitor221hz/Pandora-Behaviour-Engine-Plus Program.cs and
|
|
308
|
+
App.axaml.cs; dyndolod.info/Help/Command-Line-Argument and /Generation-Instructions;
|
|
309
|
+
github.com/TES5Edit/TES5Edit xEdit/xeMainForm.pas (`if ShowModal <> mrOk then Exit;` on the
|
|
310
|
+
LODGen form)
|
|
311
|
+
tags:
|
|
312
|
+
- nemesis
|
|
313
|
+
- pandora
|
|
314
|
+
- dyndolod
|
|
315
|
+
- xlodgen
|
|
316
|
+
- automation
|
|
317
|
+
- constraint
|
|
318
|
+
- toolchain
|
|
319
|
+
detail: The reason to avoid DynDOLOD is not runtime - its own site says vanilla LOD generation
|
|
320
|
+
"should not take more than 15 minutes or so" - but that there is no way to start or finish it
|
|
321
|
+
from a command line, and "Manually closing DynDOLOD or LODGen while they are still running
|
|
322
|
+
results in incomplete output that can not be used in the game."
|
|
323
|
+
- id: sse.toolchain.xedit-spriggit.xedit-does-not-support-linux
|
|
324
|
+
claim: xEdit's maintainers state on the record that Wine is not a supported environment and that a
|
|
325
|
+
native Linux build is impossible because there is no VCL for Linux. The repository has no CI.
|
|
326
|
+
status: community
|
|
327
|
+
source: github.com/TES5Edit/TES5Edit issues 1069 (closed not_planned, wontfix), 774 ("Wine is not an
|
|
328
|
+
officially supported environment for xEdit", "No, because there is no VCL for Linux") and 1486
|
|
329
|
+
("We do not and really we cant support Linux in any way shape or form")
|
|
330
|
+
tags:
|
|
331
|
+
- xedit
|
|
332
|
+
- linux
|
|
333
|
+
- wine
|
|
334
|
+
- ci
|
|
335
|
+
- constraint
|
|
336
|
+
- toolchain
|