Merge pull request #741 from ennorehling/master

BUG 2383 remove irace assert
This commit is contained in:
Enno Rehling 2017-11-18 18:31:38 +01:00 committed by GitHub
commit 921dcf5348
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 3 deletions

View File

@ -853,8 +853,6 @@ void cr_output_unit(stream *out, const region * r, const faction * f,
stream_printf(out, "\"%s\";Typ\n", stream_printf(out, "\"%s\";Typ\n",
translate(zRace, LOC(f->locale, zRace))); translate(zRace, LOC(f->locale, zRace)));
if (u->faction == f && irace != u_race(u)) { if (u->faction == f && irace != u_race(u)) {
assert(skill_enabled(SK_STEALTH)
|| !"we're resetting this on load, so.. ircase should never be used");
zRace = rc_name_s(u_race(u), NAME_PLURAL); zRace = rc_name_s(u_race(u), NAME_PLURAL);
stream_printf(out, "\"%s\";wahrerTyp\n", stream_printf(out, "\"%s\";wahrerTyp\n",
translate(zRace, LOC(f->locale, zRace))); translate(zRace, LOC(f->locale, zRace)));

View File

@ -509,7 +509,7 @@ unit *read_unit(gamedata *data)
u_setrace(u, rc); u_setrace(u, rc);
READ_TOK(data->store, rname, sizeof(rname)); READ_TOK(data->store, rname, sizeof(rname));
if (rname[0] && skill_enabled(SK_STEALTH)) if (rname[0])
u->irace = rc_find(rname); u->irace = rc_find(rname);
else else
u->irace = NULL; u->irace = NULL;

View File

@ -1,5 +1,6 @@
#include <platform.h> #include <platform.h>
#include <kernel/config.h> #include <kernel/config.h>
#include <kernel/race.h>
#include <util/attrib.h> #include <util/attrib.h>
#include <util/gamedata.h> #include <util/gamedata.h>
#include <attributes/key.h> #include <attributes/key.h>
@ -51,6 +52,7 @@ static void test_readwrite_unit(CuTest * tc)
struct unit *u; struct unit *u;
struct region *r; struct region *r;
struct faction *f; struct faction *f;
struct race *irace;
int fno; int fno;
test_setup(); test_setup();
@ -60,6 +62,12 @@ static void test_readwrite_unit(CuTest * tc)
u = test_create_unit(f, r); u = test_create_unit(f, r);
unit_setname(u, " Hodor "); unit_setname(u, " Hodor ");
CuAssertStrEquals(tc, " Hodor ", u->_name); CuAssertStrEquals(tc, " Hodor ", u->_name);
enable_skill(SK_STEALTH, false);
irace = test_create_race("halfling");
CuAssertTrue(tc, playerrace(irace));
u->irace = irace;
CuAssertTrue(tc, irace == u_irace(u));
mstream_init(&data.strm); mstream_init(&data.strm);
gamedata_init(&data, &store, RELEASE_VERSION); gamedata_init(&data, &store, RELEASE_VERSION);
write_unit(&data, u); write_unit(&data, u);
@ -74,6 +82,7 @@ static void test_readwrite_unit(CuTest * tc)
CuAssertPtrNotNull(tc, u); CuAssertPtrNotNull(tc, u);
CuAssertPtrEquals(tc, f, u->faction); CuAssertPtrEquals(tc, f, u->faction);
CuAssertStrEquals(tc, "Hodor", u->_name); CuAssertStrEquals(tc, "Hodor", u->_name);
CuAssertTrue(tc, irace == u_irace(u));
CuAssertPtrEquals(tc, 0, u->region); CuAssertPtrEquals(tc, 0, u->region);
mstream_done(&data.strm); mstream_done(&data.strm);