MCPcopy Create free account
hub / github.com/dhewm/dhewm3 / SetValue

Method SetValue

neo/d3xp/script/Script_Program.cpp:665–722  ·  view source on GitHub ↗

============ idVarDef::SetValue ============ */

Source from the content-addressed store, hash-verified

663============
664*/
665void idVarDef::SetValue( const eval_t &_value, bool constant ) {
666 assert( typeDef );
667 if ( constant ) {
668 initialized = initializedConstant;
669 } else {
670 initialized = initializedVariable;
671 }
672
673 switch( typeDef->Type() ) {
674 case ev_pointer :
675 case ev_boolean :
676 case ev_field :
677 *value.intPtr = _value._int;
678 break;
679
680 case ev_jumpoffset :
681 value.jumpOffset = _value._int;
682 break;
683
684 case ev_argsize :
685 value.argSize = _value._int;
686 break;
687
688 case ev_entity :
689 *value.entityNumberPtr = _value.entity;
690 break;
691
692 case ev_string :
693 idStr::Copynz( value.stringPtr, _value.stringPtr, MAX_STRING_LEN );
694 break;
695
696 case ev_float :
697 *value.floatPtr = _value._float;
698 break;
699
700 case ev_vector :
701 value.vectorPtr->x = _value.vector[ 0 ];
702 value.vectorPtr->y = _value.vector[ 1 ];
703 value.vectorPtr->z = _value.vector[ 2 ];
704 break;
705
706 case ev_function :
707 value.functionPtr = _value.function;
708 break;
709
710 case ev_virtualfunction :
711 value.virtualFunction = _value._int;
712 break;
713
714 case ev_object :
715 *value.entityNumberPtr = _value.entity;
716 break;
717
718 default :
719 throw idCompileError( va( "weird type on '%s'", Name() ) );
720 break;
721 }
722}

Callers 2

GetImmediateMethod · 0.45
ParseVariableDefMethod · 0.45

Calls 3

vaFunction · 0.85
idCompileErrorClass · 0.70
TypeMethod · 0.45

Tested by

no test coverage detected