- 相机视图矩阵按 R_cam^T·T(-pos) 正确推导(旧布局非正交,非零视角下场景塌缩为灰屏) - UI 片元着色器改为纹理×颜色(旧实现丢弃纹理 RGB,彩色纹理全白) - UI 纹理与图集 mipmap:图集补齐 2 次幂、UI 上传不生成 mipmap(NPOT 不完整纹理采样纯白) - 网格构建持一次读锁(旧实现每格邻居查询各加锁约 40 万次/区块,出生区块迟迟无网格, 玩家透过脚下的洞看到地下横截面——进游戏黑屏主因);脏区块按距离排序优先构建 - 开启背面剔除(CW 正面):区块边界面向未加载邻居的内侧面不再以暗色出现在视野里 - 出生逻辑:等区块加载后定位地表出生,相机略微俯视 - dev 截图测试:-shot 等待玩家所在 5×5 区块网格就绪再拍(48s 兜底),先测试后打包 - 安装器改为按用户安装到 LOCALAPPDATA(Program Files 无写权限导致启动即崩) - dev 截图工具独立成 devshot_gl.go
104 lines
3.7 KiB
NSIS
104 lines
3.7 KiB
NSIS
Unicode true
|
||
; 年糕历险记 —— Windows 安装脚本(NSIS 3,简体中文)
|
||
; 用法:makensis /DVERSION=1.0.0 scripts/installer.nsi
|
||
; 产物:年糕历险记-Setup-v1.0.0.exe(构建与发布.md §8)
|
||
|
||
!include "MUI2.nsh"
|
||
|
||
; ---- 产品信息(构建与发布.md §8:名称统一为 年糕历险记)----
|
||
!ifndef VERSION
|
||
!define VERSION "0.1.0"
|
||
!endif
|
||
!define PRODUCT_NAME "年糕历险记"
|
||
!define PRODUCT_NAME_EN "NianGao Adventure"
|
||
!define PRODUCT_PUBLISHER "NianGao Studio"
|
||
!define PRODUCT_EXE "mc-client.exe"
|
||
!define INSTALLER_NAME "${PRODUCT_NAME}-Setup-v${VERSION}.exe"
|
||
!define UNINSTALL_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME_EN}"
|
||
|
||
Name "${PRODUCT_NAME}"
|
||
OutFile "..\dist\${INSTALLER_NAME}"
|
||
; 按用户安装(游戏需要往自身目录写日志/存档,Program Files 无写入权限会导致启动崩溃)
|
||
InstallDir "$LOCALAPPDATA\Programs\${PRODUCT_NAME_EN}"
|
||
InstallDirRegKey HKCU "${UNINSTALL_KEY}" "InstallLocation"
|
||
RequestExecutionLevel user
|
||
SetCompressor /SOLID lzma
|
||
|
||
!define MUI_ABORTWARNING
|
||
!define MUI_FINISHPAGE_RUN "$INSTDIR\${PRODUCT_EXE}"
|
||
!define MUI_FINISHPAGE_RUN_TEXT "运行${PRODUCT_NAME}"
|
||
|
||
; ---- 页面(全中文)----
|
||
!insertmacro MUI_PAGE_WELCOME
|
||
!insertmacro MUI_PAGE_DIRECTORY
|
||
!insertmacro MUI_PAGE_INSTFILES
|
||
!insertmacro MUI_PAGE_FINISH
|
||
|
||
!insertmacro MUI_UNPAGE_CONFIRM
|
||
!insertmacro MUI_UNPAGE_INSTFILES
|
||
|
||
!insertmacro MUI_LANGUAGE "SimpChinese"
|
||
|
||
; ---- 安装内容(构建与发布.md §8)----
|
||
Section "主程序" SEC01
|
||
SetOutPath "$INSTDIR"
|
||
File "..\bin\mc-client.exe"
|
||
File "..\bin\mc-server.exe"
|
||
|
||
; 配置与语言
|
||
SetOutPath "$INSTDIR\config"
|
||
File "..\config\client.yaml"
|
||
File "..\config\server.yaml"
|
||
|
||
; 游戏数据(方块/物品/配方注册表)
|
||
SetOutPath "$INSTDIR\assets"
|
||
File /r "..\assets\*.*"
|
||
|
||
; 默认素材包
|
||
SetOutPath "$INSTDIR\resourcepacks\texture-pack-default1.20.5-26.2"
|
||
File /r "..\resourcepacks\texture-pack-default1.20.5-26.2\*.*"
|
||
|
||
; 内容包投放目录与说明
|
||
SetOutPath "$INSTDIR\mods"
|
||
File "..\mods\README.md"
|
||
|
||
; 初始化:创建存档/日志目录与占位说明(安装与初始化)
|
||
CreateDirectory "$INSTDIR\worlds"
|
||
CreateDirectory "$INSTDIR\logs"
|
||
FileOpen $0 "$INSTDIR\worlds\说明.txt" w
|
||
FileWrite $0 "世界存档目录:游戏会自动把世界保存到这里。"
|
||
FileClose $0
|
||
|
||
; 注册卸载信息(按用户安装 → HKCU)
|
||
WriteRegStr HKCU "${UNINSTALL_KEY}" "DisplayName" "${PRODUCT_NAME}"
|
||
WriteRegStr HKCU "${UNINSTALL_KEY}" "DisplayVersion" "${VERSION}"
|
||
WriteRegStr HKCU "${UNINSTALL_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
|
||
WriteRegStr HKCU "${UNINSTALL_KEY}" "DisplayIcon" "$INSTDIR\${PRODUCT_EXE}"
|
||
WriteRegStr HKCU "${UNINSTALL_KEY}" "InstallLocation" "$INSTDIR"
|
||
WriteRegStr HKCU "${UNINSTALL_KEY}" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
||
WriteRegDWORD HKCU "${UNINSTALL_KEY}" "NoModify" 1
|
||
WriteRegDWORD HKCU "${UNINSTALL_KEY}" "NoRepair" 1
|
||
|
||
WriteUninstaller "$INSTDIR\uninstall.exe"
|
||
|
||
; 快捷方式(桌面 + 开始菜单,中文名)
|
||
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\${PRODUCT_EXE}"
|
||
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
|
||
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\${PRODUCT_EXE}"
|
||
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\卸载${PRODUCT_NAME}.lnk" "$INSTDIR\uninstall.exe"
|
||
SectionEnd
|
||
|
||
; ---- 卸载 ----
|
||
Section "Uninstall"
|
||
Delete "$DESKTOP\${PRODUCT_NAME}.lnk"
|
||
RMDir /r "$SMPROGRAMS\${PRODUCT_NAME}"
|
||
Delete "$INSTDIR\${PRODUCT_EXE}"
|
||
Delete "$INSTDIR\mc-server.exe"
|
||
Delete "$INSTDIR\uninstall.exe"
|
||
RMDir /r "$INSTDIR\config"
|
||
RMDir /r "$INSTDIR\resourcepacks"
|
||
RMDir /r "$INSTDIR\mods"
|
||
; 保留用户存档(worlds/)与日志,不删除
|
||
DeleteRegKey HKCU "${UNINSTALL_KEY}"
|
||
SectionEnd
|