Jump to content
XCOMUFO & Xenocide

About The Sourcecode


Timil

Recommended Posts

Ufo2000 is a GPL code, so we can use it if we want :P

I was doing some research, Ufo200 was programmed in Allegro, and that library is really outdated right now and i think unsupported...

 

Greetings

Red Knight

Link to comment
Share on other sites

Just to set the record straight:

 

Allegro isn't exactly outdated, and in fact released a new version (4.1.5) on the 18th of November (just a few days ago). Allegro is by far one of the better collection of programming libraries for games anywhere, but I'm not necessarily suggesting it would be right for this project. I've been using Allegro for years, but I've never used it for 3D applications so I have no idea how it performs in this regard, so I'm not suggesting or condemning it's use, but I did want to set the record straight that I don't believe it's outdated or unsupported, and I have had nothing but great success using it in the past.

Link to comment
Share on other sites

Allegro isn't exactly outdated, and in fact released a new version (4.1.5) on the 18th of November (just a few days ago).  Allegro is by far one of the better collection of programming libraries for games anywhere, but I'm not necessarily suggesting it would be right for this project

I had heard the same thing... now i have found the web page and reading something about it to correct my mistake... :P

The most important think that i had read right now is that they will stop supporting old code and rewrite a lot of stuff... and couldnt found about HW acceleration and that kind of stuff... Found that they use DirectX as the underlying API in Windows but have a doubt if you can access directly more advance stuff like Pixel Shaders and Vertex Shaders...

 

Greetings

Link to comment
Share on other sites

I had been reading and Allegro is not a choice for a 3d engine... And had found a really good piece of reflexions (and wisdom) of the first programmer of allegro that is quite good (not only technically)... After all Allegro API has survived several years....

 

http://alleg.sourceforge.net/future/shawns...ns_thoughts.txt

 

Greetings

Red Knight

Link to comment
Share on other sites

Guest stewart
Well we got Red Knight's geosource code.  As for working with the UFO2000 people never got a reply back from my last suggestion so I guess not.  :)  I think we can implement that code ourself easy enough.

Do we have Red Knights permission to dump his source code on sourceforge now, or do we have to wait 'till he's graduated?

Link to comment
Share on other sites

Well we got Red Knight's geosource code.  As for working with the UFO2000 people never got a reply back from my last suggestion so I guess not.  :)  I think we can implement that code ourself easy enough.

Do we have Red Knights permission to dump his source code on sourceforge now, or do we have to wait 'till he's graduated?

That source is not the graphics stuff is just a layout (completly incomplete :P ) of the most important things we should concentrate before starting to code a User Interface (Geoscape and Battlescape)....

 

Greetings

Red Knight

Link to comment
Share on other sites

Suggested structure

 

Xenocide/ - main directory with .configure file and everything need to compile.

 

Xenocide/doc/ - documentation

 

Xenocide/src/ - source code directory

 

in the source code directory the other directories will basically be namespaces

that show up after the Xenocide namespace. like Geoscope, Battlescape. Things in the General name space can be put at this top level perhaps.. design decision here or go into the General directory.... perhaps it is best to put it in the general directory because I also like to include a directory called inline and one called template that also has directories for each namespace. I tend to move the definition of inline and template methods out of the main header file and instead have #include or #include if I am in . This keeps the main header file for each object clean and easy to look at.

Link to comment
Share on other sites

Really? why? :) I've seen alot of open source and uh former comercial source code projects that don't have more organization than what I suggested. I mean we are already talking about possibly 20 directories here in the directory tree. If you follow the namespace tree when creating the directory tree then your directory tree is as organized as your code. It is also logical because you know where to look for everything.. Fact Java is setup pretty much the same way as this. This is somewhat a more orgnaized way than many commerical projects used when there weren't any namespaces to guide them.
Link to comment
Share on other sites

That's not what I was asking :) ... You said that was not organized enough. I asked why? Using the namespace tree to make a directory tree seems very organized to me.. Unless the code itself isn't organized. Really, just wanted to know why you think that isn't organized.
Link to comment
Share on other sites

Well namespaces are a very simple concept but help a great deal when it comes to making code more organized. one reason namespaces were invented were so that symbols in one SDK won't conflict with symbols of another SDK. This is usually what the first namespace is used for and you name it after the name of the project.. like Xenocide in this case. This is the Root namespace of your project (not the root namespace of C++). From that point on namespaces become more of an organizational thing and you create a tree of namespaces rooted in our case at the Xenocide namespace. This is somewhat an answer to the same thing Java does with its objects. Like you have java.lang and java.awt and like in awt are a bunch of objects having to do with GUI. so awt in effect acts like a namespace. But basically if you well organized namespace tree then you can use that tree to create a directory tree for the source code and you will be able to find whatever you looking for because you know how the namespaces are setup in your code and it is logical.
Link to comment
Share on other sites

×
×
  • Create New...