`RandomChance` type, and two new item fields: `MagicEffectChance`, `MagicEffectDuration`
[k8-i-v-a-n.git] / 0build.sh
blobf280badd510d810caad5c7bc14cd48b9abcbefbc
1 #!/bin/sh
2 # WARNING! SHITTY CODE!
5 defines="-DSGAME_SHOTS_IPU -DWIZARD -DLOCAL_SAVES"
6 cflags="-Wno-narrowing -Isrc/felib"
7 lflags="-lm"
8 objects=""
9 have_package=""
12 find_package() {
13 if [ "z$2" != "z" ]; then
14 pkg-config --silence-errors $1 --atleast-version=$2
15 else
16 pkg-config --silence-errors $1
18 if [ "$?" = "0" ]; then
19 cflags="${cflags} `pkg-config $1 --cflags`"
20 lflags="${lflags} `pkg-config $1 --libs`"
21 #echo "MSG: package '$1' found"
22 have_package="tan"
23 else
24 #echo "MSG: no package '$1'"
25 have_package="ona"
30 # $1: srcdir
31 # $2: srcfile
32 # $3: use gcc if not empty
33 compile() {
34 local obj
36 obj=`basename $2 .cpp`
37 obj=`basename $obj .c`
38 obj="${obj}.o"
39 echo "CC $2"
40 obj="_build/${obj}"
41 objects="${objects} ${obj}"
42 gcc -pipe -c -O2 -Wall -Wno-misleading-indentation -Isrc/game -std=gnu++14 ${defines} ${cflags} -o ${obj} "$1/$2"
43 if [ "$?" != "0" ]; then
44 echo "FATAL: compilation failed!"
45 exit 1
50 link() {
51 echo "LINK ivan"
52 g++ -pipe -s -o ivan ${objects} ${lflags}
53 if [ "$?" != "0" ]; then
54 echo "FATAL: linking failed!"
55 exit 1
60 find_package sdl 1.2
61 if [ "$have_package" != "tan" ]; then
62 echo "FATAL: you need SDL development package installed, version 1.2 or above!"
63 exit 1
66 find_package SDL_mixer 1.2
67 if [ "$have_package" != "tan" ]; then
68 echo "MSG: no SDL_mixer package found, sound disabled"
69 defines="${defines} -DDISABLE_SOUND"
70 else
71 echo "MSG: sound support enabled"
74 find_package libpng 1.6
75 if [ "$have_package" = "tan" ]; then
76 defines="${defines} -DHAVE_LIBPNG"
77 echo "MSG: libpng found"
78 else
79 find_package libpng16 1.6
80 if [ "$have_package" = "tan" ]; then
81 defines="${defines} -DHAVE_LIBPNG"
82 echo "MSG: libpng found"
83 else
84 #find_package imlib2 1.4
85 #if [ "$have_package" = "tan" ]; then
86 # defines="${defines} -DHAVE_IMLIB2"
87 # echo "MSG: imlib2 found"
88 #fi
89 echo "FATAL: libpng v1.6 not found!"
90 exit 1
94 find_package zlib 1.2
95 if [ "$have_package" = "tan" ]; then
96 defines="${defines} -DUSE_ZLIB"
97 echo "MSG: compressed saves enabled"
100 find_package gl
101 if [ "$have_package" = "tan" ]; then
102 echo "MSG: OpenGL renderer enabled"
103 else
104 echo "MSG: OpenGL renderer disabled"
105 defines="${defines} -DDISABLE_OPENGL"
108 find_package alsa
109 if [ "$have_package" = "tan" ]; then
110 echo "MSG: ALSA silencing enabled"
111 defines="${defines} -DENABLE_ALSA"
115 #find_package libpng 1.5
116 #if [ "$have_package" = "tan" ]; then
117 # defines="${defines} -DHAVE_LIBPNG"
121 mkdir _build 2>/dev/null
123 compile src/felib bitmap.cpp
124 compile src/felib config.cpp
125 compile src/felib feerror.cpp
126 compile src/felib feio.cpp
127 compile src/felib felist.cpp
128 compile src/felib femain.cpp
129 compile src/felib femath.cpp
130 compile src/felib festring.cpp
131 compile src/felib fetime.cpp
132 compile src/felib graphics.cpp
133 compile src/felib hscore.cpp
134 compile src/felib rawbit.cpp
135 compile src/felib fesave.cpp
136 compile src/felib whandler.cpp
137 compile src/felib regex.c
139 compile src/game ivancommon.cpp
140 compile src/game actset.cpp
141 compile src/game areaset.cpp
142 compile src/game charset.cpp
143 compile src/game charsset.cpp
144 compile src/game command.cpp
145 compile src/game coreset.cpp
146 compile src/game dataset.cpp
147 compile src/game dungeon.cpp
148 compile src/game game.cpp
149 compile src/game godset.cpp
150 compile src/game iconf.cpp
151 compile src/game id.cpp
152 compile src/game igraph.cpp
153 compile src/game itemset.cpp
154 compile src/game levelset.cpp
155 compile src/game main.cpp
156 compile src/game materset.cpp
157 compile src/game message.cpp
158 compile src/game object.cpp
159 compile src/game roomset.cpp
160 compile src/game script.cpp
161 compile src/game slotset.cpp
162 compile src/game trapset.cpp
163 compile src/game wmapset.cpp
164 compile src/game wskill.cpp
166 link