-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbuild.bat
executable file
·100 lines (90 loc) · 2.74 KB
/
build.bat
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
@ECHO OFF
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
SET STANDARD_BUILDOPTS="/p /o ae-,e+,w+,c+,op+,os+,ow+,oz+,l_"
SET AS="tools\build\asm68k.exe"
SET REGION=US
SET EXPANDED=0
SET MANUAL_OUTPUT=
:PARSE
IF "%~1"=="-r" (
SET REGION=%2
SHIFT
SHIFT
GOTO PARSE
)
IF "%~1"=="-e" (
SET /A EXPANDED=1
SHIFT
GOTO PARSE
)
IF "%~1"=="-o" (
SET MANUAL_OUTPUT=%~2
SHIFT
SHIFT
GOTO PARSE
)
IF "%~1"=="" (
GOTO ENDPARSE
)
ECHO Usage: %~0% [-r ^(US^|JP^)] [-e] [-o <Output ROM Filename>]
EXIT 1
:ENDPARSE
SET SOURCE="landstalker_us.asm"
SET OUTPUT="landstalker_us.bin"
SET /A REGION_CODE=0
SET /A ENABLE_REGION_CHECK=1
SET /A FIX_COLLISION_GLITCH=1
SET /A FIX_ARMLET_SKIP=1
SET /A FIX_EINSTEIN_WHISTLE_FLAG_CHECK=1
SET /A FIX_SPRITE_HIDE_BUG=1
SET /A ENABLE_GOLD_COUNTUP_ON_TREASURE=1
SET /A FIX_POTENTIAL_CORRUPTION_ON_GOLA=1
SET /A FIX_GOLD_CAP_ON_FILE_LOAD=1
:: Options
IF %REGION%==US (
IF %EXPANDED%==1 (
SET SOURCE="landstalker_us_expanded.asm"
SET OUTPUT="landstalker_us_expanded.bin"
)
SET /A EXPANDED=%EXPANDED%
) ELSE IF %REGION%==JP (
IF %EXPANDED%==1 (
SET SOURCE="landstalker_jp_expanded.asm"
SET OUTPUT="landstalker_jp_expanded.bin"
SET /A EXPANDED=1
) ELSE (
SET SOURCE="landstalker_jp.asm"
SET OUTPUT="landstalker_jp.bin"
SET /A EXPANDED=0
)
SET /A REGION_CODE=1
SET /A ENABLE_REGION_CHECK=0
SET /A FIX_COLLISION_GLITCH=0
SET /A FIX_ARMLET_SKIP=0
SET /A FIX_EINSTEIN_WHISTLE_FLAG_CHECK=0
SET /A FIX_SPRITE_HIDE_BUG=0
SET /A ENABLE_GOLD_COUNTUP_ON_TREASURE=0
SET /A FIX_POTENTIAL_CORRUPTION_ON_GOLA=0
SET /A FIX_GOLD_CAP_ON_FILE_LOAD=0
) ELSE (
ECHO Unsupported Region
EXIT 1
)
SET DEFINES="/e "
SET DEFINES=%DEFINES%"REGION="%REGION_CODE%
SET DEFINES=%DEFINES%";EXPANDED="%EXPANDED%
SET DEFINES=%DEFINES%";ENABLE_REGION_CHECK="%ENABLE_REGION_CHECK%
SET DEFINES=%DEFINES%";FIX_COLLISION_GLITCH="%FIX_COLLISION_GLITCH%
SET DEFINES=%DEFINES%";FIX_ARMLET_SKIP="%FIX_ARMLET_SKIP%
SET DEFINES=%DEFINES%";FIX_EINSTEIN_WHISTLE_FLAG_CHECK="%FIX_EINSTEIN_WHISTLE_FLAG_CHECK%
SET DEFINES=%DEFINES%";FIX_SPRITE_HIDE_BUG="%FIX_SPRITE_HIDE_BUG%
SET DEFINES=%DEFINES%";ENABLE_GOLD_COUNTUP_ON_TREASURE="%ENABLE_GOLD_COUNTUP_ON_TREASURE%
SET DEFINES=%DEFINES%";FIX_POTENTIAL_CORRUPTION_ON_GOLA="%FIX_POTENTIAL_CORRUPTION_ON_GOLA%
SET DEFINES=%DEFINES%";FIX_GOLD_CAP_ON_FILE_LOAD="%FIX_GOLD_CAP_ON_FILE_LOAD%
SET DEFINES=%DEFINES:"=%
IF NOT "%MANUAL_OUTPUT%"=="" SET OUTPUT=%MANUAL_OUTPUT%
@ECHO ON
%AS% %STANDARD_BUILDOPTS% %DEFINES% %SOURCE%,%OUTPUT%
python tools\build\fix_checksum.py %OUTPUT%
@ECHO OFF
ENDLOCAL