Dschulle 0 Posted January 28, 2004 I don't want to keep this cool info away from you, even if most editors might have no use for it. The Pal2Pac.dll is included with O2. The rest of the info is inside the header. Big THX to SUMA! Â Could you provide me with a header file? Or give me the complete function call of "CreateTexture" and "CombineTexture". Here you are: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">#ifndef _PAL2PAC_HPP #define _PAL2PAC_HPP #define MYDLL _ _ declspec ( dllexport ) _ _ stdcall //the spaces should not be there, // but iconboard does not like it without them // dynamic linking types etc... extern "C" { // Objektiv Interface int MYDLL AddTexture( const char *libPath, const char *textPath, int size ); int MYDLL UpdateTexture( const char *dest, const char *src, int size ); int MYDLL CombineTexture ( const char *D, const char *S1, const char *S2, const char *S3, const char *S4, int size, const char *bank, const char *water ); // Visitor Interface void MYDLL TextureMix ( const char *t, const char *s1, const char *s2, const char *s3, const char *s4, const char *bankDirectory, const char *bankTexture ); struct TextureDataStruct { int _w,_h; // data dimensions DWORD *_data; // pointer to ARGB 8888 data }; void MYDLL CreateTextureData( TextureDataStruct &data, const char *name ); void MYDLL DestroyTextureData( TextureDataStruct &data ); COLORREF MYDLL TextureColor( const char *s ); DWORD MYDLL TextureColorARGB( const char *s ); typedef int stdcall UpdateTextureT( const char *dest, const char *src, int size ); typedef void stdcall DestroyTextureDataT( TextureDataStruct &data ); }; extern UpdateTextureT *UpdateTextureF; extern CreateTextureDataT *CreateTextureDataF; extern DestroyTextureDataT *DestroyTextureDataF; void InitPal2Pac(); // class encapsulation of TextureDataStruct class TextureData { struct TextureDataStruct _data; public: TextureData( const char *name=NULL ) { if (!CreateTextureDataF) return; CreateTextureDataF(_data,name); } ~TextureData() { if (!DestroyTextureDataF) return; DestroyTextureDataF(_data); } void Load( const char *name ) { if (!CreateTextureDataF) return; if (!DestroyTextureDataF) return; DestroyTextureDataF(_data); CreateTextureDataF(_data,name); } int W() const {return _data._w;} int H() const {return _data._h;} const DWORD *Data() const {return _data._data;} DWORD GetPixel( int x, int y ) const {return _data._data[y*_data._w+x];} private: TextureData( const TextureData &src ); void operator =( const TextureData &src ); }; #endif If you think anyone else can use this for the benefit of OPF community, feel free to share it. You can create and load pal/pac files with this interface. It is far from flexible, but it may help you. Share this post Link to post Share on other sites
ebud 18 Posted January 29, 2004 OK, explain the use of this for a dummy like me. Will it make pac files "better"? Will it allow people to make batch converters? etc? Share this post Link to post Share on other sites
Placebo 29 Posted January 29, 2004 And when he finds out I can hopefully find out which forum I should be moving the thread to, all I know is general isn't the right one Share this post Link to post Share on other sites
shinRaiden 0 Posted January 29, 2004 There really ain't a thread for this... Basicly, this is the critical core code for exporting graphics into OFP PAA/PAC format. If you want to make a converter like texview, or create a viewer application, or a wrp editor, this is the key to WRITING textures. Essentially, this is just the skeleton _defs and code to structure your data arrays of pixels, and properly process them through the pal2pac.dll included with Oxygen. The biggest need that can now be filled is to make a transition masher, where you could load in some base textures, a list of desired transitions, and punch out textures. Or you could make a converter for other raw formats. Share this post Link to post Share on other sites
ebud 18 Posted January 29, 2004 well, my dream tool is a batch converter for taking a whole folder of tgas and converting them to paa or pac... hope someone makes one now Share this post Link to post Share on other sites
Dwarden 1125 Posted January 29, 2004 I got idea, can someone made .paa .pac plugin for IrfanView? )) Share this post Link to post Share on other sites
Romolus 0 Posted January 29, 2004 well, my dream tool is a batch converter for taking a whole folder of tgas and converting them to paa or pac... hope someone makes one now You allready can do this with the pal2pace.exe you find in your Bulldozer folder: pal2pace *.tga Unfortunately this header file doesn't enable us to write a better textur converter than texView since the dll encapsulates the function for the texture compression and the file headers for the texture files are still unknown so that you can't write your own compression function. But it makes it much easier for tools like WrpTool to read and write OFP textures. Share this post Link to post Share on other sites
Placebo 29 Posted January 29, 2004 A&M:D Will do then Share this post Link to post Share on other sites
suma 8 Posted January 29, 2004 This certainly does not belong to General discussion. Share this post Link to post Share on other sites