/
erlang.spawn
/
fallout2-ck
Обзор
Документация
Войти
/
erlang.spawn
/
fallout2-ck
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/object/ck_object.cc
38 строк
1 KB
Alpaca Communist
adds proper collision for map.spawnMask
07 июн 2026, 14:20
07 июн 2026, 14:20
941e99a
Код
Авторство
О чём код?
#include "ck_scripting.h" #include "object/ck_object.h" #include "tile.h" const int BLOCKER_PID=0x2000158; // dummy collision object const int BLOCKER_FID=0x02000015; static fallout::Object* ck_object_blocker_at(int tile) { return fallout::_obj_blocking_at(nullptr, tile, fallout::gElevation); } bool ck_object_blocking(int tile) { fallout::Object* blocker = ck_object_blocker_at(tile); return blocker != nullptr; // something blocks tile } void ck_object_create_at(int fid, int tile) { if (ck_object_blocking(tile)) return; fallout::Object* object = nullptr; fallout::objectCreateWithFidPid(&object, fid, BLOCKER_PID); fallout::objectSetLocation(object, tile, fallout::gElevation, nullptr); if (object) object->flags |= fallout::OBJECT_NO_SAVE; } void ck_object_create_persistent_at(int fid, int tile); void ck_object_remove_blocker_at(int tile) { fallout::Object* blocker = ck_object_blocker_at(tile); if (blocker != nullptr && (FID_TYPE(blocker->fid) == fallout::OBJ_TYPE_SCENERY)) fallout::objectDestroy(blocker, nullptr); } void ck_object_create_blocker_at(int tile) { ck_object_create_at(BLOCKER_FID, tile); }