1000 Portable 3.0b

Описание

1000Тысяча (1000 Portable) — взяточная карточная игра для двух, трех или четырех игроков, целью которой является набрать в сумме более 1000 очков. Особенностью игры является использование так называемых «марьяжей» (король и дама одной масти), которые позволяют назначать («захвалить») козырную масть.

Больше информации на Wikipedia.org

Руководство от PortableAppZ.blogspot.com

Найденые изменения программой Total Uninstall.
1000-Changes

Исходный код приложения, содержимое NSI файла для компиляции в NSIS.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
; http://portableappz.blogspot.com template
; http://pafd.xyz - перевод комментариев
; NSIS with Registry.nsh in Include and Registry.dll, FindProcDLL.dll, KillProcDLL.dll in Plugins
 
; **************************************************************************
; === Постоянные значения ===
; **************************************************************************
!define VER 		"3.0.0.0"	; версия лаунчера
!define APPNAME 	"1000"	; полное название приложения
!define APP 		"1000"	; короткое название программы без пробелов, которое в конечном итоге будет использовано для составления структуры каталогов и наименования конечного исполняющего файла
!define APPEXE 		"1000.exe"	; наименование исполняемого файла, с которого запускается программа
!define APPDIR 		"App\1000net"	; наименование директории, в которой находится исполняемый файл
!define WEBSITE 	"pafd.xyz"	; ваш сайт
!define APPSWITCH 	``	; параметры запуска 
 
;--- Ключи реестра приложения ---
!define REGISTRY
	!define REGKEY1 "HKEY_CURRENT_USER\SOFTWARE\1000"
 
; ---Файлы приложения ---
	!define LOCALFILE1 "$EXEDIR\App\1000net\1000.tbl"
	!define PORTABLEFILE1 "$EXEDIR\Data\files\1000.tbl"
	!define DEFAULTPORTABLEFILE1 "$EXEDIR\App\DefaultData\files\1000.tbl"
 
 
; **************************************************************************
; === Сжатие ===
; **************************************************************************
SetCompressor /SOLID lzma
SetCompressorDictSize 32
 
; **************************************************************************
; === Подключаемый файл ===
; **************************************************************************
!include "PortableApp.nsh" 
 
; **************************************************************************
; === Начальная информациия о файле ===
; **************************************************************************
Name "${APPNAME} Portable"
OutFile "..\..\${APP}Portable.exe"
Icon "..\..\App\AppInfo\appicon.ico"
 
; **************************************************************************
; === Мультиязычность ===
; **************************************************************************
Var LNG
Function MultiLang
StrCpy $LNG "English"
System::Call 'kernel32::GetUserDefaultLangID() i .r0'
StrCmp $0 "1033" 0 +2
StrCpy $LNG "English"
StrCmp $0 "1149" 0 +2
StrCpy $LNG "Russian"
ReadINIStr $0 "$EXEDIR\Data\settings\${APP}Portable.ini" "${APP}Portable" "UserDefaultLang"
StrCmp $0 "false" +3
WriteINIStr "$EXEDIR\Data\settings\${APP}Portable.ini" "${APP}Portable" "UserDefaultLang" "true"
WriteRegDWORD HKEY_CURRENT_USER "SOFTWARE\WriteAppName" "Language" $LNG"
FunctionEnd
 
; **************************************************************************
; === Другие действия ===
; **************************************************************************
Function Init
 
FunctionEnd
 
Function Close
 
FunctionEnd
 
 
; **************************************************************************
; ==== Запуск ====
; **************************************************************************
 
Section "Main"
 
	Call CheckStart
 
	Call BackupLocalKeys
	Call RestorePortableKeys
 
	Call BackupLocalFiles
	Call RestorePortableFiles
 
	Call Init
	Call MultiLang
 
		Call SplashLogo
		Call Launch
 
	Call Restore
 
SectionEnd
 
Function Restore
 
	Call Close
 
	Call BackupPortableFiles
	Call RestoreLocalFiles
 
	Call BackupPortableKeys
	Call RestoreLocalKeys
 
FunctionEnd
 
; **************************************************************************
; === Запуск приложения ===
; **************************************************************************
Function Launch
SetOutPath "$EXEDIR\${APPDIR}"
${GetParameters} $0
ExecWait `"$EXEDIR\${APPDIR}\${APPEXE}"${APPSWITCH} $0`
WriteINIStr "$EXEDIR\Data\settings\${APP}Portable.ini" "${APP}Portable" "GoodExit" "true"
FunctionEnd
 
; **************************************************************************
; ==== Действия с ключами реестра =====
; **************************************************************************
Function BackupLocalKeys
	${registry::DeleteKey} "${REGKEY1}-BackupBy${APP}Portable" $R0
	${registry::MoveKey} "${REGKEY1}" "${REGKEY1}-BackupBy${APP}Portable" $R0
Sleep 50
FunctionEnd
 
Function RestorePortableKeys
IfFileExists "$EXEDIR\Data\registry\${APP}.reg" +4
IfFileExists "$EXEDIR\App\DefaultData\registry\${APP}.reg" 0 +5
CreateDirectory "$EXEDIR\Data\registry"
CopyFiles  /SILENT "$EXEDIR\App\DefaultData\registry\${APP}.reg" "$EXEDIR\Data\registry"
${registry::RestoreKey} "$EXEDIR\Data\registry\${APP}.reg" $R0
Sleep 200
FunctionEnd
 
Function BackupPortableKeys
Delete "$EXEDIR\Data\registry\${APP}.reg"
CreateDirectory "$EXEDIR\Data\registry"
	${registry::SaveKey} "${REGKEY1}" "$EXEDIR\Data\registry\${APP}.reg" "/A=1" $R0
Sleep 100
FunctionEnd
 
Function RestoreLocalKeys
	${registry::DeleteKey} "${REGKEY1}" $R0
	${registry::MoveKey} "${REGKEY1}-BackupBy${APP}Portable" "${REGKEY1}" $R0
Sleep 50
${registry::Unload}
FunctionEnd
 
; **************************************************************************
; ==== Действия с файлами =====
; **************************************************************************
Function BackupLocalFiles
	Delete "${LOCALFILE1}.BackupBy${APP}Portable"
	Rename "${LOCALFILE1}" "${LOCALFILE1}.BackupBy${APP}Portable"
FunctionEnd
 
Function RestorePortableFiles
	IfFileExists "${PORTABLEFILE1}" +4
	IfFileExists "${DEFAULTPORTABLEFILE1}" 0 +4
	CreateDirectory "$EXEDIR\Data"
	CopyFiles /SILENT "${DEFAULTPORTABLEFILE1}" "${PORTABLEFILE1}"
	Rename  "${PORTABLEFILE1}" "${LOCALFILE1}"
FunctionEnd
 
Function BackupPortableFiles
CreateDirectory "$EXEDIR\Data\files"
	Rename "${LOCALFILE1}" "${PORTABLEFILE1}"
FunctionEnd
 
Function RestoreLocalFiles
	Delete "${LOCALFILE1}"
	Rename "${LOCALFILE1}.BackupBy${APP}Portable" "${LOCALFILE1}"
FunctionEnd

Текст после точки с запятой воспринимается как коментарий и на работу приложения не влияет.

Ссылки

Официальный сайт | Скачать (Создан на основании руководства от PortableAppZ.blogspot.com) | Скачать (Упаковано JauntePE)

ОБСУДИТЬ НА ФОРУМЕ

Нет комментариев.

Добавить комментарий

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: