diff --git a/electron_steam_isbn/index.js b/electron_steam_isbn/index.js index 60def14f..8aafdeaa 100644 --- a/electron_steam_isbn/index.js +++ b/electron_steam_isbn/index.js @@ -24,17 +24,12 @@ const roamingFolder = : process.env.HOME + "/.local/share"); let storePath = path.join(roamingFolder, "shapez-china", "saves"); -let modsPath = path.join(roamingFolder, "shapez-china", "mods"); if (!fs.existsSync(storePath)) { // No try-catch by design fs.mkdirSync(storePath, { recursive: true }); } -if (!fs.existsSync(modsPath)) { - fs.mkdirSync(modsPath, { recursive: true }); -} - /** @type {BrowserWindow} */ let win = null; let menu = null; @@ -341,49 +336,9 @@ ipcMain.handle("fs-job", async (event, job) => { } }); -ipcMain.handle("open-mods-folder", async () => { - shell.openPath(modsPath); -}); - -console.log("Loading mods ..."); - -function loadMods() { - if (safeMode) { - console.log("Safe Mode enabled for mods, skipping mod search"); - } - console.log("Loading mods from", modsPath); - let modFiles = safeMode - ? [] - : fs - .readdirSync(modsPath) - .filter(filename => filename.endsWith(".js")) - .map(filename => path.join(modsPath, filename)); - - if (externalMod) { - console.log("Adding external mod source:", externalMod); - const externalModPaths = externalMod.split(","); - modFiles = modFiles.concat(externalModPaths); - } - - return modFiles.map(filename => fs.readFileSync(filename, "utf8")); -} - -let mods = []; -try { - mods = loadMods(); - console.log("Loaded", mods.length, "mods"); -} catch (ex) { - console.error("Failed to load mods"); - dialog.showErrorBox("Failed to load mods:", ex); -} - ipcMain.handle("get-mods", async () => { - return mods; + return []; }); steam.init(isDev); - -// Only allow achievements and puzzle DLC if no mods are loaded -if (mods.length === 0) { - steam.listen(); -} +steam.listen(); diff --git a/gulp/build_variants.js b/gulp/build_variants.js index 3fad5281..ed640dde 100644 --- a/gulp/build_variants.js +++ b/gulp/build_variants.js @@ -66,6 +66,7 @@ const BUILD_VARIANTS = { }, "standalone-steam-isbn": { standalone: true, + steamAppId: 1318690, electronBaseDir: "electron_steam_isbn", buildArgs: { steamIsbnVersion: true, diff --git a/res/ui/wegame_isbn_rating.jpg b/res/ui/wegame_isbn_rating.jpg deleted file mode 100644 index 581dd744..00000000 Binary files a/res/ui/wegame_isbn_rating.jpg and /dev/null differ diff --git a/res/ui/wegame_isbn_rating.png b/res/ui/wegame_isbn_rating.png new file mode 100644 index 00000000..2b8ff7fd Binary files /dev/null and b/res/ui/wegame_isbn_rating.png differ diff --git a/src/css/states/main_menu.scss b/src/css/states/main_menu.scss index 6d2f432e..ce46793a 100644 --- a/src/css/states/main_menu.scss +++ b/src/css/states/main_menu.scss @@ -1191,11 +1191,9 @@ background: green; cursor: pointer !important; pointer-events: all; - @include S(border-radius, 4px); - overflow: hidden; & { - background: #fff uiResource("wegame_isbn_rating.jpg") center center / contain no-repeat; + background: uiResource("wegame_isbn_rating.png") center center / contain no-repeat; } } } diff --git a/src/js/states/main_menu.js b/src/js/states/main_menu.js index ac3a29fb..dfa1ef15 100644 --- a/src/js/states/main_menu.js +++ b/src/js/states/main_menu.js @@ -262,6 +262,7 @@ export class MainMenuState extends GameState { 抵制不良游戏,拒绝盗版游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。 +
` @@ -536,10 +537,12 @@ export class MainMenuState extends GameState { .setAttribute("data-savegames", String(this.savedGames.length)); // Mods - this.trackClicks( - makeButton(outerDiv, ["modsButton", "styledButton"], T.mods.title), - this.onModsClicked - ); + if (!G_STEAM_ISBN_VERSION) { + this.trackClicks( + makeButton(outerDiv, ["modsButton", "styledButton"], T.mods.title), + this.onModsClicked + ); + } buttonContainer.appendChild(outerDiv); } diff --git a/src/js/states/settings.js b/src/js/states/settings.js index 28679b8c..e46b6a22 100644 --- a/src/js/states/settings.js +++ b/src/js/states/settings.js @@ -30,9 +30,15 @@ export class SettingsState extends TextualGameState { : "" } + ${ + // Disable mods for steam china + G_STEAM_ISBN_VERSION + ? "" + : ` + ` + }
diff --git a/translations/base-zh-CN-ISBN.yaml b/translations/base-zh-CN-ISBN.yaml index 32f4d056..2ff807b1 100644 --- a/translations/base-zh-CN-ISBN.yaml +++ b/translations/base-zh-CN-ISBN.yaml @@ -152,13 +152,15 @@ dialogs: desc: 您还没有解锁蓝图功能!通过第12关的挑战后可解锁蓝图。 keybindingsIntroduction: title: 实用快捷键 - desc: "这个游戏有很多有用的快捷键设定。 以下是其中的一些介绍,记得在按键设置中查看其他按键设定!

+ desc: + "这个游戏有很多有用的快捷键设定。 以下是其中的一些介绍,记得在按键设置中查看其他按键设定!

CTRL键 + 拖动:选择区域以复制或删除。
SHIFT键: 按住以放置多个同一种设施。
ALT键: 反向放置传送带。
" createMarker: title: 创建地图标记 - desc: 填写一个有意义的名称, 还可以同时包含一个形状的 短代码 (您可以 点击这里 + desc: + 填写一个有意义的名称, 还可以同时包含一个形状的 短代码 (您可以 点击这里 生成短代码) titleEdit: 编辑地图标记 markerDemoLimit: @@ -248,8 +250,9 @@ dialogs: resourceLoadFailed: title: 资源加载错误 demoLinkText: DEMO - descWeb: "一个或更多资源无法加载。请确保您的网络处于正常连接状态。如果仍旧出现问题,请确保已关闭所有浏览器插件(包括屏蔽广告插件)。

- 作为一种选择,您也可以玩

错误信息:" + descWeb: + "一个或更多资源无法加载。请确保您的网络处于正常连接状态。如果仍旧出现问题,请确保已关闭所有浏览器插件(包括屏蔽广告插件)。

+ 作为一种选择,您也可以玩

错误信息:" descSteamDemo: "一个或更多资源无法加载。可以试着重启游戏 - 如果依旧不行,请试下重新安装或验证完整性。

错误信息:" steamSsoError: title: 登出完成版本 @@ -347,18 +350,22 @@ ingame: interactiveTutorial: title: 新手教程 hints: - 1_1_extractor: 亲爱的玩家,欢迎来到《图形工厂》!在这里你可以通过创造各种图形设施与传送带模拟流水线生产,尽情发挥创造力,创办属于自己的工厂!

+ 1_1_extractor: + 亲爱的玩家,欢迎来到《图形工厂》!在这里你可以通过创造各种图形设施与传送带模拟流水线生产,尽情发挥创造力,创办属于自己的工厂!

圆形上放置一个开采器来获取圆形!

提示:按下鼠标左键选中开采器 1_2_conveyor: 用传送带将您的开采器连接到中心基地上!

提示:选中传送带按下鼠标左键可拖动布置传送带! - 1_3_expand: 您可以放置更多的开采器传送带来更有效率地完成关卡目标。

+ 1_3_expand: + 您可以放置更多的开采器传送带来更有效率地完成关卡目标。

提示:按住 SHIFT 键可放置多个开采器,注意用R 键可旋转开采器的出口方向,确保开采的图形可以顺利传送。 2_1_place_cutter: 现在放置一个切割器,这个设施可把圆形切成两半!

注意:无论如何放置,切割机总是从上到下切割。 - 2_2_place_trash: 使用切割机后产生的废弃图形会导致堵塞

注意使用垃圾桶清除当前 + 2_2_place_trash: + 使用切割机后产生的废弃图形会导致堵塞

注意使用垃圾桶清除当前 (!) 不需要的废物。 2_3_more_cutters: 干的好!现在放置2个以上的切割机来加快当前缓慢的过程!

提示:用快捷键0-9可以快速选择各项设施! - 3_1_rectangles: 现在让我们开采一些矩形!找到矩形地带放置4个开采器并将它们用传送带连接到中心基地。

+ 3_1_rectangles: + 现在让我们开采一些矩形!找到矩形地带放置4个开采器并将它们用传送带连接到中心基地。

提示:选中传送带后按住SHIFT键可快速准确地规划传送带路线! 21_1_place_quad_painter: 放置四口上色器并且获取一些圆形白色红色! 21_2_switch_to_wires: 按 E 键选择电线层

@@ -655,7 +662,8 @@ storyRewards: desc: 恭喜!您解锁了旋转机。它会顺时针将输入的图形旋转90度。 reward_painter: title: 上色 - desc: 恭喜!您解锁了上色器。开采一些颜色 (就像您开采图形一样),将其在上色器中与图形结合来将图形上色! + desc: + 恭喜!您解锁了上色器。开采一些颜色 (就像您开采图形一样),将其在上色器中与图形结合来将图形上色!
注意:如果您不幸患有色盲,可以在设置中启用色盲模式 reward_mixer: title: 混合颜色 @@ -672,11 +680,13 @@ storyRewards: desc: 恭喜!您解锁了隧道。它可放置在传送带设施下方以运送物品。 reward_rotater_ccw: title: 逆时针旋转 - desc: 恭喜!您解锁了旋转机逆时针变体。它可以逆时针旋转图形。 + desc: + 恭喜!您解锁了旋转机逆时针变体。它可以逆时针旋转图形
选择旋转机然后按"T"键来选取这个变体。 reward_miner_chainable: title: 链式开采器 - desc: 您已经解锁了链式开采器!它能转发资源给其他的开采器,这样您就能更有效率的开采各类资源了!

+ desc: + 您已经解锁了链式开采器!它能转发资源给其他的开采器,这样您就能更有效率的开采各类资源了!

注意:新的开采器已替换了工具栏里旧的开采器! reward_underground_belt_tier_2: title: 二级隧道 @@ -693,12 +703,14 @@ storyRewards:
优先从左边输出,这样您就可以用它做一个溢流门了! reward_freeplay: title: 自由模式 - desc: 成功了!您解锁了自由模式!挑战升级!这意味着现在将随机生成图形! + desc: + 成功了!您解锁了自由模式!挑战升级!这意味着现在将随机生成图形! 从现在起,中心基地最为需要的是产量,我强烈建议您去制造一台能够自动交付所需图形的机器!

基地会在电线层输出需要的图形,您需要去分析图形并在此基础上自动配置您的工厂。 reward_blueprints: title: 蓝图 - desc: 您现在可以复制粘贴您的工厂的一部分了!按住 CTRL键并拖动鼠标来选择一块区域,然后按C键复制。 + desc: + 您现在可以复制粘贴您的工厂的一部分了!按住 CTRL键并拖动鼠标来选择一块区域,然后按C键复制。

粘贴并不是免费的,您需要制造蓝图图形来负担。蓝图图形是您刚刚交付的图形。 no_reward: title: 下一关 @@ -726,7 +738,8 @@ storyRewards:
注意:您注意到传送读取器存储器输出的他们最后读取的物品了吗?试着在显示屏上展示一下!" reward_constant_signal: title: 恒定信号 - desc: 恭喜!您解锁了生成于电线层之上的恒定信号,把它连接到过滤器时非常有用。 + desc: + 恭喜!您解锁了生成于电线层之上的恒定信号,把它连接到过滤器时非常有用。
比如,它能发出图形、颜色、开关值(1 / 0)的固定信号。 reward_logic_gates: title: 逻辑门 @@ -745,7 +758,8 @@ storyRewards: 提示:可在设置中打开电线层教程!" reward_filter: title: 物品过滤器 - desc: 恭喜!您解锁了物品过滤器!它会根据在电线层上输入的信号决定是从上面还是右边输出物品。

+ desc: + 恭喜!您解锁了物品过滤器!它会根据在电线层上输入的信号决定是从上面还是右边输出物品。

您也可以输入开关值(1 / 0)信号来激活或者禁用它。 reward_demo_end: title: 试玩结束