src/newgrf_engine.cpp
changeset 5609 dc6a58930ba4
parent 5601 d58f82901b2f
child 5924 f9e5c4f44bc5
equal deleted inserted replaced
5608:0b0aff054402 5609:dc6a58930ba4
    81 	assert(engine < TOTAL_NUM_ENGINES);
    81 	assert(engine < TOTAL_NUM_ENGINES);
    82 	assert(cargo < NUM_GLOBAL_CID);
    82 	assert(cargo < NUM_GLOBAL_CID);
    83 
    83 
    84 	wos = &_engine_wagon_overrides[engine];
    84 	wos = &_engine_wagon_overrides[engine];
    85 	wos->overrides_count++;
    85 	wos->overrides_count++;
    86 	ReallocT(&wos->overrides, wos->overrides_count);
    86 	wos->overrides = ReallocT(wos->overrides, wos->overrides_count);
    87 
    87 
    88 	wo = &wos->overrides[wos->overrides_count - 1];
    88 	wo = &wos->overrides[wos->overrides_count - 1];
    89 	/* FIXME: If we are replacing an override, release original SpriteGroup
    89 	/* FIXME: If we are replacing an override, release original SpriteGroup
    90 	 * to prevent leaks. But first we need to refcount the SpriteGroup.
    90 	 * to prevent leaks. But first we need to refcount the SpriteGroup.
    91 	 * --pasky */
    91 	 * --pasky */
    92 	wo->group = group;
    92 	wo->group = group;
    93 	wo->cargo = cargo;
    93 	wo->cargo = cargo;
    94 	wo->trains = trains;
    94 	wo->trains = trains;
    95 	MallocT(&wo->train_id, trains);
    95 	wo->train_id = MallocT<byte>(trains);
    96 	memcpy(wo->train_id, train_id, trains);
    96 	memcpy(wo->train_id, train_id, trains);
    97 }
    97 }
    98 
    98 
    99 static const SpriteGroup *GetWagonOverrideSpriteSet(EngineID engine, CargoID cargo, byte overriding_engine)
    99 static const SpriteGroup *GetWagonOverrideSpriteSet(EngineID engine, CargoID cargo, byte overriding_engine)
   100 {
   100 {