Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Usually (as in never, but if I ever had to) I’d just create a pull request on GitHub, but since the code isn’t in any repository, I guess I could send them here.

If I end up sending entire files, you’ll have to make sure not to overwrite your own changes that aren’t in the latest sources yet. I always prefix comments before my changes with [Cecil] in the beginning, so maybe you could look those up.

Regarding the IDs, it would only cause problems if there were any collisions. Properties are usually identified by both ID and type, so because those properties had different types, it was fine.

As for the component, the issues it currently has are (1) inability to precache it and (2) it would always play the previous sound because it’s always found first. If it was something else (e.g. a model), it would’ve caused crashes when it expects one type but ends up finding another under the same ID.

Hey Cecil, I hope you can help out with this. I'm developing an entity for laser beam type particle effects and I just can't get it to interact with triggers. So far it can be activated and deactivated manually in the editor, but not with a trigger set to "activate/deactivate event" as it's supposed to.

The entity in question.

If you only intend on toggling particle effects without any logic surrounding them, you can remove Active() and Inactive() procedures entirely and replace this block:

    // go into active or inactive state
    if (m_bActive) {
      jump Active();
    } else {
      jump Inactive();
    }

With this:

    // Wait for the game to start
    autowait(0.05f);

    wait() {
      on (EActivate) : {
        m_bActive = TRUE;
        resume;
      }
      on (EDeactivate) : {
        m_bActive = FALSE;
        resume;
      }
      otherwise() : { resume; }
    }

Sadly, this is still not working.

The class should be derived from CRationalEntity in order to process logic. Easy mistake to make.

class CBeam: CEntity {

Oh, so that's why it's called that. Thanks, it works now.