ENIGMA Forums

General fluff => General ENIGMA => Topic started by: Goombert on November 05, 2013, 09:42:44 AM

Title: Creation Orders
Post by: Goombert on November 05, 2013, 09:42:44 AM
Code: [Select]
GameMaker: Stupido
object create
instance create
game start
room create
room start

ENIGMA
object create
game start
room create
instance create
room start

Game Maker 8.1
instance create
object create
game start
room create
room start

Every single one is different, ours is closer to 8.1 though.
Title: Re: Creation Orders
Post by: Josh @ Dreamland on November 05, 2013, 10:31:58 AM
The issue is that Studio's order makes chronological sense, but not functional sense. To facilitate overwriting variables' default or generic values, users like to be able to run their code from least specific to most specific. That order is as follows:
Object create (for any old reason)
Room creation code
Room start (Some room started)
Game start (The first room started)
Instance create (You are instance 1000043 being created in your original room)

However, chronologically, that order falls apart. How is the room starting before the game?

What needs done is creating a separate set of events for the specificity track and load into them appropriately from each GM format.
Title: Re: Creation Orders
Post by: Goombert on November 05, 2013, 11:01:00 AM
No, not really, I am not concerned with it Josh, just use the version that likely works with the most games. It is not like ENIGMA is closed source or you know, proprietary. And besides aren't we supposed to do something down to road to make events.res more modular so that it can change the order of events and stuff, like right from the IDE, I thought that was something we were planning or something? I don't know.
Title: Re: Creation Orders
Post by: Josh @ Dreamland on November 05, 2013, 12:09:13 PM
The order of special events cannot be set by events.res, presently. It's possible we could do it down the road, but to best ease the translation process, we should implement whatever fix is required automatically based on the filetype being loaded.

I don't care if that's done by configuring events.res or changing events from each file to the events run in the correct order.