我花了一週終於完善了CS2MapView!

各位盒友們,大家好!

        對於曾沉浸於《天際線1》的盒友來說,CSLMapView 這款MOD絕對稱得上是無人不知的神器。尤其對熱衷於造景的玩家而言,當你歷經數百小時精心雕琢出一座城市後,能夠通過它導出一張清晰美觀的城市地圖,見證自己一筆一畫構築的夢想躍然紙上——那些親手命名的街道、區域和地標建築——一個個熟悉的名字浮現於眼前,那一刻所帶來的滿足與成就感,着實難以用言語形容。

        果然,《天際線2》發售後,其地圖工具CS2MapView也悄悄跟進了。不過可能很多盒友還沒注意到它——因爲它似乎沒有正式上架P社的MOD平臺,傳播度並不高。作爲一個喜歡欣賞自己規劃成果的普通玩家,我其實一直在關注這方面的消息。後來偶然在B站上刷到,才知道它已經更新支持二代了!於是我立馬下載下來試用。

        但實際體驗下來,效果並不理想。最主要的問題是:它根本不支持中文顯示。我辛辛苦苦給城市裏那麼多建築和道路重新起了名字,結果在這工具裏全變成了“口口口”。一開始我還發現,手動修改主題配置文件、把字體換成微軟雅黑這類系統字體,其實是可以正常顯示的。但每次想換字體都得翻文件、改代碼,實在太麻煩。就是在這種折騰之下,我萌生了一個念頭:不如自己動手,把這個MOD修補一下吧。

就像這樣,中文全都變成了口口口

        於是我說幹就幹,立刻從GitHub上拉取了源代碼。打開項目一看,好傢伙——註釋清一色全是日文!原來作者是來自霓虹國的開發者。既然都到這一步了,那就硬着頭皮改吧。我一個文件一個文件地翻看、修改、測試,幾乎重構了整個字體系統,順手把圖標系統也重寫了一遍。第一階段終於完成了:現在工具可以動態識別根目錄下的字體文件,圖標也能根據建築類型唯一標識穩定顯示了。

CS2MapView Github首頁

感謝原作者gansaku的源碼支持不要因爲是JP就罵俺啊

github.com/gansaku/CS2MapView/tree/main

字體系統與圖標系統重構

全局字體系統+註釋

用戶設置+註釋

當然還有一些沒漢化的註釋

實在是太多了,不漢化註釋也沒事

第一版效果

        但我並沒有就此滿足。最近高德地圖推出了深色模式,我用了一段時間,越看越覺得它的UI風格和配色特別舒服。突然靈光一閃:爲什麼不試着做一套高德風格的圖標和主題呢?

高德深色模式

        說幹就幹,我立刻上iconfont-阿里巴巴矢量圖標庫找素材,再用PS一點點調整、繪製,很快就完成了一批新圖標。數量說多不多,但前前後後也做了54個,全部是SVG格式。最終的效果自己還挺喜歡的,簡潔又現代,一眼就有高德那股味兒。

iconfont-阿里巴巴矢量圖標庫

圖標樣式

        一開始,我完全參照高德深色模式的配色,仔細提取了它的建築顏色、道路和地形色值。可做完預覽一看:哎喲,這效果怎麼這麼醜?更讓我注意的是,高德地圖上的建築名稱其實依然是五顏六色的。於是我轉變思路,讓建築名稱的顏色直接讀取其對應建築的顏色,並添加黑色描邊,覺得這樣既統一又有層次。

模仿高德深色模式的樣子

彩色建築名稱樣式

        實際應用之後卻發現……更糟糕了。名字不僅顯得雜亂,在很多背景下根本看不清楚。糾結再三,我終於意識到:有時候簡潔反而更有效。於是果斷放棄了彩色方案,把所有名稱統一成一種清晰的顏色,視覺果然乾淨多了,辨識度也大大提升。

恢復名稱單一顏色顯示

不過,考慮到高德深色模式的建築顏色分類不是很清晰,於是我又改成了CS2原版建築類型各自的顏色

        至此,核心功能已基本完善,是時候加入中文支持了。考慮到原版採用硬編碼方式處理文本,不僅修改起來繁瑣,未來擴展多語言支持也會非常困難。我認爲與其一次次手動替換,不如直接設計一套語言管理系統——這樣既方便當前中英文切換,也爲後續接入更多語言本地化打下了基礎。

中英文語言切換

        於是,語言選擇功能順利上線。當然,目前還只支持中文和英文兩種選項,但整個架構已經就位,未來要新增語言將會輕鬆很多。

        到了這個階段,功能已經基本齊全,但我總覺得還缺了點什麼。仔細一看才發現:字體和圖標的顯示尺寸都偏小,閱讀和辨認起來有點費勁。好吧,那就再進一步,在設置界面里加入字體大小和圖標大小的調節選項。隨着這個功能的加入,這個版本的優化總算告一段落,終於達到了一個讓我比較滿意的狀態。

字體及其大小設置

        我對程序的部署方式也做了一番調整,與原版形成了明顯的對比:

文件構成區別

        原版本依賴系統安裝特定版本的.NET環境,對於不常折騰運行時的玩家來說,很容易出現兼容性錯誤或無法啓動。而現在,修補版直接內置了運行時,真正做到下載解壓、雙擊即用,極大降低了使用門檻。同時,模塊化的文件結構也爲後續更新和社區拓展提供了清晰的方向——未來加入新語言、新圖標包或主題,都將更加方便。

        總結一下功能:

國際化支持[優點]

  • 多語言翻譯系統:內置完整的翻譯管理器,輕鬆適配不同語言環境。

  • 支持語言:當前已涵蓋英文(en)與簡體中文(zh-CN),滿足基本的多語言使用需求。

  • 動態語言切換:用戶可在運行時實時切換界面語言,無需重啓應用。

  • 本地化資源:提供完善的本地化字符串資源文件,方便社區貢獻更多語言版本。

資源管理[優點]

  • 更多字體:額外提供兩個字體文件,顯著改善中文及特殊字符顯示效果。

  • SVG 支持:全面增強矢量圖形處理能力,實現圖標高清縮放與自適應渲染。

  • 圖形渲染:基於更完整的 SkiaSharp 生態系統,提升跨平臺渲染一致性及性能。

存儲佔用[缺點]

  • 文件大小:由於包含大量運行時依賴庫,修補版總體積較原版顯著增大。

  • 磁盤空間:需要更多存儲空間,屬於功能增強與便利性提升所帶來的合理代價。

PS:字體、主題、圖標包均可以在根目錄的Fontsthemeimages中添加並動態識別,需重啓哈,主題樣式可以查看高德深色的主題,有註釋。

說些題外話,開發這個修補版遇過點挫折,然後整個推翻重建了

最開始的版本

公交站點名稱都讓其顯示出來了

但是一直報錯,找不到問題

乾脆推掉重建了,所幸後邊的幾乎一遍過,嘿嘿

下載鏈接:

1.解64編碼

aHR0cHM6Ly9ncWNhdC5sYW56b3V1LmNvbS9iMDJuaGZwZ3RlCuWvhueggTpnc2Q5

2.直鏈

https://gqcat。lanzouu。com/b02nhfpgte

密碼:gsd9

更多遊戲資訊請關註:電玩幫遊戲資訊專區

電玩幫圖文攻略 www.vgover.com