void C_Paleta::SalvaPal (const char *NomArchivo) { if (NomArchivo && NomArchivo != "") // Si NomArchivo != NULL { fstream PalFile (NomArchivo, ios::binary | ios::out); PalFile.write ((char *) Paleta, (sizeof (C_Color) * 256)); PalFile.close (); } }
// ------------- // CONSTRUCTORES // ------------- C_Paleta::C_Paleta (const word & NCol, const char *NomArchivo):NumCol (NCol) { if (NCol > 0 && NCol <= 256) // Comprueba los datos de entrada { Paleta = new C_Color[NCol]; // Reserva espacio para la paleta if (NomArchivo && NomArchivo != "") // Si hay NomArchivo != NULL { fstream PalFile (NomArchivo, ios::binary | ios::in); if (PalFile) // Si el archivo existe { PalFile.read ((char *) Paleta, (sizeof (C_Color) * 256)); PalFile.close (); } } // Inicializa la paleta } }
void LD3ENGINE::LoadPalette(WINAPP *WinApp, char* Filename) { //- Load the palette //------------------ ifstream PalFile(Filename, ios::binary); PALETTEENTRY *palette; char ch; palette = &WinApp->palette[0]; for(int i = 0; i <= 255; i++) { PalFile.get(ch); palette[i].peRed = ch*4; PalFile.get(ch); palette[i].peGreen = ch*4; PalFile.get(ch); palette[i].peBlue = ch*4; palette[i].peFlags = PC_NOCOLLAPSE; } PalFile.close(); }