feat: randomization-free landing particles

This commit is contained in:
Fireblade
2026-08-02 18:11:23 -04:00
parent f8a4de8afd
commit 8d3e02bc1f
11 changed files with 144 additions and 54 deletions
+6 -3
View File
@@ -49,13 +49,16 @@ enum ePARTICLE_TYPE
eParticleType_iconcrack_last = 0x1FFFFF,
eParticleType_tilecrack_base = 0x200000, // There's a range of tilecrack particle types based on tile id and data.
eParticleType_tilecrack_last = 0x2FFFFF,
// 0x0000FF, <- these bits are for storing the data value.
// 0x0FFF00, <- these bits are for encoding tile/item id.
// 0x300000, <- these bits show if its an icon/tile or not.
eParticleType_blockdust_base = 0x300000,
eParticleType_blockdust_last = 0x3FFFFF,
// 0x0000FF, <- these bits are for storing the data value.
// 0x0FFF00, <- these bits are for encoding tile/item id.
// 0x300000, <- these bits show if its an icon/tile or not.
};
#define PARTICLE_TILECRACK(id,data) ( (ePARTICLE_TYPE) ( ((int) eParticleType_tilecrack_base) | ((0x0FFF & id) << 8) | (0x0FF & data)) )
#define PARTICLE_BLOCKDUST(id,data) ( (ePARTICLE_TYPE) ( ((int) eParticleType_blockdust_base) | ((0x0FFF & id) << 8) | (0x0FF & data)) )
#define PARTICLE_ICONCRACK(id,data) ( (ePARTICLE_TYPE) ( ((int) eParticleType_iconcrack_base) | ((0x0FFF & id) << 8) | (0x0FF & data)) )
#define PARTICLE_CRACK_ID(ePType) ((0x0FFF00 & (int)ePType) >> 8)