This repository has been archived by the owner on Sep 13, 2023. It is now read-only.
The following changed are made in Luna Engine v0.6.1:
- Rename all primitive types:
int8
,int16
,int32
,int64
toi8
,i16
,i32
,i64
.uint8
,uint16
,uint32
,uint64
tou8
,u16
,u32
,u64
.float32
,float64
tof32
andf64
.size_t
,ptrdiff_t
tousize
,isize
.
- Add
c8
,c16
andc32
primitive character types. - Replace the original
Base
module withRuntime
module, which is taken from Luna Engine v0.8. The following changes are made due to this replacement:IAllocator
andIHeap
is discarded.get_module_allocator
is discarded. Now all modules allocate memory from one global memory heap, which is accessed bymemalloc
,memfree
,memrealloc
,memnew
andmemdelete
(#include <Runtime/Memory.hpp>
).IString
,IStringBuffer
,IBlob
andIBuffer
are discarded. New non-reference typesString
andBlob
are introduced to replace those interfaces.strlib
submodule inCore
module is discarded too.result_t
is discarded, newerrcode_t
is introduced to replaceresult_t
, along with a more scalable and robust error handling system.IName
is discarded. The new non-reference typeName
and new name system is introduced to replaceIName
.- The original module system in
Core
is discarded and replaced by a new module system inRuntime
. The new module system handles module initialization and closing order automatically, rather than requiring the user to initialize all modules manually in order when the application starts. - The logging interface
ILogger
is discarded.
IVariant
inCore
module is discarded and replaced by the non-reference typeVariant
.IError
isCore
module is discarded and replaced by the non-reference typeError
.- All namespaces are renamed to Pascal case.
- Remove
Color
aliasing forFloat4
, usingColor
as the namespace for build-in color options (for exampleColor::blue
). - Add built-in support for HLSL shader compilation in
Studio
(requires CMake 3.20.1).