Skip to content

Commit 24214a7

Browse files
committed
Windows, Linux and macOS release - v1.2.0
1 parent 1f84615 commit 24214a7

File tree

8 files changed

+167
-59
lines changed

8 files changed

+167
-59
lines changed

docs/CHANGELOG.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,24 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog][1], and this project adheres to
66
[Semantic Versioning][2].
77

8+
## [1.2.0] - 2021-06-23
9+
10+
### Added
11+
12+
- macOS release
13+
- Linux release
14+
- Added code to check for updates
15+
- Setup a GitHub Pages site
16+
17+
### Fixed
18+
19+
- Generate icons script now works with more recent versions of ImageMagick
20+
21+
### Changed
22+
23+
- Improved save and load scene code to work on macOS and Linux
24+
- Improved logger code to work on macOS and Linux
25+
826
## [1.1.3] - 2021-06-06
927

1028
### Fixed
@@ -67,7 +85,8 @@ same resolution where they were created
6785
- Visual initiative order widget to help in combats
6886
- An [exclusive video map][3] from [Animated Dungeon Maps][4]
6987

70-
[unreleased]: https://github.com/luiscastilho/dungeoneering/compare/v1.1.3...HEAD
88+
[unreleased]: https://github.com/luiscastilho/dungeoneering/compare/v1.2.0...HEAD
89+
[1.2.0]: https://github.com/luiscastilho/dungeoneering/compare/v1.1.3...v1.2.0
7190
[1.1.3]: https://github.com/luiscastilho/dungeoneering/compare/v1.1.2...v1.1.3
7291
[1.1.2]: https://github.com/luiscastilho/dungeoneering/compare/v1.1.1...v1.1.2
7392
[1.1.1]: https://github.com/luiscastilho/dungeoneering/compare/v1.1.0...v1.1.1

docs/_layouts/default.html

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,30 +30,30 @@
3030
{% if site.show_downloads %}
3131
<h4 class="downloads-title">Download latest version</h4>
3232
<ul class="downloads">
33-
<li class="hidden">
34-
<a href="https://github.com/luiscastilho/dungeoneering/releases/download/latest/dungeoneering-linux64.zip">
33+
<li>
34+
<a href="https://github.com/luiscastilho/dungeoneering/releases/download/latest/dungeoneering-windows64.zip">
3535
<span class="download-icon">
36-
<img src="assets/img/linux32.png" alt="Linux logo" width="18" height="18">
36+
<img src="assets/img/windows32.png" alt="Windows logo" width="18" height="18">
3737
</span><span class="download-text">
38-
<strong>Linux</strong>
38+
<strong>Windows</strong>
3939
</span>
4040
</a>
4141
</li>
42-
<li class="hidden">
43-
<a href="https://github.com/luiscastilho/dungeoneering/releases/download/latest/dungeoneering-macos.zip">
42+
<li>
43+
<a href="https://github.com/luiscastilho/dungeoneering/releases/download/latest/dungeoneering-linux64.zip">
4444
<span class="download-icon">
45-
<img src="assets/img/macos32.png" alt="macOS logo" width="18" height="18">
45+
<img src="assets/img/linux32.png" alt="Linux logo" width="18" height="18">
4646
</span><span class="download-text">
47-
<strong>macOS</strong>
47+
<strong>Linux</strong>
4848
</span>
4949
</a>
5050
</li>
5151
<li>
52-
<a href="https://github.com/luiscastilho/dungeoneering/releases/download/v1.1.3/dungeoneering-v1.1.3-win64.zip">
52+
<a href="https://github.com/luiscastilho/dungeoneering/releases/download/latest/dungeoneering-macos.zip">
5353
<span class="download-icon">
54-
<img src="assets/img/windows32.png" alt="Windows logo" width="18" height="18">
54+
<img src="assets/img/macos32.png" alt="macOS logo" width="18" height="18">
5555
</span><span class="download-text">
56-
<strong>Windows</strong>
56+
<strong>macOS</strong>
5757
</span>
5858
</a>
5959
</li>

docs/_sass/jekyll-theme-minimal.scss

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -141,15 +141,15 @@ ul.downloads {
141141
}
142142

143143
.downloads li {
144-
width:100%;
144+
width:33%;
145145
float:left;
146146
border-right:1px solid #e0e0e0;
147147
height:40px;
148148
}
149149

150150
.downloads li:last-child {
151-
border-right:none;
152-
}
151+
border-right:none;
152+
}
153153

