Giter VIP home page Giter VIP logo

se1-enginebase's Introduction

Serious Engine 1 - Engine Base

This is a part of the customly refactored fork of Croteam's Serious Engine v1.10 source code.

The main game shell and other engine modules can be found at https://github.com/DreamyCecil/SE1-GameShell

Includes the following projects:

  • DecodeReport Used to decode crash *.rpt files
  • Depend Used to build a list of dependency files based on a list of root files
  • Ecc The Entity Class Compiler, a custom build tool used to compile *.es files
  • Engine Serious Engine 1.10
  • Shaders Compiled shaders
  • libogg, libvorbis Third party libraries used for playing OGG-encoded ingame music (see http://www.vorbis.com/ for more information)

License

Serious Engine is licensed under the GNU GPL v2 (see LICENSE file).

Some of the code included with the engine sources is not licensed under the GNU GPL v2:

  • zlib (located in Engine/zlib) by Jean-loup Gailly and Mark Adler
  • libogg/libvorbis (located in libogg and libvorbis) by Xiph.Org Foundation

se1-enginebase's People

Contributors

dreamycecil avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

fcccode

se1-enginebase's Issues

Add "extern" keyword for ES functions much like "export" or similar for external functions.

extern keyword before functions in entity sources will only generate a function declaration in the entity header without the function body in the source file to be able to define it yourself in a separate source file from ES.

Example without extern (under functions: in .es):

void Func(void) {
  // function code
  DoThis();
};

Example with extern (under functions: in .es):

extern void Func(void); // or Func(void) {};

In some .cpp file:

void CEntityName::Func(void) {
  // function code
  DoThis();
};

Drowning damage is applied faster than needed.

Due to the new 64-bit tick system, drowning damage is applied by ticks instead of seconds by mistake, which makes entities die way faster than they should (check the player underwater).

Move GRO files into the Content folder

All GRO files should be in their own content folders. Core game resources would be in something like “Content/Base” while custom content would be under “Content/User”.

Replace CLiveEntity with the "HasHealth" entity feature.

A feature just like "HasName" or "HasTarget" that implements SetHealth and GetHealth functions for health management and an optional ReceiveDamage that sends a EDeath event if the health goes below zero (or implement that in CEntity by default).

Copy CLiveEntity::Write_t/Read_t code into CEntity::Write_t/Read_t for compatibility and add a special compatibility flag to read health only if the entity is derived from CRationalEntity (i.e. don't read health for normal CEntity by accident).

CLiveEntity only implements the health property and some functions which are useless in CRationalEntity entities most of the time (for example Trigger).

Add position offset for CSoundObject.

Works in a pair with SetOwner() and capable of setting a position offset relatively to the owner's rotation or absolutely (relative to owner's position only). Something like SetPositionOffset(const FLOAT3D &vPos, BOOL bRotate = TRUE).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.