Skip to content

Releases: DreamyCecil/SE1-ECC

1.0.10 release

14 Jan 11:30
Compare
Choose a tag to compare

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

30 Jul 14:39
Compare
Choose a tag to compare

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

18 Jul 19:03
Compare
Choose a tag to compare

Compiled executable under the ClassicsEnhanced configuration.

Changes since 1.0.7

  • Replaced engine-specific TIME types with TIME type itself for cross-compatibility with other engines that have a different TIME type.
    • Made ClassicsEnhanced choose entity property type for TIME type using a special macro instead of strictly forcing CEntityProperty::EPT_FLOAT.
  • Made ClassicsEnhanced use a special macro for defining entity properties that's cross-compatible with other engines.

1.0.7 release

15 Jul 22:39
Compare
Choose a tag to compare

Compiled executable under the ClassicsEnhanced configuration.

Changes since 1.0.6

  • Merged some quality-of-life features from ClassicsEnhanced compiler with Classics and SSR 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 either FLOAT or DOUBLE depending on the compiler configuration (currently DOUBLE for Revolution and FLOAT for everything else).

1.0.6 release

08 Jul 00:18
Compare
Choose a tag to compare

Compiled executable under the ClassicsEnhanced configuration.

Changes since 1.0.5

  • Replaced TIME property type with DOUBLE 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).

1.0.5 release

13 Feb 06:15
Compare
Choose a tag to compare

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 an export keyword.

1.0.4 release

24 Jan 04:47
Compare
Choose a tag to compare

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

23 Jan 00:31
Compare
Choose a tag to compare

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

23 Dec 04:55
Compare
Choose a tag to compare

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 of CDLLEntityEvent classes.

1.0.1 release

20 Dec 14:56
Compare
Choose a tag to compare

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 with inline, 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).