Fix visual studio compilation for Solthar's curse changes (float/int conversions, uninitialized variable).

This commit is contained in:
Enno Rehling 2015-05-11 23:54:21 -07:00
parent 94929be51f
commit bf5fae2ef5
3 changed files with 6 additions and 3 deletions

View File

@ -255,6 +255,9 @@ void curse_write(const attrib * a, const void *owner, struct storage *store)
if (global.data_version < EXPLICIT_CURSE_ISNEW_VERSION) { if (global.data_version < EXPLICIT_CURSE_ISNEW_VERSION) {
flags = (c->flags & ~CURSE_ISNEW) | (c->type->flags & CURSE_ISNEW); flags = (c->flags & ~CURSE_ISNEW) | (c->type->flags & CURSE_ISNEW);
} }
else {
flags = c->flags | c->type->flags;
}
WRITE_INT(store, c->no); WRITE_INT(store, c->no);
WRITE_TOK(store, ct->cname); WRITE_TOK(store, ct->cname);

View File

@ -1282,7 +1282,7 @@ static int update_gbdream(const unit * u, int bonus, curse *c, const curse_type
if (sign * effect > sign * bonus) { if (sign * effect > sign * bonus) {
if (mage == NULL || mage->number == 0 if (mage == NULL || mage->number == 0
|| sign>0?alliedunit(mage, u->faction, HELP_GUARD):!alliedunit(mage, u->faction, HELP_GUARD)) { || sign>0?alliedunit(mage, u->faction, HELP_GUARD):!alliedunit(mage, u->faction, HELP_GUARD)) {
bonus = effect; bonus = (int)effect;
} }
} }
} }
@ -1322,7 +1322,7 @@ int att_modification(const unit * u, skill_t sk)
* jeweils erste vom Typ C_GBDREAM zurueckgegen wird, wir aber alle * jeweils erste vom Typ C_GBDREAM zurueckgegen wird, wir aber alle
* durchsuchen und aufaddieren muessen */ * durchsuchen und aufaddieren muessen */
if (u->region) { if (u->region) {
double bonus = 0, malus = 0; int bonus = 0, malus = 0;
attrib *a = a_find(u->region->attribs, &at_curse); attrib *a = a_find(u->region->attribs, &at_curse);
while (a && a->type == &at_curse) { while (a && a->type == &at_curse) {
curse *c = (curse *)a->data.v; curse *c = (curse *)a->data.v;

View File

@ -4697,7 +4697,7 @@ static int sp_gbdreams(castorder * co, const char *curse_name, int effect)
duration = 2 + rng_int() % duration; duration = 2 + rng_int() % duration;
/* Nichts machen als ein entsprechendes Attribut in die Region legen. */ /* Nichts machen als ein entsprechendes Attribut in die Region legen. */
c = create_curse(mage, &r->attribs, ct_find(curse_name), power, duration, effect, 0); c = create_curse(mage, &r->attribs, ct_find(curse_name), power, duration, (float)effect, 0);
/* Erfolg melden */ /* Erfolg melden */
ADDMSG(&mage->faction->msgs, msg_message("regionmagic_effect", ADDMSG(&mage->faction->msgs, msg_message("regionmagic_effect",