diff options
author | Ben Longbons <b.r.longbons@gmail.com> | 2014-07-01 13:53:26 -0700 |
---|---|---|
committer | Ben Longbons <b.r.longbons@gmail.com> | 2014-07-01 15:50:28 -0700 |
commit | 8f44e6841f8be1d57ce859b60ecb616f6306c37c (patch) | |
tree | adf3b91d1a60c1cdeeeb6e825aa48f3df3b53be5 /src/char/char.cpp | |
parent | 1bf79f46612f57d22647cfab515c85ee641601ca (diff) | |
download | tmwa-8f44e6841f8be1d57ce859b60ecb616f6306c37c.tar.gz tmwa-8f44e6841f8be1d57ce859b60ecb616f6306c37c.tar.bz2 tmwa-8f44e6841f8be1d57ce859b60ecb616f6306c37c.tar.xz tmwa-8f44e6841f8be1d57ce859b60ecb616f6306c37c.zip |
Savefile fixes
Diffstat (limited to 'src/char/char.cpp')
-rw-r--r-- | src/char/char.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/char/char.cpp b/src/char/char.cpp index 8d3bccb..80ad697 100644 --- a/src/char/char.cpp +++ b/src/char/char.cpp @@ -452,6 +452,7 @@ bool extract(XString str, CharPair *cp) XString unused_cart; std::vector<struct skill_loader> skills; std::vector<GlobalReg> vars; + XString hair_style; if (!extract(str, record<'\t'>( &k->char_id, @@ -464,7 +465,7 @@ bool extract(XString str, CharPair *cp) record<','>(&p->status_point, &p->skill_point), record<','>(&p->option, &p->karma, &p->manner), record<','>(&p->party_id, &unused_guild_id, &unused_pet_id), - record<','>(&p->hair, &p->hair_color, &p->clothes_color), + record<','>(&hair_style, &p->hair_color, &p->clothes_color), record<','>(&p->weapon, &p->shield, &p->head_top, &p->head_mid, &p->head_bottom), &p->last_point, // somebody was silly and stuck partner id as a field @@ -478,6 +479,14 @@ bool extract(XString str, CharPair *cp) vrec<' '>(&vars)))) return false; + // leftover corruption from Platinum + if (hair_style == "-1"_s) + { + p->hair = 0; + } + else if (!extract(hair_style, &p->hair)) + return false; + if (wisp_server_name == k->name) return false; |