154154
.downloads li:first-child a {
155155
border-radius:5px 0 0 5px;
@@ -165,7 +165,7 @@ ul.downloads {
165165
color:#F64B29;
166166
display:block;
167167
text-align:center;
168-
padding-top:6px;
168+
padding-top:3px;
169169
height:34px;
170170
}
171171

@@ -183,11 +183,6 @@ strong {
183183
font-weight:700;
184184
}
185185

186-
.downloads li + li + li {
187-
border-right:none;
188-
width:100%;
189-
}
190-
191186
.downloads a strong {
192187
font-size:14px;
193188
display:block;

docs/index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ The application should work with the instructions above. If it doesn't, create a
2424

2525
### macOS
2626

27-
Coming soon!
27+
The macOS ZIP is unsigned, meaning macOS will complain about it. Once you unzip the macOS ZIP, right click on `dungeoneering` and choose Open. If asked, grant access to Documents folder since that's where dungeoneering saves its log files on macOS.
2828

2929
### Linux
3030

31-
Coming soon too!
31+
To run dungeoneering on Linux, you will need to install Gstreamer v0.10. It's an older version of Gstreamer so it might be difficult to find the right packages to install. If you are using Ubuntu 18.04 or 20.04, [this script](releases/ubuntu_install_prereqs.sh) should install everything you need. If you are using another Linux distribution, create an issue please and I will try to help you.
3232

3333

3434

docs/latest_version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v1.1.3
1+
v1.2.0

docs/releases/create_release.sh

Lines changed: 82 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -9,87 +9,135 @@ set -euo pipefail
99
IFS=$'\n\t'
1010

1111
version="${1:-}"
12+
platform="${2:-}"
1213
root_dir="../.."
1314

1415
# Check if we have everything we need
1516

16-
if [ -z "$version" ]; then
17-
echo "usage: $(basename $0) version"
17+
if [ -z "${version}" -o -z "${platform}" ]; then
18+
echo "usage: $(basename $0) version platform"
19+
exit 1
20+
fi
21+
if [ "${platform}" != "windows" -a "${platform}" != "linux" ]; then
22+
echo "usage: $(basename $0) version platform"
1823
exit 1
1924
fi
2025

2126
spaces_regex="[[:space:]]+"
22-
if [[ "$version" =~ $spaces_regex ]]; then
27+
if [[ "${version}" =~ $spaces_regex ]]; then
2328
echo "ERROR: version shouldn't contain spaces"
2429
exit 1
2530
fi
31+
if [[ "${platform}" =~ $spaces_regex ]]; then
32+
echo "ERROR: platform shouldn't contain spaces"
33+
exit 1
34+
fi
2635

27-
if [ ! -d "$root_dir/dungeoneering/application.windows64/" ]; then
36+
if [ "${platform}" == "windows" -a ! -d "${root_dir}/dungeoneering/application.windows64/" ]; then
2837
echo "ERROR: dir application.windows64 not found"
2938
exit 1
3039
fi
40+
if [ "${platform}" == "linux" -a ! -d "${root_dir}/dungeoneering/application.linux64/" ]; then
41+
echo "ERROR: dir application.linux64 not found"
42+
exit 1
43+
fi
3144

32-
if [ -d "$root_dir/releases/$version/dungeoneering-$version-win64/" ]; then
33-
echo "ERROR: dir dungeoneering-$version-win64 already exists"
45+
if [ "${platform}" == "windows" -a -d "${root_dir}/releases/${version}/dungeoneering-windows64/" ]; then
46+
echo "ERROR: dir dungeoneering-windows64 already exists"
47+
exit 1
48+
fi
49+
if [ "${platform}" == "linux" -a -d "${root_dir}/releases/${version}/dungeoneering-linux64/" ]; then
50+
echo "ERROR: dir dungeoneering-linux64 already exists"
3451
exit 1
3552
fi
3653

37-
echo "Creating release dungeoneering-$version-win64.zip..."
54+
echo "Creating release dungeoneering-${platform}64.zip..."
3855

3956
# Go to application root dir
4057

41-
cd $root_dir
58+
cd ${root_dir}
4259

43-
# Exclude exported application.windows32 dir
60+
# Exclude uneeded exported applications
4461

45-
echo -n " Exclude application.windows32 directory..."
46-
if [ -d dungeoneering/application.windows32/ ]; then
47-
rm -r dungeoneering/application.windows32/
62+
if [ "${platform}" == "windows" ]; then
63+
echo -n " Exclude application.windows32 directory..."
64+
if [ -d dungeoneering/application.windows32/ ]; then
65+
rm -r dungeoneering/application.windows32/
66+
fi
67+
echo " done"
68+
fi
69+
if [ "${platform}" == "linux" ]; then
70+
echo -n " Exclude application.linux32 directory..."
71+
if [ -d dungeoneering/application.linux32/ ]; then
72+
rm -r dungeoneering/application.linux32/
73+
fi
74+
echo " done"
75+
echo -n " Exclude application.linux-arm64 directory..."
76+
if [ -d dungeoneering/application.linux-arm64/ ]; then
77+
rm -r dungeoneering/application.linux-arm64/
78+
fi
79+
echo " done"
80+
echo -n " Exclude application.linux-armv6hf directory..."
81+
if [ -d dungeoneering/application.linux-armv6hf/ ]; then
82+
rm -r dungeoneering/application.linux-armv6hf/
83+
fi
84+
echo " done"
4885
fi
49-
echo " done"
5086

5187
# Create version root dir
5288

53-
echo -n " Create $version directory..."
54-
mkdir -p releases/$version
89+
echo -n " Create ${version} directory..."
90+
mkdir -p releases/${version}
5591
echo " done"
5692

57-
# Move application.windows64 to version dir
93+
# Move application dir to version dir
5894

59-
echo -n " Move application.windows64 to dungeoneering-$version-win64..."
60-
mv dungeoneering/application.windows64 releases/$version/dungeoneering-$version-win64
61-
echo " done"
95+
if [ "${platform}" == "windows" ]; then
96+
working_dir=dungeoneering-windows64
97+
echo -n " Move application.windows64 to ${working_dir}..."
98+
mv dungeoneering/application.windows64 releases/${version}/${working_dir}
99+
echo " done"
100+
fi
101+
if [ "${platform}" == "linux" ]; then
102+
working_dir=dungeoneering-linux64
103+
echo -n " Move application.linux64 to ${working_dir}..."
104+
mv dungeoneering/application.linux64 releases/${version}/${working_dir}
105+
echo " done"
106+
fi
62107

63108
# Copy release files to version dir
64109

65-
echo -n " Copy release files to dungeoneering-$version-win64..."
66-
cp docs/releases/*.txt releases/$version/dungeoneering-$version-win64/
67-
cp docs/CHANGELOG.md releases/$version/dungeoneering-$version-win64/CHANGELOG.txt
110+
echo -n " Copy release files to ${working_dir}..."
111+
cp docs/releases/*.txt releases/${version}/${working_dir}/
112+
cp docs/CHANGELOG.md releases/${version}/${working_dir}/CHANGELOG.txt
68113
echo " done"
69114

70115
# Copy libraries to lib dir and then remove platform specific files
71116

72-
echo -n " Copy libraries to dungeoneering-$version-win64/lib..."
73-
cp -r dungeoneering/code/* releases/$version/dungeoneering-$version-win64/lib
74-
rm -r releases/$version/dungeoneering-$version-win64/lib/macosx64/
75-
rm -r releases/$version/dungeoneering-$version-win64/lib/windows32/
117+
echo -n " Copy libraries to ${working_dir}/lib..."
118+
cp -r dungeoneering/code/* releases/${version}/${working_dir}/lib
119+
rm -r releases/${version}/${working_dir}/lib/macosx64/
120+
rm -r releases/${version}/${working_dir}/lib/windows32/
121+
if [ "${platform}" == "linux" ]; then
122+
rm -r releases/${version}/${working_dir}/lib/windows64/
123+
fi
76124
echo " done"
77125

78126
# Remove unnecessary files from version dir
79127

80-
echo -n " Remove unnecessary files from dungeoneering-$version-win64..."
81-
rm releases/$version/dungeoneering-$version-win64/source/dungeoneering.java
82-
rm -r releases/$version/dungeoneering-$version-win64/data/icons/orig/
83-
if [ -d releases/$version/dungeoneering-$version-win64/data/campaign/ ]; then
84-
rm -r releases/$version/dungeoneering-$version-win64/data/campaign/
128+
echo -n " Remove unnecessary files from ${working_dir}..."
129+
rm releases/${version}/${working_dir}/source/dungeoneering.java
130+
rm -r releases/${version}/${working_dir}/data/icons/orig/
131+
if [ -d releases/${version}/${working_dir}/data/campaign/ ]; then
132+
rm -r releases/${version}/${working_dir}/data/campaign/
85133
fi
86134
echo " done"
87135

88136
# Create release zip file
89137

90-
echo -n " Create a ZIP file with dungeoneering-$version-win64 contents..."
91-
cd releases/$version
92-
zip -qr dungeoneering-$version-win64.zip dungeoneering-$version-win64/
138+
echo -n " Create a ZIP file with ${working_dir} contents..."
139+
cd releases/${version}
140+
zip -qr ${working_dir}.zip ${working_dir}/
93141
echo " done"
94142

95143
echo "Done"
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#!/bin/bash
2+
#
3+
# Install Ubuntu gstreamer0.10 packages.
4+
#
5+
# Requirements: bash, coreutils, wget, dpkg
6+
#
7+
8+
set -euo pipefail
9+
IFS=$'\n\t'
10+
11+
# Check if it's Ubuntu 18.04 or 20.04
12+
lsb_release -d | grep -qi '18.04'; is_ubuntu_18=$?
13+
lsb_release -d | grep -qi '20.04'; is_ubuntu_20=$?
14+
if [ $is_ubuntu_18 -ne 0 -a $is_ubuntu_20 -ne 0 ]; then
15+
echo "ERROR: This script only works for Ubuntu 18.04 or 20.04. Please create an issue for other Ubuntu versions or for other Linux distributions."
16+
exit 1
17+
fi
18+
19+
# Create and move to packages dir
20+
cd ~ && mkdir gstreamer0.10 && cd gstreamer0.10/
21+
22+
# Download packages
23+
lsb_release -d | grep -qi '20.04' && wget https://launchpad.net/~linuxuprising/+archive/ubuntu/libpng12/+files/libpng12-0_1.2.54-1ubuntu1.1+1~ppa0~focal_amd64.deb
24+
lsb_release -d | grep -qi '18.04' && wget https://launchpad.net/~ubuntu-security/+archive/ubuntu/ppa/+build/15108504/+files/libpng12-0_1.2.54-1ubuntu1.1_amd64.deb
25+
wget http://launchpadlibrarian.net/215074266/libgstreamer0.10-0_0.10.36-1.5ubuntu1_amd64.deb
26+
wget http://launchpadlibrarian.net/421117832/libgstreamer-plugins-base0.10-0_0.10.36-2ubuntu0.2_amd64.deb
27+
wget http://launchpadlibrarian.net/312211203/gstreamer0.10-gconf_0.10.31-3+nmu4ubuntu2.16.04.3_amd64.deb
28+
wget http://launchpadlibrarian.net/421117831/gstreamer0.10-x_0.10.36-2ubuntu0.2_amd64.deb
29+
wget http://launchpadlibrarian.net/312211205/gstreamer0.10-pulseaudio_0.10.31-3+nmu4ubuntu2.16.04.3_amd64.deb
30+
wget http://launchpadlibrarian.net/421117830/gstreamer0.10-plugins-base_0.10.36-2ubuntu0.2_amd64.deb
31+
wget http://launchpadlibrarian.net/312211204/gstreamer0.10-plugins-good_0.10.31-3+nmu4ubuntu2.16.04.3_amd64.deb
32+
wget https://launchpad.net/~mc3man/+archive/ubuntu/gstffmpeg-keep/+files/gstreamer0.10-ffmpeg_0.10.13-5ubuntu1~wily_amd64.deb
33+
34+
# Install packages
35+
sudo apt install -y libcanberra-gtk-module libcanberra-gtk0
36+
sudo apt install -y gconf-service gconf-service-backend gconf2 gconf2-common libgconf-2-4 gconf-defaults-service
37+
lsb_release -d | grep -qi '20.04' && sudo dpkg -i libpng12-0_1.2.54-1ubuntu1.1+1~ppa0~focal_amd64.deb
38+
lsb_release -d | grep -qi '18.04' && sudo dpkg -i libpng12-0_1.2.54-1ubuntu1.1_amd64.deb
39+
sudo dpkg -i libgstreamer0.10-0_0.10.36-1.5ubuntu1_amd64.deb
40+
sudo dpkg -i libgstreamer-plugins-base0.10-0_0.10.36-2ubuntu0.2_amd64.deb
41+
sudo dpkg -i gstreamer0.10-gconf_0.10.31-3+nmu4ubuntu2.16.04.3_amd64.deb
42+
sudo dpkg -i gstreamer0.10-x_0.10.36-2ubuntu0.2_amd64.deb
43+
sudo dpkg -i gstreamer0.10-pulseaudio_0.10.31-3+nmu4ubuntu2.16.04.3_amd64.deb
44+
sudo dpkg -i gstreamer0.10-plugins-base_0.10.36-2ubuntu0.2_amd64.deb
45+
sudo dpkg -i gstreamer0.10-plugins-good_0.10.31-3+nmu4ubuntu2.16.04.3_amd64.deb
46+
sudo dpkg -i gstreamer0.10-ffmpeg_0.10.13-5ubuntu1~wily_amd64.deb

dungeoneering/dungeoneering.pde

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ void setup() {
117117

118118
previousClickTime = 0;
119119

120-
appVersion = "v1.1.3";
120+
appVersion = "v1.2.0";
121121
checkedForUpdates = false;
122122

123123
logger.info("Setup: dungeoneering initialization done");

0 commit comments

Comments
 (0)