07th-mod / 07th-mod/higurashi-assembly

Check game behavior when it cannot compile game scripts / behavior with long game paths

未關閉
#95 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
C#
星號
12
分支
12
PR 合併指標
30 天內沒有已合併 PR

描述

NOTE: This report was from an older version of the mod from April this year.

----

A user reported an issue on Onikakushi where their game wouldn't allow them to continue at a certain point (the game wouldn't crash, but no new text would be displayed on the screen).

```
Failed to compile script zonik_tips_01_vm00_n01!

System.IO.DirectoryNotFoundException: Could not find a part of the path
```

The issue was that the path of the game was too long, and the total path to the `zonik_tips_01_vm00_n01.mg` script was 262 chars, over the 260 char limit. So the game couldn't ever compile that script because it couldn't write to the too-long path.

This was mainly due to extra subdirs (presumably from extracting zip files) - the path ended with `GOG_-_Higurashi_When_They_Cry_Hou\GOG - Higurashi When They Cry Hou\Higurashi When They Cry Hou - Ch.1 Onikakushi\HigurashiEp01_Data\StreamingAssets\CompiledUpdateScripts\zonik_009_02_vm00_n01.mg`, but any user could just create a deep path even without this happening.

**On this older version of the mod, even though a script failed to compile, they were still able to play the game**.

I have to double check whether this is still the case on our newer version of the mod, because we really shouldn't allow this (and show an error message if it happens)

----

I was also worried about users installing the mod to a path which is too long, but I don't think it should be normally possible to mod the game when the game path is too long, because the installer will fail to be able to create some files.

Moving the modded game to a too-long path also shouldn't be possible (Windows should prevent you from doing this).

Perhaps in the installer, we should give a heads up if the path you chose is way too deep (if we don't already).

貢獻指南

這個儲存庫沒有索引到貢獻指南

研究方向

在模組的程式碼庫中尋找腳本編譯邏輯,很可能在處理腳本載入或編譯的檔案中。檢查當腳本編譯失敗時錯誤是如何處理的。透過建立深層目錄路徑並嘗試編譯腳本來重現。驗證遊戲是否在沒有腳本的情況下繼續執行或顯示錯誤。同時測試安裝程式的路徑長度警告和執行時行為。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
csharp
領域
game-dev
Issue 類型
缺陷
難度
3/5
預估耗時
1-2 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。