TexturePalette.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. typedef union
  2. {
  3. byte chan[4];
  4. unsigned p;
  5. } pixel32_t;
  6. typedef struct
  7. {
  8. char texture[16];
  9. float rotate;
  10. float shift[2];
  11. float scale[2];
  12. } texturedef_t;
  13. typedef struct
  14. {
  15. char name[16];
  16. int width;
  17. int height;
  18. NXBitmapImageRep *rep;
  19. void *data;
  20. pixel32_t flatcolor;
  21. } qtexture_t;
  22. #define MAX_TEXTURES 1024
  23. extern int tex_count;
  24. extern qtexture_t qtextures[MAX_TEXTURES];
  25. void TEX_InitFromWad (char *path);
  26. qtexture_t *TEX_ForName (char *name);
  27. typedef struct
  28. {
  29. id image; // NXImage
  30. NXRect r;
  31. char *name;
  32. int index;
  33. int display; // flag (on/off)
  34. } texpal_t;
  35. #define TEX_INDENT 10
  36. #define TEX_SPACING 16
  37. extern id texturepalette_i;
  38. @interface TexturePalette:Object
  39. {
  40. char currentwad[1024];
  41. id textureList_i;
  42. id textureView_i;
  43. id searchField_i;
  44. id sizeField_i;
  45. id field_Xshift_i;
  46. id field_Yshift_i;
  47. id field_Xscale_i;
  48. id field_Yscale_i;
  49. id field_Rotate_i;
  50. int viewWidth;
  51. int viewHeight;
  52. int selectedTexture;
  53. }
  54. - (char*)currentWad;
  55. - initPaletteFromWadfile:(char *)wf;
  56. - computeTextureViewSize;
  57. - alphabetize;
  58. - getList;
  59. - (int)getSelectedTexture;
  60. - setSelectedTexture:(int)which;
  61. - (int)getSelectedTexIndex;
  62. // Called externally
  63. - (char *)getSelTextureName;
  64. - setTextureByName:(char *)name;
  65. // New methods to replace the 2 above ones
  66. - setTextureDef:(texturedef_t *)td;
  67. - getTextureDef:(texturedef_t *)td;
  68. // Action methods
  69. - searchForTexture:sender;
  70. - clearTexinfo: sender;
  71. - incXShift:sender;
  72. - decXShift:sender;
  73. - incYShift:sender;
  74. - decYShift:sender;
  75. - incRotate: sender;
  76. - decRotate: sender;
  77. - incXScale:sender;
  78. - decXScale:sender;
  79. - incYScale:sender;
  80. - decYScale:sender;
  81. - texturedefChanged: sender;
  82. - onlyShowMapTextures:sender;
  83. - (int) searchForTextureInPalette:(char *)texture;
  84. - setDisplayFlag:(int)index to:(int)value;
  85. @end