tuxanci2-engine
Game engine for tuxanci2
Log | Files | Refs | README | LICENSE
commit 78ebd5d11d5e775987ba4a04d885e6965ad54033
parent 30fa75b0df7b3a0c4efdb684ea4227b4c7ffa9f3
Author: Connor Thomson <connor@gnufault.org>
Date:   Sat, 24 Oct 2026 22:31:15 -0700

Make it so you can install the win32 version with NSIS

Diffstat:
Mplatforms/win32/.gitignore | 2+-
Mplatforms/win32/Makefile | 16++++++++++++----
Aplatforms/win32/installer.nsi | 44++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 57 insertions(+), 5 deletions(-)

diff --git a/platforms/win32/.gitignore b/platforms/win32/.gitignore @@ -1 +1 @@ -tuxanci2.exe +tuxanci2*.exe diff --git a/platforms/win32/Makefile b/platforms/win32/Makefile @@ -3,14 +3,19 @@ ROOT_DIR := $(abspath $(MAKEFILE_DIR)/../..) WIN32_CC ?= i686-w64-mingw32-gcc WIN32_CFLAGS ?= -O2 -Wall -WIN32_LDFLAGS ?= -Wl,--subsystem,windows:3.1 +WIN32_LDFLAGS ?= -Wl,--subsystem,windows:95 WIN32_LDLIBS ?= -lgdi32 -luser32 WIN32_BUILD ?= build/win32 WIN32_SOURCE := $(MAKEFILE_DIR)win32.c WIN32_BUILD_DIR := $(ROOT_DIR)/$(WIN32_BUILD) WIN32_LIBRARY := $(WIN32_BUILD_DIR)/tuxanci2.a -TARGET := $(MAKEFILE_DIR)tuxanci2.exe + +GAME_TARGET := $(WIN32_BUILD_DIR)/tuxanci2.exe + +NSIS_SCRIPT := $(MAKEFILE_DIR)installer.nsi +TARGET := $(MAKEFILE_DIR)tuxanci2-win32-i686.exe + ROOT_INPUTS := $(shell find $(ROOT_DIR)/src -type f -name '*.c') \ $(wildcard $(ROOT_DIR)/include/*.h) \ $(ROOT_DIR)/include/ta_config.h.in \ @@ -25,9 +30,12 @@ all: $(TARGET) $(WIN32_LIBRARY): $(ROOT_INPUTS) $(MAKE) -C "$(ROOT_DIR)" CC="$(WIN32_CC)" BITS=32 BUILD_DIR="$(WIN32_BUILD)" all -$(TARGET): $(WIN32_SOURCE) $(WIN32_LIBRARY) +$(GAME_TARGET): $(WIN32_SOURCE) $(WIN32_LIBRARY) $(WIN32_CC) $(WIN32_CFLAGS) -I"$(ROOT_DIR)/include" -I"$(WIN32_BUILD_DIR)" "$(WIN32_SOURCE)" "$(WIN32_LIBRARY)" $(WIN32_LDFLAGS) $(WIN32_LDLIBS) -o "$@" +$(TARGET): $(GAME_TARGET) $(NSIS_SCRIPT) + makensis "$(NSIS_SCRIPT)" + clean: - $(RM) "$(TARGET)" + $(RM) "$(TARGET)" "$(GAME_TARGET)" $(MAKE) -C "$(ROOT_DIR)" BUILD_DIR="$(WIN32_BUILD)" clean diff --git a/platforms/win32/installer.nsi b/platforms/win32/installer.nsi @@ -0,0 +1,44 @@ +!include "MUI2.nsh" + +Name "Tuxánci 2" +OutFile "tuxanci2-win32-i686.exe" +InstallDir "$PROGRAMFILES\tuxanci2" + +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_LICENSE "../../LICENSE" +!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +!insertmacro MUI_UNPAGE_WELCOME +!insertmacro MUI_UNPAGE_CONFIRM +!insertmacro MUI_UNPAGE_INSTFILES +!insertmacro MUI_UNPAGE_FINISH + +!insertmacro MUI_LANGUAGE "English" + +Section "Core Files" + SetOutPath "$INSTDIR" + + File "../../build/win32/tuxanci2.exe" + File "../../LICENSE" + + WriteUninstaller "$INSTDIR\uninstall.exe" + + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tuxanci2" "DisplayName" "Tuxánci 2" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tuxanci2" "UninstallString" "$\"$INSTDIR\uninstall.exe$\"" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tuxanci2" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe /S$\"" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tuxanci2" "InstallLocation" "$INSTDIR" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tuxanci2" "Publisher" "GNUfault" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tuxanci2" "DisplayVersion" "0.30.0" + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tuxanci2" "NoModify" 1 + WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tuxanci2" "NoRepair" 1 +SectionEnd + +Section "Uninstall" + Delete "$INSTDIR\tuxanci2.exe" + Delete "$INSTDIR\LICENSE" + Delete "$INSTDIR\uninstall.exe" + + RMDir "$INSTDIR" +SectionEnd