home *** CD-ROM | disk | FTP | other *** search
/ Superpower (Alt) / SUPERPOWER.iso / q / source / texturep.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-08-08  |  1.8 KB  |  114 lines

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