@@ -418,83 +418,85 @@ namespace Anubis::Engine
418
418
return static_cast <SpawnFlag>(m_edict->v .spawnflags );
419
419
}
420
420
421
+ IEdict::RenderFx Edict::getRenderEffects () const
422
+ {
423
+ return static_cast <RenderFx>(m_edict->v .renderfx );
424
+ }
425
+
421
426
void Edict::setVecProperty (VecProperty property, std::array<float , 3 > value)
422
427
{
423
- auto getVec = [ this , property, value]( )
428
+ switch (property )
424
429
{
425
- switch (property)
426
- {
427
- case VecProperty::Origin:
428
- m_edict->v .origin = {value[0 ], value[1 ], value[2 ]};
429
- break ;
430
- case VecProperty::OldOrigin:
431
- m_edict->v .oldorigin = {value[0 ], value[1 ], value[2 ]};
432
- break ;
433
- case VecProperty::Velocity:
434
- m_edict->v .velocity = {value[0 ], value[1 ], value[2 ]};
435
- break ;
436
- case VecProperty::BaseVelocity:
437
- m_edict->v .basevelocity = {value[0 ], value[1 ], value[2 ]};
438
- break ;
439
- case VecProperty::ClBaseVelocity:
440
- m_edict->v .clbasevelocity = {value[0 ], value[1 ], value[2 ]};
441
- break ;
442
- case VecProperty::MoveDir:
443
- m_edict->v .movedir = {value[0 ], value[1 ], value[2 ]};
444
- break ;
445
- case VecProperty::Angles:
446
- m_edict->v .angles = {value[0 ], value[1 ], value[2 ]};
447
- break ;
448
- case VecProperty::AVelocity:
449
- m_edict->v .avelocity = {value[0 ], value[1 ], value[2 ]};
450
- break ;
451
- case VecProperty::PunchAngle:
452
- m_edict->v .punchangle = {value[0 ], value[1 ], value[2 ]};
453
- break ;
454
- case VecProperty::ViewingAngle:
455
- m_edict->v .v_angle = {value[0 ], value[1 ], value[2 ]};
456
- break ;
457
- case VecProperty::EndPos:
458
- m_edict->v .endpos = {value[0 ], value[1 ], value[2 ]};
459
- break ;
460
- case VecProperty::StartPos:
461
- m_edict->v .startpos = {value[0 ], value[1 ], value[2 ]};
462
- break ;
463
- case VecProperty::AbsMin:
464
- m_edict->v .absmin = {value[0 ], value[1 ], value[2 ]};
465
- break ;
466
- case VecProperty::AbsMax:
467
- m_edict->v .absmax = {value[0 ], value[1 ], value[2 ]};
468
- break ;
469
- case VecProperty::Mins:
470
- m_edict->v .mins = {value[0 ], value[1 ], value[2 ]};
471
- break ;
472
- case VecProperty::Maxs:
473
- m_edict->v .maxs = {value[0 ], value[1 ], value[2 ]};
474
- break ;
475
- case VecProperty::Size :
476
- m_edict->v .size = {value[0 ], value[1 ], value[2 ]};
477
- break ;
478
- case VecProperty::RenderColor:
479
- m_edict->v .rendercolor = {value[0 ], value[1 ], value[2 ]};
480
- break ;
481
- case VecProperty::ViewingOffset:
482
- m_edict->v .view_ofs = {value[0 ], value[1 ], value[2 ]};
483
- break ;
484
- case VecProperty::User1:
485
- m_edict->v .vuser1 = {value[0 ], value[1 ], value[2 ]};
486
- break ;
487
- case VecProperty::User2:
488
- m_edict->v .vuser2 = {value[0 ], value[1 ], value[2 ]};
489
- break ;
490
- case VecProperty::User3:
491
- m_edict->v .vuser3 = {value[0 ], value[1 ], value[2 ]};
492
- break ;
493
- case VecProperty::User4:
494
- m_edict->v .vuser4 = {value[0 ], value[1 ], value[2 ]};
495
- break ;
496
- }
497
- };
430
+ case VecProperty::Origin:
431
+ m_edict->v .origin = {value[0 ], value[1 ], value[2 ]};
432
+ break ;
433
+ case VecProperty::OldOrigin:
434
+ m_edict->v .oldorigin = {value[0 ], value[1 ], value[2 ]};
435
+ break ;
436
+ case VecProperty::Velocity:
437
+ m_edict->v .velocity = {value[0 ], value[1 ], value[2 ]};
438
+ break ;
439
+ case VecProperty::BaseVelocity:
440
+ m_edict->v .basevelocity = {value[0 ], value[1 ], value[2 ]};
441
+ break ;
442
+ case VecProperty::ClBaseVelocity:
443
+ m_edict->v .clbasevelocity = {value[0 ], value[1 ], value[2 ]};
444
+ break ;
445
+ case VecProperty::MoveDir:
446
+ m_edict->v .movedir = {value[0 ], value[1 ], value[2 ]};
447
+ break ;
448
+ case VecProperty::Angles:
449
+ m_edict->v .angles = {value[0 ], value[1 ], value[2 ]};
450
+ break ;
451
+ case VecProperty::AVelocity:
452
+ m_edict->v .avelocity = {value[0 ], value[1 ], value[2 ]};
453
+ break ;
454
+ case VecProperty::PunchAngle:
455
+ m_edict->v .punchangle = {value[0 ], value[1 ], value[2 ]};
456
+ break ;
457
+ case VecProperty::ViewingAngle:
458
+ m_edict->v .v_angle = {value[0 ], value[1 ], value[2 ]};
459
+ break ;
460
+ case VecProperty::EndPos:
461
+ m_edict->v .endpos = {value[0 ], value[1 ], value[2 ]};
462
+ break ;
463
+ case VecProperty::StartPos:
464
+ m_edict->v .startpos = {value[0 ], value[1 ], value[2 ]};
465
+ break ;
466
+ case VecProperty::AbsMin:
467
+ m_edict->v .absmin = {value[0 ], value[1 ], value[2 ]};
468
+ break ;
469
+ case VecProperty::AbsMax:
470
+ m_edict->v .absmax = {value[0 ], value[1 ], value[2 ]};
471
+ break ;
472
+ case VecProperty::Mins:
473
+ m_edict->v .mins = {value[0 ], value[1 ], value[2 ]};
474
+ break ;
475
+ case VecProperty::Maxs:
476
+ m_edict->v .maxs = {value[0 ], value[1 ], value[2 ]};
477
+ break ;
478
+ case VecProperty::Size :
479
+ m_edict->v .size = {value[0 ], value[1 ], value[2 ]};
480
+ break ;
481
+ case VecProperty::RenderColor:
482
+ m_edict->v .rendercolor = {value[0 ], value[1 ], value[2 ]};
483
+ break ;
484
+ case VecProperty::ViewingOffset:
485
+ m_edict->v .view_ofs = {value[0 ], value[1 ], value[2 ]};
486
+ break ;
487
+ case VecProperty::User1:
488
+ m_edict->v .vuser1 = {value[0 ], value[1 ], value[2 ]};
489
+ break ;
490
+ case VecProperty::User2:
491
+ m_edict->v .vuser2 = {value[0 ], value[1 ], value[2 ]};
492
+ break ;
493
+ case VecProperty::User3:
494
+ m_edict->v .vuser3 = {value[0 ], value[1 ], value[2 ]};
495
+ break ;
496
+ case VecProperty::User4:
497
+ m_edict->v .vuser4 = {value[0 ], value[1 ], value[2 ]};
498
+ break ;
499
+ }
498
500
}
499
501
500
502
void Edict::setStrProperty (StrProperty property, StringOffset value)
@@ -849,4 +851,9 @@ namespace Anubis::Engine
849
851
m_edict->v .spawnflags = static_cast <int >(spawnFlag);
850
852
}
851
853
854
+ void Edict::setRenderEffects (RenderFx renderFx)
855
+ {
856
+ m_edict->v .renderfx = static_cast <decltype (m_edict->v .renderfx )>(renderFx);
857
+ }
858
+
852
859
} // namespace Anubis::Engine
0 commit comments