Hasty Briefsbeta

双语

A compact bitset implementation used in Ocarina of Time save files

10 months ago
  • #programming
  • #game-development
  • #optimization
  • 灵感来自《塞尔达传说:时之笛》的极简零开销旗帜系统
  • 采用C/C++和Rust实现,实现高效旗帜存储
  • 在存档文件中存储数百或数千个单比特旗帜,不浪费字节
  • 使用uint16_t数组实现空间高效存储(1个字=16面旗帜)
  • C语言版本仅需头文件,Rust版本依赖极小;无需堆分配
  • 通过无分支位操作实现零成本抽象,性能优异
  • 可扩展性从1到4096个字(65,536面旗帜)
  • 直观的索引方式便于调试(例如0x12对应字1位2)
  • 包含设置、清除和检查旗帜的功能函数
  • 兼容C99及以上版本编译器,并通过Cargo支持Rust