Releases: DreamyCecil/SE1-ECC
Releases · DreamyCecil/SE1-ECC
1.0.10 release
Compiled executable under the ClassicsEnhanced
configuration.
Changes since 1.0.9
- Included
EccExtras/EntityProperties.h
header that defines the entity property constructor macro before defining property lists. - Added safety checks that display errors upon trying to use repeating IDs for properties and components.
- Allowed wrapping properties into preprocessor checks using attributes before properties, like this:
["SE1_VER >= SE1_107"] 10 CEntityPointer m_penSkaMesh, ["SE1_GAME != SS_TFE"] 50 BOOL m_bSniperRifle = FALSE,
1.0.9 release
Compiled executable under the ClassicsEnhanced
configuration.
Changes since 1.0.8
- Defined class ID as a macro in the entity header for convenience, e.g.
#define CEnemyBase_ClassID 310
.
1.0.8 release
Compiled executable under the ClassicsEnhanced
configuration.
Changes since 1.0.7
- Replaced engine-specific
TIME
types withTIME
type itself for cross-compatibility with other engines that have a differentTIME
type.- Made
ClassicsEnhanced
choose entity property type forTIME
type using a special macro instead of strictly forcingCEntityProperty::EPT_FLOAT
.
- Made
- Made
ClassicsEnhanced
use a special macro for defining entity properties that's cross-compatible with other engines.
1.0.7 release
Compiled executable under the ClassicsEnhanced
configuration.
Changes since 1.0.6
- Merged some quality-of-life features from
ClassicsEnhanced
compiler withClassics
andSSR
compilers:- Support for preprocessor directives.
- Forced class export.
- Line directives before includes.
- Some minimal code formatting.
- Added new
TIME
property type that's automatically interpreted as eitherFLOAT
orDOUBLE
depending on the compiler configuration (currentlyDOUBLE
for Revolution andFLOAT
for everything else).
1.0.6 release
Compiled executable under the ClassicsEnhanced
configuration.
Changes since 1.0.5
- Replaced
TIME
property type withDOUBLE
for the SSR compiler to match its SDK. - Replaced arrays of property variable names with proper tables of property references that contain simple entity property data (such as display name and ID) under their respective variable names.
- Added
-proplist <file>
command line argument for specifying a separate file to put all the property reference lists in (instead of keeping them inside of entity headers).
- Added
1.0.5 release
Compiled executable under the ClassicsEnhanced
configuration.
Changes since 1.0.4
- Added an
-export
command line argument for forcing class export from the library regardless of whether or not it's marked with anexport
keyword.
1.0.4 release
Compiled executable under the ClassicsEnhanced
configuration.
Changes since 1.0.3
- Implemented compatibility mode (using
-compat
launch argument) that generates static arrays of entity property identifiers in headers of entities themselves to be able to use them outside of entities built with a vanilla ECC.
1.0.3 release
Compiled executable under the ClassicsEnhanced
configuration.
Changes since 1.0.2
- Made it possible to specify any path to entity source files (such as
C:\Entities\MyEntity.es
and..\OtherPack\Entity.es
) instead of just relative paths. - Entity sources are now able to generate arrays of strings with names of entity property identifiers (i.e. variable names), the indices of which match entity properties themselves inside
<class>_properties
tables.
1.0.2 release
Compiled executable under the ClassicsEnhanced
configuration.
Changes since 1.0.1
- Optimized generation of
#line
preprocessor directives. - Now every time a
uses
statement is parsed, a line directive is added before the included header file to point to the entity source file in case of an error when the header does not exist. - Every generated entity header will now include
<EccExtras.h>
from this SDK that extends entity functionality. - Entity sources are now able to generate tables of event classes that this entity class defines (backported feature from 1.50).
- Every generated entity tables header will now define an entry in the global entity table with pointers to its
CDLLEntityClass
class and a brand new array ofCDLLEntityEvent
classes.
1.0.1 release
Compiled executable under the ClassicsEnhanced
configuration.
Changes since 1.0
- Inline function definition support. Instead of defining them with a
virtual
modifier, they can be defined withinline
, which will mark them as such in the header file and include its implementation there. - Optional function body support. If there's no function body defined, it won't generate any implementation for the function at all, letting you define functions on your own in source files (
.cpp
).