]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - model_sprite.c
eliminated qbyte type, now uses unsigned char throughout the engine for this purpose
[xonotic/darkplaces.git] / model_sprite.c
index 6e94c8b42e1a5587d7fc33e55d6d0d1c8362c51c..acab785ae5ded6b5ee5d395c31289b33a4cbd12a 100644 (file)
@@ -38,7 +38,7 @@ void Mod_SpriteInit (void)
 }
 
 static int alphaonlytable[4] = {255 | 0x80000000, 255 | 0x80000000, 255 | 0x80000000, 3};
-static void Mod_Sprite_SharedSetup(const qbyte *datapointer, int version, const int *palette, const int *alphapalette)
+static void Mod_Sprite_SharedSetup(const unsigned char *datapointer, int version, const unsigned int *palette, const unsigned int *alphapalette)
 {
        int                                     i, j, groupframes, realframes, x, y, origin[2], width, height;
        dspriteframetype_t      *pinframetype;
@@ -47,7 +47,7 @@ static void Mod_Sprite_SharedSetup(const qbyte *datapointer, int version, const
        dspriteinterval_t       *pinintervals;
        float                           modelradius, interval;
        char                            name[MAX_QPATH], fogname[MAX_QPATH];
-       qbyte                           *pixbuf;
+       unsigned char                           *pixbuf;
        const void                      *startframes;
        modelradius = 0;
 
@@ -97,10 +97,10 @@ static void Mod_Sprite_SharedSetup(const qbyte *datapointer, int version, const
                realframes += groupframes;
        }
 
-       loadmodel->animscenes = Mem_Alloc(loadmodel->mempool, sizeof(animscene_t) * loadmodel->numframes);
-       loadmodel->sprite.sprdata_frames = Mem_Alloc(loadmodel->mempool, sizeof(mspriteframe_t) * realframes);
+       loadmodel->animscenes = (animscene_t *)Mem_Alloc(loadmodel->mempool, sizeof(animscene_t) * loadmodel->numframes);
+       loadmodel->sprite.sprdata_frames = (mspriteframe_t *)Mem_Alloc(loadmodel->mempool, sizeof(mspriteframe_t) * realframes);
 
-       datapointer = startframes;
+       datapointer = (unsigned char *)startframes;
        realframes = 0;
        for (i = 0;i < loadmodel->numframes;i++)
        {
@@ -172,7 +172,7 @@ static void Mod_Sprite_SharedSetup(const qbyte *datapointer, int version, const
                                        {
                                                loadmodel->sprite.sprdata_frames[realframes].texture = R_LoadTexture2D(loadmodel->texturepool, name, width, height, datapointer, TEXTYPE_RGBA, TEXF_ALPHA | (r_mipsprites.integer ? TEXF_MIPMAP : 0) | TEXF_CLAMP | TEXF_PRECACHE | TEXF_PICMIP, NULL);
                                                // make fog version (just alpha)
-                                               pixbuf = Mem_Alloc(tempmempool, width*height*4);
+                                               pixbuf = (unsigned char *)Mem_Alloc(tempmempool, width*height*4);
                                                Image_CopyMux(pixbuf, datapointer, width, height, false, false, false, 4, 4, alphaonlytable);
                                                loadmodel->sprite.sprdata_frames[realframes].fogtexture = R_LoadTexture2D(loadmodel->texturepool, fogname, width, height, pixbuf, TEXTYPE_RGBA, TEXF_ALPHA | (r_mipsprites.integer ? TEXF_MIPMAP : 0) | TEXF_CLAMP | TEXF_PRECACHE | TEXF_PICMIP, NULL);
                                                Mem_Free(pixbuf);
@@ -207,15 +207,16 @@ extern void R_Model_Sprite_Draw(entity_render_t *ent);
 void Mod_IDSP_Load(model_t *mod, void *buffer, void *bufferend)
 {
        int version;
-       const qbyte *datapointer;
+       const unsigned char *datapointer;
 
-       datapointer = buffer;
+       datapointer = (unsigned char *)buffer;
 
        loadmodel->type = mod_sprite;
        loadmodel->flags2 = EF_FULLBRIGHT;
 
        loadmodel->DrawSky = NULL;
        loadmodel->Draw = R_Model_Sprite_Draw;
+       loadmodel->CompileShadowVolume = NULL;
        loadmodel->DrawShadowVolume = NULL;
        loadmodel->DrawLight = NULL;
 
@@ -229,15 +230,15 @@ void Mod_IDSP_Load(model_t *mod, void *buffer, void *bufferend)
 
                loadmodel->numframes = LittleLong (pinqsprite->numframes);
                loadmodel->sprite.sprnum_type = LittleLong (pinqsprite->type);
-               loadmodel->synctype = LittleLong (pinqsprite->synctype);
+               loadmodel->synctype = (synctype_t)LittleLong (pinqsprite->synctype);
 
                Mod_Sprite_SharedSetup(datapointer, LittleLong (pinqsprite->version), palette_complete, palette_alpha);
        }
        else if (version == SPRITEHL_VERSION)
        {
                int i, rendermode;
-               qbyte palette[256][4], alphapalette[256][4];
-               const qbyte *in;
+               unsigned char palette[256][4], alphapalette[256][4];
+               const unsigned char *in;
                dspritehl_t *pinhlsprite;
 
                pinhlsprite = (dspritehl_t *)datapointer;
@@ -245,7 +246,7 @@ void Mod_IDSP_Load(model_t *mod, void *buffer, void *bufferend)
 
                loadmodel->numframes = LittleLong (pinhlsprite->numframes);
                loadmodel->sprite.sprnum_type = LittleLong (pinhlsprite->type);
-               loadmodel->synctype = LittleLong (pinhlsprite->synctype);
+               loadmodel->synctype = (synctype_t)LittleLong (pinhlsprite->synctype);
                rendermode = pinhlsprite->rendermode;
 
                in = datapointer;
@@ -309,7 +310,7 @@ void Mod_IDSP_Load(model_t *mod, void *buffer, void *bufferend)
                        alphapalette[i][3] = palette[i][3];
                }
 
-               Mod_Sprite_SharedSetup(datapointer, LittleLong (pinhlsprite->version), (int *)(&palette[0][0]), (int *)(&alphapalette[0][0]));
+               Mod_Sprite_SharedSetup(datapointer, LittleLong (pinhlsprite->version), (unsigned int *)(&palette[0][0]), (unsigned int *)(&alphapalette[0][0]));
        }
        else
                Host_Error("Mod_IDSP_Load: %s has wrong version number (%i). Only %i (quake), %i (HalfLife), and %i (sprite32) supported",
@@ -328,6 +329,7 @@ void Mod_IDS2_Load(model_t *mod, void *buffer, void *bufferend)
 
        loadmodel->DrawSky = NULL;
        loadmodel->Draw = R_Model_Sprite_Draw;
+       loadmodel->CompileShadowVolume = NULL;
        loadmodel->DrawShadowVolume = NULL;
        loadmodel->DrawLight = NULL;
 
@@ -353,8 +355,8 @@ void Mod_IDS2_Load(model_t *mod, void *buffer, void *bufferend)
                }
        }
 
-       loadmodel->animscenes = Mem_Alloc(loadmodel->mempool, sizeof(animscene_t) * loadmodel->numframes);
-       loadmodel->sprite.sprdata_frames = Mem_Alloc(loadmodel->mempool, sizeof(mspriteframe_t) * loadmodel->numframes);
+       loadmodel->animscenes = (animscene_t *)Mem_Alloc(loadmodel->mempool, sizeof(animscene_t) * loadmodel->numframes);
+       loadmodel->sprite.sprdata_frames = (mspriteframe_t *)Mem_Alloc(loadmodel->mempool, sizeof(mspriteframe_t) * loadmodel->numframes);
 
        modelradius = 0;
        for (i = 0;i < loadmodel->numframes;i++)