From 2016a9ef20a6762dfd1df867ebc352c1f631d58d Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Sat, 28 Jan 2017 20:07:31 +0100 Subject: [PATCH 1/5] unused function --- cmake | 2 +- src/kernel/xmlreader.c | 12 ------------ 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/cmake b/cmake index d88983c7f..f1fb3943a 160000 --- a/cmake +++ b/cmake @@ -1 +1 @@ -Subproject commit d88983c7ff4bc3a4884a7c3f74e8190bac5eab23 +Subproject commit f1fb3943ace59994d90d71a891b80033dc2700a2 diff --git a/src/kernel/xmlreader.c b/src/kernel/xmlreader.c index 36fe2d7f8..959872920 100644 --- a/src/kernel/xmlreader.c +++ b/src/kernel/xmlreader.c @@ -75,18 +75,6 @@ static void xml_readtext(xmlNodePtr node, struct locale **lang, xmlChar ** text) *text = xmlNodeListGetString(node->doc, node->children, 1); } -static const spell *xml_spell(xmlNode * node, const char *name) -{ - const spell *sp = NULL; - xmlChar *propValue = xmlGetProp(node, BAD_CAST name); - if (propValue != NULL) { - sp = find_spell((const char *)propValue); - assert(sp); - xmlFree(propValue); - } - return sp; -} - static spellref *xml_spellref(xmlNode * node, const char *name) { xmlChar *propValue = xmlGetProp(node, BAD_CAST name); From 36d884143ee406b3045350ac6f44395d45f2d05c Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Sun, 29 Jan 2017 11:06:08 +0100 Subject: [PATCH 2/5] =?UTF-8?q?Bug=202278:=20Neue=20Magier=20k=C3=B6nnen?= =?UTF-8?q?=20nicht=20gelehrt=20werden.=20http://bugs.eressea.de/view.php?= =?UTF-8?q?=3Fid=3D2278?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/study.c | 4 ++-- src/study.test.c | 29 +++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/study.c b/src/study.c index 1dd4da8b8..89be92bbd 100644 --- a/src/study.c +++ b/src/study.c @@ -473,8 +473,8 @@ int teach_cmd(unit * u, struct order *ord) * Lehrer seines Gebietes */ sc_mage *mage1 = get_mage(u); sc_mage *mage2 = get_mage(u2); - if (!mage2 || !mage1 || (mage2->magietyp != M_GRAY - && mage1->magietyp != mage2->magietyp)) { + if (mage2 && mage1 && mage2->magietyp != M_GRAY + && mage1->magietyp != mage2->magietyp) { if (feedback) { ADDMSG(&u->faction->msgs, msg_feedback(u, ord, "error_different_magic", "target", u2)); diff --git a/src/study.test.c b/src/study.test.c index 47976930d..83628a123 100644 --- a/src/study.test.c +++ b/src/study.test.c @@ -381,6 +381,34 @@ static void test_study_cost(CuTest *tc) { test_cleanup(); } +static void test_teach_magic(CuTest *tc) { + unit *u, *ut; + faction *f; + const struct item_type *itype; + + test_setup(); + init_resources(); + itype = get_resourcetype(R_SILVER)->itype; + f = test_create_faction(0); + f->magiegebiet = M_GWYRRD; + u = test_create_unit(f, test_create_region(0, 0, 0)); + u->thisorder = create_order(K_STUDY, f->locale, "%s", skillnames[SK_MAGIC]); + i_change(&u->items, itype, study_cost(u, SK_MAGIC)); + ut = test_create_unit(f, u->region); + set_level(ut, SK_MAGIC, TEACHDIFFERENCE); + create_mage(ut, M_GWYRRD); + ut->thisorder = create_order(K_TEACH, f->locale, "%s", itoa36(u->no)); + learn_inject(); + teach_cmd(ut, ut->thisorder); + study_cmd(u, u->thisorder); + learn_reset(); + CuAssertPtrEquals(tc, u, log_learners[0].u); + CuAssertIntEquals(tc, SK_MAGIC, log_learners[0].sk); + CuAssertIntEquals(tc, STUDYDAYS*2, log_learners[0].days); + CuAssertIntEquals(tc, 0, i_get(u->items, itype)); + test_cleanup(); +} + static void test_teach_cmd(CuTest *tc) { unit *u, *ut; test_setup(); @@ -550,6 +578,7 @@ CuSuite *get_study_suite(void) SUITE_ADD_TEST(suite, test_study_cost); SUITE_ADD_TEST(suite, test_study_magic); SUITE_ADD_TEST(suite, test_teach_cmd); + SUITE_ADD_TEST(suite, test_teach_magic); SUITE_ADD_TEST(suite, test_teach_two); SUITE_ADD_TEST(suite, test_teach_one_to_many); SUITE_ADD_TEST(suite, test_teach_many_to_one); From bf22cbc2ef49369781b713a5aa8838ad888c2408 Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Sun, 29 Jan 2017 11:30:22 +0100 Subject: [PATCH 3/5] increase MAXTEACHERS again (permament fix in 3.11) --- src/study.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/study.h b/src/study.h index 20903583a..9d053dd5e 100644 --- a/src/study.h +++ b/src/study.h @@ -45,7 +45,7 @@ extern "C" { void demon_skillchange(struct unit *u); -#define MAXTEACHERS 32 +#define MAXTEACHERS 64 #define TEACHNUMBER 10 typedef struct teaching_info { struct unit *teachers[MAXTEACHERS]; From f58db3f729a49abf8a72a963e93c2fce2acc1df4 Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Sun, 29 Jan 2017 12:59:09 +0100 Subject: [PATCH 4/5] Bug 2276: hacking a band-aid fix for compress.sh aka the game.name related mailpocalypse http://bugs.eressea.de/view.php?id=2276 --- process/compress.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/process/compress.sh b/process/compress.sh index ff152b9f1..23b0929dd 100755 --- a/process/compress.sh +++ b/process/compress.sh @@ -6,7 +6,7 @@ if [ -z $ERESSEA ]; then fi GAME=$ERESSEA/game-$1 -GAME_NAME=$(grep name $GAME/eressea.ini | sed 's/.*=\s*//') +GAME_NAME=$(grep -w name $GAME/eressea.ini | sed 's/.*=\s*//') TURN=$2 if [ -z $TURN ] From 3d8d091207494a65785feb2f61e1c2fe69486f9e Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Mon, 30 Jan 2017 10:26:08 +0100 Subject: [PATCH 5/5] new build scripts, new versioning system --- s/build | 11 +++++++---- s/cmake-init | 9 +-------- s/runtests | 6 +----- src/kernel/version.c | 2 +- 4 files changed, 10 insertions(+), 18 deletions(-) diff --git a/s/build b/s/build index b59804626..f471229b8 100755 --- a/s/build +++ b/s/build @@ -1,8 +1,5 @@ #!/bin/sh -ROOT=`pwd` -while [ ! -d $ROOT/.git ]; do - ROOT=`dirname $ROOT` -done +ROOT=$(git rev-parse --show-toplevel) [ -z "$BUILD" ] && BUILD=Debug if [ -z "$JOBS" ] ; then @@ -37,7 +34,13 @@ git submodule update echo "build eressea" cd $ROOT/$BUILD +BRANCH=$(git status -s -b | head -1 | cut -d\ -f 2 | sed 's/\..*//') +if [ "$BRANCH" == "master" ] ; then VERSION=$(git describe --match 'v*.*.*' --tags | sed 's/^v//') cmake -DERESSEA_VERSION="$VERSION" .. +else +REV=$(git rev-parse --short HEAD) +cmake -DERESSEA_BUILDNO="$REV-$BUILD" .. +fi make $MAKEOPTS && make test cd $OLDPWD diff --git a/s/cmake-init b/s/cmake-init index ea94afb7c..370725a4d 100755 --- a/s/cmake-init +++ b/s/cmake-init @@ -1,13 +1,6 @@ #!/bin/sh -ROOT=$(pwd) -while [ ! -d $ROOT/.git ]; do - ROOT=$(dirname $ROOT) - if [ "$ROOT" == "/" ; then - echo "could not find root, are you in the git repository?" - exit - fi -done +ROOT=$(git rev-parse --show-toplevel) [ -z $BUILD ] && BUILD=Debug [ -z "$CC" ] && [ ! -z `which clang` ] && CC="clang" [ -z "$CC" ] && [ ! -z `which gcc` ] && CC="gcc" diff --git a/s/runtests b/s/runtests index e0e20b5c7..58498436f 100755 --- a/s/runtests +++ b/s/runtests @@ -1,11 +1,7 @@ #!/bin/bash set -e -ROOT=$(pwd) -while [ ! -d $ROOT/.git ]; do - ROOT=$(dirname $ROOT) -done - +ROOT=$(git rev-parse --show-toplevel) [ -z $BUILD ] && BUILD=Debug ; export BUILD if [ ! -e $ROOT/$BUILD ]; then diff --git a/src/kernel/version.c b/src/kernel/version.c index 6de6ddb40..45b9815bc 100644 --- a/src/kernel/version.c +++ b/src/kernel/version.c @@ -5,7 +5,7 @@ #ifndef ERESSEA_VERSION // the version number, if it was not passed to make with -D -#define ERESSEA_VERSION "3.10.0-devel" +#define ERESSEA_VERSION "3.10.0" #endif const char *eressea_version(void) {