mirror of
https://github.com/cuberite/cuberite.git
synced 2025-01-08 11:57:39 +08:00
d82a6afd9e
* Overhaul endian handling in ByteBuffer and FastNBT Rather than juggling "swapped" and "unswapped" versions of integers, different library functions, #defines, etc., simply always read everything byte-by-byte. This works regardless of host CPU endian, got optimised down to either a normal load or a byteswap on every compiler I tested - only 1 instruction on most CPU architectures. This commit introduces a "Bytes" array type to keep endian-sensitive data seperate from host data, alongside the needed C++ template machinery for it to work seamlessly. This approach is a little bit safer as well since you get length- and type-checking for most callsites. * Remove remaining references to old-style endianness conversion, remove functions themselves. --------- Co-authored-by: Alexander Harkness <me@bearbin.net> |
||
---|---|---|
.. | ||
AnvilStats | ||
BlockTypePaletteGenerator | ||
BlockZapper | ||
GeneratorPerformanceTest | ||
GrownBiomeGenVisualiser | ||
MCADefrag | ||
MemDumpAnalysis | ||
NoiseSpeedTest | ||
ProtoProxy | ||
QtBiomeVisualiser | ||
RCONClient | ||
ToLuaDoxy | ||
.gitignore |