diff options
author | Claudius "keldu" Holeksa <mail@keldu.de> | 2023-12-04 12:18:14 +0100 |
---|---|---|
committer | Claudius "keldu" Holeksa <mail@keldu.de> | 2023-12-04 12:18:14 +0100 |
commit | a14896f9ed209dd3f9597722e5a5697bd7dbf531 (patch) | |
tree | 089ca5cbbd206d1921f8f6b53292f5bc1902ca5c /c++/codec-minecraft | |
parent | 84ecdcbca9e55b1f57fbb832e12ff4fdbb86e7c9 (diff) |
meta: Renamed folder containing source
Diffstat (limited to 'c++/codec-minecraft')
-rw-r--r-- | c++/codec-minecraft/.nix/derivation.nix | 32 | ||||
-rw-r--r-- | c++/codec-minecraft/SConscript | 38 | ||||
-rw-r--r-- | c++/codec-minecraft/SConstruct | 66 | ||||
-rw-r--r-- | c++/codec-minecraft/minecraft.h | 116 | ||||
-rw-r--r-- | c++/codec-minecraft/var_int_data.cpp | 36 | ||||
-rw-r--r-- | c++/codec-minecraft/var_int_data.h | 31 |
6 files changed, 0 insertions, 319 deletions
diff --git a/c++/codec-minecraft/.nix/derivation.nix b/c++/codec-minecraft/.nix/derivation.nix deleted file mode 100644 index 7704d13..0000000 --- a/c++/codec-minecraft/.nix/derivation.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ lib -, stdenvNoCC -, scons -, clang -, clang-tools -, version -, forstio -}: - -let - -in stdenvNoCC.mkDerivation { - pname = "forstio-codec-minecraft"; - inherit version; - src = ./..; - - enableParallelBuilding = true; - - nativeBuildInputs = [ - scons - clang - clang-tools - ]; - - buildInputs = [ - forstio.core - forstio.async - forstio.codec - ]; - - outputs = ["out" "dev"]; -} diff --git a/c++/codec-minecraft/SConscript b/c++/codec-minecraft/SConscript deleted file mode 100644 index 4d1deab..0000000 --- a/c++/codec-minecraft/SConscript +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/false - -import os -import os.path -import glob - - -Import('env') - -dir_path = Dir('.').abspath - -# Environment for base library -codec_minecraft_env = env.Clone(); - -codec_minecraft_env.sources = sorted(glob.glob(dir_path + "/*.cpp")) -codec_minecraft_env.headers = sorted(glob.glob(dir_path + "/*.h")) - -env.sources += codec_minecraft_env.sources; -env.headers += codec_minecraft_env.headers; - -## Shared lib -objects_shared = [] -codec_minecraft_env.add_source_files(objects_shared, codec_minecraft_env.sources, shared=True); -codec_minecraft_env.library_shared = codec_minecraft_env.SharedLibrary('#build/forstio-codec-minecraft', [objects_shared]); - -## Static lib -objects_static = [] -codec_minecraft_env.add_source_files(objects_static, codec_minecraft_env.sources, shared=False); -codec_minecraft_env.library_static = codec_minecraft_env.StaticLibrary('#build/forstio-codec-minecraft', [objects_static]); - -# Set Alias -env.Alias('library_codec_minecraft', [codec_minecraft_env.library_shared, codec_minecraft_env.library_static]); - -env.targets += ['library_codec_minecraft']; - -# Install -env.Install('$prefix/lib/', [codec_minecraft_env.library_shared, codec_minecraft_env.library_static]); -env.Install('$prefix/include/forstio/codec/minecraft/', [codec_minecraft_env.headers]); diff --git a/c++/codec-minecraft/SConstruct b/c++/codec-minecraft/SConstruct deleted file mode 100644 index edd5f57..0000000 --- a/c++/codec-minecraft/SConstruct +++ /dev/null @@ -1,66 +0,0 @@ -#!/usr/bin/env python3 - -import sys -import os -import os.path -import glob -import re - - -if sys.version_info < (3,): - def isbasestring(s): - return isinstance(s,basestring) -else: - def isbasestring(s): - return isinstance(s, (str,bytes)) - -def add_kel_source_files(self, sources, filetype, lib_env=None, shared=False, target_post=""): - - if isbasestring(filetype): - dir_path = self.Dir('.').abspath - filetype = sorted(glob.glob(dir_path+"/"+filetype)) - - for path in filetype: - target_name = re.sub( r'(.*?)(\.cpp|\.c\+\+)', r'\1' + target_post, path ) - if shared: - target_name+='.os' - sources.append( self.SharedObject( target=target_name, source=path ) ) - else: - target_name+='.o' - sources.append( self.StaticObject( target=target_name, source=path ) ) - pass - -def isAbsolutePath(key, dirname, env): - assert os.path.isabs(dirname), "%r must have absolute path syntax" % (key,) - -env_vars = Variables( - args=ARGUMENTS -) - -env_vars.Add('prefix', - help='Installation target location of build results and headers', - default='/usr/local/', - validator=isAbsolutePath -) - -env=Environment(ENV=os.environ, variables=env_vars, CPPPATH=[], - CPPDEFINES=['SAW_UNIX'], - CXXFLAGS=['-std=c++20','-g','-Wall','-Wextra'], - LIBS=['forstio-codec']) -env.__class__.add_source_files = add_kel_source_files -env.Tool('compilation_db'); -env.cdb = env.CompilationDatabase('compile_commands.json'); - -env.objects = []; -env.sources = []; -env.headers = []; -env.targets = []; - -Export('env') -SConscript('SConscript') - -env.Alias('cdb', env.cdb); -env.Alias('all', [env.targets]); -env.Default('all'); - -env.Alias('install', '$prefix') diff --git a/c++/codec-minecraft/minecraft.h b/c++/codec-minecraft/minecraft.h deleted file mode 100644 index 670b019..0000000 --- a/c++/codec-minecraft/minecraft.h +++ /dev/null @@ -1,116 +0,0 @@ -#pragma once - -#include <forstio/core/error.h> -#include <forstio/codec/data.h> -#include <forstio/codec/stream_value.h> - -namespace saw { -namespace encode { -struct Minecraft {}; -struct VarIntTransport {}; -} - -template<typename T> -class data<T, encode::Minecraft> { -private: - ring_buffer buffer_; -public: - data() = default; - data(std::size_t size): - buffer_{size} - {} - - buffer& get_buffer(){ - return buffer_; - } -}; - -namespace mc { -namespace impl { -union minecraft_signed_four_conversion { - int32_t s; - uint32_t u; -}; - -union minecraft_signed_eight_conversion { - int64_t s; - uint64_t u; -}; - -template<typename Schema, typename FromEnc> -class minecraft_encode { - static_assert(always_false<Schema, FromEnc>, "This schema type is not being handled by the Minecraft encoding."); -}; - -template<typename FromEnc> -class minecraft_encode<schema::VarInt, FromEnc>{ - static error_or<void> encode(const data<schema::VarInt, FromEnc>& from, buffer& to){ - uint8_t encode_index = 0; - minecraft_signed_four_conversion value; - value.s = from.get(); - - /** - * VarInt max length is 5 bytes - */ - std::array<uint8_t, 5> encode_data; - - do { - uint8_t step = static_cast<uint8_t>(value.u & 0x7F); - value.u = value.u >> 7; - if(value.u != 0){ - step |= 0x80; - } - encode_data[encode_index] = step; - ++encode_index; - }while(value.u != 0); - - auto err = buffer.push(encode_data[0], encode_index); - if (!err.template is_type<err::no_error>()) { - return err; - } - - return no_error(); - } -}; - -template<typename Schema, typename FromEnc> -class minecraft_decode { - static_assert(always_false<Schema, FromEnc>, "This schema type is not being handled by the Minecraft encoding."); -}; - -template<typename FromEnc> -class minecraft_decode<schema::VarInt, FromEnc>{ - static error_or<void> decode(buffer& from, data<schema::VarInt, FromEnc>& to){ - uint8_t num_reads = 0; - - minecraft_signed_four_conversion value; - value.u = 0; - - uint8_t read{}; - do { - auto err = from.pop(read); - if( !err.template is_type<err::no_error>() ){ - return err; - } - value.u |= ((read & 0x7F) << (7*num_reads)); - ++num_reads; - if(num_reads > 5){ - return make_error<err::>(); - } - } while( (read & 0x80) != 0); - - to.set(value.s); - - return no_error(); - } -}; - -} -} - - - -namespace mc { - -} -} diff --git a/c++/codec-minecraft/var_int_data.cpp b/c++/codec-minecraft/var_int_data.cpp deleted file mode 100644 index 59e4317..0000000 --- a/c++/codec-minecraft/var_int_data.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include "var_int_data.h" - -namespace saw { -data<schema::VarInt,encode::Native>::data(): - data_{} -{} - -data<schema::VarInt,encode::Native>::data(int32_t data): - data_{data} -{} - -int32_t data<schema::VarInt, encode::Native>::get() const { - return data_; -} - -void data<schema::VarInt, encode::Native>::set(int32_t data) { - data_ = data; -} - -data<schema::VarLong,encode::Native>::data(): - data_{} -{} - -data<schema::VarLong,encode::Native>::data(int64_t data): - data_{data} -{} - -int64_t data<schema::VarLong, encode::Native>::get() const { - return data_; -} - -void data<schema::VarLong, encode::Native>::set(int64_t data) { - data_ = data; -} - -} diff --git a/c++/codec-minecraft/var_int_data.h b/c++/codec-minecraft/var_int_data.h deleted file mode 100644 index 807c930..0000000 --- a/c++/codec-minecraft/var_int_data.h +++ /dev/null @@ -1,31 +0,0 @@ -#pragma once - -#include <forstio/core/data.h> - -namespace saw { -template<> -class data<schema::VarInt, encode::Native> { -private: - int32_t data_; -public: - data(); - data(int32_t data); - - int32_t get() const; - void set(int32_t); -}; - -template<> -class data<schema::VarLong, encode::Native> { -private: - int64_t data_; -public: - data(); - data(int64_t data); - - int64_t get() const; - void set(int64_t); -}; - - -} |