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

Method FreeDef

neo/d3xp/script/Script_Program.cpp:1436–1468  ·  view source on GitHub ↗

============ idProgram::FreeDef ============ */

Source from the content-addressed store, hash-verified

1434============
1435*/
1436void idProgram::FreeDef( idVarDef *def, const idVarDef *scope ) {
1437 idVarDef *e;
1438 int i;
1439
1440 if ( def->Type() == ev_vector ) {
1441 idStr name;
1442
1443 sprintf( name, "%s_x", def->Name() );
1444 e = GetDef( NULL, name, scope );
1445 if ( e ) {
1446 FreeDef( e, scope );
1447 }
1448
1449 sprintf( name, "%s_y", def->Name() );
1450 e = GetDef( NULL, name, scope );
1451 if ( e ) {
1452 FreeDef( e, scope );
1453 }
1454
1455 sprintf( name, "%s_z", def->Name() );
1456 e = GetDef( NULL, name, scope );
1457 if ( e ) {
1458 FreeDef( e, scope );
1459 }
1460 }
1461
1462 varDefs.RemoveIndex( def->num );
1463 for( i = def->num; i < varDefs.Num(); i++ ) {
1464 varDefs[ i ]->num = i;
1465 }
1466
1467 delete def;
1468}
1469
1470/*
1471============

Callers 1

OptimizeOpcodeMethod · 0.45

Calls 5

sprintfFunction · 0.85
TypeMethod · 0.45
NameMethod · 0.45
RemoveIndexMethod · 0.45
NumMethod · 0.45

Tested by

no test coverage detected