You can subscribe to this list here.
| 2003 |
Jan
(9) |
Feb
(6) |
Mar
|
Apr
(2) |
May
|
Jun
(4) |
Jul
(19) |
Aug
(18) |
Sep
(11) |
Oct
(14) |
Nov
(16) |
Dec
(50) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
(42) |
Feb
(39) |
Mar
(66) |
Apr
(26) |
May
(32) |
Jun
(21) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <red...@pr...> - 2003-10-09 20:17:12
|
Hi Exio, > About the directories implementation (remember that the archive was coded > without directory support, but we need it to provide a simple > interface) > > there are two ways: > > 1) adding empty files to the disk archive with the name (and attribute) > of the directory. Operation handled by the PAQSolidFile object > > 2) building the directory tree by the file names everytime the archive is > opened. Operation handled by the PAQExplorerManager object This is the better solution, because the intend of the PAQSolidFile is speed, you are using an app, having to wait a little more offline, but pays off in the using of the PAQFile at the game enviroment. > According to the design patterns (one of the few I remember!!) handling > directory maintenance is business of PAQExplorerManager, cause the PAQ > archives were built without directory support from the start, for speed > purposes. > Exactly. > >What do you mean about it? > > It was just a note on the elementary functions that the interface should > provide. > > I'm going to implement from the start the support for multiple selection > (list of files). > > For deleting a group of files (for example) it's easy to call > PAQExplorerManager::deleteFile for each selected file inside a > for(;;) > > Showing property of a group of files is something more complicated and > needs a separated function (I don't want to a property window for each > file... only one for all of them is better) > > > Have you any idea about how to use file flags? What flags??? > And what about the LiveUpdate? I have a guy that is going to do it for his bachelor degree thesis... :D It is already in the drawing board. > Last thing: I discovered now that VCL is available only for windows and > that for multiplatform purposes I must use CLX... > > If so, I have to prepare the interface using CLX instead of VCL > right? There is no much difference between the CLX and the VCL, but yes you should use it for OS portability... The hadnt much time to think much about the graphics you made, but in a fast check it look good. Keep up the good work Exio Greetings Red Knight |
|
From: Chris P. <chr...@ju...> - 2003-10-08 21:40:19
|
No need to apologize, being critical is a good thing in my opinion. Those are all good suggestions. I think I'll get the XNDL working w/ a regular list first. We can always upgrade it if needed. The difference in performance probably won't be noticeable, but an improved data structure may help free up a few resources for more processor intensive areas. Well you're right about separating the data. Since it's been decided not to create structs outside of the data class, then it isn't as necessary to separate it. Separating it would again result in a very slight decrease in overhead, since the loader could be destroyed once parsing is complete. It's not likely to be noticeable. What we would have would be two structs nested in a class, which is itself nested in a class. Regards, chrisp On Mon, 6 Oct 2003 21:51:32 -0500 "mamutas" <ma...@pr...> writes: > Hi, > > I just had a chance to look through your code. Here are my > comments: > > 1) Use longer, more descriptive variable names. It is fairly > difficult to > understand what 'p' or 'hGen' might stand for. > 2) Use types defined in utility/src/utility/common/win32/types.h. > This will > help in compiler and OS porting in the future. > 3) I don't think we need two separate classes XNDL and Xdata. I > thought > about just one class which would have a load() method (which does > parsing at > the same time) and then provides getSubject() and getEntry() > methods. > 4) Subject and Entry class should have a 'key' variable, which will > hold a > unique key for such object. It could be a string or an integer, does > not > matter. The point is that access to these objects will be done by > keys, and > not by their names, which could be spelled differently in different > languages. This as well should be reflected in xml file. > 5) addSubject() and addEntry() are private methods, right? > > Also, check periodicall a thread about Xnet names, there is a file > in work > listing all names as they will appear in the game. > > Just FYI, here is a source code for skip lists: > http://epaperpress.com/sortsearch/txt/skl.txt > I am not quite sure whether we need such complicated data structure > for Xnet > DB, since the hierarchy is very simple and there are not many > entries > anyways. I would use something like a simple list of lists myself. > > Thanks for your work. I apologize, if I was criticising too much. > > Regards, > mamutas > > -----Original Message----- > From: xen...@li... > [mailto:xen...@li...] On Behalf > Of Chris > Phillips > Sent: Thursday, October 02, 2003 9:03 PM > To: Xen...@li... > Subject: [Xenocide-programming] xnet db loader > > > > Hey everyone, > > Sorry I've been out of touch for so long. I've been busy moving and > w/ a > new job. I haven't had much time to work on the XNet db loader > during the > past few weeks, so I figured I should go > ahead and post the header files as they are. So.. here are the > header files > w/ some basic documentation. I used my own string class, which > should > definitely be changed. I also used my Skip List. Which can be > changed > also. The files are attached. Let me > know what changes should be made. I'll try and set aside some time > to get > this done. :) > > > -chrisp > > --- > Incoming mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.514 / Virus Database: 312 - Release Date: 2003/08/28 > > > > --- > Outgoing mail is certified Virus Free. > Checked by AVG anti-virus system (http://www.grisoft.com). > Version: 6.0.514 / Virus Database: 312 - Release Date: 2003/08/28 > > > > ________________________________________________________________ The best thing to hit the internet in years - Juno SpeedBand! Surf the web up to FIVE TIMES FASTER! Only $14.95/ month - visit www.juno.com to sign up today! |
|
From: mamutas <ma...@pr...> - 2003-10-07 02:52:06
|
Hi, I just had a chance to look through your code. Here are my comments: 1) Use longer, more descriptive variable names. It is fairly difficult = to understand what 'p' or 'hGen' might stand for. 2) Use types defined in utility/src/utility/common/win32/types.h. This = will help in compiler and OS porting in the future. 3) I don't think we need two separate classes XNDL and Xdata. I thought about just one class which would have a load() method (which does = parsing at the same time) and then provides getSubject() and getEntry() methods. 4) Subject and Entry class should have a 'key' variable, which will hold = a unique key for such object. It could be a string or an integer, does not matter. The point is that access to these objects will be done by keys, = and not by their names, which could be spelled differently in different languages. This as well should be reflected in xml file. 5) addSubject() and addEntry() are private methods, right? Also, check periodicall a thread about Xnet names, there is a file in = work listing all names as they will appear in the game. Just FYI, here is a source code for skip lists: http://epaperpress.com/sortsearch/txt/skl.txt I am not quite sure whether we need such complicated data structure for = Xnet DB, since the hierarchy is very simple and there are not many entries anyways. I would use something like a simple list of lists myself. Thanks for your work. I apologize, if I was criticising too much. Regards, mamutas =20 -----Original Message----- From: xen...@li... [mailto:xen...@li...] On Behalf Of = Chris Phillips Sent: Thursday, October 02, 2003 9:03 PM To: Xen...@li... Subject: [Xenocide-programming] xnet db loader Hey everyone, Sorry I've been out of touch for so long. I've been busy moving and w/ = a new job. I haven't had much time to work on the XNet db loader during = the past few weeks, so I figured I should go=20 ahead and post the header files as they are. So.. here are the header = files w/ some basic documentation. I used my own string class, which should definitely be changed. I also used my Skip List. Which can be changed also. The files are attached. Let me=20 know what changes should be made. I'll try and set aside some time to = get this done. :) -chrisp --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.514 / Virus Database: 312 - Release Date: 2003/08/28 =20 =20 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.514 / Virus Database: 312 - Release Date: 2003/08/28 =20 |
|
From: Chris P. <chr...@ju...> - 2003-10-07 00:28:58
|
Hi Red Knight, The skip list I sent isn't a finalized version. Give me some time to finish it and put it through some thorough testing, before integrating it. If you look through the source, you'll notice that the existing code functions like a B-Tree, but there isn't any code in it to take advantage of the list functionality (except the destructor, if I remember correctly). This is the easy part though, so it shouldn't take too long. Once I finish that it will need to be thoroughly tested to be trustworthy. :) Yeah I've been victim of the propagating struct memory leaks before, so I can understand why you want to avoid that. It's a big reason why I prefer using C++ over C. One way to avoid it is to actually define the structs inside the class and make them private. I can change the code to this. Now that I think of it, it's probably the best way to do it. Regards, chrisp On Mon, 6 Oct 2003 02:17:46 +0100 red...@pr... writes: > Hi Chrisp, > > I saw the Skip List, and I will integrate with the other data > structures (if > you aggree on it) so we can use it when needed. About the XNet DB > Loader just > one thing, as a guideline. Do not propagate Structs arround, if you > need to > use them internally for direct loading from the disk (as it is used > in the > Network Library, fine... but under no circunstance let them > propagate away > from the class that they serve. There are several reasons for that, > that if I > dont remember wrong I had already explained before in the > programming forum or > the mailing list. > > If you have any further question, just send a mail to the list. > > Greetings > Red Knight > > > > > Hey everyone, > > > > Sorry I've been out of touch for so long. I've been busy moving > > and w/ a new job. I haven't had much time to work on the XNet > > db loader during the past few weeks, so I figured I should go > > ahead and post the header files as they are. So.. here are the > > header files w/ some basic documentation. I used my own string > > class, which should definitely be changed. I also used my Skip > > List. Which can be changed also. The files are attached. Let me > > > know what changes should be made. I'll try and set aside some > > time to get this done. :) > > > > > > -chrisp > > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Xenocide-programming mailing list > Xen...@li... > https://lists.sourceforge.net/lists/listinfo/xenocide-programming > > ________________________________________________________________ The best thing to hit the internet in years - Juno SpeedBand! Surf the web up to FIVE TIMES FASTER! Only $14.95/ month - visit www.juno.com to sign up today! |
|
From: <red...@pr...> - 2003-10-06 01:18:43
|
Hi Chrisp, I saw the Skip List, and I will integrate with the other data structures (if you aggree on it) so we can use it when needed. About the XNet DB Loader just one thing, as a guideline. Do not propagate Structs arround, if you need to use them internally for direct loading from the disk (as it is used in the Network Library, fine... but under no circunstance let them propagate away from the class that they serve. There are several reasons for that, that if I dont remember wrong I had already explained before in the programming forum or the mailing list. If you have any further question, just send a mail to the list. Greetings Red Knight > > Hey everyone, > > Sorry I've been out of touch for so long. I've been busy moving > and w/ a new job. I haven't had much time to work on the XNet > db loader during the past few weeks, so I figured I should go > ahead and post the header files as they are. So.. here are the > header files w/ some basic documentation. I used my own string > class, which should definitely be changed. I also used my Skip > List. Which can be changed also. The files are attached. Let me > know what changes should be made. I'll try and set aside some > time to get this done. :) > > > -chrisp |
|
From: <red...@pr...> - 2003-09-29 23:59:54
|
Hi, exio. > I'm glad to communicate you that I'm back !! ;-D > > I survived the last holidays and I began the university. Now I've enough > time to begin the PAQ Explorer project. Cool to hear you are back. > I've prepared some documents about the possible GUI and the internal > architecture, but I don't have a scanner here and I cannot post > them. If you can find anywhere so we can see it would be cool. > I'm a bit in trouble about building an project file cause I never built > one. I must see the configuration of the other projects in the devpack > and understand them. It is kinda easy (just take the basicInit from the engine as an example or the networklib example), if you still have problems I can do it for you, just tell me if you need it. > About the internal structure of the PAQ Explorer I was thinking about > building an intermetiate object between the GUI and the PAQ Files > Library. This object is responsible for providing a general set of > methods that support directory structure and file naming. (the PAQ > Library was built without *real* directory structure, it threats a > "dir\file" entry as a long filename with all characters allowed > in the name, included the backslash). This object is needed to handle the > treeview of the directories and to display directories with different > icon/color. That was one thing I was going to tell you before start, dont mix VCL automatic code with the PAQ Explorer, use proxy objects to provide high level services. Cause the Visual code ends up looking pretty ugly very fast. > The operations on single files or lists of files are: > > add (from disk files) > remove > move (from one virtual directory to another) > rename (only on single files) > modify attributes (if we decide how to use them) What do you mean about it? > extract to disk > search (file pattern in a directory and subdirectories) > update (derived from remove and add) > "rename" and "move" are basically the same > operation.I'll continue to work on the concept and I'll try to have a > detailed plan before begin coding. > Thats the kind of high level stuff I was talking about. > For now I must prepare the project file for the PAQ Files Library, make > it work, then prepare the PAQ Explorer one. Mhh, ask mamutas for the new (not released) devpack cause I had already done that. > I have an idea about the selective use of functions in classes that must > be used by different clients. The idea was having a single client (named PAQExplorerManager), the only way to do that was to use the friend class... Thats because I didnt want to allow the client code be able to get those extra features (you can hack it, but it is a hack and you will have to realize that). Your solutions is fine but not if you want to restrict that. Keep in mind that using friend class was only to access those extra services (not to handle directly the internal methods or attributes).. Any question, just ask. Greetings Red Knight |
|
From: Ermete G. <ex...@li...> - 2003-09-29 20:56:54
|
<html> Hello guys,<br> I'm glad to communicate you that I'm back !! ;-D<br> I survived the last holidays and I began the university. Now I've enough time to begin the PAQ Explorer project.<br> I've prepared some documents about the possible GUI and the internal architecture, but I don't have a scanner here and I cannot post them.<br><br> Anyway the concept is to build a GUI similar to the Windows's explorer one.<br> I began using the BCB6 enterprise environment and I found very easy to create windows and insert the appropriate code there. It's like using visual basic!! I enjoy very much this easyness..<br> I'm a bit in trouble about building an project file cause I never built one. I must see the configuration of the other projects in the devpack and understand them.<br><br> About the internal structure of the PAQ Explorer I was thinking about building an intermetiate object between the GUI and the PAQ Files Library. This object is responsible for providing a general set of methods that support directory structure and file naming. (the PAQ Library was built without *real* directory structure, it threats a "dir\file" entry as a long filename with all characters allowed in the name, included the backslash). This object is needed to handle the treeview of the directories and to display directories with different icon/color.<br> The operations on single files or lists of files are: <ul> <li>add (from disk files) <li>remove <li>move (from one virtual directory to another) <li>rename (only on single files) <li>modify attributes (if we decide how to use them) <li>extract to disk <li>search (file pattern in a directory and subdirectories) <li>update (derived from remove and add) </ul>"rename" and "move" are basically the same operation.I'll continue to work on the concept and I'll try to have a detailed plan before begin coding.<br> For now I must prepare the project file for the PAQ Files Library, make it work, then prepare the PAQ Explorer one.<br> Anyone could give me some tips about creating a project?<br><br> I have an idea about the selective use of functions in classes that must be used by different clients.<br> Example code taken from paqsolidfile.h<br><br> <b>protected:<br><br> ///////////////////////////////////<br> // Here goes the methods that can<br> // only be used by the PAQVirtualFile class<br> friend class PAQVirtualFile;<br><br> //! Returns a PAQSolidFileManipulator to be used by a PAQVirtualFile to interact with the Solid File.<br> //! \remark The PAQVirtualFile file manipulator MUST had been invalidated after the call to this method.<br> <x-tab> </x-tab>//! \note The preemption of the manipulator will follow a Lest Recently Used Algorithm.<br> <x-tab> </x-tab>PAQSolidFileManipulator* acquireFileManipulator (PAQVirtualFile* file);<br> ///////////////////////////////////<br><br> ///////////////////////////////////<br> // Here goes the methods that can<br> // only be used by the PAQ Explorer<br> <x-tab> </x-tab>friend class PAQExplorerManager;<br><br> //! This method will lock the PAQ file for writting.<br> //! \note This is not intended to be a semaphore lock, it is intended to close any opened file descriptor and open the file with exclusive access.<br> <x-tab> </x-tab>//! \remark There MUST NOT be any attempt to open any file when the PAQ is locked. This method is only to be used by the PAQExplorerManager.<br> void lockPAQFile ();<br><br> </b>My idea is to build two derived classes from PAQSolidFile, one used by PAQExplorerManager and one by PAQVirtualFile.<br> The main class contains all the methods but without code (not abstract, just dummy code to notify the application that method cannot be used). The two derived classes contain redefined methods with the real functions.<br> A problem with this implementration is that variables declared as private in the main class must be declared as protected instead.<br> I think it should work... what do you think about that? You surely have more programming experience (or at least different) than me so your opinion is important.<br><br> Regards<br> exio82<br> </html> |
|
From: mamutas <ma...@pr...> - 2003-09-28 18:54:26
|
It is Ukraine. HYPERLINK "http://encarta.msn.com/encnet/refpages/RefArticle.aspx?refid=3D761573617= "http ://encarta.msn.com/encnet/refpages/RefArticle.aspx?refid=3D761573617 -----Original Message----- From: xen...@li... [mailto:xen...@li...] On Behalf Of snakeman chryssalid Sent: Sunday, September 28, 2003 2:43 AM To: Xen...@li... Subject: Re: [Xenocide-programming] Names Database done Ukrania? Is that correct? I thought it was Ukrane, or something like = that. Micah <mi...@xc...> wrote:=20 How long will it be possible to easily delete the entire database? -Micah ----- Original Message -----=20 From: "Tommy Persson"=20 To:=20 Sent: Saturday, September 13, 2003 8:48 AM Subject: [Xenocide-programming] Names Database done > I case you'd miss it in the forums: >=20 > Everything is done and the Names Database Interface is up for use at=20 > http://www.projectxenocide.com/namesdatabase/ >=20 > Enjoy :) >=20 > I made one miniscule change though, I scrapped the "either" value in = the=20 > xml-file, instead, names that's marked as "either" will be placed in=20 > both male and female groups. >=20 > It's easy to change it back if you don't like it. >=20 > LordT >=20 >=20 >=20 >=20 > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Xenocide-programming mailing list > Xen...@li... > https://lists.sourceforge.net/lists/listinfo/xenocide-programming >=20 ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Xenocide-programming mailing list Xen...@li... https://lists.sourceforge.net/lists/listinfo/xenocide-programming _____ =20 Post your free ad now! HYPERLINK "http://ca.personals.yahoo.com/"Yahoo! Canada Personals --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.514 / Virus Database: 312 - Release Date: 2003/08/28 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.514 / Virus Database: 312 - Release Date: 2003/08/28 =20 |
|
From: snakeman c. <chr...@ya...> - 2003-09-28 07:51:11
|
Ukrania? Is that correct? I thought it was Ukrane, or something like that. Micah <mi...@xc...> wrote:How long will it be possible to easily delete the entire database? -Micah ----- Original Message ----- From: "Tommy Persson" To: Sent: Saturday, September 13, 2003 8:48 AM Subject: [Xenocide-programming] Names Database done > I case you'd miss it in the forums: > > Everything is done and the Names Database Interface is up for use at > http://www.projectxenocide.com/namesdatabase/ > > Enjoy :) > > I made one miniscule change though, I scrapped the "either" value in the > xml-file, instead, names that's marked as "either" will be placed in > both male and female groups. > > It's easy to change it back if you don't like it. > > LordT > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Xenocide-programming mailing list > Xen...@li... > https://lists.sourceforge.net/lists/listinfo/xenocide-programming > ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Xenocide-programming mailing list Xen...@li... https://lists.sourceforge.net/lists/listinfo/xenocide-programming --------------------------------- Post your free ad now! Yahoo! Canada Personals |
|
From: <red...@pr...> - 2003-09-14 06:37:42
|
Well I had been working lots of time this last 6 days on the NetworkLib, to the point that I will be able to implement a simple -In Process Network Proxy- , basicly a connection with another object in the same process memory space. In fact it was going to be my first test on the extension mechanism, however it will be useful for those that will start to work on that stuff (with the plus that it will give me more time to finish the other stuff that it is still in the works, having a functional implementation). Well this is the diary notes and are here for historical purposes only, you can see the diary.txt file at the code to see the changes after the this commit (I will keep it updated). ------------- Diary ------------- [IDEAS TO DISCUSS] - Let the connection change its interface mechanism of communication with the application after it has been created (For ex, switch from polling to event oriented). [STILL MISSING IN ACTION] - Complete definition of the NLIAbstractServer. - Simulation mechanism. - Implementation of the NetworkLib internal protocol. (Have to learn ZThreads first). - Event Oriented Interface (Have to learn ZThreads first). - NLIP6NetworkAddress. - In Process NLConnection implementation. [9-9-2003] - Added Runtime Exceptions classes, throw exceptions when appropiate. For now all unimplemented methods throw a NLEOperationUnsupported exception on call. - Added a getConnectionType method to know what type of connection is used. - Implemented NLController class, some missing details like how to find out the local IP addresses given by the network cards. - Completly redesigned the NLNetworkAddress, made it more a la java. Added the NLIP4NetworkAddress and NLIP6NetworkAddress will be layed out to be implemented after everything is done. [8-9-2003] - Modify the signature of the internal methods at NLConnection class (the ones that are implemented to have a full fledge and working connection object). - Implemented NLConnection. - Added extra documentation on the NLConnectionStatistics class. - Delete the createEmptyPacket method at NLController. - Fixed header dependency graph (I had ordered and removed useless #include directives). [7-9-2003] - Implemented NLIConnectionFactory - Implemented NLPacket [6-9-2003] - Document most of the methods and classes. - Interface changes into the NLConnection Class. - Finished interface definition of the NLIConnectionFactory. - Moved the V1 Connection type (the library standard) into its own files. - Modify the listenForConnection method signature to add a server who waits until a connection is established. - Clean up the NLController design. - Modify the singleton of the NLController, before it was accessed via a public static attribute, now you have to use a call to a static method named getInstance. Enjoy... Greetings Red Knight |
|
From: Micah <mi...@xc...> - 2003-09-13 21:16:52
|
How long will it be possible to easily delete the entire database? -Micah ----- Original Message ----- From: "Tommy Persson" <to...@ho...> To: <Xen...@li...> Sent: Saturday, September 13, 2003 8:48 AM Subject: [Xenocide-programming] Names Database done > I case you'd miss it in the forums: > > Everything is done and the Names Database Interface is up for use at > http://www.projectxenocide.com/namesdatabase/ > > Enjoy :) > > I made one miniscule change though, I scrapped the "either" value in the > xml-file, instead, names that's marked as "either" will be placed in > both male and female groups. > > It's easy to change it back if you don't like it. > > LordT > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Xenocide-programming mailing list > Xen...@li... > https://lists.sourceforge.net/lists/listinfo/xenocide-programming > |
|
From: Tommy P. <to...@ho...> - 2003-09-13 12:45:53
|
I case you'd miss it in the forums: Everything is done and the Names Database Interface is up for use at http://www.projectxenocide.com/namesdatabase/ Enjoy :) I made one miniscule change though, I scrapped the "either" value in the xml-file, instead, names that's marked as "either" will be placed in both male and female groups. It's easy to change it back if you don't like it. LordT |
|
From: mamutas <ma...@pr...> - 2003-09-11 02:02:19
|
Here are the answers from the forum just for historical reasons. The devpack idea is rather new (2 or 3 months), however as in every Open Source development you are not forced to work in specified enviroment. = As a difference with other projects we have something to fear if for instance Atari (You know them) wants to shutdown the project because of copyright infridgement of something as had happened to other Open Source projects. = So we have our LEGAL BOUGHT copy of the compiler to release in binary and = that is BCB6. So anyone is free to create a similar one to every compiler as = long as we dont officially build with them. Code is code, however a binary is another thing.=20 About being in the CVS we though to do that, but CVS do not have binary compatibility for difs and until we dont have a Stable one we are = keeping them outside. Our space in sourceforge is finite and storing lots of = binary files with multiple versions in there is space wise. If you have any further question, just ask. Greetings Red Knight=20 QUOTE (nmefford @ Sep 10 2003, 11:28 AM)=20 1) Please clarify unambiguosly what the officially supported build environment(s) and devpack(s) are. Where can I get them? =20 Officially supported build environment is Borland C Builder 6 Personal Edition. As RK mentioned we have bought an official license and we will = use it for all our releases. QUOTE (nmefford @ Sep 10 2003, 11:28 AM)=20 2) What is the level of interest in a VC6 / .NET / .NET 2003 devpack, however official that may be? Please note that .NET project files are incompatible with VC6, and .NET 2003 project files are incompatible with .NET 2002. Not sure about lib files generated with each one. =20 It seemed to be quite popular among project members. I personally like = it better than BCB6. However, due to fact that our final code must compile = on BCB6, there were only private efforts to convert our code from BCB6 to = MSVC. You are the first one who succeeded in that, as far as I know. = Additionally, there is a concern that if developers will start to modify code in CVS = using one IDE, it might broke the functionality (and even compilation) for developers who is using other IDEs. Noone can guarantee that the code = will work with other compilers until code is tested there. QUOTE (nmefford @ Sep 10 2003, 11:28 AM)=20 3) Why are the devpack(s) not in CVS? They could each be in, for = example /xenocide/devpack_bcb6, /xenocide/devpack_NET, etc. Then to build, you simply rename that directory to /devpack and build away. I personally = think it's VERY important that the build files exist in CVS since they are necessarily tightly coupled to the source in CVS. It also helps to have history on these files as sometimes things go haywire with them. It = also would be nice to get everything required to build the project from one location. Finally, I _know_ I duplicated some of your work in getting = .NET 2003 up and running. As well, it would be hard to share that work if = the files were not in some version control repository somewhere.=20 I understood that you meant to keep project files as well as binaries. = RK has already explained about binary constriction we have. As regarding to project file, then it is quite possible, but great care should be taken = when someone modifies the file so not to break other developers = configuration. I guess it could be achieved by imposing some rules, environment = variables, etc. However, BCB6 inserts entries for directories without explicit programmer actions. So, I am very cautios about that too. Please suggest ways how we can go around those issues if you can think = of any. Also, could you please share that working devpack for MSVC? Mamutas P.S. Why do I need to change email address to xen...@li..., when I just hit a reply? Is = the a way to fix it? -----Original Message----- From: xen...@li... [mailto:xen...@li...] On Behalf Of Mefford, Nathan Sent: Wednesday, September 10, 2003 11:20 AM To: 'xen...@li...' Subject: [Xenocide-programming] Questions about build environment(s) and devpack(s) I posted this in the forums, but I think it's important enough to make = my first post here with it as well. Sorry to duplicate the information. = What is a better place to make a post like this? Hi, I don't want to beat a dead horse here, since this topic has = generated a fairly large amount of discussion already, but what is the current = official stance on the supported build environments? I downloaded the VCNetdevpack a few days ago, and got the entire game = and all examples building and running. However, I had to make 3 or 4 changes = to the code from CVS (I actually used .NET 2003, which has significantly = better ANSI compliance than .NET and, as I understand it, BCB6) for the compile = to work. I also had to get a new version of nvparse and build and link to that = lib, which caused a slew of link errors that required that I make one final correction to the code. All in all, it took around 4 hours (it would have taken WAY longer if somebody hadn't already done a lot of the groundwork first). So I have it all up and running now, but I don't want to have to spend = an hour every time I get latest code from CVS reconfiguring project = settings, creating new projects, finding libs compatible with .NET, etc. So here are my actual questions/points 1) Please clarify unambiguosly what the officially supported build environment(s) and devpack(s) are. Where can I get the devpacks? 2) What is the level of interest in a VC6 / .NET / .NET 2003 devpack, however official that may be? Please note that .NET project files are incompatible with VC6, and .NET 2003 project files are incompatible with .NET 2002. Not sure about lib files generated with each one. 3) Why are the devpack(s) not in CVS? They could each be in, for example /xenocide/devpack_bcb6, /xenocide/devpack_NET, etc. Then to build, you simply rename that directory to /devpack and build away. I personally = think it's VERY important that the build files exist in CVS since they are necessarily tightly coupled to the source in CVS. It also helps to have history on these files as sometimes things go haywire with them. It also would be nice to get everything required to build the project from one location. Finally, I _know_ I duplicated some of your work in getting = .NET 2003 up and running. As well, it would be hard to share that work if the files were not in some version control repository somewhere. Well, I guess that's my first contribution to the programming discussion board. I just really want to help make the barrier to contribution on = this project as low as possible. ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Xenocide-programming mailing list = Xen...@li... https://lists.sourceforge.net/lists/listinfo/xenocide-programming --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.514 / Virus Database: 312 - Release Date: 2003/08/28 =20 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.514 / Virus Database: 312 - Release Date: 2003/08/28 =20 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.514 / Virus Database: 312 - Release Date: 2003/08/28 =20 |
|
From: mamutas <ma...@pr...> - 2003-09-11 02:01:34
|
Here are the answers from the forum. The devpack idea is rather new (2 or 3 months), however as in every Open Source development you are not forced to work in specified enviroment. = As a difference with other projects we have something to fear if for instance Atari (You know them) wants to shutdown the project because of copyright infridgement of something as had happened to other Open Source projects. = So we have our LEGAL BOUGHT copy of the compiler to release in binary and = that is BCB6. So anyone is free to create a similar one to every compiler as = long as we dont officially build with them. Code is code, however a binary is another thing.=20 About being in the CVS we though to do that, but CVS do not have binary compatibility for difs and until we dont have a Stable one we are = keeping them outside. Our space in sourceforge is finite and storing lots of = binary files with multiple versions in there is space wise. If you have any further question, just ask. Greetings Red Knight=20 QUOTE (nmefford @ Sep 10 2003, 11:28 AM)=20 1) Please clarify unambiguosly what the officially supported build environment(s) and devpack(s) are. Where can I get them? =20 Officially supported build environment is Borland C Builder 6 Personal Edition. As RK mentioned we have bought an official license and we will = use it for all our releases. QUOTE (nmefford @ Sep 10 2003, 11:28 AM)=20 2) What is the level of interest in a VC6 / .NET / .NET 2003 devpack, however official that may be? Please note that .NET project files are incompatible with VC6, and .NET 2003 project files are incompatible with .NET 2002. Not sure about lib files generated with each one. =20 It seemed to be quite popular among project members. I personally like = it better than BCB6. However, due to fact that our final code must compile = on BCB6, there were only private efforts to convert our code from BCB6 to = MSVC. You are the first one who succeeded in that, as far as I know. = Additionally, there is a concern that if developers will start to modify code in CVS = using one IDE, it might broke the functionality (and even compilation) for developers who is using other IDEs. Noone can guarantee that the code = will work with other compilers until code is tested there. QUOTE (nmefford @ Sep 10 2003, 11:28 AM)=20 3) Why are the devpack(s) not in CVS? They could each be in, for = example /xenocide/devpack_bcb6, /xenocide/devpack_NET, etc. Then to build, you simply rename that directory to /devpack and build away. I personally = think it's VERY important that the build files exist in CVS since they are necessarily tightly coupled to the source in CVS. It also helps to have history on these files as sometimes things go haywire with them. It = also would be nice to get everything required to build the project from one location. Finally, I _know_ I duplicated some of your work in getting = .NET 2003 up and running. As well, it would be hard to share that work if = the files were not in some version control repository somewhere.=20 I understood that you meant to keep project files as well as binaries. = RK has already explained about binary constriction we have. As regarding to project file, then it is quite possible, but great care should be taken = when someone modifies the file so not to break other developers = configuration. I guess it could be achieved by imposing some rules, environment = variables, etc. However, BCB6 inserts entries for directories without explicit programmer actions. So, I am very cautios about that too. Please suggest ways how we can go around those issues if you can think = of any. Also, could you please share that working devpack for MSVC? Mamutas P.S. Why do I need to change email address to xen...@li..., when I just hit a reply? Is = the a way to fix it? -----Original Message----- From: xen...@li... [mailto:xen...@li...] On Behalf Of Mefford, Nathan Sent: Wednesday, September 10, 2003 11:20 AM To: 'xen...@li...' Subject: [Xenocide-programming] Questions about build environment(s) and devpack(s) I posted this in the forums, but I think it's important enough to make = my first post here with it as well. Sorry to duplicate the information. = What is a better place to make a post like this? Hi, I don't want to beat a dead horse here, since this topic has = generated a fairly large amount of discussion already, but what is the current = official stance on the supported build environments? I downloaded the VCNetdevpack a few days ago, and got the entire game = and all examples building and running. However, I had to make 3 or 4 changes = to the code from CVS (I actually used .NET 2003, which has significantly = better ANSI compliance than .NET and, as I understand it, BCB6) for the compile = to work. I also had to get a new version of nvparse and build and link to that = lib, which caused a slew of link errors that required that I make one final correction to the code. All in all, it took around 4 hours (it would have taken WAY longer if somebody hadn't already done a lot of the groundwork first). So I have it all up and running now, but I don't want to have to spend = an hour every time I get latest code from CVS reconfiguring project = settings, creating new projects, finding libs compatible with .NET, etc. So here are my actual questions/points 1) Please clarify unambiguosly what the officially supported build environment(s) and devpack(s) are. Where can I get the devpacks? 2) What is the level of interest in a VC6 / .NET / .NET 2003 devpack, however official that may be? Please note that .NET project files are incompatible with VC6, and .NET 2003 project files are incompatible with .NET 2002. Not sure about lib files generated with each one. 3) Why are the devpack(s) not in CVS? They could each be in, for example /xenocide/devpack_bcb6, /xenocide/devpack_NET, etc. Then to build, you simply rename that directory to /devpack and build away. I personally = think it's VERY important that the build files exist in CVS since they are necessarily tightly coupled to the source in CVS. It also helps to have history on these files as sometimes things go haywire with them. It also would be nice to get everything required to build the project from one location. Finally, I _know_ I duplicated some of your work in getting = .NET 2003 up and running. As well, it would be hard to share that work if the files were not in some version control repository somewhere. Well, I guess that's my first contribution to the programming discussion board. I just really want to help make the barrier to contribution on = this project as low as possible. ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Xenocide-programming mailing list = Xen...@li... https://lists.sourceforge.net/lists/listinfo/xenocide-programming --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.514 / Virus Database: 312 - Release Date: 2003/08/28 =20 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.514 / Virus Database: 312 - Release Date: 2003/08/28 =20 |
|
From: Mefford, N. <nme...@mi...> - 2003-09-10 16:25:53
|
I posted this in the forums, but I think it's important enough to make my first post here with it as well. Sorry to duplicate the information. What is a better place to make a post like this? Hi, I don't want to beat a dead horse here, since this topic has generated a fairly large amount of discussion already, but what is the current official stance on the supported build environments? I downloaded the VCNetdevpack a few days ago, and got the entire game and all examples building and running. However, I had to make 3 or 4 changes to the code from CVS (I actually used .NET 2003, which has significantly better ANSI compliance than .NET and, as I understand it, BCB6) for the compile to work. I also had to get a new version of nvparse and build and link to that lib, which caused a slew of link errors that required that I make one final correction to the code. All in all, it took around 4 hours (it would have taken WAY longer if somebody hadn't already done a lot of the groundwork first). So I have it all up and running now, but I don't want to have to spend an hour every time I get latest code from CVS reconfiguring project settings, creating new projects, finding libs compatible with .NET, etc. So here are my actual questions/points 1) Please clarify unambiguosly what the officially supported build environment(s) and devpack(s) are. Where can I get the devpacks? 2) What is the level of interest in a VC6 / .NET / .NET 2003 devpack, however official that may be? Please note that .NET project files are incompatible with VC6, and .NET 2003 project files are incompatible with .NET 2002. Not sure about lib files generated with each one. 3) Why are the devpack(s) not in CVS? They could each be in, for example /xenocide/devpack_bcb6, /xenocide/devpack_NET, etc. Then to build, you simply rename that directory to /devpack and build away. I personally think it's VERY important that the build files exist in CVS since they are necessarily tightly coupled to the source in CVS. It also helps to have history on these files as sometimes things go haywire with them. It also would be nice to get everything required to build the project from one location. Finally, I _know_ I duplicated some of your work in getting .NET 2003 up and running. As well, it would be hard to share that work if the files were not in some version control repository somewhere. Well, I guess that's my first contribution to the programming discussion board. I just really want to help make the barrier to contribution on this project as low as possible. |
|
From: Ed R. <Ed...@tu...> - 2003-08-16 17:59:22
|
I'll be gone for a few (more) days. I have just gotten done with finals, and now the parents want me to help finish their house, so don't expect me till at least sometime next week. Ed Ray -- Ed...@tu... ICQ: 2271040 |
|
From: James H. <ja...@is...> - 2003-08-15 11:54:41
|
Hi everyone. I've just finished version 0.01 of a linux devpack. It weighs in at a slender 2.2K, however I had to make 15K's worth of patches to get things to compile :-) It's up at http://james.is.never.wrong.nu/xenocide/ - installation notes are at the bottom of this mail. Just off the top of my head, here are some things that I changed: Unix #define symbol. Traditionally, it's unix, or _unix, or __unix - _USE_POSIX means something else. I've opted for "unix", because I think it looks cute. Changed stuff like "thirdparty/opengl/gl.h" to <GL/gl.h> Removed all the uses of the Index type. I think that comparing different types is going to *really* trip us up in the future, even if they happen to be the same size right now. Made a common/posix/common.cpp and added itoa() to it. (Yes, unix traditionally doesn't have itoa().) Fixed a couple of friend declarations that were just completely wrong. I have no idea how they ever got into the repository unless the Borland compiler is really lax :-/ Here are some things that I haven't done: Made an alternative to xenoengine/kernel/win32. Got any of the xenoengine examples to build. (The utility ones build fine.) I think both of these are OK as we're now pretty much using the same shared codebase. With respect to xenoengine/kernel/<platform>, I was wondering if I should implement xenoengine/kernel/sdl rather than xenoengine/kernel/linux. That way someone could test the windows version of that and the windows version could be quietly dropped when the sdl version was mature enough. You need (at the very least) autoconf and automake to make this work. I used version 1.7 of automake and 2.53 ( I think ) of autoconf. How to install - grab the latest version from cvs into the directory xenocide. Put both the zipfiles there, and unpack them both. Run `patch -p1 < ./linux-compile.patch` - this will patch your source tree so that it can compile under linux. Then go into working, and run `sh import.sh ../` - this will set up a directory structure that's much more unix-friendly. Then run `aclocal && autoconf && automake` - you'll get a bunch of errors about files missing. All the ones in uppercase you can just create (`touch NEWS`, for example), all the ones in lowercase you should copy out of your auto{conf,make} data directory - usually /usr/share/automake-VERSION/. Try `aclocal && autoconf && automake`, fix until it doesn't whinge. Then do ./configure && make - hopefully you should build most of the source tree. Hoorah! If you do try this, please, please, PLEASE email me and tell me if you got it to work and what distribution/version you're using, and especially if you didn't get it to work so I can fix it for you. After I've had a few hours of feedback I'll put a post up on the forums, until then I'd prefer to keep it semi-quiet so that I don't get 2000 identical bug reports at the same time. :-) Now I can get to work on the model loading :-) james. P.S. I don't know if this still applies, but is there any chance of someone making me a member of this mailinglist? I joined, but I think I need to be added by a moderator. -- When a true genius appears in the world, you may know him by this sign, that the dunces are all in confederacy against him. - Jonathan Swift |
|
From: James H. <ja...@is...> - 2003-08-13 03:58:25
|
On Tue, Aug 12, 2003 at 10:05:04PM -0500, mamutas wrote: > I got a feeling that James has answered Red Knight's questions, but the > answers did not make to the mailing list. So, I will try to answer > them and James will correct me if I am wrong, ok? *ahem* :-) Sorry, my bad. I've resent it. > 1) Type checking in XML could be enforced via using of XML schemas > instead of DTDs. But I guess that was not meant for 'country-namegroup' link. > This issue could be resolved by using references to an element. > 4) Namespaces could be specified in the DTD or XML header (or again, > in XML schemas). It can be done with DTD's. The problem is that I didn't want to alter the XML *too* much, which precludes strict enough type-checking. But yes, in general Schemas are a powerful alternative to DTD's. Namespaces should be specified in the top-level element you want them to apply to - in this case, the root element. > That is what I remember so far without digging through my memory since > it was about 2 years I worked with XML. > > In my understanding, if we are going to use proper XML for our > datafiles, then we should pick up some open source XML parser. I do not have > preferences whether it will DOM or SAX so far, it all depends on what > memory management we are going to have for those DBs. You're absolutely right. I've used QT's SAX2 implementation so far, but as QT is problematic to use on Windows I'd suggest fixing on Xerxes - http://xml.apache.org/#xerces. > mamutas james. |
|
From: mamutas <ma...@pr...> - 2003-08-13 03:41:56
|
I am glad to see that we are on the same page. I have used Xerces (the Java implementation, however) and I found it stable, powerful and straight forward to use. Regards, Mamutas -----Original Message----- From: James Harlow [mailto:ja...@is...] Sent: Tuesday, August 12, 2003 10:33 PM To: mamutas Subject: Re: [Xenocide-programming] names.xml On Tue, Aug 12, 2003 at 10:05:04PM -0500, mamutas wrote: > I got a feeling that James has answered Red Knight's questions, but > the answers did not make to the mailing list. So, I will try to answer > them and James will correct me if I am wrong, ok? Sorry, my bad. I've resent it. > 1) Type checking in XML could be enforced via using of XML schemas > instead of DTDs. But I guess that was not meant for > 'country-namegroup' link. This issue could be resolved by using > references to an element. > 4) Namespaces could be specified in the DTD or XML header (or again, in XML > schemas). It can be done with DTD's. The problem is that I didn't want to alter the XML *too* much, which precludes strict enough type-checking. But yes, in general Schemas are a powerful alternative to DTD's. Namespaces should be specified in the top-level element you want them to apply to - in this case, the root element. > That is what I remember so far without digging through my memory since > it was about 2 years I worked with XML. > > In my understanding, if we are going to use proper XML for our > datafiles, then we should pick up some open source XML parser. I do > not have preferences whether it will DOM or SAX so far, it all depends > on what memory management we are going to have for those DBs. You're absolutely right. I've used QT's SAX2 implementation so far, but as QT is problematic to use on Windows I'd suggest fixing on Xerxes - http://xml.apache.org/#xerces. > mamutas james. --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.502 / Virus Database: 300 - Release Date: 7/18/2003 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.502 / Virus Database: 300 - Release Date: 7/18/2003 |
|
From: James H. <ja...@is...> - 2003-08-13 03:41:22
|
red...@pr... wrote: >> Hi everyone. I'm going to be doing the modelling code, and while I >> was getting to know the project, I thought I'd take the liberty of >> cleaning up names.xml into proper xml with a DTD (document type >> declaration) so it validates. >> > > It was me who made it, and it was supposed to be XML like, not strict > XML (cause I never had done it). The idea was having a simple database > to store the names to be used in the random name generation, in a > simple fashion. However, the changes are not dramatical and I think it > [wouldn't] complicates too much the parsing (less if we can use a > proper XML parser to do that)... So good job. > I should stress that I wasn't in any way criticising, I'm sure it was just something that was just quickly laid out to get something "on paper" - I do that all the time. >> 1. Improve the type-checking in the DTD. Most of the data isn't >> checked at all, and it could be - for example the <probability >> group="country"> could be checked to make sure country was a country >> that had been defined in <namegroups>. >> > > And how you do that? Excuse my maybe lame questions, but Ive never > done XML, DB and Bussiness applications are not my strong point... > Heh, me neither, XML is just something I picked up. You could alter the DTD so that it specified that all of the values of the attribute "origin" in the element "group" were unique. Then you could specify that all the values of the attribute "group" of the element "probability" referred to either these unique values or the value "default". This isn't possible at the moment because we have more than one <group origin="spanish"> and because the attribute "group" in the element "probability" doesn't mean much. >> 3. Write a tool so that designers don't have to edit the XML >> manually. It's my opinion that the only people who ever see text >> files should be programmers, everyone else should have tools. >> > > Yes all agree on that, and the tools we are doing comes from that > philosofy. For instance the PAQ Explorer and the repository are just 2 > of them... > Cool. I've finished my first pass of a reader - the source is at http://james.is.never.wrong.nu/files/names-reader.tar.gz. It's just a quick mockup, almost, you can't write to it, save, and it doesn't really handle the <continents> element. It uses QT, which has a windows port - get it from http://www.trolltech.com/download/qt/noncomm.html or http://www.trolltech.com/forms/noncommevalform.html. [update : lordt has done an excellent web frontend at http://xenocide.ru/temp/names/ - see the forum thread http://www.xcomufo.com/forums//index.php?showtopic=1929&st=0&#entry35415 for more info.] >> 4. Add a namespace. All our XML should be put in our own namespace, >> eventually. >> > > Again, how? > <database xmlns="http://www.projectxenocide.com/names"> james. |
|
From: mamutas <ma...@pr...> - 2003-08-13 03:14:09
|
Hi guys, First, make sure when you reply the post it goes to Xen...@li... address. I got a feeling that James has answered Red Knight's questions, but the answers did not make to the mailing list. So, I will try to answer them = and James will correct me if I am wrong, ok? 1) Type checking in XML could be enforced via using of XML schemas = instead of DTDs. But I guess that was not meant for 'country-namegroup' link. = This issue could be resolved by using references to an element. 4) Namespaces could be specified in the DTD or XML header (or again, in = XML schemas). That is what I remember so far without digging through my memory since = it was about 2 years I worked with XML. In my understanding, if we are going to use proper XML for our = datafiles, then we should pick up some open source XML parser. I do not have preferences whether it will DOM or SAX so far, it all depends on what = memory management we are going to have for those DBs. Regards, mamutas -----Original Message----- From: xen...@li... [mailto:xen...@li...] On Behalf Of red...@pr... Sent: Thursday, August 07, 2003 3:15 PM To: James Harlow Subject: Re: [Xenocide-programming] names.xml Hi, Quoting James Harlow <ja...@is...>: > Hi everyone. I'm going to be doing the modelling code, and while I was > getting to know the project, I thought I'd take the liberty of = cleaning=20 > up names.xml into proper xml with a DTD (document type declaration) so = > it validates. It was me who made it, and it was supposed to be XML like, not strict = XML=20 (cause I never had done it). The idea was having a simple database to = store=20 the names to be used in the random name generation, in a simple fashion. = However, the changes are not dramatical and I think it would complicates = too much the parsing (less if we can use a proper XML parser to do that)... = So=20 good job. > 2. XML Comments. XML comments go like this: <!-- this is a comment=20 > -->. > Technically they're a little more involved than this, but everyone I=20 > know thinks that using complex comments is a bad idea. C and C++=20 > comments are not valid. Part of XML like desitions. > 1. Improve the type-checking in the DTD. Most of the data isn't=20 > checked > at all, and it could be - for example the <probability = group=3D"country">=20 > could be checked to make sure country was a country that had been=20 > defined in <namegroups>. And how you do that? Excuse my maybe lame questions, but Ive never done = XML, DB and Bussiness applications are not my strong point... > 3. Write a tool so that designers don't have to edit the XML manually. > It's my opinion that the only people who ever see text files should be = > programmers, everyone else should have tools. Yes all agree on that, and the tools we are doing comes from that = philosofy. For instance the PAQ Explorer and the repository are just 2 of them... > 4. Add a namespace. All our XML should be put in our own namespace,=20 > eventually. Again, how? > 5. (And I'm an idiot for forgetting to do this) Put a version=20 > attribute > in the <database> element. Greetings Red Knight ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including = Data Reports, E-commerce, Portals, and Forums are available now. Download = today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/= 01 _______________________________________________ Xenocide-programming mailing list = Xen...@li... https://lists.sourceforge.net/lists/listinfo/xenocide-programming --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.502 / Virus Database: 300 - Release Date: 7/18/2003 =20 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.502 / Virus Database: 300 - Release Date: 7/18/2003 =20 |
|
From: <red...@pr...> - 2003-08-08 15:07:33
|
> >>Hi everyone. I'm going to be doing the modelling code, and while I was > >>getting to know the project, I thought I'd take the liberty of cleaning > >>up names.xml into proper xml with a DTD (document type declaration) so > >>it validates. > >It was me who made it, and it was supposed to be XML like, not strict XML > >(cause I never had done it). The idea was having a simple database to store > >the names to be used in the random name generation, in a simple fashion. > >However, the changes are not dramatical and I think it would complicates too > >much the parsing (less if we can use a proper XML parser to do that)... So > >good job. > > > I should stress that I wasn't in any way criticising, I'm sure it was > just something that was just quickly laid out to get something "on > paper" - I do that all the time. Dont worry it was supposed to say: "and I think it wouldNT complicates too much the parsing", my mistake. Greetings Red Knight |
|
From: <red...@pr...> - 2003-08-07 20:32:17
|
Hi, Quoting James Harlow <ja...@is...>: > Hi everyone. I'm going to be doing the modelling code, and while I was > getting to know the project, I thought I'd take the liberty of cleaning > up names.xml into proper xml with a DTD (document type declaration) so > it validates. It was me who made it, and it was supposed to be XML like, not strict XML (cause I never had done it). The idea was having a simple database to store the names to be used in the random name generation, in a simple fashion. However, the changes are not dramatical and I think it would complicates too much the parsing (less if we can use a proper XML parser to do that)... So good job. > 2. XML Comments. XML comments go like this: <!-- this is a comment -->. > Technically they're a little more involved than this, but everyone I > know thinks that using complex comments is a bad idea. C and C++ > comments are not valid. Part of XML like desitions. > 1. Improve the type-checking in the DTD. Most of the data isn't checked > at all, and it could be - for example the <probability group="country"> > could be checked to make sure country was a country that had been > defined in <namegroups>. And how you do that? Excuse my maybe lame questions, but Ive never done XML, DB and Bussiness applications are not my strong point... > 3. Write a tool so that designers don't have to edit the XML manually. > It's my opinion that the only people who ever see text files should be > programmers, everyone else should have tools. Yes all agree on that, and the tools we are doing comes from that philosofy. For instance the PAQ Explorer and the repository are just 2 of them... > 4. Add a namespace. All our XML should be put in our own namespace, > eventually. Again, how? > 5. (And I'm an idiot for forgetting to do this) Put a version attribute > in the <database> element. Greetings Red Knight |
|
From: James H. <ja...@is...> - 2003-08-07 13:33:57
|
Hi everyone. I'm going to be doing the modelling code, and while I was getting to know the project, I thought I'd take the liberty of cleaning up names.xml into proper xml with a DTD (document type declaration) so it validates. I uploaded it to the patches area ( http://sourceforge.net/tracker/index.php?func=detail&aid=784360&group_id=67048&atid=516699 ) - partly because I don't have CVS access and partly because I don't know the project well enough to make fairly major changes like that. There are a few things I'd like to note: 1. XML is case- and whitespace-sensitive. The author of this file has done a good job here, so they obviously know this. Nonetheless I think it's worth pointing out in any introduction to XML, because most people don't expect it to be either (I guess because html isn't). 2. XML Comments. XML comments go like this: <!-- this is a comment -->. Technically they're a little more involved than this, but everyone I know thinks that using complex comments is a bad idea. C and C++ comments are not valid. 3. Elements vs. Attributes. There are no hard and fast rules on when to use attributes and when to use elements. (An element is a tag - <element>, and an attribute is a key-value pair in the element - <element key="value">.) I think it makes sense to use attributes over elements only when the attribute is a fundamental property of the element that is guaranteed to only have one value. For example, in an email XML, the <to> structure would be a bad candidate for being an attribute as you often want to send email to more than one person. On the other hand, in a bottle of wine XML, the vintage would be a good candidate: <wine vintage="1986">. Here's a rundown of the things I changed to names.xml (roughly in order of top to bottom): 1. Put a DTD in. All XML documents require a DTD - it serves roughly the same purpose as a C/C++ header file. 2. Put a root element in. All XML documents require exactly one root element. I decided to make this <database>, with an attribute type called "type". This way we can write a tool that can operate on any of our XML files, check what type they are, and display them appropritately. 3. Seperated the document out into two logical sections - a name database and country rules. There didn't seem to me to be any reason to define names inside continents. English names are English names, wherever you are - if America uses different names, then they should be called American names. 4. Removed the quantity attribute on group. I couldn't see any point for it. Here are some things I'd like to do with names.xml, but didn't: 1. Improve the type-checking in the DTD. Most of the data isn't checked at all, and it could be - for example the <probability group="country"> could be checked to make sure country was a country that had been defined in <namegroups>. 2. Change the probability structures. At the moment they're very difficult to parse. However as the document is just a place to put names and there are no tools that use it, this wasn't necessary. 3. Write a tool so that designers don't have to edit the XML manually. It's my opinion that the only people who ever see text files should be programmers, everyone else should have tools. 4. Add a namespace. All our XML should be put in our own namespace, eventually. 5. (And I'm an idiot for forgetting to do this) Put a version attribute in the <database> element. If you're interested in learning more about XML and DTD's and so forth, there are good tutorials at www.w3schools.com. The parser I used to check names.xml is at http://www.stg.brown.edu/service/xmlvalid/. james. |
|
From: mamutas <ma...@pr...> - 2003-08-07 04:58:11
|
I am glad to hear that you are busy with Xenocide coding and that you =
are
doing progress. Keep it going!
As for the style question, I would treat static const variable same as
defines, so I would use define style to name it, that is _DEFAULT.
-----Original Message-----
From: xen...@li...
[mailto:xen...@li...] On Behalf Of =
Ed
Ray
Sent: Sunday, August 03, 2003 11:58 PM
To: xen...@li...
Subject: RE: [Xenocide-programming] Fritz here, Font/Text renderer =
header
files.
At 11:14 PM 8/3/2003 -0500, you wrote:
I was planning on writing a style guide for the coders here, using bits =
of
wisdom gleaned from conversations very similar to this. Of course, that =
is
in addition to the other work I already have.
On the plus side, I am fairly close to getting done with the text =
renderer.
I am writing cpp code now, and testing it as I go along. It should be =
fully
compatible with the old renderer code, and I will mark any backwards
compatibility code that should be removed once the old code is taken =
out.
A problem I have encountered is: I am working on a MSVC devpack, and for
some unknown reason (to me as of right now), the geoscape's logic works
differently from Borland to MSVC. There has been a problem where the MS
compiler does not execute the RTTI type statments quite correctly, or at
least they are different from borland's, because I am not sure what the
proper functionality is, I just know how each of them work. That is a
problem that I found out how to bypass, but I am running into another
problem that I have not found out the reason behind yet, and I decided =
not
to until I am done at least with the text renderer. Essentially, when =
you
click the mouse, the mousedown events go in the correct order, but the
mouseup events are not executing right. Specifically, the object that =
does
most of the stuff is setting the mouse button down value to false before =
it
can ever execute any useful statements.
Anyway, yeah, I'll find out why those are happening and propose ways to
patch the problem.
I had one question: I use a const static variable in my program, and I =
was
wondering whether I should name it as per the #defined stuff (_DEFAULT),
since it is only being used for the exact reason stated below, or if I
should name it as per a normal variable (default).
>Thanks for the reply.
>
>I am not going to argue about naming convention. There will never be a=20
>winner in such argument.
>
>As for performance issues, I agree with what is said below. It is not=20
>something I did not hear before. And it makes sense. I just thought=20
>that such issues must be taken care of by compiler, but I guess we=20
>cannot count that all compilers do that.
>
>As an afterthought about such discussion, I guess we need to come up=20
>with some basic rules for code optimization which every programmer must =
>follow. We could have a FAQ or something on Sourceforge. What do you=20
>say?
>
>-----Original Message-----
>From: xen...@li...
>[mailto:xen...@li...] On Behalf Of=20
>Federico Andr=E9s Lois
>Sent: Sunday, August 03, 2003 5:40 PM
>To: xen...@li...
>Subject: Re: [Xenocide-programming] Fritz here, Font/Text renderer=20
>header files.
>
>
>Well the point with using defines instead of const int for that, do not =
>have a big impact on code writability, however, from the perspective of =
>readability check this two codes...
>
>-----------------------------------------
>const Real pi =3D 3.1416
>
>Real f ( Real argument )
>{
> return (2 * pi * argument );
>};
>-----------------------------------------
>#define _PI 3.1416
>
>Real f (Real argument )
>{
> return (2 * _PI * argument);
>};
>-----------------------------------------
>Now from the point of view of static code analysis, using our=20
>conventions you can see that in the second case 2 * _PI is a constant=20
>that will be precalculated by the compiler. In the first one, you can=20
>be misleaded to think that pi is a variable (even though pi is not, you =
>can find real life names that will) or worst a global variable. So if=20
>you can diferenciate them in code via names, you are making a more=20
>readable code... Now you can argue that we can use a naming convention=20
>similar for that kind of constants,
>then: What is the difference between a const Real in a function and a
>conventional constant const Real?
>
>>From the compiled code point of view, when you use the define the 2 *
>>_PI
>instruction is optimized by the compiler as 6,2832 and then the=20
>compiled code looks like this:
>
>(I will take some poetic license here creating a special symbolic=20
>assemblet, but it works to show the point)
>
>S - Stack Frame Pointer (where the function begins)
>
>MOV register0, S[argumentOffset];
>MULT register0, register0, 6,2832;
>MOV S[returnOffset], register0;
>
>in the second place you need an optimizing compiler to get that,=20
>however, because C++ have to support separate compilation if the=20
>constant you are using is defined and initialized in another file=20
>(module) then the compiler cannot know the real value (even though it=20
>wont be changed). So because of that limitations the best code you will =
>get will look like this.
>
>MOV register0, S[argumentOffset];
>MOV register1, [piAddress];
>MULT register0, register0, 2;
>MULT register0, register0, register1;
>MOV S[returnOffset], register0;
>
>So If there is not a need to use complex structures, like in the case=20
>of vectors or matrices, where all identity ones are already defined as=20
>the latest kind of constants (because of a performance issue that I=20
>will explain
>below) you should use defines... The case with that objects for =
instance is
>the next:
>
>We have some MiscRGBAColor objects already created. So we have=20
>miscColorBlack, miscColorRed and so on... now you have created n=20
>objects codifing colors. You can use defines too, suppose you want to=20
>define the red color..
>
>#define _REDRGBACOLOR MiscRGBAColor (1,0,0,0);
>
>So for every place you have _REDRGBACOLOR in your code you are creating =
>a new object instance. But there is something more sinister in this.=20
>The scope of MiscRGBAColor is validated by the inclusion of an include=20
>statement, and the #define is not, because that is a precompiler=20
>macro... so that can create some difficult to diagnose compilation=20
>problems. So appart from the performance issues, there is some other=20
>problems that have to be addressed...
>
>Now, when to use defines and when to use const values? Easy, you have=20
>to use defines when the type of the expression you used can be known by =
>the compiler on compilation like characters, strings, integers, real=20
>numbers, etc.... You cant use them with user defined objects, so for=20
>that you have const values...
>
>Greetings
>Red Knight
>
>
>
>---
>Outgoing mail is certified Virus Free.
>Checked by AVG anti-virus system (http://www.grisoft.com).
>Version: 6.0.502 / Virus Database: 300 - Release Date: 7/18/2003
>=20
>
>
>
>-------------------------------------------------------
>This SF.Net email sponsored by: Free pre-built ASP.NET sites including=20
>Data Reports, E-commerce, Portals, and Forums are available now.=20
>Download today and enter to win an XBOX or Visual Studio .NET.=20
>http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_0
>1/01
>_______________________________________________
>Xenocide-programming mailing list
>Xen...@li...
>https://lists.sourceforge.net/lists/listinfo/xenocide-programming
>
Ed Ray
--
Ed...@tu...
ICQ: 2271040
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including =
Data
Reports, E-commerce, Portals, and Forums are available now. Download =
today
and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/=
01
_______________________________________________
Xenocide-programming mailing list =
Xen...@li...
https://lists.sourceforge.net/lists/listinfo/xenocide-programming
---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.502 / Virus Database: 300 - Release Date: 7/18/2003
=20
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.502 / Virus Database: 300 - Release Date: 7/18/2003
=20
|