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