Page 1 of 4

ICE - IrrLicht Common Engine Framework v2.0

Posted: Fri Jan 16, 2004 7:06 pm
by keless
old thread continuation: http://irrlicht.sourceforge.net/phpBB2/ ... 4&start=15

homepage: http://www.skyesurfer.net/keless/IrrLicht/ICE/

This project aims at providing a skeleton framework for IrrLicht which provides common features useful to any project from the get-go, as well as a clean well designed codebase.

Current stable version: 2.0
+ ready-to-compile skeleton code
+ abstract game_state design
+ automatic loading/saving options file
+ Device Configuration screen

Features to implement for next version: 3.0
+ XML-based GUI (a-la saigumi)
+ Console window

Posted: Fri Jan 16, 2004 7:28 pm
by powerpop
sounds good - and i am looking at your framework now - it looks great!

Posted: Fri Jan 16, 2004 10:29 pm
by keless
updated the website with a stable version 1.3---
it has a configuration screen with succefully works to re-init the irrlicht engine.

this has only been tested in DevCPP, so when i get home tonight, i'll be making sure it also works in MSVC.

after that, i'll will see about replacing qXML with tinyXML.

Posted: Sat Jan 17, 2004 1:12 am
by corban
keless wrote: this has only been tested in DevCPP, so when i get home tonight, i'll be making sure it also works in MSVC.
it may sound ignorant (it isn't), don't care 'bout msvc. irrlicht compiles with gcc on windows, and gcc is the cross-platfrom standard. in fact, it is a very good compiler, and a compiler only, opposite to msvc. stick to gcc.

Posted: Sat Jan 17, 2004 1:58 am
by keless
While im happy to continue in both, I actually prefer MSVC as an IDE.

It compiles faster, and better, its got better auto completion, a better debugger (at least, i havent been able to get gdb working very well in DevCPP) and has less bugs.

I do like how easy it is to start a new project in DevCpp, to Iconize your executable, and to check for update packages. I try to build in both compilers to catch errors that one doesnt but the other will. The goal for my source code is for the maximum amount of people to be able to use it, so that means not discounting MSVC users either.

meanwhile, I'm not a fan of writing makefiles by hand.

Posted: Sat Jan 17, 2004 2:16 am
by Serg Nechaeff
thanx, Keless, it's a good thing! cause for newbies like me it would be a nightmare to convert your project gcc->msvc

Posted: Sat Jan 17, 2004 2:22 am
by keless
well, I just checked out the current 1.3 code on MSVC, and as expected, it still doesnt work. Though I dont know why: when trying to re-init, a new window will pop up and then close.

Im buggered. Anyone want to try working this one out? I think I'm going to start looking at tinyXML

Posted: Sat Jan 17, 2004 3:18 am
by qwe
gcc is also GPL'd-- meaning you can't use it for commercial software or any software NOT under the GPL :x

Posted: Sat Jan 17, 2004 1:13 pm
by saigumi
GCC is just a compiler.

If you used the GCC source to make your own compiler or addon for the compiler, then it must be covered by th GPL.

If you make a program and compile it with GCC(as long as doesn't meet the requirements of the previous point), the GPL does not apply to that software.

Posted: Sat Jan 17, 2004 5:21 pm
by qwe
qwe wrote:gcc is also GPL'd-- meaning you can't use it for commercial software or any software NOT under the GPL :x
my bad-- a friend told me this. I'll tell him off :D

Posted: Tue Jan 20, 2004 6:49 am
by keless
i've been changing ICE to use tinyXML instead of my qXML, when its done it'll be in 1.5 (currently, 1.4 uses tinyXML for gs_conf and qXML for ice_opts)


right now, its got automatic saving of user prefs.
it also has the configuration screen, but it doesnt start up a new window when compiled from MSVC-- I still cant figure out why. But since I think Niko is working on adding re-initialization of the IrrLicht Device, I will leave it be for now (since it still technically does it's job-- lets the user choose their mode, even though they have to start it up again afterwards).

So, possibly 1.5 will end up being a 2.0 release candidate. I'll be asking people to test it out, and see if it crashes on them or not. And when I think its ready, i'll add the full barage of documentation and rename it to 2.0

Some options I am thinking of for future versions:
+ (optional) console interface
+ possibly integrating sai's XML-based GUI (or making my own) its a really great idea!
+ (optional) scripting engine set up
+ (optional) Memory Managed Objects
+ (optional) networking of some sort

(optional) items are things which would come with the source, but if you didnt use them, wouldnt be built into your project

Posted: Tue Jan 20, 2004 8:49 pm
by keless
ICE has been fully converted to use tinyXML for proper XML file creation
(this should make powerpop happy)

I'll be cleaning up the code now, and scratching my head more as to why the re-init doesnt work when made by MSVC, but does work when made by DevCPP.

When this is done, I might start a new game project. Something 3d this time. I want the features I add to be play-tested, so the possible future features I listed above will only be implemented if they promise to be helpful in an actual game. I dont want to clutter up ICE too much.

I will also be keeping version 1.0, as a simple code example. And because it provides the very base functionality that people might like, without all the extra stuff I've been adding.

Posted: Wed Jan 21, 2004 3:37 am
by keless
okay, so now I want to test out ICE on as many systems as possible.

If you could do the following, it would help me out:

1) download http://www.skyesurfer.net/keless/IrrLic ... y_MSVC.zip

2) unzip it

3) run ICE

this is a debug MSVC build, so you should get a console as well as the window (though I disabled most of the print statements). The first time you run it, you will get the gs_Configure screen, where you can choose a resolution, colordepth, device driver, and whether or not to use fullscreen.

now, if you change the settings in gs_Configure, its supposed to shut down the window and open up a new one with the different settings. currently it just shuts down the window-- it doesnt start up a new one! This is on my w2k machine. I want to know if it happens the same for you guys?

If you then run ICE again, it will be started up with the settings you chose before. Also, if you want to get the Configure screen back, go into Options and un-check the 'hide configure screen' box. Then restart ICE.

I'd appreciate all of your help.

Posted: Wed Jan 21, 2004 12:30 pm
by saigumi
Yep, any time the resolution changes, whether fullscreen or windowed, the screensize changes, the new window shows, then it exits.

The last thing I can see in the debug window is something_SUCCESSFUL.

Reopening sets the chosen resolution.

I can't find any log files though.

Posted: Wed Jan 21, 2004 2:55 pm
by keless
im not using log files.

it shows succesful because of a bug which I already pointed out to niko. i also showed the fix, and he's implemented it for the next version. (basically createDevice() always returns a valid pointer right now, even if device failed)

what OS were you running it on? Robo tried already to, and got the same on XP. Im pretty much ready to accept the fact that MSVC is going to do this for now (until niko gives us some proper re-init code in the next version, hopefully)