Developers,I am working with level designer Ray Wick who had an idea for a "Yin-Yang Switch Stone," i.e. a stone which when hit switches player control between the black ball and the white ball in the same way as it-yinyang. However, in the case of a yin-yang switch stone, the switch must be activated where it is on the map rather than allowing the player to carry it-yinyang in the inventory.
This idea could make for some new and interesting Enigma levels so I implemented it. I couldn't find a way to do it purely by Lua-scripting level objects so I made some source code changes. My first attempt was simply to add support in the YinYang Item's class (items.cc) for a "swap" message, so that it-yinyang could be activated in the level's Lua script by other level objects like a floor switch or switch stone. My second attempt was to create a new subclass of the switch stone which called "player::SwapPlayers()" on actor_hit, in addition to otherwise being a fully functional switch stone. I also put together artwork for this stone and added it to the Lua model scripts where needed. Originally I was working against the released source code for version 1.01. I was able to replicate the behavior from my first attempt above easily in the subversion trunk, however the code for switch stones has been re-factored since 1.01 and I wasn't sure how to proceed. So a few of questions: - What do you think of the new idea and how do the developers decide whether to integrate new game features like this? - Is subclassing a switch stone the best way to implement this? I would be glad to hear any other approaches and suggestions. What about making it-yinyang respond to a "swap" message, should this be left in? - If this feature is to be integrated, what is the best way to submit diffs (and artwork)? Thanks, Ivan
_______________________________________________ Enigma-devel mailing list Enigma-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/enigma-devel