#include "stdafx.h" #include "nel/3d/tile_bank.h" #include "nel/3d/texture_mem.h" #include "nel/3d/texture_file.h" #include "nel/misc/events.h" #include "paint_undo.h" using namespace NL3D; using namespace NLMISC; // Background extern COLORREF backGround; // User color 1 and 2 extern COLORREF color1; extern COLORREF color2; extern float opa1; extern float opa2; extern float hard1; extern float hard2; // A bank bitmap container class CTileSetCont { public: // Create a container with a bank void build (CTileBank& bank, uint tileSet); // Some array for this tileset CSmartPtr MainBitmap; CSmartPtr GroupBitmap[NL3D_CTILE_NUM_GROUP]; CSmartPtr DisplaceBitmap[CTileSet::CountDisplace]; // Groups precalc std::vector GroupTile128[NL3D_CTILE_NUM_GROUP]; std::vector GroupTile256[NL3D_CTILE_NUM_GROUP]; }; // A tileset bitmap container class CBankCont { public: // Create a container with a bank CBankCont (CTileBank& bank, HINSTANCE hInstance); // Array of tileset container std::vector TileSet; // Pointers on global bitmap CSmartPtr _smallBitmap; CSmartPtr mediumBitmap; CSmartPtr largeBitmap; CSmartPtr _256Bitmap; CSmartPtr _128Bitmap; CSmartPtr _0Bitmap; CSmartPtr _1Bitmap; CSmartPtr _2Bitmap; CSmartPtr _3Bitmap; CSmartPtr _4Bitmap; CSmartPtr _5Bitmap; CSmartPtr _6Bitmap; CSmartPtr _7Bitmap; CSmartPtr _8Bitmap; CSmartPtr _9Bitmap; CSmartPtr _10Bitmap; CSmartPtr _11Bitmap; CSmartPtr allBitmap; CSmartPtr lightBitmap; CSmartPtr lockBitmap; CSmartPtr orientedBitmap; CSmartPtr nothingBitmap; CSmartPtr regularBitmap; CSmartPtr goofyBitmap; // Handle on HCURSOR HCur; HCURSOR HInspect; HCURSOR HFill; HCURSOR HTrick; // Undo manager CTileUndo Undo; }; // Open a pick color dialog and select a color void chooseAColor (); // Set background color void setBackgroundColor (); // Keys enum PainterKeysType { Select=0, Pick, Fill0, Fill1, Fill2, Fill3, MModeTile, MModeColor, MModeDisplace, ToggleColor, SizeUp, SizeDown, ToggleTileSize, GroupUp, GroupDown, BackgroundColor, ToggleArrows, HardnessUp, HardnessDown, OpacityUp, OpacityDown, Zouille, AutomaticLighting, SelectColorBrush, ToggleColorBrushMode, LockBorders, ZoomIn, ZoomOut, GetState, KeyCounter }; // Def Keys extern uint PainterKeys[KeyCounter]; // Light settings extern CVector LightDirection; extern CRGBA LightDiffuse; extern CRGBA LightAmbiant; extern float LightMultiply; extern float ZoomSpeed; // Light settings // Keys extern const char* PainterKeysName[KeyCounter]; // Load ini file void LoadKeyCfg (); void LoadVarCfg ();