add some progs

This commit is contained in:
Marco Cawthorne 2025-01-08 22:55:43 -08:00
parent 31ed19cb47
commit ee8428d8b5
12 changed files with 23 additions and 7 deletions

BIN
.dir.tiff

Binary file not shown.

View file

@ -260,6 +260,8 @@
[multisource](@ref multisource) [multisource](@ref multisource)
[npc_furniture](@ref npc_furniture)
[path_corner](@ref path_corner) [path_corner](@ref path_corner)
[path_track](@ref path_track) [path_track](@ref path_track)

BIN
base/csprogs.dat Normal file

Binary file not shown.

BIN
base/hud.dat Normal file

Binary file not shown.

BIN
base/maps/demo.dat Normal file

Binary file not shown.

BIN
base/menu.dat Normal file

Binary file not shown.

BIN
base/progs.dat Normal file

Binary file not shown.

BIN
base/progs/deathmatch.dat Normal file

Binary file not shown.

BIN
base/progs/singleplayer.dat Normal file

Binary file not shown.

View file

@ -218,7 +218,7 @@ View_DrawViewModel(void)
Event_Callback(m_eViewModel.frame1time, fBaseTime2); Event_Callback(m_eViewModel.frame1time, fBaseTime2);
entity oldSelf = self; entity oldSelf = self;
self = pl.m_activeWeapon; self = m_eViewModel;
processmodelevents(m_eViewModel.modelindex, m_eViewModel.frame, fBaseTime, processmodelevents(m_eViewModel.modelindex, m_eViewModel.frame, fBaseTime,
m_eViewModel.frame1time, View_HandleAnimEvent); m_eViewModel.frame1time, View_HandleAnimEvent);
self = oldSelf; self = oldSelf;

View file

