-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathBetrayed Alliance1.asm
71 lines (57 loc) · 2.13 KB
/
Betrayed Alliance1.asm
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
; Based on https://www.betamaster.us/blog/?p=419
; Compile with Flat Assembler: https://flatassembler.net/
; Written by Kristofer Munsterhjelm, 2024.
format PE GUI 4.0
entry start
include 'win32a.inc'
section '.text' code readable writable executable
start:
; Try to launch DOSBox
invoke CreateProcessA, 0, command, \
0, 0, 0, \
0, 0, 0, StartupInfo, ProcessInfo
; If we were successful, all done
test eax, eax
jne done
; Otherwise, show an error.
invoke MessageBox, 0, errormsg, caption, MB_ICONERROR+MB_OK
done:
call [ExitProcess]
; Strings
command db '.\dosbox.exe -noconsole',0
caption db 'Error!',0
errormsg db 'Could not launch DOSBox!',0
; StartupInfo and ProcessInfo structs needed for the process call
StartupInfo STARTUPINFO
ProcessInfo PROCESS_INFORMATION
; Imported functions and corresponding names of DLL files:
data import
library kernel,'KERNEL32.DLL', \
user, 'USER32.DLL'
import kernel,\
CreateProcessA, "CreateProcessA",\
ExitProcess,'ExitProcess'
import user,\
MessageBox,'MessageBoxA'
; https://board.flatassembler.net/topic.php?t=19527
; Set up icons.
section '.rsrc' resource data readable
directory RT_ICON, icons,\
RT_GROUP_ICON, group_icons,\
RT_VERSION, versions
resource icons, 1, LANG_NEUTRAL, icon_data
resource group_icons, 2, LANG_NEUTRAL, main_icon
resource versions, 1, LANG_NEUTRAL, vinfo
icon main_icon, icon_data, 'BA-1-Icon.ico'
versioninfo vinfo,VOS__WINDOWS32,VFT_APP,VFT2_UNKNOWN,\
LANG_ENGLISH+SUBLANG_DEFAULT,0,\
'CompanyName', 'Slattstudio',\
'ProductName', 'Betrayed Alliance',\
'OriginalFilename', 'Betrayed Alliance',\
'FileVersion', '1.0',\
'LegalCopyright', '2024',\
'LegalTrademarks', 'The Sierra Help Pages',\
'FileDescription', 'Game DOSBox Launcher',\
'Publisher', 'Slattstudio',\
'Website', 'https://slattstudio.com'
end data