Note: I am not a programmer and don't have a deep knowledge of coding. I'm sorry if anything in this post is downright insulting to any seasoned programmer.
I have the latest stable versions of CMake and Git Bash, and Visual Studio 16 (2019 Community Edition, with C++ support enabled) installed.
Using Git Bash, I ran the build.sh file with no modifiers. Running the version with PNG support disabled by default appeared to successfully compile all of the files. There was, however, a minor error.
/h/lunapupura/build /h/lunapupura
-- Building for: Visual Studio 16 2019
-- The C compiler identification is MSVC 19.26.28806.0
-- The CXX compiler identification is MSVC 19.26.28806.0
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe
-- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.26.28801/bin/Hostx64/x64/cl.exe - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- DEBUG macro enabled
-- XPK hack enabled
-- Configuring done
-- Generating done
-- Build files have been written to: H:/lunapupura/build
./build.sh: line 24: make: command not found
Trying it with various make commands that were originally detailed in the README file gave me the same results. Though there is a chance I got the syntax wrong.
build.sh generated a bunch of files that appear to be Visual Studio project files to my system.
Let's load ALL_BUILD into Visual Studio and try "Build ALL_BUILD".
1>------ Build started: Project: ZERO_CHECK, Configuration: Debug x64 ------
1>Checking Build System
2>------ Build started: Project: lpclu, Configuration: Debug x64 ------
3>------ Build started: Project: lputil, Configuration: Debug x64 ------
4>------ Build started: Project: lpprd, Configuration: Debug x64 ------
5>------ Build started: Project: lpdib, Configuration: Debug x64 ------
2>Building Custom Rule H:/lunapupura/src/clu/CMakeLists.txt
3>Building Custom Rule H:/lunapupura/src/lputil/CMakeLists.txt
2>cl : command line warning D9002: ignoring unknown option '-g'
2>clu.c
4>Building Custom Rule H:/lunapupura/src/prd/CMakeLists.txt
2>H:\lunapupura\src\clu\clu.c(27,12): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
2>H:\lunapupura\src\clu\clu.c(83,20): warning C4388: '<': signed/unsigned mismatch
2>H:\lunapupura\src\clu\clu.c(84,21): warning C4388: '<': signed/unsigned mismatch
2>H:\lunapupura\src\clu\clu.c(81,1): warning C4244: 'initializing': conversion from 'double' to 'size_t', possible loss of data
2>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\stdio.h(828,37): warning C4710: 'int fprintf(FILE *const ,const char *const ,...)': function not inlined
2>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\stdio.h(828): message : see declaration of 'fprintf'
2>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\stdio.h(1940,37): warning C4710: 'int snprintf(char *const ,const size_t,const char *const ,...)': function not inlined
2>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\stdio.h(1940): message : see declaration of 'snprintf'
5>Building Custom Rule H:/lunapupura/src/dib/CMakeLists.txt
3>cl : command line warning D9002: ignoring unknown option '-g'
2>H:\lunapupura\src\clu\clu.c(57): warning C5045: Compiler will insert Spectre mitigation for memory load if /Qspectre switch specified
3>lputil.c
3>H:\lunapupura\src\lputil\lputil.c(7,10): fatal error C1083: Cannot open include file: 'err.h': No such file or directory
3>Done building project "lputil.vcxproj" -- FAILED.
4>cl : command line warning D9002: ignoring unknown option '-g'
2>H:\lunapupura\src\clu\clu.c(43): message : index 'i' range checked by comparison on this line
2>H:\lunapupura\src\clu\clu.c(57): message : feeds call on this line
2>H:\lunapupura\src\clu\clu.c(86): warning C5045: Compiler will insert Spectre mitigation for memory load if /Qspectre switch specified
2>H:\lunapupura\src\clu\clu.c(84): message : index '' range checked by comparison on this line
2>H:\lunapupura\src\clu\clu.c(91): message : feeds call on this line
4>prd.c
4>H:\lunapupura\src\prd\prdentry.h(18,14): warning C4820: 'PRDEntry': '1' bytes padding added after data member 'ext'
4>H:\lunapupura\src\prd\prdentry.h(23,25): warning C4255: 'PRDEntry_New': no function prototype given: converting '()' to '(void)'
4>H:\lunapupura\src\prd\prd.c(39,20): warning C4388: '<': signed/unsigned mismatch
4>H:\lunapupura\src\prd\prd.c(21,12): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
4>H:\lunapupura\src\prd\prd.c(50,20): warning C4388: '<': signed/unsigned mismatch
4>prdentry.c
4>H:\lunapupura\src\prd\prdentry.h(18,14): warning C4820: 'PRDEntry': '1' bytes padding added after data member 'ext'
4>H:\lunapupura\src\prd\prdentry.h(23,25): warning C4255: 'PRDEntry_New': no function prototype given: converting '()' to '(void)'
4>H:\lunapupura\src\prd\prdentry.c(11,1): warning C4255: 'PRDEntry_New': no function prototype given: converting '()' to '(void)'
4>Generating Code...
4>H:\lunapupura\src\prd\prd.c(51): warning C5045: Compiler will insert Spectre mitigation for memory load if /Qspectre switch specified
4>H:\lunapupura\src\prd\prd.c(50): message : index '' range checked by comparison on this line
4>H:\lunapupura\src\prd\prd.c(51): message : feeds call on this line
6>------ Build started: Project: lpprx, Configuration: Debug x64 ------
5>cl : command line warning D9002: ignoring unknown option '-g'
5>dib.c
5>H:\lunapupura\src\dib\dib.h(20,14): warning C4820: 'BITMAPFILEHEADER': '2' bytes padding added after data member 'bfType'
6>Building Custom Rule H:/lunapupura/src/prx/CMakeLists.txt
4>lpprd.vcxproj -> H:\lunapupura\build\src\prd\Debug\lpprd.lib
6>cl : command line warning D9002: ignoring unknown option '-g'
6>prx.c
2>lpclu.vcxproj -> H:\lunapupura\build\src\clu\Debug\lpclu.lib
5>lpdib.vcxproj -> H:\lunapupura\build\src\dib\Debug\lpdib.lib
6>H:\lunapupura\src\prx\prx.c(7,10): fatal error C1083: Cannot open include file: 'err.h': No such file or directory
6>prxmember.c
6>H:\lunapupura\src\prx\prxmember.h(27,17): warning C4820: 'PRXMember': '2' bytes padding added after data member 'internal_id'
6>H:\lunapupura\src\prx\prxmember.h(31,12): warning C4820: 'PRXMember': '4' bytes padding added after data member 'name'
6>H:\lunapupura\src\prx\prx.h(22,28): warning C4820: 'PRX': '2' bytes padding added after data member 'n_entries'
6>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\stdio.h(1940,37): warning C4710: 'int snprintf(char *const ,const size_t,const char *const ,...)': function not inlined
6>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\stdio.h(1940): message : see declaration of 'snprintf'
6>Generating Code...
6>Done building project "lpprx.vcxproj" -- FAILED.
4>Done building project "lpprd.vcxproj".
5>Done building project "lpdib.vcxproj".
2>Done building project "lpclu.vcxproj".
7>------ Build started: Project: lpsmf, Configuration: Debug x64 ------
8>------ Build started: Project: prd, Configuration: Debug x64 ------
9>------ Build started: Project: lpxpk, Configuration: Debug x64 ------
10>------ Build started: Project: clu, Configuration: Debug x64 ------
9>Building Custom Rule H:/lunapupura/src/xpk/CMakeLists.txt
10>Building Custom Rule H:/lunapupura/src/clu/CMakeLists.txt
8>Building Custom Rule H:/lunapupura/src/prd/CMakeLists.txt
10>cl : command line warning D9002: ignoring unknown option '-g'
11>------ Build started: Project: prx, Configuration: Debug x64 ------
10>main.c
10>H:\lunapupura\src\clu\main.c(7,10): fatal error C1083: Cannot open include file: 'err.h': No such file or directory
10>Done building project "clu.vcxproj" -- FAILED.
12>------ Build started: Project: smf, Configuration: Debug x64 ------
9>cl : command line warning D9002: ignoring unknown option '-g'
9>xpk.c
9>H:\lunapupura\src\xpk\xpk.h(34,12): warning C4820: 'XPKEntry': '4' bytes padding added after data member 'y'
9>H:\lunapupura\src\xpk\xpk.h(51,10): warning C4820: 'XPK': '4' bytes padding added after data member 'next_section'
9>H:\lunapupura\src\xpk\xpkdecoder.h(42,21): warning C4820: 'XPKDecoder': '2' bytes padding added after data member 'next_holder'
9>H:\lunapupura\src\xpk\xpkdecoder.h(46,14): warning C4820: 'XPKDecoder': '4' bytes padding added after data member 'line_repeat_loc'
9>H:\lunapupura\src\xpk\xpk.c(28,22): warning C4267: '=': conversion from 'size_t' to 'uint16_t', possible loss of data
9>H:\lunapupura\src\xpk\xpk.c(29,24): warning C4267: '=': conversion from 'size_t' to 'uint16_t', possible loss of data
9>H:\lunapupura\src\xpk\xpk.c(30,14): warning C4242: '=': conversion from 'const int' to 'uint16_t', possible loss of data
9>H:\lunapupura\src\xpk\xpk.c(31,14): warning C4242: '=': conversion from 'const int' to 'uint16_t', possible loss of data
9>H:\lunapupura\src\xpk\xpk.c(64,12): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\stdio.h(948,37): warning C4710: 'int printf(const char *const ,...)': function not inlined
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt\stdio.h(948): message : see declaration of 'printf'
9>xpkdecoder.c
9>H:\lunapupura\src\xpk\xpkdecoder.c(7,10): fatal error C1083: Cannot open include file: 'err.h': No such file or directory
9>Generating Code...
9>H:\lunapupura\src\xpk\xpk.c(145): warning C5045: Compiler will insert Spectre mitigation for memory load if /Qspectre switch specified
9>H:\lunapupura\src\xpk\xpk.c(96): message : index 'i' range checked by comparison on this line
9>H:\lunapupura\src\xpk\xpk.c(145): message : feeds call on this line
9>H:\lunapupura\src\xpk\xpk.c(140): warning C5045: Compiler will insert Spectre mitigation for memory load if /Qspectre switch specified
9>H:\lunapupura\src\xpk\xpk.c(135): message : index 'i' range checked by comparison on this line
9>H:\lunapupura\src\xpk\xpk.c(140): message : feeds memory load on this line
9>H:\lunapupura\src\xpk\xpk.c(113): warning C5045: Compiler will insert Spectre mitigation for memory load if /Qspectre switch specified
9>H:\lunapupura\src\xpk\xpk.c(96): message : index 'i' range checked by comparison on this line
9>H:\lunapupura\src\xpk\xpk.c(113): message : feeds call on this line
9>H:\lunapupura\src\xpk\xpk.c(106): warning C5045: Compiler will insert Spectre mitigation for memory load if /Qspectre switch specified
9>H:\lunapupura\src\xpk\xpk.c(96): message : index 'i' range checked by comparison on this line
9>H:\lunapupura\src\xpk\xpk.c(106): message : feeds call on this line
9>H:\lunapupura\src\xpk\xpk.c(154): warning C5045: Compiler will insert Spectre mitigation for memory load if /Qspectre switch specified
9>H:\lunapupura\src\xpk\xpk.c(153): message : index 'i' range checked by comparison on this line
9>H:\lunapupura\src\xpk\xpk.c(154): message : feeds call on this line
9>Done building project "lpxpk.vcxproj" -- FAILED.
13>------ Build started: Project: xpk, Configuration: Debug x64 ------
11>Building Custom Rule H:/lunapupura/src/prx/CMakeLists.txt
8>cl : command line warning D9002: ignoring unknown option '-g'
8>main.c
8>H:\lunapupura\src\prd\main.c(5,10): fatal error C1083: Cannot open include file: 'err.h': No such file or directory
8>Done building project "prd.vcxproj" -- FAILED.
13>Building Custom Rule H:/lunapupura/src/xpk/CMakeLists.txt
12>Building Custom Rule H:/lunapupura/src/smf/CMakeLists.txt
11>cl : command line warning D9002: ignoring unknown option '-g'
11>main.c
11>H:\lunapupura\src\prx\main.c(7,10): fatal error C1083: Cannot open include file: 'err.h': No such file or directory
11>Done building project "prx.vcxproj" -- FAILED.
12>cl : command line warning D9002: ignoring unknown option '-g'
13>cl : command line warning D9002: ignoring unknown option '-g'
12>main.c
12>H:\lunapupura\src\smf\main.c(5,10): fatal error C1083: Cannot open include file: 'err.h': No such file or directory
12>Done building project "smf.vcxproj" -- FAILED.
13>main.c
13>H:\lunapupura\src\xpk\main.c(5,10): fatal error C1083: Cannot open include file: 'err.h': No such file or directory
13>Done building project "xpk.vcxproj" -- FAILED.
14>------ Build started: Project: ALL_BUILD, Configuration: Debug x64 ------
14>Building Custom Rule H:/lunapupura/CMakeLists.txt
========== Build: 5 succeeded, 9 failed, 0 up-to-date, 0 skipped ==========
As an aside, I have also installed Ruby. Is it possible to just run the Ruby scripts (specifically, the unpack_entire_game script) on files from the games without compiling anything?