Ticket #6 (closed task: fixed)

Opened 5 years ago

Last modified 5 years ago

Make modules event based

Reported by: Anders Nissen <anissen@daimi.au.dk> Owned by: zerny
Priority: major Milestone: OEHack The Movie
Component: Core Keywords: state system, event, listener, game engine, module
Cc:

Description

This task is converting the game engine and module system to communicate purely by means of event. Instead of having the game engine maintaining collections of (tick dependent and tick independent) IModules, the game engine will maintain an event queue for initialization, deinitialization and processing. Each module has to be explicitly hooked to the engine by listening to the desired event queue(s).

Closely related to this is the state system, which in this approach is really just a hierarchical event interceptor. This is also part of this ticket.

Change History

Changed 5 years ago by Anders Nissen

  • status changed from new to closed
  • resolution set to fixed
  • component set to Content

Ticked closed - handled by the new event system.

Changed 5 years ago by zerny

  • status changed from closed to reopened
  • resolution fixed deleted

Lets keep the ticket open until we have actually implemented the above. The event system is in place, but we need to create event interception objects and methods for controlling module execution times (for time dependent modules).

Changed 5 years ago by zerny

New event structures are now implemented with pach: New event based rendering structure and vertex array merged with main.

We still need the utility functions/macros to control module processing times.

Changed 5 years ago by zerny

  • component changed from Content to Core

Changed 5 years ago by zerny

  • owner changed from Anders Nissen to zerny
  • status changed from reopened to new
  • milestone set to OEHack The Movie

Changed 5 years ago by zerny

  • status changed from new to closed
  • resolution set to fixed

This is now implemented in core and most extensions and projects are being updated to the new structure. The main patch is  API CHANGE - New event based engine.

Note: See TracTickets for help on using tickets.