Skip to main content

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

Where could I submit potential fixes to the code if I happen to find bugs?

Meanwhile, I found a few duplicate IDs in classes that I recommend to renumber:

  • m_fSize or m_penFireFX property in Mamut.es (change ID of one of them from 3 to 1)
  • m_penGhostBusterRay or m_iHydroBarrel property in PlayerWeapons.es (change ID of the first one from 310 to 246 or the second one from 310 to 311)
  • SOUND_DEATH_RUN component in Cerberus.es (change ID from 55 to 57)

Right here, or on Discord. I don't know, where do you usually submit these things? People usually just tell me the issue in the comments.

Good catch on those. How have those not caused any problems?

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.