Copyright updated.

This commit is contained in:
Scott Duensing 2026-09-04 17:14:43 -05:00
parent 718357867b
commit ec10eb3fe9
35 changed files with 227 additions and 64 deletions

View file

@ -7,6 +7,9 @@ SINGE 3.00
API Changes API Changes
----------- -----------
- The name now expands to "SINGE Is Not a Game Emulator", in the banner,
the manual, INSTALL, and the Windows file description.
- A game can be one file: singe --pack DIRECTORY GAME.game writes the game's - A game can be one file: singe --pack DIRECTORY GAME.game writes the game's
scripts, art, sounds, fonts, and video into an SQLite database, and scripts, art, sounds, fonts, and video into an SQLite database, and
singe GAME.game (or the menu, which lists every .game file beside the game singe GAME.game (or the menu, which lists every .game file beside the game

View file

@ -1,6 +1,6 @@
# #
# Singe 2 # Singe 3
# Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> # Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
# #
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public Licens # modify it under the terms of the GNU General Public Licens
@ -108,15 +108,34 @@ function(singeEmbed input output prefix)
set(EMBEDDED_HEADERS ${EMBEDDED_HEADERS} ${output} PARENT_SCOPE) set(EMBEDDED_HEADERS ${EMBEDDED_HEADERS} ${output} PARENT_SCOPE)
endfunction() endfunction()
# Renders a layered image to a flattened PNG and embeds it. # The canvas size of a GIMP image, from the XCF header (ImageMagick only sees the layers, and its
function(singeEmbedImage name) # flatten crops to the first one).
function(singeXcfCanvas xcf widthVar heightVar)
file(READ ${xcf} header LIMIT 22 HEX)
string(SUBSTRING ${header} 28 8 widthHex)
string(SUBSTRING ${header} 36 8 heightHex)
math(EXPR width "0x${widthHex}")
math(EXPR height "0x${heightHex}")
set(${widthVar} ${width} PARENT_SCOPE)
set(${heightVar} ${height} PARENT_SCOPE)
endfunction()
# Renders assets/<source>.xcf as <name>.png the way GIMP would: every layer at its offset onto the
# image's own canvas, anything outside it clipped.
function(singeRenderImage name source)
singeXcfCanvas(${CMAKE_SOURCE_DIR}/assets/${source}.xcf width height)
add_custom_command( add_custom_command(
OUTPUT ${GENERATED_DIR}/${name}.png OUTPUT ${GENERATED_DIR}/${name}.png
COMMAND ${IMAGEMAGICK} ${CMAKE_SOURCE_DIR}/assets/${name}.xcf -background "rgba(0,0,0,0)" -flatten ${GENERATED_DIR}/${name}.png COMMAND ${IMAGEMAGICK} -background "rgba(0,0,0,0)" -size ${width}x${height} xc:none ${CMAKE_SOURCE_DIR}/assets/${source}.xcf -flatten ${GENERATED_DIR}/${name}.png
DEPENDS assets/${name}.xcf DEPENDS assets/${source}.xcf
COMMENT "Rendering ${name}.png" COMMENT "Rendering ${name}.png (${width}x${height})"
VERBATIM VERBATIM
) )
endfunction()
# Renders a layered image and embeds the PNG.
function(singeEmbedImage name)
singeRenderImage(${name} ${name})
singeEmbed(${GENERATED_DIR}/${name}.png ${GENERATED_DIR}/${name}.h "") singeEmbed(${GENERATED_DIR}/${name}.png ${GENERATED_DIR}/${name}.h "")
set(EMBEDDED_HEADERS ${EMBEDDED_HEADERS} PARENT_SCOPE) set(EMBEDDED_HEADERS ${EMBEDDED_HEADERS} PARENT_SCOPE)
endfunction() endfunction()
@ -133,10 +152,11 @@ singeEmbedImage(font)
# The icon is drawn large; the window gets a 128 pixel copy and the Windows .ico the usual sizes, # The icon is drawn large; the window gets a 128 pixel copy and the Windows .ico the usual sizes,
# both cut from a square, transparent-padded render so a non-square source keeps its proportions. # both cut from a square, transparent-padded render so a non-square source keeps its proportions.
set(ICON_SIZE 1024) set(ICON_SIZE 1024)
singeRenderImage(iconFull icon)
add_custom_command( add_custom_command(
OUTPUT ${GENERATED_DIR}/iconSquare.png OUTPUT ${GENERATED_DIR}/iconSquare.png
COMMAND ${IMAGEMAGICK} ${CMAKE_SOURCE_DIR}/assets/icon.xcf -background "rgba(0,0,0,0)" -flatten -resize "${ICON_SIZE}x${ICON_SIZE}>" -gravity center -extent ${ICON_SIZE}x${ICON_SIZE} ${GENERATED_DIR}/iconSquare.png COMMAND ${IMAGEMAGICK} ${GENERATED_DIR}/iconFull.png -background "rgba(0,0,0,0)" -resize "${ICON_SIZE}x${ICON_SIZE}>" -gravity center -extent ${ICON_SIZE}x${ICON_SIZE} ${GENERATED_DIR}/iconSquare.png
DEPENDS assets/icon.xcf DEPENDS ${GENERATED_DIR}/iconFull.png
COMMENT "Rendering iconSquare.png" COMMENT "Rendering iconSquare.png"
VERBATIM VERBATIM
) )
@ -484,9 +504,12 @@ elseif(KANGAROO_OS STREQUAL "windows")
-ldinput8 -ldinput8
-lws2_32 -lws2_32
-lbcrypt -lbcrypt
-lssp
-lcrypt32 -lcrypt32
) )
if(NOT SINGE_ZIG_TARGET)
# MinGW's stack protector runtime; zig's compiler-rt carries it itself.
list(APPEND SYSTEM_LIBS -lssp)
endif()
else() else()
message(FATAL_ERROR "Unknown KANGAROO_OS: ${KANGAROO_OS}") message(FATAL_ERROR "Unknown KANGAROO_OS: ${KANGAROO_OS}")
endif() endif()