@ -993,22 +993,22 @@ ncRenderableEntity::HandleAnimEvent(float flTimeStamp, int iCode, string strData
/* GS events */ /* GS events */
case 5001: /* muzzle flash on attachment 0 */ case 5001: /* muzzle flash on attachment 0 */
#ifdef CLIENT #ifdef CLIENT
EV_MuzzleFlash_Create(this, m_iNumBones, m_flMuzzleScale, m_iMuzzleModel); EV_MuzzleFlash_CreateAdditive(this, m_iNumBones, m_flMuzzleScale, m_iMuzzleModel);
#endif #endif
break; break;
case 5011: /* muzzle flash on attachment 1 */ case 5011: /* muzzle flash on attachment 1 */
#ifdef CLIENT #ifdef CLIENT
EV_MuzzleFlash_Create(this, m_iNumBones + 1, m_flMuzzleScale, m_iMuzzleModel); EV_MuzzleFlash_CreateAdditive(this, m_iNumBones + 1, m_flMuzzleScale, m_iMuzzleModel);
#endif #endif
break; break;
case 5021: /* muzzle flash on attachment 2 */ case 5021: /* muzzle flash on attachment 2 */
#ifdef CLIENT #ifdef CLIENT
EV_MuzzleFlash_Create(this, m_iNumBones + 2, m_flMuzzleScale, m_iMuzzleModel); EV_MuzzleFlash_CreateAdditive(this, m_iNumBones + 2, m_flMuzzleScale, m_iMuzzleModel);
#endif #endif
break; break;
case 5031: /* muzzle flash on attachment 3 */ case 5031: /* muzzle flash on attachment 3 */
#ifdef CLIENT #ifdef CLIENT
EV_MuzzleFlash_Create(this, m_iNumBones + 3, m_flMuzzleScale, m_iMuzzleModel); EV_MuzzleFlash_CreateAdditive(this, m_iNumBones + 3, m_flMuzzleScale, m_iMuzzleModel);
#endif #endif
break; break;
case 1003: /* trigger SSQC entity with specific targetname */ case 1003: /* trigger SSQC entity with specific targetname */
@ -1278,6 +1278,9 @@ ncRenderableEntity::SpawnKey(string strKey, string strValue)
case "renderfx": case "renderfx":
m_iRenderFX = ReadFloat(strValue); m_iRenderFX = ReadFloat(strValue);
break; break;
case "model_flash":
m_iMuzzleModel = (int)getmodelindex(strValue);
break;
default: default:
super::SpawnKey(strKey, strValue); super::SpawnKey(strKey, strValue);
break; break;

View file

@ -515,7 +515,6 @@ ncWeapon::HandleAnimEvent(float timeStamp, int eventCode, string dataString)
muzzlePos += anglesToUp(pSeat->m_eViewModel.angles) * muzzOfs[2]; muzzlePos += anglesToUp(pSeat->m_eViewModel.angles) * muzzOfs[2];
} }
muzzlePos += anglesToForward(pSeat->m_eViewModel.angles) * muzzOffset[0]; muzzlePos += anglesToForward(pSeat->m_eViewModel.angles) * muzzOffset[0];
muzzlePos += anglesToRight(pSeat->m_eViewModel.angles) * muzzOffset[1]; muzzlePos += anglesToRight(pSeat->m_eViewModel.angles) * muzzOffset[1];
muzzlePos += anglesToUp(pSeat->m_eViewModel.angles) * muzzOffset[2]; muzzlePos += anglesToUp(pSeat->m_eViewModel.angles) * muzzOffset[2];
@ -870,11 +869,13 @@ ncWeapon::UpdateViewmodel(void)
string viewModelPath2 = GetSubDefString(m_primaryFireInfo, "model_view2"); string viewModelPath2 = GetSubDefString(m_primaryFireInfo, "model_view2");
string viewModelPath3 = GetSubDefString(m_primaryFireInfo, "model_view3"); string viewModelPath3 = GetSubDefString(m_primaryFireInfo, "model_view3");
string viewModelPath4 = GetSubDefString(m_primaryFireInfo, "model_view4"); string viewModelPath4 = GetSubDefString(m_primaryFireInfo, "model_view4");
string modelFlash = GetDefString("model_flash");
viewModel.modelindex = m_viewModel; viewModel.modelindex = m_viewModel;
viewModel.modelindex2 = getmodelindex(viewModelPath2); viewModel.modelindex2 = getmodelindex(viewModelPath2);
viewModel.modelindex3 = getmodelindex(viewModelPath3); viewModel.modelindex3 = getmodelindex(viewModelPath3);
viewModel.modelindex4 = getmodelindex(viewModelPath4); viewModel.modelindex4 = getmodelindex(viewModelPath4);
viewModel2.m_iMuzzleModel = viewModel.m_iMuzzleModel = (int)getmodelindex(modelFlash);
if (viewModel) { if (viewModel) {
viewModel._UpdateBoneCount(); viewModel._UpdateBoneCount();
@ -1048,6 +1049,14 @@ void
ncWeapon::ReleasedWeaponAttack(string fireInfo) ncWeapon::ReleasedWeaponAttack(string fireInfo)
{ {
ncPlayer ourOwner = (ncPlayer)GetOwner(); ncPlayer ourOwner = (ncPlayer)GetOwner();
/* don't apply to projectiles without fuses */
if (m_flPrimedFuse <= 0) {
#ifdef SERVER
ourOwner.nadeCookingTime = time;
#endif
}
ourOwner.AttackByDef(fireInfo, true); ourOwner.AttackByDef(fireInfo, true);
/* knockback */ /* knockback */
@ -1133,7 +1142,9 @@ ncWeapon::Attack(string fireInfo)
SetWeaponFrame(shotAnim); SetWeaponFrame(shotAnim);
_SetWeaponState(WEAPONSTATE_CHARGING); _SetWeaponState(WEAPONSTATE_CHARGING);
return; return;
} if (UseAmmo(fireInfo) == false) { }
if (UseAmmo(fireInfo) == false) {
return; return;
} }
} else { } else {