summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.CHANGELOG74
-rw-r--r--.SRCINFO22
-rw-r--r--PKGBUILD87
3 files changed, 141 insertions, 42 deletions
diff --git a/.CHANGELOG b/.CHANGELOG
index dba720aa3c81..ad3189d7612e 100644
--- a/.CHANGELOG
+++ b/.CHANGELOG
@@ -1,6 +1,80 @@
Version history
===============
+0.9.21
+------
+
+2018-10-19
+
+Fix #313: Options and trophies (level checkmarks) are now saved in ./user/,
+not in ./data/user/yourname.txt. In the future, whenever you update Lix by
+hand, copy the folder user/ into the new installation. Old settings and
+trophies are imported: To update to 0.9.21, you should still copy
+./data/config.txt and ./data/user/yourname.txt to let Lix 0.9.21 import your
+old settings and write them to ./user/.)
+
+Fix #255: Trophies (level checkmarks) are associated to levels by the levels'
+basename (the part of the filename that is independent from directories),
+author, and English title. Trophies are not associated to full level path
+anymore, even though they remember that path as extra information. This means
+that you keep your trophy even when its level moves to a different rank
+directory.
+
+lemforum: Feel the Pressure: Hopeless -> Daunting. This Is a Stickup: Daunting
+-> Vicious. Evacuate the Sinking Ship: Vicious -> Hopeless. Little Miner
+Puzzle 1: Adjusted height of one bar to avoid accidental splatting while a
+miner is working. The Borderland: Added buzzsaw that This Lix Is Your Lix
+(repeat) already had.
+
+Raymanni's Holiday exit: Enlarged sprite at the bottom to look better when
+the exit sits on bumpy terrain.
+
+Fix #359: When you have lost singleplayer and the game tells you to framestep
+back or abort, you can doubleclick the nuke to quit.
+
+Fix #323: Wide, flat torus maps start with less default zoom (you see a larger
+portion of the level).
+
+Editor: All steel is offered in a single flat list. I've sorted the more
+commonly used tiles to the top of this list.
+
+Editor: Removed an invisible extra button that 0.9.20 mistakenly generated
+and that sometimes became visible when you hovered over the 3 rightmost text
+buttons in the panel and held the mouse key down.
+
+Fix #363: Editor: The terrain browser does not offer the 3 directories
+./authorName/steel/, to de-clutter the tileset list.
+
+Fix #355: Multiplayer: Exit markers are solid, colorful arrows instead of
+large lixes. They still go behind the terrain. The outline of your own arrow
+is drawn semi-transparent over the terrain.
+
+The networking menu offers to host a game (a server will run within Lix) and
+offers to change the port for listening or connecting.
+
+Fix #358: In a networking room, the current level title is printed under the
+preview image, above the chat.
+
+License: During the CC0 public domain waiver, I mention explicitly that the
+levels are CC0.
+
+Server executable understands the switch --port <number> to listen on a
+different port.
+
+Server is now its own dub package in ./src/server/ in the Lix repository.
+Documented how to build and run standalone server executable in Lix's main
+README.md.
+
+Code: I refactored Hatch to contain Graphic instead of to inherit from
+Graphic. Hatches remember which players spawn from them. Physics remain
+identical. (I tested a lot manually, no automatic test; I still lack physics
+unittests in general.)
+
+Git users: I version-control dub.selections.json now. If you get merge issues,
+delete your local copy and then pull.
+
+
+
0.9.20
------
diff --git a/.SRCINFO b/.SRCINFO
index 62d58e05aef3..a75417bbeb2f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = lix
pkgdesc = An action-puzzle game inspired by Lemmings
- pkgver = 0.9.20
+ pkgver = 0.9.21
pkgrel = 1
url = http://www.lixgame.com/
changelog = .CHANGELOG
@@ -13,16 +13,20 @@ pkgbase = lix
depends = allegro
depends = enet
depends = hicolor-icon-theme
- source = lix::git+https://github.com/SimonN/LixD.git#tag=v0.9.20
+ source = lix::git+https://github.com/SimonN/LixD.git#tag=v0.9.21
source = lix-music-1.zip::http://www.lixgame.com/dow/lix-music.zip
source = lix.desktop
- source = allegro::git+https://github.com/SiegeLord/DAllegro5.git
+ source = allegro::git+https://github.com/SiegeLord/DAllegro5.git#tag=v4.0.3+5.2.0
source = bolts::git+https://github.com/aliak00/bolts.git#tag=v0.7.1
- source = derelict-enet::git+https://github.com/DerelictOrg/DerelictENet.git#tag=v2.0.0
- source = derelict-util::git+https://github.com/DerelictOrg/DerelictUtil.git#tag=v2.1.0
- source = enumap::git+https://github.com/rcorre/enumap.git
+ source = derelict-enet::git+https://github.com/DerelictOrg/DerelictENet.git#tag=v4.1.0
+ source = derelict-util::git+https://github.com/DerelictOrg/DerelictUtil.git#tag=v3.0.0-beta.2
+ source = enumap::git+https://github.com/rcorre/enumap.git#tag=v0.4.2
+ source = libinputvisitor::git+https://github.com/Abscissa/libInputVisitor.git#tag=v1.2.2
source = optional::git+https://github.com/aliak00/optional.git#tag=v0.6.3
- source = silly::git+https://github.com/ohdatboi/silly.git
+ source = sdlang-d::git+https://github.com/Abscissa/SDLang-D.git#tag=v0.10.4
+ source = silly::git+https://github.com/ohdatboi/silly.git#tag=v0.8.0
+ source = taggedalgebraic::git+https://github.com/s-ludwig/taggedalgebraic.git#tag=v0.10.11
+ source = unit-threaded::git+https://github.com/atilaneves/unit-threaded.git#tag=v0.7.52
sha512sums = SKIP
sha512sums = 37349c98b739ea43c25137dd03865f1c9c41eec91e5edc109afd9d50ce3871bd0c7f63c3f3599a47bb4ef52f5bfd14e034010de0ac2aec5a9c0c83eaf0b89425
sha512sums = 52d49562cd9be4eec76b464153af1cce2211fdbd6113a6a60df042f7e8f7e6a8f1942df883dfaaa6c1bbfea004c4154d884dfa767e25fa3fadf9c58be1103fe6
@@ -33,6 +37,10 @@ pkgbase = lix
sha512sums = SKIP
sha512sums = SKIP
sha512sums = SKIP
+ sha512sums = SKIP
+ sha512sums = SKIP
+ sha512sums = SKIP
+ sha512sums = SKIP
pkgname = lix
diff --git a/PKGBUILD b/PKGBUILD
index f7e7c760ab36..04706c3282f8 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,62 +2,79 @@
# Contributor: Carl Reinke <mindless2112 gmail com>
pkgname=lix
-pkgver=0.9.20
+pkgver=0.9.21
pkgrel=1
changelog=.CHANGELOG
source=("${pkgname}::git+https://github.com/SimonN/LixD.git#tag=v${pkgver}")
sha512sums=('SKIP')
_pkgname=${pkgname}
-# template start; name=lix; version=0.9;
+# template start; name=lix; version=1.1;
pkgdesc="An action-puzzle game inspired by Lemmings"
arch=('i686' 'x86_64')
url="http://www.lixgame.com/"
license=('custom:CC0')
depends=('allegro' 'enet' 'hicolor-icon-theme')
makedepends=('git' 'dmd' 'dub')
-_dub_versions=( '4.0.3+5.2.0' # Allegro
- '0.7.1' # Bolts
- '2.0.0' # Derelict-Enet
- '2.1.0' # Derelict-Util
- '0.4.2' # Enumap
- '0.6.3' # Optional
- '0.7.1') # Silly
+_dubv=( "4.0.3+5.2.0" # allegro
+ "0.7.1" # bolts
+ "4.1.0" # derelict-enet
+ "3.0.0-beta.2" # derelict-util
+ "0.4.2" # enumap
+ "1.2.2" # libinputvisitor
+ "0.6.3" # optional
+ "0.10.4" # sdlang-d
+ "0.8.0" # silly
+ "0.10.11" # taggedalgebraic
+ "0.7.52" # unit-threaded
+ )
+
# let makepkg handle dub packages
# https://wiki.archlinux.org/index.php/VCS_package_guidelines#Git_Submodules
source+=( "${_pkgname}-music-1.zip::http://www.lixgame.com/dow/lix-music.zip"
"${_pkgname}.desktop"
- "allegro::git+https://github.com/SiegeLord/DAllegro5.git" #tag=v${_dub_versions[0]}"
- "bolts::git+https://github.com/aliak00/bolts.git#tag=v${_dub_versions[1]}"
- "derelict-enet::git+https://github.com/DerelictOrg/DerelictENet.git#tag=v${_dub_versions[2]}"
- "derelict-util::git+https://github.com/DerelictOrg/DerelictUtil.git#tag=v${_dub_versions[3]}"
- "enumap::git+https://github.com/rcorre/enumap.git" #tag=v${_dub_versions[4]}"
- "optional::git+https://github.com/aliak00/optional.git#tag=v${_dub_versions[5]}"
- "silly::git+https://github.com/ohdatboi/silly.git" #tag=v${_dub_versions[6]}"
- )
+ )
sha512sums+=( '37349c98b739ea43c25137dd03865f1c9c41eec91e5edc109afd9d50ce3871bd0c7f63c3f3599a47bb4ef52f5bfd14e034010de0ac2aec5a9c0c83eaf0b89425'
'52d49562cd9be4eec76b464153af1cce2211fdbd6113a6a60df042f7e8f7e6a8f1942df883dfaaa6c1bbfea004c4154d884dfa767e25fa3fadf9c58be1103fe6'
- 'SKIP'
+ )
+source+=( "allegro::git+https://github.com/SiegeLord/DAllegro5.git#tag=v${_dubv[0]}"
+ "bolts::git+https://github.com/aliak00/bolts.git#tag=v${_dubv[1]}"
+ "derelict-enet::git+https://github.com/DerelictOrg/DerelictENet.git#tag=v${_dubv[2]}"
+ "derelict-util::git+https://github.com/DerelictOrg/DerelictUtil.git#tag=v${_dubv[3]}"
+ "enumap::git+https://github.com/rcorre/enumap.git#tag=v${_dubv[4]}"
+ "libinputvisitor::git+https://github.com/Abscissa/libInputVisitor.git#tag=v${_dubv[5]}"
+ "optional::git+https://github.com/aliak00/optional.git#tag=v${_dubv[6]}"
+ "sdlang-d::git+https://github.com/Abscissa/SDLang-D.git#tag=v${_dubv[7]}"
+ "silly::git+https://github.com/ohdatboi/silly.git#tag=v${_dubv[8]}"
+ "taggedalgebraic::git+https://github.com/s-ludwig/taggedalgebraic.git#tag=v${_dubv[9]}"
+ "unit-threaded::git+https://github.com/atilaneves/unit-threaded.git#tag=v${_dubv[10]}"
+ )
+sha512sums+=( 'SKIP'
+ 'SKIP'
+ 'SKIP'
+ 'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
'SKIP'
- 'SKIP')
+ 'SKIP'
+ 'SKIP'
+ )
build()
{
cd "${srcdir}/${_pkgname}" || exit
_r=0
-
+
# add local dependencies to search path
dub add-path "${srcdir}"
-
+
# force FHS compatibility with '-b releaseXDG'
# ensure with --cache=local dub stays outside the users home directory
dub build -f -b releaseXDG --cache=local || _r="${?}"
-
+
# remove local dependencies from search path so dub won't find them
# later again
dub remove-path "${srcdir}"
@@ -65,7 +82,7 @@ build()
# removes any cached metadata like the list of available packages
# and their latest version
dub clean-caches
-
+
if [[ "${_r}" != 0 ]]
then
# dub failed so we also fail after we removed the local dependencies
@@ -77,14 +94,14 @@ check()
{
cd "${srcdir}/${_pkgname}" || exit
_r=0
-
+
# add local dependencies to search path
dub add-path "${srcdir}"
-
+
# run test suite
# ensure with --cache=local dub stays outside the users home directory
dub test --cache=local || _r="${?}"
-
+
# remove local dependencies from search path so dub won't find them
# later again
dub remove-path "${srcdir}"
@@ -92,7 +109,7 @@ check()
# removes any cached metadata like the list of available packages
# and their latest version
dub clean-caches
-
+
if [[ "${_r}" != 0 ]]
then
# dub failed so we also fail after we removed the local dependencies
@@ -103,41 +120,41 @@ check()
package()
{
cd "${srcdir}" || exit
-
+
# install application entry
install -Dm644 \
`# SRCFILE:` \
"${_pkgname}.desktop" \
`# DSTFILE:` \
"${pkgdir}/usr/share/applications/${_pkgname}.desktop"
-
+
cd "${_pkgname}" || exit
-
+
# install application entry icon
install -Dm644 \
`# SRCFILE:` \
"data/images/${_pkgname}_logo.svg" \
`# DSTFILE:` \
"${pkgdir}/usr/share/icons/hicolor/scalable/apps/${_pkgname}.svg"
-
+
# install license text
install -Dm644 \
`# SRCFILE:` \
"doc/copying.txt" \
`# DSTFILE:` \
"${pkgdir}/usr/share/licenses/${_pkgname}/COPYING"
-
+
# install binary
install -Dm755 \
`# SRCFILE:` \
"bin/${_pkgname}" \
`# DSTFILE:` \
"${pkgdir}/usr/bin/${_pkgname}"
-
+
# remove unimportant files
# https://raw.githubusercontent.com/SimonN/LixD/master/doc/build/package.txt
rm -r "${srcdir}/${_pkgname}/doc/build"
-
+
# https://lists.archlinux.org/pipermail/aur-general/2011-November/016777.html
# make directories
mkdir -p \
@@ -150,7 +167,7 @@ package()
"doc/." \
`# DSTDIR:` \
"${pkgdir}/usr/share/doc/${_pkgname}/"
-
+
# copy game files
cp -dpr --no-preserve=ownership \
`# SRCDIRS:` \