-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcSprites.cpp
78 lines (63 loc) · 1.62 KB
/
cSprites.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include "cSprites.h"
spritedata_t spritedata;
#pragma warning(disable:4786)
#pragma warning(disable:4800)
#pragma warning(disable:4244)
#pragma warning(disable:4101)
#pragma warning(disable:4715)
#pragma warning(disable:4305)
void LoadSprites(client_sprite_t *pList, int iCount)
{
int i;
client_sprite_t *p;
char buf[512];
spritedata.iSpritesLoaded = 0;
if (!pList)
{
return;
}
p = pList;
i = iCount;
while (i-- && p->szName[0] != 0x00 && spritedata.iSpritesLoaded < MAX_SPRITES)
{
strncpy(spritedata.spriteinfo[spritedata.iSpritesLoaded].szName, p->szName, MAX_SPRITES);
strncpy(spritedata.spriteinfo[spritedata.iSpritesLoaded].szSprite, p->szSprite, MAX_SPRITES);
sprintf(buf, "sprites/%s.spr", p->szSprite);
memcpy(&(spritedata.spriteinfo[spritedata.iSpritesLoaded].rc), &(p->rc), sizeof(p->rc));
spritedata.spriteinfo[spritedata.iSpritesLoaded].iRes = p->iRes;
p++;
spritedata.iSpritesLoaded++;
}
}
client_sprite_t* _cdecl hookpfnSPR_GetList(char *psz, int *piCount)
{
client_sprite_t *ret;
ret = g_Engine.pfnSPR_GetList(psz, piCount);
client_sprite_t *pList;
if (!strcmp(psz, "sprites/WEAPONLIST_knife.txt"))
{
int iCount;
pList = g_Engine.pfnSPR_GetList("sprites/hud.txt", &iCount);
if (pList)
{
LoadSprites(pList, iCount);
}
}
return ret;
}
int GetSpriteIndex(char *szName)
{
int i;
if (szName[0] == 0x00)
return -1;
for (i = 0; i < spritedata.iSpritesLoaded; i++)
{
if (spritedata.spriteinfo[i].iRes == 640)
{
if (!strcmp(spritedata.spriteinfo[i].szName, szName))
{
return i;
}
}
}
}