- 浏览: 3053578 次
- 性别:
- 来自: 海外
文章分类
- 全部博客 (430)
- Programming Languages (23)
- Compiler (20)
- Virtual Machine (57)
- Garbage Collection (4)
- HotSpot VM (26)
- Mono (2)
- SSCLI Rotor (1)
- Harmony (0)
- DLR (19)
- Ruby (28)
- C# (38)
- F# (3)
- Haskell (0)
- Scheme (1)
- Regular Expression (5)
- Python (4)
- ECMAScript (2)
- JavaScript (18)
- ActionScript (7)
- Squirrel (2)
- C (6)
- C++ (10)
- D (2)
- .NET (13)
- Java (86)
- Scala (1)
- Groovy (3)
- Optimization (6)
- Data Structure and Algorithm (3)
- Books (4)
- WPF (1)
- Game Engines (7)
- 吉里吉里 (12)
- UML (1)
- Reverse Engineering (11)
- NSIS (4)
- Utilities (3)
- Design Patterns (1)
- Visual Studio (9)
- Windows 7 (3)
- x86 Assembler (1)
- Android (2)
- School Assignment / Test (6)
- Anti-virus (1)
- REST (1)
- Profiling (1)
- misc (39)
- NetOA (12)
- rant (6)
- anime (5)
- Links (12)
- CLR (7)
- GC (1)
- OpenJDK (2)
- JVM (4)
- KVM (0)
- Rhino (1)
- LINQ (2)
- JScript (0)
- Nashorn (0)
- Dalvik (1)
- DTrace (0)
- LLVM (0)
- MSIL (0)
最新评论
-
mldxs:
虽然很多还是看不懂,写的很好!
虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器,大杂烩 -
HanyuKing:
Java的多维数组 -
funnyone:
Java 8的default method与method resolution -
ljs_nogard:
Xamarin workbook - .Net Core 中不 ...
LINQ的恶搞…… -
txm119161336:
allocatestlye1 顺序为 // Fields o ...
最近做的两次Java/JVM分享的概要
说到底,到现在我参与了的游戏汉化就这个是最彻底的完成了预定计划的.也把它的NSIS脚本放出来吧.这脚本也是暑假前写的了呢...在那之后我都没怎么用过NSIS.
这个脚本十分直观,几乎就做了文件复制/删除而已.有趣的地方在我实现备份的那部分,我是把070614版的升级补丁整个做成了一个自解压的WinZip压缩包,并将后缀改为bak,根据需要保存在游戏目录的backup子目录里.然后,在卸载这个汉化补丁时,将那个升级补丁的后缀改回来并执行解压,最后删除掉它.很取巧吧 =_=||
没办法,我懒.有什么又简单又能偷懒的办法的话,我一定不会放过的 XD
; Script generated by the HM NIS Edit Script Wizard. SetCompressor lzma ; HM NIS Edit Wizard helper defines !define PRODUCT_NAME "BattleMoonWars银 简体中文版" !define PRODUCT_VERSION "1.0b" !define PRODUCT_PUBLISHER "SOS团·POPGO 超☆总支部 宝马计划" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\bmw3_chs" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM" !define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir" ; MUI 1.67 compatible ------ !include "MUI.nsh" !include "FileFunc.nsh" !insertmacro DirState ; MUI Settings !define MUI_ABORTWARNING !define MUI_ICON "K:\dev\bmw3_install_pack\res\sos_logo.ico" !define MUI_UNICON "K:\dev\bmw3_install_pack\res\sos_logo.ico" ; Language Selection Dialog Settings !define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" !define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" !define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language" ; Welcome page !insertmacro MUI_PAGE_WELCOME ; License page !define MUI_LICENSEPAGE_CHECKBOX !insertmacro MUI_PAGE_LICENSE "K:\dev\bmw3_install_pack\license.txt" ; Directory page !insertmacro MUI_PAGE_DIRECTORY ; Start menu page var /GLOBAL ICONS_GROUP !define MUI_STARTMENUPAGE_DEFAULTFOLDER "SOS团·POPGO 超☆总支部 宝马计划" !define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" !define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}" !insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP ; Instfiles page !insertmacro MUI_PAGE_INSTFILES ; Finish page !define MUI_FINISHPAGE_RUN "$INSTDIR\bmw_chs.exe" !insertmacro MUI_PAGE_FINISH ; Uninstaller pages !insertmacro MUI_UNPAGE_INSTFILES ; Language files !insertmacro MUI_LANGUAGE "SimpChinese" VIProductVersion "1.0.0.0" VIAddVersionKey /LANG=2052 "FileDescription" "${PRODUCT_NAME}" ;VIAddVersionKey /LANG=2052 "Comments" "${PRODUCT_WEB_SITE}" VIAddVersionKey /LANG=2052 "ProductName" "${PRODUCT_NAME}" VIAddVersionKey /LANG=2052 "LegalCopyright" "" VIAddVersionKey /LANG=2052 "CompanyName" "${PRODUCT_PUBLISHER}" VIAddVersionKey /LANG=2052 "FileVersion" "${PRODUCT_VERSION}" ReserveFile "res\logo.bmp" ; MUI end ------ Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "BMW3patch_zh-cn.exe" InstallDir "$EXEDIR" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show ShowUnInstDetails show Var /GLOBAL tempStr Var /GLOBAL length Function .onInit InitPluginsDir File "/oname=$PLUGINSDIR\Splash_Splash.bmp" "res\logo.bmp" ; 使用闪屏插件显示闪屏 advsplash::show 1500 600 400 -1 "$PLUGINSDIR\Splash_Splash" Pop $0 ; $0 返回 '1' 表示用户提前关闭闪屏, 返回 '0' 表示闪屏正常结束, 返回 '-1' 表示闪屏显示出错 ;!insertmacro MUI_LANGDLL_DISPLAY ReadRegStr $tempStr HKLM "${PRODUCT_DIR_REGKEY}" "" StrCmp $tempStr "" nopreviousinstall previouslyinstalled previouslyinstalled: Delete "$SMPROGRAMS\\BattleMoonWars银 简体中文版.lnk" Delete "$DESKTOP\BattleMoonWars银 简体中文版.lnk" StrLen $length "$tempStr" IntOp $length $length - 11 StrCpy $INSTDIR "$tempStr" $length nopreviousinstall: FunctionEnd Var /GLOBAL hasBackup Var /GLOBAL dirStatus Section "MainSection" SEC01 ;-------------------------backup---------------------------- ReadRegStr $hasBackup ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "hasBackup" StrCmp $hasBackup "true" next askRestore askRestore: MessageBox MB_ICONQUESTION|MB_YESNO "是否备份原始文件? (需要大约6.5M左右的硬盘空间)$\r$\n注意:不备份原始文件则无法在卸载汉化补丁后直接恢复为原游戏。" IDYES true IDNO false true: DetailPrint "正在备份文件..." StrCpy $hasBackup "true" CreateDirectory "$INSTDIR\backup" SetOverwrite on SetOutPath "$INSTDIR\backup" File "K:\dev\bmw3_install_pack\backup\backup_070614b.bak" Goto next false: StrCpy $hasBackup "false" next: ;--------------------------copy---------------------------- SetOutPath "$INSTDIR" DetailPrint "正在复制文件..." SetOverwrite ifnewer File "K:\dev\bmw3_install_pack\data\bmw_chs.exe" Delete "$INSTDIR\bmw.exe" SetOverwrite on File "K:\dev\bmw3_install_pack\data\config.exe" File "K:\dev\bmw3_install_pack\data\data1.dat" File "K:\dev\bmw3_install_pack\data\data3.dat" File "K:\dev\bmw3_install_pack\data\data5.dat" File "K:\dev\bmw3_install_pack\data\data7.dat" File "K:\dev\bmw3_install_pack\data\data8_2.dat" File "K:\dev\bmw3_install_pack\data\data_chs.dat" File "K:\dev\bmw3_install_pack\readme_chs.txt" File "K:\dev\bmw3_install_pack\data\Manual.exe" ExecWait '"$INSTDIR\Manual.exe"' Delete "$INSTDIR\Manual.exe" Delete "$INSTDIR\マニュアル.html" ${DirState} "$INSTDIR\savedata" $dirStatus StrCmp $dirStatus "-1" nosavedata donesavedata nosavedata: CreateDirectory "$INSTDIR\savedata" donesavedata: SectionEnd Section "Add Start Menu Shortcuts" SEC02 ; shortcuts !insertmacro MUI_STARTMENU_WRITE_BEGIN Application SetOutPath "$INSTDIR" CreateDirectory "$SMPROGRAMS\$ICONS_GROUP" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\BattleMoonWars银 简体中文版.lnk" "$INSTDIR\bmw_chs.exe" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\BattleMoonWars银 启动设置.lnk" "$INSTDIR\config.exe" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\BattleMoonWars银 游戏手册.lnk" "$INSTDIR\Manual.html" CreateShortCut "$DESKTOP\BattleMoonWars银 简体中文版.lnk" "$INSTDIR\bmw_chs.exe" CreateShortCut "$DESKTOP\BattleMoonWars银 启动设置.lnk" "$INSTDIR\config.exe" CreateShortCut "$DESKTOP\BattleMoonWars银 游戏手册.lnk" "$INSTDIR\Manual.html" !insertmacro MUI_STARTMENU_WRITE_END SectionEnd Section -AdditionalIcons !insertmacro MUI_STARTMENU_WRITE_BEGIN Application CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\卸载简体中文补丁.lnk" "$INSTDIR\uninst.exe" !insertmacro MUI_STARTMENU_WRITE_END SectionEnd Section -Post WriteUninstaller "$INSTDIR\uninst.exe" WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\bmw_chs.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\bmw_chs.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" StrCmp $hasBackup "true" writeTrue writeFalse writeTrue: WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "hasBackup" "true" Goto writeDone writeFalse: WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "hasBackup" "false" writeDone: SectionEnd Function un.onUninstSuccess HideWindow MessageBox MB_ICONINFORMATION|MB_OK "「BattleMoonWars银 简体中文版」已成功地从你的计算机删除。" FunctionEnd Function un.onInit !insertmacro MUI_UNGETLANGUAGE MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "你确实要完全删除「BattleMoonWars银 简体中文版」,其及所有組件?" IDYES +2 Abort FunctionEnd Section Uninstall !insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP ;----------------------delete_files------------------------ Delete "$INSTDIR\uninst.exe" Delete "$INSTDIR\data1.dat" Delete "$INSTDIR\data3.dat" Delete "$INSTDIR\data5.dat" Delete "$INSTDIR\data7.dat" Delete "$INSTDIR\data_chs.dat" Delete "$INSTDIR\config.exe" Delete "$INSTDIR\bmw_chs.exe" Delete "$INSTDIR\readme_chs.txt" Delete "$INSTDIR\Manual.html" ;--------------------delete_shortcuts---------------------- Delete "$SMPROGRAMS\$ICONS_GROUP\BattleMoonWars银 简体中文版.lnk" Delete "$SMPROGRAMS\$ICONS_GROUP\BattleMoonWars银 启动设置.lnk" Delete "$SMPROGRAMS\$ICONS_GROUP\BattleMoonWars银 游戏手册.lnk" Delete "$SMPROGRAMS\$ICONS_GROUP\卸载简体中文补丁.lnk" Delete "$DESKTOP\BattleMoonWars银 简体中文版.lnk" Delete "$DESKTOP\BattleMoonWars银 启动设置.lnk" Delete "$DESKTOP\BattleMoonWars银 游戏手册.lnk" ;------------------restore_backup_files-------------------- RMDir "$SMPROGRAMS\$ICONS_GROUP" Var /GLOBAL testBackup ReadRegStr $testBackup ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "hasBackup" StrCmp $testBackup "true" restoreBackup noRestore restoreBackup: SetOverwrite on CopyFiles "$INSTDIR\backup\backup_070614b.bak" "$INSTDIR" RMDir /r "$INSTDIR\backup" Rename "$INSTDIR\backup_070614b.bak" "$INSTDIR\backup_070614b.exe" ;nsExec::ExecToStack '"$INSTDIR\backup_070614b.exe"' ExecWait '"$INSTDIR\backup_070614b.exe"' Delete "$INSTDIR\backup_070614b.exe" noRestore: ;-----------------delete_uninst_reg_keys------------------- DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" ;--------------------close_after_unist--------------------- SetAutoClose true SectionEnd
这个脚本十分直观,几乎就做了文件复制/删除而已.有趣的地方在我实现备份的那部分,我是把070614版的升级补丁整个做成了一个自解压的WinZip压缩包,并将后缀改为bak,根据需要保存在游戏目录的backup子目录里.然后,在卸载这个汉化补丁时,将那个升级补丁的后缀改回来并执行解压,最后删除掉它.很取巧吧 =_=||
没办法,我懒.有什么又简单又能偷懒的办法的话,我一定不会放过的 XD
相关推荐
程序大战也叫磁核大战,英文名为“CoreWars”,是一个很古老的游戏,当年比尔•盖茨上学时就有这个东西了,不过国内玩的人很少。 目前一些免费Unix如FreeBSD等的ports里就有它。这个游戏可以从名字也能看出来就是程序...
Nexus 3.x版本是其最新且功能强大的迭代,提供了一整套用于存储、管理和分发各种类型软件构件(如JARs,WARs,npm包,NuGet包等)的解决方案。以下将详细介绍Nexus 3.x在Linux环境下的安装过程以及相关知识点。 1. ...
Nexus是Sonatype公司开发的一款开源的仓库管理器,它在IT行业中被广泛用于管理和分发Java相关的软件组件,如JARs、WARs、NPM包、Maven依赖等。Nexus 3.53.0-01是该软件的一个特定版本,此版本的安装包可能是针对Unix...
Battle Star Wars TCG是一个在线玩Star Wars交易纸牌游戏的程序。 它使用了Wizards of Coast扩展和IDC扩展的所有官方交易卡。 最终将建立一个AI,以便您可以与计算机对战。
对于《Syndicate Wars》这款游戏,`swdisasm-1.0` 提供了查看和理解游戏引擎、脚本、数据结构等功能,这有助于游戏的mod制作或者修复潜在的游戏问题。 这个特定版本的反汇编器`swdisasm-1.0`可能包含以下组件和功能...
《Block City Wars 1.0:Java、Android与Unity的游戏开发深度解析》 "bcw_1_0_java_android_city_unity_"这个标题暗示我们正在探讨的是一个名为"Block City Wars"的游戏,版本1.0,它是由Java、Android技术和Unity...
本资源包含Nexus 3.37.3-02版本的Windows和Linux安装包,是开发者构建高效、可靠、安全的软件供应链的重要工具。 首先,让我们详细了解一下Nexus的主要功能和用途: 1. **仓库托管**:Nexus可以作为内部私有仓库,...
在"Plane Wars"中,这些脚本会处理飞机的运动逻辑、射击事件、碰撞检测以及得分计算等核心功能。 游戏的视觉效果至关重要。Unity3D内置的光照系统、粒子系统和动画系统为开发者提供了丰富的工具。在"Plane Wars"中...
3. **资源采集**:知道如何获取和利用不同类型的方块,以及如何在1.11版本的新生物群系中寻找资源。 4. **合成系统**:熟悉《我的世界》的合成表,学会制作工具、武器和防具。 5. **战斗技巧**:掌握近战、远程攻击...
1. **脚本编写**:`starwars.vim`是一个 Vim 脚本文件,用 Vimscript 编写。Vimscript 是 Vim 内部使用的编程语言,用于自定义命令、映射和操作。了解 Vimscript 的基本语法和函数对于扩展Vim的功能至关重要。 2. *...
On Holy Wars and a Plea for Peace的纯文字版.有助于理解LSB,MSB,字节序等概念
程序大战也叫磁核大战,英文名为"CoreWars",是一个很古老的游戏,当年比尔盖茨上学时就有这个东东了,不过国内玩的人很少.目前一些免费Unix如FreeBSD等的ports里就有他. 这个游戏可以从名字也能看出来就是程序之间的...
本兼容性补丁所修复的软件兼容问题列表(软件名称): • Absolute Poker Version 5.7 • ACDSee 8 • Adobe Creative Suite CS2 • Adobe Photoshop 7.0.1 • Adobe Photoshop CS 8.0 • Adobe Photoshop ...
《磁芯大战Corewars:探索Redcode编程》 磁芯大战Corewars是一款基于模拟计算机内存竞争的竞技游戏,玩家编写程序,让它们在共享的内存空间中互相攻击,直至一方程序无法运行为止。这款游戏的独特之处在于它使用的...
### Spectrum Wars:政策与技术辩论的关键知识点 #### 标题解析 - **Spectrum Wars**:这个标题直接指向了无线电频谱资源的竞争问题。在现代通信技术中,频谱被视为一种稀缺资源,各国政府、企业和组织为了获得更好...
《EARTH Wars X 2013 v.5.6_game_Wars_》是一款以地球为背景的战略游戏,其中融入了丰富的战争元素。这款游戏的版本号为v.5.6,意味着开发者可能已经进行了多次更新和优化,以提供更稳定的游戏体验和新增的功能。 ...
在给定的信息中,我们看到一个名为“wars”的解压软件,尽管没有提供具体的软件信息,但我们可以讨论解压软件的一般概念、用途、工作原理以及相关知识点。 解压软件的工作原理通常是基于数据压缩算法,如LZ77、LZ78...
《StarWars.AndroidDemo.zip》是一个专门针对Android平台的UI动画示例项目,由知名软件开发公司Yalantis出品。这个项目旨在展示如何在Android应用中实现一种独特且引人注目的视图控制器转换动画,即“粉碎”效果,将...
标签 "nexus" 显然是指Nexus Repository Manager本身,而 "nexus-3.21.1" 强调了版本号,"windows版nexus" 和 "linux版nexus" 指出这是针对两种操作系统提供的安装包。 在压缩包子文件的文件名称列表中,只给出了 ...
"tw-scripts" 是一个专门为Tribal Wars定制的JavaScript脚本集合,包含了一系列实用的功能。 一、JavaScript在部落战争中的应用 JavaScript是一种轻量级的解释型编程语言,广泛应用于网页开发。在部落战争中,...