summaryrefslogtreecommitdiff
path: root/src/win95/sprchunk.cpp
diff options
context:
space:
mode:
authorSteven Fuller <relnev@icculus.org>2008-05-04 20:47:08 -0700
committerPatryk Obara <dreamer.tan@gmail.com>2019-08-20 02:22:37 +0200
commit5d3725f9d972cde917ab9b076cb0b89b33557c7a (patch)
tree7378f5fac1dc90fd3d8f52f02db25714010f8912 /src/win95/sprchunk.cpp
parent9b449609fac7b23f2f9655ce2d766f1f56679ba4 (diff)
Removed a lot of tool code.
Diffstat (limited to 'src/win95/sprchunk.cpp')
-rw-r--r--src/win95/sprchunk.cpp263
1 files changed, 0 insertions, 263 deletions
diff --git a/src/win95/sprchunk.cpp b/src/win95/sprchunk.cpp
index 93f67e6..83a8aac 100644
--- a/src/win95/sprchunk.cpp
+++ b/src/win95/sprchunk.cpp
@@ -1,15 +1,6 @@
#include "sprchunk.hpp"
#include "mishchnk.hpp"
-#if cencon
-#include "fnamefnc.hpp"
-#include "bmpnames.hpp"
-#include "shpchunk.hpp"
-#endif
-
-#ifdef cencon
-#define new my_new
-#endif
//macro for helping to force inclusion of chunks when using libraries
FORCE_CHUNK_INCLUDE_IMPLEMENT(sprchunk)
@@ -300,260 +291,6 @@ BOOL Sprite_Header_Chunk::output_chunk(HANDLE & hand)
return TRUE;
}
-#if cencon
-void Sprite_Header_Chunk::post_input_processing()
-{
- if (parent)
- {
- List<Chunk *> chlst;
- GetRootChunk()->lookup_child("REBENVDT",chlst);
- Lockable_Chunk_With_Children * envd = 0;
- if (chlst.size()) envd = (Lockable_Chunk_With_Children *) chlst.first_entry();
-
- BOOL fixpal = IsFixedPalette(envd);
-
- lookup_child("SHPEXTFN",chlst);
-
- if (chlst.size())
- {
- Shape_External_Filename_Chunk * sefc = (Shape_External_Filename_Chunk *)chlst.first_entry();
-
- #if cencon
- twprintf("Locating %s\n",sefc->file_name);
- char * locatedfile = FindExistingFileInPath_PreferWriteable(CWnd::GetActiveWindow(),sefc->file_name,"RifSearchPath");
- twprintf("Loading %s\n",locatedfile ? locatedfile : sefc->file_name);
- Sprite_Header_Chunk rfc(locatedfile ? locatedfile : sefc->file_name);
- if (locatedfile)
- {
- delete[] locatedfile;
- }
- #else
- Sprite_Header_Chunk rfc(sefc->file_name);
- #endif
-
- if (rfc.error_code != 0)
- {
- return;
- }
-
- lookup_child("SPRITVER",chlst);
- int myver = -2;
- if (chlst.size())
- {
- Sprite_Version_Number_Chunk * svnc = (Sprite_Version_Number_Chunk *)chlst.first_entry();
- myver = svnc->version_num;
- }
- rfc.lookup_child("SPRITVER",chlst);
- int yourver = -1;
- if (chlst.size())
- {
- Sprite_Version_Number_Chunk * svnc = (Sprite_Version_Number_Chunk *)chlst.first_entry();
- yourver = svnc->version_num;
- }
-
- if (yourver != myver)
- {
- #define NOT_A_BITMAP_RELATED_CHUNK \
- strncmp ("BMPLSTST", child_ptr->identifier, 8) && \
- strncmp ("BMNAMVER", child_ptr->identifier, 8) && \
- strncmp ("BMNAMEXT", child_ptr->identifier, 8) && \
- strncmp ("RIFFNAME", child_ptr->identifier, 8) && \
- strncmp ("SHPEXTFN", child_ptr->identifier, 8) && \
- strncmp ("BMPMD5ID", child_ptr->identifier, 8)
-
- Chunk * child_ptr = children;
- List <Chunk *> chunks_to_delete;
- while (child_ptr != NULL)
- {
- if (NOT_A_BITMAP_RELATED_CHUNK)
- {
- chunks_to_delete.add_entry(child_ptr);
- }
- child_ptr = child_ptr->next;
- }
- for (LIF<Chunk *> delchunks(&chunks_to_delete); !delchunks.done(); delchunks.next())
- {
- delete delchunks();
- }
-
- child_ptr = rfc.children;
- while (child_ptr != NULL)
- {
- if (NOT_A_BITMAP_RELATED_CHUNK)
- {
- #define CREATE_CHUNK_END(_datablock) \
- new Miscellaneous_Chunk(this,_datablock,_datablock+12,*(int *)(_datablock+8)-12);
-
- #define CREATE_CHUNK_FOR(_datablock,_id,_chunkclass) \
- if (!strncmp(_datablock,_id,8)) { \
- new _chunkclass(this,_datablock+12,*(int *)(_datablock+8)-12); \
- } else
-
- child_ptr->prepare_for_output();
- char * datablock = child_ptr->make_data_block_from_chunk();
-
- CREATE_CHUNK_FOR(datablock,"SPRITVER",Sprite_Version_Number_Chunk)
- CREATE_CHUNK_FOR(datablock,"SPRITEPC",PC_Sprite_Chunk)
- CREATE_CHUNK_FOR(datablock,"SPRITEPS",Playstation_Sprite_Chunk)
- CREATE_CHUNK_FOR(datablock,"SPRITESA",Saturn_Sprite_Chunk)
- CREATE_CHUNK_FOR(datablock,"SPRISIZE",Sprite_Size_Chunk)
- CREATE_CHUNK_FOR(datablock,"SPRBMPSC",Sprite_Bitmap_Scale_Chunk)
- CREATE_CHUNK_FOR(datablock,"SPRBMPCE",Sprite_Bitmap_Centre_Chunk)
- CREATE_CHUNK_FOR(datablock,"SPREXTEN",Sprite_Extent_Chunk)
- CREATE_CHUNK_END(datablock)
-
- delete[] datablock;
- }
- child_ptr = child_ptr->next;
- }
-
- }
-
- Chunk_With_BMPs * blsc = 0;
- Chunk_With_BMPs * gbnc = 0;
-
- rfc.lookup_child("BMPLSTST",chlst);
- if (chlst.size())
- {
- gbnc = (Chunk_With_BMPs *) chlst.first_entry();
- if (!gbnc->bmps.size()) gbnc = 0;
- }
-
- List<Chunk *> oldlst;
- lookup_child("BMPLSTST",oldlst);
- assert (oldlst.size()<2);
-
- if (oldlst.size())
- {
- blsc = (Bitmap_List_Store_Chunk *)oldlst.first_entry();
- }
- else
- {
- if (gbnc) blsc = new Bitmap_List_Store_Chunk(this);
- }
-
- BMP_Names_ExtraData * extended = 0;
- if (blsc)
- {
- extended = blsc->GetExtendedData();
- if (fixpal)
- extended->flags = (GlobalBMPFlags)(extended->flags | GBF_FIXEDPALETTE);
- else
- extended->flags = (GlobalBMPFlags)(extended->flags & ~GBF_FIXEDPALETTE);
- }
- if (gbnc)
- {
- if ((gbnc->get_version_num()!=blsc->get_version_num()) || (gbnc->bmps.size() != blsc->bmps.size()))
- { // other checks could be done as well
- if (blsc->bmps.size())
- {
- BOOL neednewpalette = FALSE;
-
- List<BMP_Name> newlist = gbnc->bmps;
- for (LIF<BMP_Name> newLIF(&newlist); !newLIF.done(); newLIF.next())
- {
- BMP_Name newcur = newLIF();
- newcur.flags = (BMPN_Flags) (newcur.flags & ~(COMPLETED_BMPN_FLAGS | ChunkBMPFlag_FixedPalette));
- if (fixpal) newcur.flags = (BMPN_Flags) (newcur.flags | ChunkBMPFlag_FixedPalette);
- for (LIF<BMP_Name> oldLIF(&blsc->bmps); !oldLIF.done(); oldLIF.next())
- {
- BMP_Name oldcur = oldLIF();
- if (newcur == oldcur)
- {
- // do we need to requantize?
- if ((oldcur.flags ^ newcur.flags) & CHECKMODIFY_BMPN_FLAGS
- || newcur.flags & ChunkBMPFlag_UsesTransparency
- && !(newcur.flags & ChunkBMPFlag_IFF)
- && !(oldcur.flags & ChunkBMPFlag_IFF)
- && oldcur.DifferentTransparencyColour(newcur))
- oldcur.flags = (BMPN_Flags)(oldcur.flags & ~COMPLETED_BMPN_FLAGS);
- // keep some of the old flags - the ones that can differ
- newcur.flags = (BMPN_Flags)(newcur.flags & COPY_BMPN_FLAGS);
- newcur.flags = (BMPN_Flags)(newcur.flags | oldcur.flags & ~COPY_BMPN_FLAGS);
- if (oldcur.version_num != newcur.version_num)
- {
- neednewpalette = TRUE;
- newcur.flags = (BMPN_Flags)(newcur.flags & ~ChunkBMPFlag_HistogramExists);
- extended->flags = (GlobalBMPFlags)(extended->flags & ~GBF_HISTOGRAMEXISTS);
- }
- break;
- }
- }
- if (oldLIF.done())
- {
- // reset palette up to date flag
- neednewpalette = TRUE;
- newcur.flags = (BMPN_Flags)(newcur.flags & ~(ChunkBMPFlag_HistogramExists | COMPLETED_BMPN_FLAGS));
- extended->flags = (GlobalBMPFlags)(extended->flags & ~GBF_HISTOGRAMEXISTS);
- }
- newLIF.change_current(newcur);
- }
-
- // check if any bitmaps have been removed
- for (LIF<BMP_Name> bli(&blsc->bmps); !bli.done(); bli.next())
- {
- if (!newlist.contains(bli()))
- {
- // delete assoc files
- neednewpalette = TRUE;
- extended->flags = (GlobalBMPFlags)(extended->flags & ~GBF_HISTOGRAMEXISTS);
- }
- }
-
- if (neednewpalette)
- {
- Palette_Outdated(envd);
- if (fixpal) FixedPalette_Outdated(envd);
- envd->updated = TRUE;
- }
- blsc->bmps = newlist;
- }
- else
- {
- blsc->bmps = gbnc->bmps;
- for (LIF<BMP_Name> flagresetLIF(&blsc->bmps); !flagresetLIF.done(); flagresetLIF.next())
- {
- BMP_Name current = flagresetLIF();
- current.flags = (BMPN_Flags)(current.flags & (COPY_BMPN_FLAGS & ~ChunkBMPFlag_FixedPalette));
- if (fixpal) current.flags = (BMPN_Flags) (current.flags | ChunkBMPFlag_FixedPalette);
- flagresetLIF.change_current(current);
- }
- // reset palette up to date flag
- extended->flags = (GlobalBMPFlags)(extended->flags & ~GBF_HISTOGRAMEXISTS);
- Palette_Outdated(envd);
- if (fixpal) FixedPalette_Outdated(envd);
- envd->updated = TRUE;
- }
- blsc->max_index = gbnc->max_index;
- blsc->set_version_num(gbnc->get_version_num());
- assert (!strcmp("RSPRITES",parent->identifier));
- ((Lockable_Chunk_With_Children *)parent)->updated = TRUE;
- }
- }
- else
- {
- if (blsc)
- {
- if (blsc->bmps.size())
- {
- // reset palette up to date flag
- extended->flags = (GlobalBMPFlags)(extended->flags & ~GBF_HISTOGRAMEXISTS);
- Palette_Outdated(envd);
- if (fixpal) FixedPalette_Outdated(envd);
- envd->updated = TRUE;
- assert (!strcmp("RSPRITES",parent->identifier));
- ((Lockable_Chunk_With_Children *)parent)->updated = TRUE;
- }
- delete blsc;
- }
- }
-
- }
-
- }
- Chunk_With_Children::post_input_processing();
-}
-#endif
RIF_IMPLEMENT_DYNCREATE_DECLARE_PARENT("SPRITEPC",PC_Sprite_Chunk,"SPRIHEAD",Sprite_Header_Chunk)
PC_Sprite_Chunk::PC_Sprite_Chunk(Sprite_Header_Chunk* parent,const char* data,size_t datasize)