20 Commits

Author SHA1 Message Date
f9050e6e02
Pulled in upstream commits up-to 3ec51bcb9f9277e955ec400063c88d54e7ae690b 2025-06-12 12:34:38 -04:00
Ash
d82a6afd9e
Overhaul endian handling in ByteBuffer and FastNBT (#5543)
* 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>
2024-11-03 16:33:40 +01:00
6c4b2e9186
Implement GPL3+ and Apache2.0 Dual License.
Commit is being made to allow additions of GPL3+ code previously
un-addable. With these changes, contributions back to cuberite are
possible with the backporting exemtion, as well as adding stuff in
minetest with minetest code properly being read through and implimented
to upgrade it to GPL3 from GPL2.

project still has Apache2.0 license and credits to all its contributers, but now has the freedom of GPL3+ and all the code that can be implimented and shared with it.
2023-03-20 11:49:56 -04:00
Mattes D
4e0cef0ff6 QtBiomeVisualiser: Generator uses all machine threads.
The previous limit of 1 thread was lifted, now the generator source runs on all CPU threads available.
2014-10-29 23:04:59 +01:00
Mattes D
53ff5c527c QtBiomeVisualiser: Attempt at fixing Linux compilation. 2014-10-28 11:23:54 +01:00
Mattes D
c53b7e5d38 QtBiomeVisualiser: Switched caching to entire regions.
This speeds up the rendering preparation for small zooms.
2014-10-27 23:58:09 +01:00
Mattes D
298be25413 QtBiomeVisualiser: Moved the IniFile lib. 2014-10-23 15:29:02 +02:00
Mattes D
e0cfbc4d85 Generator: Rewritten to use SharedPtrs. 2014-10-19 14:01:59 +02:00
Mattes D
0aa1b5667e QtBiomeVisualiser: Added mouse hover info. 2014-10-03 19:41:42 +02:00
madmaxoft
f424a0ec60 QtBiomeVisualiser: Seed is read properly. 2014-09-29 21:32:02 +02:00
madmaxoft
34b83656b3 QtBiomeVisualiser: Fixed MSVC path-crossing.
MSVC would occasionally compile the wrong CPP file - the same name, but wrong path.
2014-09-24 11:21:59 +02:00
madmaxoft
de163f0134 QtBiomeVisualiser: Fixed confusion about Globals.h. 2014-09-23 12:51:02 +02:00
madmaxoft
83588fb0aa QtBiomeVisualiser: Implemented live-update for the generator setup. 2014-09-22 21:52:38 +02:00
madmaxoft
583532e1b9 QtBiomeVisualiser: generator source is read from generator setup ini. 2014-09-22 21:52:37 +02:00
madmaxoft
66ef05c765 QtBiomeVisualiser: Added support for loading Anvil worlds. 2014-09-20 18:41:21 +02:00
madmaxoft
09c67bddf7 QtBiomeVisualiser: More gcc fixes. 2014-09-18 10:26:28 +02:00
madmaxoft
18743540bc QtBiomeVisualiser: Fixed colors and read failures. 2014-09-15 21:45:35 +02:00
Mattes D
84947a22ad QtBiomeVisualiser: removed multithreading.
It was slowing things down, the granularity is too fine.
2014-09-15 17:20:54 +02:00
Mattes D
d772bc032f QtBiomeVisualiser: Added multithreading.
For some reason this makes the UI less responsive.
2014-09-15 16:50:40 +02:00
Mattes D
e3a2dc5a13 Added new Qt-based biome visualiser.
Compile with Qt 5.1+
2014-09-14 01:33:05 +02:00