Copyright updated.
This commit is contained in:
parent
718357867b
commit
ec10eb3fe9
35 changed files with 227 additions and 64 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
|
|
|
||||||
|
|
@ -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",
|
||||||
|
|
|
||||||
2
INSTALL
2
INSTALL
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
22
src/pack.c
22
src/pack.c
|
|
@ -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.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
22
src/pack.h
22
src/pack.h
|
|
@ -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.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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"
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
22
src/vfs.c
22
src/vfs.c
|
|
@ -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.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
22
src/vfs.h
22
src/vfs.h
|
|
@ -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.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue