From 5d3725f9d972cde917ab9b076cb0b89b33557c7a Mon Sep 17 00:00:00 2001 From: Steven Fuller Date: Sun, 4 May 2008 20:47:08 -0700 Subject: Removed a lot of tool code. --- src/win95/sprchunk.cpp | 263 ------------------------------------------------- 1 file changed, 263 deletions(-) (limited to 'src/win95/sprchunk.cpp') 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 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 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 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 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 newlist = gbnc->bmps; - for (LIF 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 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 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 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) -- cgit v1.3