Random Chitchat 2012-2016
I believe block entities getting misplaced is just a visual glitch in the client.
Thanks given by:
No, it's the server saying it.
Thanks given by:
Do we have a a builtin way in Cuberite to allow shared read access and mutually exclusive write access to a member variable?
Thanks given by:
No, we've been using mutexes (cCriticalSection) for those, for the simplicity.
Thanks given by:
So, if I borrow some code from the project, such as the FastNBT code, do I need to add anything to the top of the files to say where they came from?
Thanks given by:
I don't think you need to, although a mention somewhere, anywhere, would be nice Smile
Thanks given by:
(08-11-2015, 02:04 AM)SamJBarney Wrote: So, if I borrow some code from the project, such as the FastNBT code, do I need to add anything to the top of the files to say where they came from?

What do you want to do? I've tried to use stuff in the past, and a lot of the tight coupling caused problems. FastNBT depends on: Endianness.h, the ASSERT and UNUSED_VAR macros, size_t imports in Globals.h, the AString typedef, vector and string.h imports by Globals.h, the fixed size type typedefs. All of which need to be changed or replicated before using the code elsewhere.

But if you succeed in decoupling the code you want, can you push the changes upstream?
Thanks given by:
I actually found an alternative to what I was working on. I'm having some fun with the D programming language by building an external chunk generator, with a plugin architecture. But I found a dub package that handles nbt.

Mostly I'm using it to figure out a better way to structure cuberite's generation code.

But I will need to pull out the FastNBT code into a library for testing for some other code I am writing. Working on classes to allow entities, items, etc. to store and retrieve arbitrary NBT data.

Has anyone on here had some experience with D? It seems pretty powerful, and acts a lot like C++.
Thanks given by:
The main problem with D in my opinion is the lack of predictable time/space costs due to the GC. I personally think that rust shows more promise, but if you can get Cuberite to cooperate with an external runtime, I might restart my experiments with openCL. Also, one of the things I did learn last time is that batching is essential for out of process generation. 100ms PCI-E transfer times had a huge impact on generation speed.
Thanks given by:
Binding from C++ to D or D to C++ isn't that hard from the looks of it. However, C++ must manage anything that has been allocated from the c++ side, and D must manage anything that has been allocated from the D side.

But the project I am working on is a separate program altogether. So batches would be sent over the network, or the world would be pre-generated and saved to to files that are compatible.
Thanks given by:




Users browsing this thread: 3 Guest(s)