MCPcopy Create free account
hub / github.com/JACoders/OpenJK / Affect

Method Affect

code/icarus/Sequencer.cpp:2239–2286  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2237*/
2238
2239int CSequencer::Affect( int id, int type, CIcarus* icarus )
2240{
2241 IGameInterface* game = icarus->GetGame();
2242 CSequence *sequence = GetSequence( id );
2243
2244 if ( sequence == NULL )
2245 {
2246 return SEQ_FAILED;
2247 }
2248
2249 switch ( type )
2250 {
2251
2252 case CIcarus::TYPE_FLUSH:
2253
2254 //Get rid of all old code
2255 Flush( sequence, icarus );
2256
2257 sequence->RemoveFlag( CSequence::SQ_PENDING, true );
2258
2259 m_curSequence = sequence;
2260
2261 Prime( m_taskManager, PopCommand( CSequence::POP_BACK ), icarus );
2262
2263 break;
2264
2265 case CIcarus::TYPE_INSERT:
2266
2267 Recall(icarus);
2268
2269 sequence->SetReturn( m_curSequence );
2270
2271 sequence->RemoveFlag( CSequence::SQ_PENDING, true );
2272
2273 m_curSequence = sequence;
2274
2275 Prime( m_taskManager, PopCommand( CSequence::POP_BACK ), icarus );
2276
2277 break;
2278
2279
2280 default:
2281 game->DebugPrint(IGameInterface::WL_ERROR, "unknown affect type found" );
2282 break;
2283 }
2284
2285 return SEQ_OK;
2286}
2287
2288/*
2289========================

Callers 1

CheckAffectMethod · 0.45

Calls 4

DebugPrintMethod · 0.80
GetGameMethod · 0.45
RemoveFlagMethod · 0.45
SetReturnMethod · 0.45

Tested by

no test coverage detected