-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathscreenshots.txt
110 lines (89 loc) · 5.5 KB
/
screenshots.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
= Screenshots
// See COPYING.adoc for license terms of this file.
// The naming convention for screenshot image files:
// * <phase>-<engine-name>-<map>-<description>-<version>.png
// * Each screenshot has a thumbnail with the same name, but prefixed with "th_".
// * Lower case.
// * Dash ("-") is preferred over underscore ("_").
// * Spaces are not supported.
// Aspect ratio, dimensions and filtering
// Traditional game engines, such as Chocolate Doom, produce 320x200
// screenshots that were intended to rendered on a display with pixels that
// are 1.2 times as tall as they are wide. However, since modern displays
// have square pixels the screens shots look a bit distorted (they appear
// shorter and wider than they should). To correct this the underlying
// screenshot is scaled up 5x horizontally, and 6x vertically, which has a
// ratio of 1.2, to produce a 1600x1200 pixel perfect representation of the
// screenshot, but with 5x6 pixel blocks that have the required height. To do
// this "-filter point" is passed to ImageMagick for Chocolate Doom only in
// order to disable the interpolation than normally happens when images are
// scaled. Alternatively the 320x200 screenshots can be scaled to 320x240 to
// give them the correct aspect ratio. Doing so is pixel perfect in the
// horizontal direction only, which is what is done for the thumbnails.
//
// Other game engines, such as GZDoom, assume square pixels, run at the full
// system resolution (1920x1080 is common) and use OpenGL and related
// technologies to interpolate between pixels. To accommodate this
// "-filter point" is not used for the GZDoom screenshots - the usual image
// scaling is allowed.
//
// Timestamps (tIME chunks) are excluded from the thumbnails, but not the
// full images, so that rebuilding the thumbails only causes a file
// difference when the full image has changed. See the full image for the
// time.
// The following Linux bash commands may be helpful.
//
// Append the version if it is not already appended:
// v=0.13.0; for p in $(ls -1 img/screenshots/*.png | grep -v ^th_ | grep -vP '\d+\.\d+\.png'); do mv -i $p ${p/.png/-$v.png}; done
//
// Generate thumbnails with a height of 240:
// rm -f img/screenshots/th_*.png; for p in $(ls -1 img/screenshots/*.png | grep -v ^th_); do if [[ $p == *chocolate* ]]; then opts="-filter point"; else opts=""; fi; convert $p -resize x240 -define png:exclude-chunk=tIME $opts img/screenshots/th_${p##*/}; done
//
// Output image links, which can be organized and placed below:
// for t in img/screenshots/th_*.png; do p=${t/th_/}; echo "image:$t[link=\"$p\"]"; done
Since Freedoom is not a game engine multiple game engines are used here
to showcase it. The https://www.chocolate-doom.org/[Chocolate Doom] screenshots
are based on 320x200 rendering output, scaled losslessly to 1600x1200 for an
authentic 1990s FPS feel with crisp pixels. The https://zdoom.org/[GZDoom]
screenshots can be whatever settings the screenshot-taker wants (e.g.,
setting https://zdoom.org/wiki/CVARs:Display#gl_texture_filter"[gl_texture_filter] to 6 to un-blur nearby sprite and
texture pixels), though the thumbnails will be cropped to 320x240
to match the Chocolate.
== Phase 1
The following screenshots are from _Freedoom: Phase 1_ on Chocolate Doom:
image:img/screenshots/tn_p1_1.jpg[link="img/screenshots/p1_1.png"]
image:img/screenshots/tn_p1_2.jpg[link="img/screenshots/p1_2.png"]
image:img/screenshots/tn_p1_3.jpg[link="img/screenshots/p1_3.png"]
image:img/screenshots/tn_p1_4.jpg[link="img/screenshots/p1_4.png"]
The following screenshots are from _Freedoom: Phase 1_ on GZDoom:
image:img/screenshots/tn_p1_5.jpg[link="img/screenshots/p1_5.jpg"]
image:img/screenshots/tn_p1_6.jpg[link="img/screenshots/p1_6.jpg"]
image:img/screenshots/tn_p1_7.jpg[link="img/screenshots/p1_7.jpg"]
image:img/screenshots/tn_p1_8.jpg[link="img/screenshots/p1_8.jpg"]
== Phase 2
The following screenshots are from _Freedoom: Phase 2_ on Chocolate Doom:
image:img/screenshots/tn_p2_1.jpg[link="img/screenshots/p2_1.png"]
image:img/screenshots/tn_p2_2.jpg[link="img/screenshots/p2_2.png"]
image:img/screenshots/tn_p2_3.jpg[link="img/screenshots/p2_3.png"]
image:img/screenshots/tn_p2_4.jpg[link="img/screenshots/p2_4.png"]
The following screenshots are from _Freedoom: Phase 2_ on GZDoom:
image:img/screenshots/tn_p2_5.jpg[link="img/screenshots/p2_5.jpg"]
image:img/screenshots/tn_p2_6.jpg[link="img/screenshots/p2_6.jpg"]
image:img/screenshots/tn_p2_7.jpg[link="img/screenshots/p2_7.jpg"]
image:img/screenshots/tn_p2_8.jpg[link="img/screenshots/p2_8.jpg"]
== FreeDM
The following screenshots are from _FreeDM_ on Chocolate Doom:
image:img/screenshots/tn_dm_1.jpg[link="img/screenshots/dm_1.png"]
image:img/screenshots/tn_dm_2.jpg[link="img/screenshots/dm_2.png"]
image:img/screenshots/tn_dm_3.jpg[link="img/screenshots/dm_3.png"]
image:img/screenshots/tn_dm_4.jpg[link="img/screenshots/dm_4.png"]
The following screenshots are from _FreeDM_ on GZDoom:
image:img/screenshots/tn_dm_5.jpg[link="img/screenshots/dm_5.jpg"]
image:img/screenshots/tn_dm_6.jpg[link="img/screenshots/dm_6.jpg"]
image:img/screenshots/tn_dm_7.jpg[link="img/screenshots/dm_7.jpg"]
image:img/screenshots/tn_dm_8.jpg[link="img/screenshots/dm_8.jpg"]
== Copyright licenses for these screenshots
These screenshots are all available for reuse under the same license
as _Freedoom_ itself, which may be found at
https://github.com/freedoom/freedoom/blob/master/COPYING.adoc[+COPYING.adoc+]
(+COPYING.txt+ in compiled zip files) in the _Freedoom_ source tree.