Changing in behaviour when replacing OTTD sprites with Actio
Posted: 15 Nov 2007 08:16
Since 11433 Action A sprite replacements that target OTTD sprites, i.e. sprites that are not from the original TTD sprites, will not work as they did before. This is due to the fact that there was a big reordering of all OTTD sprites.
As a result of this reordering sprites are grouped more logically and the sprites are now replaceable via an Action 5. The Action 5 for the GUI sprites furthermore supports changing only a contiguous subset of sprites. The sprites will keep the order as they are now and will keep the same Action 5 offset. However, they will not necessarily keep the same absolute sprite number.
Example code how one could support both Action A and the new Action 5 in one GRF:
As a result of this reordering sprites are grouped more logically and the sprites are now replaceable via an Action 5. The Action 5 for the GUI sprites furthermore supports changing only a contiguous subset of sprites. The sprites will keep the order as they are now and will keep the same Action 5 offset. However, they will not necessarily keep the same absolute sprite number.
Example code how one could support both Action A and the new Action 5 in one GRF:
Code: Select all
// First step... Action 07, Variable A1 might not exist. If that's the case it always skips.
-1 * 0 07 A1 04 \7= FF FF FF FF 03
// Real version check.
-1 * 0 07 A1 04 \7< \w11432 00 06 02
// We are going to overwrite the Action A sprite with the new data (05 95 01 04)
-1 * 0 0D 00 00 FF FF 05 95 01 04
// Actually overwrite the data
-1 * 0 06 00 04 00 FF
// Original Action A sprite
-1 * 0 0A 01 04 3A 0C