Hi ! First, I'd like to congratulate you for creating such a great library. I've been looking for such an engine for ages, and I hope you'll keep improving what is already a stunning piece of software. By the way, I'm surprised this engine is not widely known among C# game developers. I'm sure there's a lot of amateur coders out there who'd murder for such a clean, powerful and easy to use library. I can post a few words about AgateLib on french coding forums (yeah, I'm a froggie :) ) if you're interested. Anyway, I have a few suggestions : 1- Maybe it's me, but I haven't found a way to get the currently used display/audio/input drivers. As I would like to store the user's selection in a configuration file (so he would only be asked through the "setup.AskUser" menu the first time), I'd like to know if there's a way to do it. Also, it could be useful to be able to get a list/array of supported drivers without having to summon the "AskUser" menu, as it would allow to include a driver menu inside an existing options screen. 2- A function to export a surface to a DotNet Image would be nice (something like "surface.ToNETImage()"), so we could use the fast per-pixel image modification functions to create Image objects for the "non-Agate" part of the program (e.g. user interface, character portraits in an RPG...). I know it can be done by saving the surface to a temporary file and loading it through "Image.FromFile()", but, well... It's not very clean. :) |
|||
|
|

Cool, glad you like it
Cool, glad you like it :)
Yeah, I haven't done a whole lot to promote the library yet. Mostly I feel that there are some parts which are not very stable and I feel like if there was a large community I would have more of a commitment to maintaining backwards compatibility than I would like.
Anyway, on your suggestions:
1. Improving this part of the code has been in the back of my mind for a while, but it's been a low priority and I've just never really gotten around to it. But information about supported drivers can be obtained, if you take a look at the performance test it does it. If you're using the current SVN then it's AgateLib.Drivers.Registrar.DisplayDrivers, etc. I think. I have added two issues for these suggestions. The storing / reloading user choices probably won't happen anytime soon but the other one I should be able to implement before too long.
http://www.agatelib.org/node/142
http://www.agatelib.org/node/143
2. Yes, this would be a handy feature. I've filed a feature request for it:
http://www.agatelib.org/node/144