View file

@ -53,10 +53,10 @@
}, },
{ {
"name": "windows-x86_64", "name": "windows-x86_64",
"displayName": "Windows x86_64", "displayName": "Windows x86_64 (zig)",
"inherits": "base", "inherits": "base",
"binaryDir": "${sourceDir}/.builddir/windows/x86_64/superbuild", "binaryDir": "${sourceDir}/.builddir/windows/x86_64/superbuild",
"toolchainFile": "${sourceDir}/../toolchains/cmake/x86_64-w64-mingw32.cmake", "toolchainFile": "${sourceDir}/cmake/zig/x86_64-windows-gnu.cmake",
"cacheVariables": { "cacheVariables": {
"SINGE_TRIPLE": "x86_64-w64-mingw32", "SINGE_TRIPLE": "x86_64-w64-mingw32",
"SINGE_CROSS_OS": "mingw32", "SINGE_CROSS_OS": "mingw32",

View file

@ -4,7 +4,7 @@ SINGE 3.00
(For the latest version of this document, visit https://kangaroopunch.com! (For the latest version of this document, visit https://kangaroopunch.com!
The full manual is extracted to Singe/Manual.pdf on first run.) The full manual is extracted to Singe/Manual.pdf on first run.)
Welcome to Singe! The Somewhat Interactive Nostalgic Game Engine! Welcome to Singe! SINGE Is Not a Game Emulator!
INSTALLATION & UPGRADE INSTALLATION & UPGRADE

View file

@ -1,7 +1,7 @@
--[[ --[[
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License

View file

@ -1,7 +1,7 @@
--[[ --[[
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License

View file

@ -1,7 +1,7 @@
--[[ --[[
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License

View file

@ -1,7 +1,7 @@
--[[ --[[
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License

View file

@ -1,8 +1,8 @@
#!/bin/bash #!/bin/bash
# #
# Singe 2 # Singe 3
# Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> # Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
# #
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public Licens # modify it under the terms of the GNU General Public Licens

View file

@ -1,6 +1,6 @@
# #
# Singe 2 # Singe 3
# Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> # Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
# #
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public Licens # modify it under the terms of the GNU General Public Licens
@ -53,7 +53,9 @@ file(MAKE_DIRECTORY ${SB_PREFIX}/include ${SB_PREFIX}/lib)
# Compilers as the toolchain resolved them; the configure based libraries get them by name. # Compilers as the toolchain resolved them; the configure based libraries get them by name.
set(SB_CC "${CMAKE_C_COMPILER}") set(SB_CC "${CMAKE_C_COMPILER}")
if(DEFINED ENV{CXX}) if(CMAKE_CXX_COMPILER)
set(SB_CXX "${CMAKE_CXX_COMPILER}")
elseif(DEFINED ENV{CXX})
set(SB_CXX "$ENV{CXX}") set(SB_CXX "$ENV{CXX}")
else() else()
string(REGEX REPLACE "gcc$" "g++" SB_CXX "${SB_CC}") string(REGEX REPLACE "gcc$" "g++" SB_CXX "${SB_CC}")
@ -235,11 +237,18 @@ elseif(KANGAROO_OS STREQUAL "windows")
else() else()
set(hwaccel "") set(hwaccel "")
endif() endif()
# With a classic cross toolchain every tool is <triple>-<tool>; with zig each is named outright and
# the host's nm reads the target's objects (binutils understands PE and Mach-O).
if(SINGE_ZIG_TARGET)
set(ffmpegTools --enable-cross-compile --cc=${SB_CC} --cxx=${SB_CXX} --ar=${CMAKE_AR} --ranlib=${SB_RANLIB} --nm=nm --windres=${CMAKE_RC_COMPILER})
else()
set(ffmpegTools --cross-prefix=${SINGE_TRIPLE}- --cc=${SB_CC} --cxx=${SB_CXX} --ranlib=${SB_RANLIB})
endif()
set(ffmpegBinary ${SB_PREFIX}/build/ffmpeg) set(ffmpegBinary ${SB_PREFIX}/build/ffmpeg)
ExternalProject_Add(ffmpeg ExternalProject_Add(ffmpeg
SOURCE_DIR ${SB_THIRDPARTY}/ffmpeg SOURCE_DIR ${SB_THIRDPARTY}/ffmpeg
BINARY_DIR ${ffmpegBinary} BINARY_DIR ${ffmpegBinary}
CONFIGURE_COMMAND ${SB_ENV} ${SB_THIRDPARTY}/ffmpeg/configure --enable-static --disable-shared --disable-debug --disable-muxers ${hwaccel} --disable-encoders --disable-filters --disable-network --disable-devices --disable-bzlib --disable-lzma --disable-doc --disable-programs --enable-gpl --enable-version3 --extra-ldflags=-L${SB_PREFIX}/lib --prefix=${SB_PREFIX} --arch=${KANGAROO_ARCH} --target-os=${SINGE_CROSS_OS} --cross-prefix=${SINGE_TRIPLE}- --cc=${SB_CC} --cxx=${SB_CXX} --ranlib=${SB_RANLIB} CONFIGURE_COMMAND ${SB_ENV} ${SB_THIRDPARTY}/ffmpeg/configure --enable-static --disable-shared --disable-debug --disable-muxers ${hwaccel} --disable-encoders --disable-filters --disable-network --disable-devices --disable-bzlib --disable-lzma --disable-doc --disable-programs --enable-gpl --enable-version3 --extra-ldflags=-L${SB_PREFIX}/lib --prefix=${SB_PREFIX} --arch=${KANGAROO_ARCH} --target-os=${SINGE_CROSS_OS} ${ffmpegTools}
BUILD_COMMAND ${SB_ENV} make BUILD_COMMAND ${SB_ENV} make
INSTALL_COMMAND ${SB_ENV} make install INSTALL_COMMAND ${SB_ENV} make install
LOG_CONFIGURE ON LOG_BUILD ON LOG_INSTALL ON LOG_OUTPUT_ON_FAILURE ON LOG_CONFIGURE ON LOG_BUILD ON LOG_INSTALL ON LOG_OUTPUT_ON_FAILURE ON

View file

@ -1,3 +1,23 @@
#
# Singe 3
# Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public Licens
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
#
# Embeds a file as a C array. Invoked in script mode by CMakeLists.txt: # Embeds a file as a C array. Invoked in script mode by CMakeLists.txt:
# cmake -DINPUT=<file> -DOUTPUT=<header> -DGUARD=<macro> -DSYMBOL=<name> -P embed.cmake # cmake -DINPUT=<file> -DOUTPUT=<header> -DGUARD=<macro> -DSYMBOL=<name> -P embed.cmake
# The header defines the array when EMBED_HERE is defined and declares it extern otherwise. # The header defines the array when EMBED_HERE is defined and declares it extern otherwise.
@ -14,7 +34,7 @@ string(REGEX REPLACE ",\n\t$" "" bytes "${bytes}")
file(WRITE "${OUTPUT}" "/* file(WRITE "${OUTPUT}" "/*
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-${COPYRIGHT_END_YEAR} Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-${COPYRIGHT_END_YEAR} Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or

View file

@ -1,3 +1,23 @@
#
# Singe 3
# Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public Licens
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
#
# Runs a command and captures its standard output in a file. Invoked in script mode: # Runs a command and captures its standard output in a file. Invoked in script mode:
# cmake -DOUTPUT=<file> -DCOMMAND=<program> -DARGS=<semicolon list> -P runToFile.cmake # cmake -DOUTPUT=<file> -DCOMMAND=<program> -DARGS=<semicolon list> -P runToFile.cmake

View file

@ -14,7 +14,7 @@ Scott Duensing <scott@kangaroopunch.com>
[preface] [preface]
== About Singe == About Singe
Singe, the Somewhat Interactive Nostalgic Game Engine (named after the dragon in Singe (SINGE Is Not a Game Emulator, and named after the dragon in
Dragon's Lair) is a Lua-based scripting system that allows for rapid prototyping Dragon's Lair) is a Lua-based scripting system that allows for rapid prototyping
of new laserdisc games, or the creation of entirely new games. The language is of new laserdisc games, or the creation of entirely new games. The language is
easy to learn, very powerful, and fast. All the features needed to develop your easy to learn, very powerful, and fast. All the features needed to develop your

View file

@ -1,7 +1,7 @@
/* /*
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License

View file

@ -1,7 +1,7 @@
/* /*
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License

View file

@ -1,7 +1,7 @@
/* /*
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License

View file

@ -1,7 +1,7 @@
/* /*
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License

View file

@ -1,7 +1,7 @@
/* /*
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License
@ -880,7 +880,7 @@ static void _showHeader(void) {
// 00000000011111111112222222222333333333344444444445555555555666666666677777777778 // 00000000011111111112222222222333333333344444444445555555555666666666677777777778
// 12345678901234567890123456789012345678901234567890123456789012345678901234567890 // 12345678901234567890123456789012345678901234567890123456789012345678901234567890
utilSay(" ___ ___ _ _ ___ ___"); utilSay(" ___ ___ _ _ ___ ___");
utilSay("/ __|_ _| \\| |/ __| __| Somewhat Interactive Nostalgic Game Engine %s", VERSION_STRING); utilSay("/ __|_ _| \\| |/ __| __| SINGE Is Not a Game Emulator %s", VERSION_STRING);
utilSay("\\__ \\| || .` | (_ | _| Copyright (c) 2006-%s Scott C. Duensing", COPYRIGHT_END_YEAR); utilSay("\\__ \\| || .` | (_ | _| Copyright (c) 2006-%s Scott C. Duensing", COPYRIGHT_END_YEAR);
utilSay("|___/___|_|\\_|\\___|___| https://KangarooPunch.com https://SingeEngine.com"); utilSay("|___/___|_|\\_|\\___|___| https://KangarooPunch.com https://SingeEngine.com");
utilNewline(); utilNewline();

View file

@ -1,7 +1,7 @@
/* /*
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License

View file

@ -1,3 +1,25 @@
/*
*
* Singe 3
* Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 3
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*
*/
/* /*
* Packer, unpacker, and patcher for single-file games. The database layout is described in vfs.c. * Packer, unpacker, and patcher for single-file games. The database layout is described in vfs.c.
*/ */

View file

@ -1,3 +1,25 @@
/*
*
* Singe 3
* Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 3
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*
*/
/* /*
* Packing games into, and out of, single-file SQLite databases. * Packing games into, and out of, single-file SQLite databases.
*/ */

View file

@ -1,7 +1,7 @@
/* /*
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License

View file

@ -1,7 +1,7 @@
/* /*
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License

View file

@ -1,7 +1,7 @@
/* /*
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License

View file

@ -1,7 +1,7 @@
/* /*
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License

View file

@ -8,7 +8,7 @@ BEGIN
BLOCK "040904E4" BLOCK "040904E4"
BEGIN BEGIN
VALUE "CompanyName", "Kangaroo Punch Studios" VALUE "CompanyName", "Kangaroo Punch Studios"
VALUE "FileDescription", "Somewhat Interactive Nostalgic Game Engine" VALUE "FileDescription", "SINGE Is Not a Game Emulator"
VALUE "FileVersion", "@PROJECT_VERSION@" VALUE "FileVersion", "@PROJECT_VERSION@"
VALUE "InternalName", "Singe" VALUE "InternalName", "Singe"
VALUE "LegalCopyright", "Copyright 2006-@SINGE_COPYRIGHT_END_YEAR@ Scott C. Duensing" VALUE "LegalCopyright", "Copyright 2006-@SINGE_COPYRIGHT_END_YEAR@ Scott C. Duensing"

View file

@ -1,7 +1,7 @@
/* /*
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License

View file

@ -1,7 +1,7 @@
/* /*
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License

View file

@ -1,6 +1,6 @@
/* /*
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-@SINGE_COPYRIGHT_END_YEAR@ Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-@SINGE_COPYRIGHT_END_YEAR@ Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or

View file

@ -1,3 +1,25 @@
/*
*
* Singe 3
* Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 3
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*
*/
/* /*
* Singe virtual filesystem. See vfs.h for the lookup rules. * Singe virtual filesystem. See vfs.h for the lookup rules.
* *

View file

@ -1,3 +1,25 @@
/*
*
* Singe 3
* Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 3
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*
*/
/* /*
* Singe virtual filesystem: one lookup for every file a game names. * Singe virtual filesystem: one lookup for every file a game names.
* *

View file

@ -1,7 +1,7 @@
/* /*
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License

View file

@ -1,7 +1,7 @@
/* /*
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License

View file

@ -1,7 +1,7 @@
--[[ --[[
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License

View file

@ -1,7 +1,7 @@
--[[ --[[
* *
* Singe 2 * Singe 3
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com> * Copyright (C) 2006-2026 Scott Duensing <scott@kangaroopunch.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License * modify it under the terms of the GNU General Public License