void WeaponsResource::LoadWeaponSprites(WEAPON *pWeapon) { int i, iRes; if(ScreenWidth < 640) iRes = 320; else iRes = 640; char sz[128]; if(!pWeapon) return; memset(&pWeapon->rcActive, 0, sizeof(wrect_t)); memset(&pWeapon->rcInactive, 0, sizeof(wrect_t)); memset(&pWeapon->rcAmmo, 0, sizeof(wrect_t)); memset(&pWeapon->rcAmmo2, 0, sizeof(wrect_t)); pWeapon->hInactive = 0; pWeapon->hActive = 0; pWeapon->hAmmo = 0; pWeapon->hAmmo2 = 0; sprintf(sz, "sprites/%s.txt", pWeapon->szName); client_sprite_t *pList = SPR_GetList(sz, &i); if(!pList) return; client_sprite_t *p; p = GetSpriteList(pList, "crosshair", iRes, i); if(p) { sprintf(sz, "sprites/%s.spr", p->szSprite); pWeapon->hCrosshair = SPR_Load(sz); pWeapon->rcCrosshair = p->rc; } else pWeapon->hCrosshair = NULL; p = GetSpriteList(pList, "autoaim", iRes, i); if(p) { sprintf(sz, "sprites/%s.spr", p->szSprite); pWeapon->hAutoaim = SPR_Load(sz); pWeapon->rcAutoaim = p->rc; } else pWeapon->hAutoaim = 0; p = GetSpriteList(pList, "zoom", iRes, i); if(p) { sprintf(sz, "sprites/%s.spr", p->szSprite); pWeapon->hZoomedCrosshair = SPR_Load(sz); pWeapon->rcZoomedCrosshair = p->rc; } else { pWeapon->hZoomedCrosshair = pWeapon->hCrosshair; //default to non-zoomed crosshair pWeapon->rcZoomedCrosshair = pWeapon->rcCrosshair; } p = GetSpriteList(pList, "zoom_autoaim", iRes, i); if(p) { sprintf(sz, "sprites/%s.spr", p->szSprite); pWeapon->hZoomedAutoaim = SPR_Load(sz); pWeapon->rcZoomedAutoaim = p->rc; } else { pWeapon->hZoomedAutoaim = pWeapon->hZoomedCrosshair; //default to zoomed crosshair pWeapon->rcZoomedAutoaim = pWeapon->rcZoomedCrosshair; } p = GetSpriteList(pList, "weapon", iRes, i); if(p) { sprintf(sz, "sprites/%s.spr", p->szSprite); pWeapon->hInactive = SPR_Load(sz); pWeapon->rcInactive = p->rc; gHR.iHistoryGap = max(gHR.iHistoryGap, pWeapon->rcActive.bottom - pWeapon->rcActive.top); } else pWeapon->hInactive = 0; p = GetSpriteList(pList, "weapon_s", iRes, i); if(p) { sprintf(sz, "sprites/%s.spr", p->szSprite); pWeapon->hActive = SPR_Load(sz); pWeapon->rcActive = p->rc; } else pWeapon->hActive = 0; p = GetSpriteList(pList, "ammo", iRes, i); if(p) { sprintf(sz, "sprites/%s.spr", p->szSprite); pWeapon->hAmmo = SPR_Load(sz); pWeapon->rcAmmo = p->rc; gHR.iHistoryGap = max(gHR.iHistoryGap, pWeapon->rcActive.bottom - pWeapon->rcActive.top); } else pWeapon->hAmmo = 0; p = GetSpriteList(pList, "ammo2", iRes, i); if(p) { sprintf(sz, "sprites/%s.spr", p->szSprite); pWeapon->hAmmo2 = SPR_Load(sz); pWeapon->rcAmmo2 = p->rc; gHR.iHistoryGap = max(gHR.iHistoryGap, pWeapon->rcActive.bottom - pWeapon->rcActive.top); } else pWeapon->hAmmo2 = 0; }
void WeaponsResource :: LoadWeaponSprites( WEAPON *pWeapon ) { int i, iRes; if (ScreenWidth < 640) iRes = 320; else iRes = 640; char sz[128]; if ( !pWeapon ) return; memset( &pWeapon->rcActive, 0, sizeof(wrect_t) ); memset( &pWeapon->rcInactive, 0, sizeof(wrect_t) ); memset( &pWeapon->rcAmmo, 0, sizeof(wrect_t) ); memset( &pWeapon->rcAmmo2, 0, sizeof(wrect_t) ); pWeapon->hInactive = 0; pWeapon->hActive = 0; pWeapon->hAmmo = 0; pWeapon->hAmmo2 = 0; sprintf(sz, "sprites/%s.txt", pWeapon->szName); client_sprite_t *pList = SPR_GetList(sz, &i); if (!pList) return; client_sprite_t *p; // Fograin92: Disable crosshairs from hud.txt /* p = GetSpriteList( pList, "crosshair", iRes, i ); if (p) { sprintf(sz, "sprites/%s.spr", p->szSprite); pWeapon->hCrosshair = SPR_Load(sz); pWeapon->rcCrosshair = p->rc; } else */ pWeapon->hCrosshair = NULL; p = GetSpriteList(pList, "autoaim", iRes, i); if (p) { sprintf(sz, "sprites/%s.spr", p->szSprite); pWeapon->hAutoaim = SPR_Load(sz); pWeapon->rcAutoaim = p->rc; } else pWeapon->hAutoaim = 0; p = GetSpriteList( pList, "zoom", iRes, i ); if (p) { sprintf(sz, "sprites/%s.spr", p->szSprite); pWeapon->hZoomedCrosshair = SPR_Load(sz); pWeapon->rcZoomedCrosshair = p->rc; } else { pWeapon->hZoomedCrosshair = pWeapon->hCrosshair; //default to non-zoomed crosshair pWeapon->rcZoomedCrosshair = pWeapon->rcCrosshair; } p = GetSpriteList(pList, "zoom_autoaim", iRes, i); if (p) { sprintf(sz, "sprites/%s.spr", p->szSprite); pWeapon->hZoomedAutoaim = SPR_Load(sz); pWeapon->rcZoomedAutoaim = p->rc; } else { pWeapon->hZoomedAutoaim = pWeapon->hZoomedCrosshair; //default to zoomed crosshair pWeapon->rcZoomedAutoaim = pWeapon->rcZoomedCrosshair; } p = GetSpriteList(pList, "weapon", iRes, i); if (p) { //sprintf(sz, "sprites/%s.spr", p->szSprite); // Fograin92: Check if we should load OF version of weapon sprites if (CVAR_GET_FLOAT("sm_hud") == 2.0 ) sprintf(sz, "sprites/%s_of.spr", p->szSprite); else sprintf(sz, "sprites/%s.spr", p->szSprite); pWeapon->hInactive = SPR_Load(sz); pWeapon->rcInactive = p->rc; gHR.iHistoryGap = max( gHR.iHistoryGap, pWeapon->rcActive.bottom - pWeapon->rcActive.top ); } else pWeapon->hInactive = 0; p = GetSpriteList(pList, "weapon_s", iRes, i); if (p) { //sprintf(sz, "sprites/%s.spr", p->szSprite); // Fograin92: Check if we should load OF version of weapon selection sprites if (CVAR_GET_FLOAT("sm_hud") == 2.0 ) sprintf(sz, "sprites/%s_of.spr", p->szSprite); else sprintf(sz, "sprites/%s.spr", p->szSprite); pWeapon->hActive = SPR_Load(sz); pWeapon->rcActive = p->rc; } else pWeapon->hActive = 0; p = GetSpriteList(pList, "ammo", iRes, i); if (p) { //sprintf(sz, "sprites/%s.spr", p->szSprite); // Fograin92: Check if we should load OF version of ammo sprites if (CVAR_GET_FLOAT("sm_hud") == 2.0 ) sprintf(sz, "sprites/%s_of.spr", p->szSprite); else sprintf(sz, "sprites/%s.spr", p->szSprite); pWeapon->hAmmo = SPR_Load(sz); pWeapon->rcAmmo = p->rc; gHR.iHistoryGap = max( gHR.iHistoryGap, pWeapon->rcActive.bottom - pWeapon->rcActive.top ); } else pWeapon->hAmmo = 0; p = GetSpriteList(pList, "ammo2", iRes, i); if (p) { //sprintf(sz, "sprites/%s.spr", p->szSprite); // Fograin92: Check if we should load OF version of ammo sprites if (CVAR_GET_FLOAT("sm_hud") == 2.0 ) sprintf(sz, "sprites/%s_of.spr", p->szSprite); else sprintf(sz, "sprites/%s.spr", p->szSprite); pWeapon->hAmmo2 = SPR_Load(sz); pWeapon->rcAmmo2 = p->rc; gHR.iHistoryGap = max( gHR.iHistoryGap, pWeapon->rcActive.bottom - pWeapon->rcActive.top ); } else pWeapon->hAmmo2 = 0; }