Mercurial > mm7
diff Engine/Serialization/LegacyImages.cpp @ 2575:a76d408c5132 tip
DrawTranslucent -> DrawTextureGrayShade
Removed old texture drawing stuff
author | a.parshin |
---|---|
date | Wed, 09 Mar 2016 01:39:52 +0200 |
parents | d569340b05ff |
children |
line wrap: on
line diff
--- a/Engine/Serialization/LegacyImages.cpp Mon Mar 07 03:48:40 2016 +0200 +++ b/Engine/Serialization/LegacyImages.cpp Wed Mar 09 01:39:52 2016 +0200 @@ -1,6 +1,8 @@ #include "Engine/Engine.h" +#include "Engine/LOD.h" #include "Engine/Timer.h" #include "Engine/Party.h" +#include "Engine/Tables/IconFrameTable.h" #include "Engine/Objects/NPC.h" #include "Engine/Graphics/Overlays.h" #include "Engine/Serialization/LegacyImages.h" @@ -83,6 +85,18 @@ memset(this, 0, sizeof(*this)); } +IconFrame_MM7::IconFrame_MM7() +{ + Assert(sizeof(*this) == 0x20); + memset(this, 0, sizeof(*this)); +} + +UIAnimation_MM7::UIAnimation_MM7() +{ + Assert(sizeof(*this) == 0xD); + memset(this, 0, sizeof(*this)); +} + @@ -942,4 +956,55 @@ player->uNumArmageddonCasts = this->uNumArmageddonCasts; player->uNumFireSpikeCasts = this->uNumFireSpikeCasts; player->field_1B3B = this->field_1B3B; +} + + + +void IconFrame_MM7::Serialize(Icon *icon) +{ + strcpy(pAnimationName, icon->GetAnimationName()); + uAnimLength = icon->GetAnimLength(); + + strcpy(pTextureName, icon->pTextureName); + uAnimTime = icon->GetAnimTime(); + uFlags = icon->uFlags; + + __debugbreak(); // impossible + //uTextureID = icon->uTextureID; +} + +void IconFrame_MM7::Deserialize(Icon *icon) +{ + icon->SetAnimationName(this->pAnimationName); + icon->SetAnimLength(8 * this->uAnimLength); + + strcpy(icon->pTextureName, pTextureName); + icon->SetAnimTime(uAnimTime); + icon->uFlags = uFlags; + icon->texture = assets->GetImage_16BitColorKey(pIcons_LOD->pTextures[uTextureID].pName, 0x7FF); +} + + + +void UIAnimation_MM7::Serialize(UIAnimation *anim) +{ + /* 000 */ uIconID = anim->icon->id; + /* 002 */ field_2 = anim->field_2; + /* 004 */ uAnimTime = anim->uAnimTime; + /* 006 */ uAnimLength = anim->uAnimLength; + /* 008 */ x = anim->x; + /* 00A */ y = anim->y; + /* 00C */ field_C = anim->field_C; +} + +void UIAnimation_MM7::Deserialize(UIAnimation *anim) +{ + anim->icon = pIconsFrameTable->GetIcon(uIconID); + ///* 000 */ anim->uIconID = uIconID; + /* 002 */ anim->field_2 = field_2; + /* 004 */ anim->uAnimTime = uAnimTime; + /* 006 */ anim->uAnimLength = uAnimLength; + /* 008 */ anim->x = x; + /* 00A */ anim->y = y; + /* 00C */ anim->field_C = field_C; } \ No newline at end of file