From 79f03a4cb09f425fd01684375579ed71fc25f043 Mon Sep 17 00:00:00 2001 From: Daveo Date: Fri, 27 Jul 2001 15:55:19 +0000 Subject: [PATCH] --- Utils/MkLevel/Layers/MkLevelLayerRGB.cpp | 197 +++++++++++++++++++++++ Utils/MkLevel/Layers/MkLevelLayerRGB.h | 43 +++++ 2 files changed, 240 insertions(+) create mode 100644 Utils/MkLevel/Layers/MkLevelLayerRGB.cpp create mode 100644 Utils/MkLevel/Layers/MkLevelLayerRGB.h diff --git a/Utils/MkLevel/Layers/MkLevelLayerRGB.cpp b/Utils/MkLevel/Layers/MkLevelLayerRGB.cpp new file mode 100644 index 000000000..834d0c226 --- /dev/null +++ b/Utils/MkLevel/Layers/MkLevelLayerRGB.cpp @@ -0,0 +1,197 @@ +/*******************/ +/*** Layer Shade ***/ +/*******************/ + +#include +#include + +#include "MkLevelLayer.h" +#include "MkLevelLayerShade.h" + +/*****************************************************************************/ +/*****************************************************************************/ +/*****************************************************************************/ +CMkLevelLayerShade::CMkLevelLayerShade(sExpLayerHdr *LayerHdr) +{ +int i,ListSize; +int *iPtr; +u8 *Ptr=(u8*)LayerHdr; + + Type=LayerHdr->Type; + SubType=LayerHdr->SubType; + Width=LayerHdr->Width; + Height=LayerHdr->Height; + + iPtr=(int*)(Ptr+sizeof(sExpLayerHdr)); + + ShadeHdr.BandCount=*iPtr++; +sRGBCol *RGB=(sRGBCol*)iPtr; + for (i=0; iR; + ShadeHdr.RGB[i][1]=RGB->G; + ShadeHdr.RGB[i][2]=RGB->B; + RGB++; + } + iPtr=(int*)RGB; + + ListSize=*iPtr++; + GfxList.resize(ListSize); +sLayerShadeGfx *GfxPtr=(sLayerShadeGfx*)iPtr; + for (i=0; iGetConfigStr("MISC","BackGfxDir"); +CTexGrab &TexGrab=Core->GetTexGrab(); + + for (i=0; iGetTexGrab(); + + //printf("Process Shade Layer\n"); + for (i=0; i + +/*****************************************************************************/ +struct sBackGfxList +{ + GString Name; + int TexID; + sLayerShadeBackGfxType Out; + +bool operator ==(sBackGfxList const &v1) {return(Name==v1.Name);} +}; + +/*****************************************************************************/ +class CMkLevelLayerShade : public CMkLevelLayer +{ +public: + CMkLevelLayerShade(sExpLayerHdr *LayerHdr); + + void PreProcess(CMkLevel *Core); + void Process(CMkLevel *Core); + int Write(CMkLevel *Core,FILE *File,const char *LayerName); + +protected: + int WriteTypeList(FILE *File); + int WriteGfxList(FILE *File); + + CList TypeNameList; + CList GfxList; + + CList OutTypeList; + sLayerShadeHdr ShadeHdr; +}; + +/*****************************************************************************/ +#endif