Skip to content

Commit

Permalink
Switch to JS
Browse files Browse the repository at this point in the history
  • Loading branch information
omvjro committed May 26, 2024
1 parent 14cc172 commit deeef60
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 214 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
/.vscode/
/.idea/
/data/tmp/
/data/passage/
Expand Down
21 changes: 18 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,20 @@
# ovoDoLMods
# Mods for Degrees of Lewdity

## 消灭空格
下载见 releases。

尽量删除汉化版中多出的空格。
## Eliminate Spaces / 消灭空格

尽量删除多出的空格。

### 原理

目前游戏中多出空格的原因:

- 有文字输出的 widget 内换行(`\n`)和缩进(`\t`
- 无文字输出的 widget
- 正文中 `switch``if` 代码块内换行和缩进

故结合使用以下方法删去:

- 删去有文字输出的 widget 内的换行和缩进
- 在无文字输出的 widget 内使用 `<<silently>>`
214 changes: 3 additions & 211 deletions mods/eliminateSpaces/boot.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,223 +5,15 @@
"scriptFileList": [],
"tweeFileList": [],
"imgFileList": [],
"scriptFileList_preload": [
"preload.js"
],
"addonPlugin": [
{
"modName": "TweeReplacer",
"addonName": "TweeReplacerAddon",
"modVersion": "1.0.0",
"params": [
{
"passage": "Widgets Named Npcs",
"findString": "<<widget \"npc\">>",
"replace": "<<widget \"npc\">><<silently>>"
},
{
"passage": "Widgets Named Npcs",
"findString": "<<set $index to _npcno>>\n<</widget>>",
"replace": "<<set $index to _npcno>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets Text",
"findString": "<<widget \"person1\">>\n\t<<personselect 0>>\n<</widget>>",
"replace": "<<widget \"person1\">><<silently>>\n\t<<personselect 0>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets Text",
"findString": "<<widget \"person2\">>\n\t<<personselect 1>>\n<</widget>>",
"replace": "<<widget \"person2\">><<silently>>\n\t<<personselect 1>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets Text",
"findString": "<<widget \"person3\">>\n\t<<personselect 2>>\n<</widget>>",
"replace": "<<widget \"person3\">><<silently>>\n\t<<personselect 2>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets Text",
"findString": "<<widget \"person4\">>\n\t<<personselect 3>>\n<</widget>>",
"replace": "<<widget \"person4\">><<silently>>\n\t<<personselect 3>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets Text",
"findString": "<<widget \"person5\">>\n\t<<personselect 4>>\n<</widget>>",
"replace": "<<widget \"person5\">><<silently>>\n\t<<personselect 4>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets Text",
"findString": "<<widget \"person6\">>\n\t<<personselect 5>>\n<</widget>>",
"replace": "<<widget \"person6\">><<silently>>\n\t<<personselect 5>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generate1\">>\n\t<<generateNPC 1>>\n<</widget>>",
"replace": "<<widget \"generate1\">><<silently>>\n\t<<generateNPC 1>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generate2\">>\n\t<<generateNPC 2>>\n<</widget>>",
"replace": "<<widget \"generate2\">><<silently>>\n\t<<generateNPC 2>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generate3\">>\n\t<<generateNPC 3>>\n<</widget>>",
"replace": "<<widget \"generate3\">><<silently>>\n\t<<generateNPC 3>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generate4\">>\n\t<<generateNPC 4>>\n<</widget>>",
"replace": "<<widget \"generate4\">><<silently>>\n\t<<generateNPC 4>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generate5\">>\n\t<<generateNPC 5>>\n<</widget>>",
"replace": "<<widget \"generate5\">><<silently>>\n\t<<generateNPC 5>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generate6\">>\n\t<<generateNPC 6>>\n<</widget>>",
"replace": "<<widget \"generate6\">><<silently>>\n\t<<generateNPC 6>>\n<</silently>><</widget>>"
},

{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generatey1\">>\n\t<<generateNPC 1 t>>\n<</widget>>",
"replace": "<<widget \"generatey1\">><<silently>>\n\t<<generateNPC 1 t>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generatey2\">>\n\t<<generateNPC 2 t>>\n<</widget>>",
"replace": "<<widget \"generatey2\">><<silently>>\n\t<<generateNPC 2 t>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generatey3\">>\n\t<<generateNPC 3 t>>\n<</widget>>",
"replace": "<<widget \"generatey3\">><<silently>>\n\t<<generateNPC 3 t>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generatey4\">>\n\t<<generateNPC 4 t>>\n<</widget>>",
"replace": "<<widget \"generatey4\">><<silently>>\n\t<<generateNPC 4 t>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generatey5\">>\n\t<<generateNPC 5 t>>\n<</widget>>",
"replace": "<<widget \"generatey5\">><<silently>>\n\t<<generateNPC 5 t>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generatey6\">>\n\t<<generateNPC 6 t>>\n<</widget>>",
"replace": "<<widget \"generatey6\">><<silently>>\n\t<<generateNPC 6 t>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generatev1\">>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 1>>\n<</widget>>",
"replace": "<<widget \"generatev1\">><<silently>>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 1>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generatev2\">>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 2>>\n<</widget>>",
"replace": "<<widget \"generatev2\">><<silently>>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 2>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generatev3\">>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 3>>\n<</widget>>",
"replace": "<<widget \"generatev3\">><<silently>>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 3>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generatev4\">>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 4>>\n<</widget>>",
"replace": "<<widget \"generatev4\">><<silently>>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 4>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generatev5\">>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 5>>\n<</widget>>",
"replace": "<<widget \"generatev5\">><<silently>>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 5>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generatev6\">>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 6>>\n<</widget>>",
"replace": "<<widget \"generatev6\">><<silently>>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 6>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generateyv1\">>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 1 t>>\n<</widget>>",
"replace": "<<widget \"generateyv1\">><<silently>>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 1 t>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generateyv2\">>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 2 t>>\n<</widget>>",
"replace": "<<widget \"generateyv2\">><<silently>>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 2 t>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generateyv3\">>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 3 t>>\n<</widget>>",
"replace": "<<widget \"generateyv3\">><<silently>>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 3 t>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generateyv4\">>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 4 t>>\n<</widget>>",
"replace": "<<widget \"generateyv4\">><<silently>>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 4 t>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generateyv5\">>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 5 t>>\n<</widget>>",
"replace": "<<widget \"generateyv5\">><<silently>>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 5 t>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generateyv6\">>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 6 t>>\n<</widget>>",
"replace": "<<widget \"generateyv6\">><<silently>>\n\t<<set _generate_victim to 1>>\n\t<<generateNPC 6 t>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generatep2\">>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 0>>\n\t<<generateNPC 2>>\n<</widget>>",
"replace": "<<widget \"generatep2\">><<silently>>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 0>>\n\t<<generateNPC 2>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generatep3\">>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 1>>\n\t<<generateNPC 3>>\n<</widget>>",
"replace": "<<widget \"generatep3\">><<silently>>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 1>>\n\t<<generateNPC 3>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generatep4\">>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 2>>\n\t<<generateNPC 4>>\n<</widget>>",
"replace": "<<widget \"generatep4\">><<silently>>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 2>>\n\t<<generateNPC 4>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generatep5\">>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 3>>\n\t<<generateNPC 5>>\n<</widget>>",
"replace": "<<widget \"generatep5\">><<silently>>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 3>>\n\t<<generateNPC 5>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generatep6\">>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 4>>\n\t<<generateNPC 6>>\n<</widget>>",
"replace": "<<widget \"generatep6\">><<silently>>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 4>>\n\t<<generateNPC 6>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generateyp2\">>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 0>>\n\t<<generateNPC 2 t>>\n<</widget>>",
"replace": "<<widget \"generateyp2\">><<silently>>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 0>>\n\t<<generateNPC 2 t>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generateyp3\">>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 1>>\n\t<<generateNPC 3 t>>\n<</widget>>",
"replace": "<<widget \"generateyp3\">><<silently>>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 1>>\n\t<<generateNPC 3 t>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generateyp4\">>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 2>>\n\t<<generateNPC 4 t>>\n<</widget>>",
"replace": "<<widget \"generateyp4\">><<silently>>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 2>>\n\t<<generateNPC 4 t>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generateyp5\">>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 3>>\n\t<<generateNPC 5 t>>\n<</widget>>",
"replace": "<<widget \"generateyp5\">><<silently>>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 3>>\n\t<<generateNPC 5 t>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets NPC Generation",
"findString": "<<widget \"generateyp6\">>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 4>>\n\t<<generateNPC 6 t>>\n<</widget>>",
"replace": "<<widget \"generateyp6\">><<silently>>\n\t<<set _generate_partner to _args[0] isnot undefined ? _args[0] : 4>>\n\t<<generateNPC 6 t>>\n<</silently>><</widget>>"
},
{
"passage": "Widgets",
"findString": "<<widget \"rentday\">>",
Expand Down
41 changes: 41 additions & 0 deletions mods/eliminateSpaces/preload.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
(() => {
const modUtils = window.modUtils;

function deleteTandN(passages) {
for (let passage of passages) {
let replaced = modUtils.getPassageData(passage).content.replaceAll(/\/\*(.|\n)*?\*\//g, '').replaceAll(/<!--(\n|.)*?-->/g, '').replaceAll('\n', '').replaceAll('\t', '');
modUtils.updatePassageData(passage, replaced, ['widget'], 0);
}
}

function addSilently(passages) {
for (let [passage, widgets] of Object.entries(passages)) {
let passageContent = modUtils.getPassageData(passage).content;
let re = new RegExp(`(?<=<<widget "(${widgets.join('|')})">>)(.|\n)+?(?=<<\/widget>>)`, 'g');
let patterns = passageContent.match(re);
for (let pattern of patterns) {
passageContent = passageContent.replace(pattern, `<<silently>>${pattern}<</silently>>`);
}
modUtils.updatePassageData(passage, passageContent, ['widget'], 0);
}
}

addSilently({
'Widgets Named Npcs': [
'npc',
],
'Widgets NPC Generation': [
'generate1', 'generate2', 'generate3', 'generate4', 'generate5', 'generate6',
'generatey1', 'generatey2', 'generatey3', 'generatey4', 'generatey5', 'generatey6',
'generatev1', 'generatev2', 'generatev3', 'generatev4', 'generatev5', 'generatev6',
'generateyv1', 'generateyv2', 'generateyv3', 'generateyv4', 'generateyv5', 'generateyv6',
'generatep2', 'generatep3', 'generatep4', 'generatep5', 'generatep6',
'generateyp2', 'generateyp3', 'generateyp4', 'generateyp5', 'generateyp6',
'generates1', 'generates2', 'generates3', 'generates4', 'generates5', 'generates6',
]
});

// let allWidgetPassages = modUtils.getAllPassageData().filter(passage => passage.tags.includes('widget')).map(passage => passage.name);
deleteTandN(['Widgets Text']);

})();

0 comments on commit deeef60

Please sign in to comment.