fix enum warn
parent
2516be7920
commit
a95606d21b
|
@ -26,14 +26,14 @@ static inline asset_id item_fix_kind(asset_id id) {
|
||||||
|
|
||||||
uint64_t item_spawn(asset_id kind, uint32_t qty) {
|
uint64_t item_spawn(asset_id kind, uint32_t qty) {
|
||||||
ecs_entity_t e = entity_spawn(EKIND_ITEM);
|
ecs_entity_t e = entity_spawn(EKIND_ITEM);
|
||||||
|
|
||||||
ItemDrop *d = ecs_get_mut(world_ecs(), e, ItemDrop);
|
ItemDrop *d = ecs_get_mut(world_ecs(), e, ItemDrop);
|
||||||
*d = (ItemDrop){
|
*d = (ItemDrop){
|
||||||
.kind = item_fix_kind(kind),
|
.kind = item_fix_kind(kind),
|
||||||
.quantity = qty,
|
.quantity = qty,
|
||||||
.merger_time = 0,
|
.merger_time = 0,
|
||||||
};
|
};
|
||||||
|
|
||||||
return (uint64_t)e;
|
return (uint64_t)e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ void item_use(ecs_world_t *ecs, ItemDrop *it, Position p, uint64_t udata) {
|
||||||
asset_id item_asset = blocks_get_asset(l.bid);
|
asset_id item_asset = blocks_get_asset(l.bid);
|
||||||
item_id item_asset_id = item_find(item_asset);
|
item_id item_asset_id = item_find(item_asset);
|
||||||
if (item_asset_id == ASSET_INVALID) return;
|
if (item_asset_id == ASSET_INVALID) return;
|
||||||
|
|
||||||
// NOTE(zaklaus): If we replace the same item, refund 1 qty and let it replace it
|
// NOTE(zaklaus): If we replace the same item, refund 1 qty and let it replace it
|
||||||
if (item_asset_id == it_id) {
|
if (item_asset_id == it_id) {
|
||||||
it->quantity++;
|
it->quantity++;
|
||||||
|
@ -73,7 +73,7 @@ void item_use(ecs_world_t *ecs, ItemDrop *it, Position p, uint64_t udata) {
|
||||||
world_chunk_replace_block(l.chunk_id, l.id, blocks_find(desc->place.kind + (asset_id)udata));
|
world_chunk_replace_block(l.chunk_id, l.id, blocks_find(desc->place.kind + (asset_id)udata));
|
||||||
it->quantity--;
|
it->quantity--;
|
||||||
}break;
|
}break;
|
||||||
|
|
||||||
case UKIND_PLACE_ITEM:{
|
case UKIND_PLACE_ITEM:{
|
||||||
world_block_lookup l = world_block_from_realpos(p.x, p.y);
|
world_block_lookup l = world_block_from_realpos(p.x, p.y);
|
||||||
if (l.is_outer && l.bid > 0) {
|
if (l.is_outer && l.bid > 0) {
|
||||||
|
@ -83,15 +83,21 @@ void item_use(ecs_world_t *ecs, ItemDrop *it, Position p, uint64_t udata) {
|
||||||
else if (l.bid > 0 && blocks_get_flags(l.bid) & (BLOCK_FLAG_COLLISION|BLOCK_FLAG_ESSENTIAL)) {
|
else if (l.bid > 0 && blocks_get_flags(l.bid) & (BLOCK_FLAG_COLLISION|BLOCK_FLAG_ESSENTIAL)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ecs_entity_t e = entity_spawn_id(desc->place_item.id);
|
ecs_entity_t e = entity_spawn_id(desc->place_item.id);
|
||||||
ZPL_ASSERT(world_entity_valid(e));
|
ZPL_ASSERT(world_entity_valid(e));
|
||||||
Position *pos = ecs_get_mut(ecs, e, Position);
|
Position *pos = ecs_get_mut(ecs, e, Position);
|
||||||
pos->x = p.x;
|
pos->x = p.x;
|
||||||
pos->y = p.y;
|
pos->y = p.y;
|
||||||
|
|
||||||
it->quantity--;
|
it->quantity--;
|
||||||
}break;
|
}break;
|
||||||
|
|
||||||
|
|
||||||
|
case UKIND_DELETE:
|
||||||
|
case UKIND_END_PLACE:
|
||||||
|
case UKIND_PROXY:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue