I've downloaded the latest sourcefiles from CVS but a lot of things goes wrong (since the 15th of januari). From that time the way models are been used in Celestia has been changed. I'm using VS 6.0 as compiler.
While compiling the source code, errors appearing of non declared indentifiers while compiling 3dsmesh.cpp. It seems that the errors comes from a modified file: Mesh.h. The latest versions have a conditional #if 0 construction where the compiler has problems with. To temporarily conquer this problem I've changed Mesh.h a little bit. But I'm not sure if it is the right solution. Below you'll find a part of this file with the modifications. It's now compiling without any error.
What I've seen if I'm using Celestia compiled like this are models which are only white or just like if you open them with Anim8or.exe( without any surface).
Another weird problem which exist a bit longer is maybe discussed earlier. It about the way Saturn is been displayed with rendering Ring- shadow on. Saturn has a "head" of a dark colors on top of this planet a little bit off from axis. I'm sorry, I don't know how to get a view of this phenomena displayed to this thread of the forum. Anyway, if I turn of rendering of ringshadows it dissapears.
I'm using Windows XP pro, Athlon 2500XP+, 1.8GHz and a fxf5200 videocard with 128mb,nVidia 53.03 drivers.
Part of mesh.h:
class RenderContext;
class Mesh
{
public:
enum {
Normals = 0x01,
Tangents = 0x02,
Colors = 0x04,
TexCoords0 = 0x08,
TexCoords1 = 0x10,
VertexProgParams = 0x1000,
Multipass = 0x10000000,
};
enum VertexAttributeSemantic
{
Position = 0,
Color0 = 1,
Color1 = 2,
Normal =
HB.
Weird Problems
-
- Developer
- Posts: 1863
- Joined: 21.11.2002
- With us: 22 years
The white models are a side-effect of Celestia's current transition to a new model format, unfortunately.
The ring shadows appear as a complete circle if you have ambient light turned on, and since the shadows were darkened in 1.3.2pre2 the effect became more noticeable in that release. Celestia is plotting the interesection of the ring shadow cone with both the sunlit and dark side of Saturn (and other planets) - if ambient light is turned off, everything looks correct.
Grant
The ring shadows appear as a complete circle if you have ambient light turned on, and since the shadows were darkened in 1.3.2pre2 the effect became more noticeable in that release. Celestia is plotting the interesection of the ring shadow cone with both the sunlit and dark side of Saturn (and other planets) - if ambient light is turned off, everything looks correct.
Grant
Re: Weird Problems
HB wrote:I'm using VS 6.0 as compiler. While compiling the source code, errors appearing of non declared indentifiers while compiling 3dsmesh.cpp.
Howdy HB,
I too have been *trying* to use VC++ 6.x, but have just about given up. It is an absolute nightmare to try and keep eliminating the errors it produces, since Chris does not keep the VC workfiles updated.
So, I've switched to using his makerelease.bat and makedebug.bat files, which usually produce a clean compile.
-Don G.
-
Topic authorHB
- Posts: 132
- Joined: 26.11.2002
- With us: 22 years
- Location: Eindhoven, The Netherlands
Hi Don,
Sorry for the late response.
Compiling the way you do is a good and safe solution too. But it doesn't give any fun when a problem appears. It's for me a kind of education to solve the small problems when things went wrong but I'll use your methode when it took too long before some light is glowing on the horizon.
Often there are new files added to the sourcecode. If this is happened you have to tell VC++ to add those files to the project. Some files are only for Unix-users (e.g. unixdirectory.cpp unixtimer.cpp glutmain.cpp gtkmain.cpp)a nd will produce errors while you compile them. For compiling celx.cpp/h an error appears over missing libraries (lua.h, lua.lib) and also solarsysxml.cpp/h about missing files. But Celestia is working without them. I want to use the cel-script feature so at least the lua library problem must be solved.
I thought that some of the developers took some notice about this, but unfortunatly the CVS download of the 7th of March is still given those non-declared errors when starting to compile 3ds.mesh.cpp
HB
Sorry for the late response.
Compiling the way you do is a good and safe solution too. But it doesn't give any fun when a problem appears. It's for me a kind of education to solve the small problems when things went wrong but I'll use your methode when it took too long before some light is glowing on the horizon.
Often there are new files added to the sourcecode. If this is happened you have to tell VC++ to add those files to the project. Some files are only for Unix-users (e.g. unixdirectory.cpp unixtimer.cpp glutmain.cpp gtkmain.cpp)a nd will produce errors while you compile them. For compiling celx.cpp/h an error appears over missing libraries (lua.h, lua.lib) and also solarsysxml.cpp/h about missing files. But Celestia is working without them. I want to use the cel-script feature so at least the lua library problem must be solved.
I thought that some of the developers took some notice about this, but unfortunatly the CVS download of the 7th of March is still given those non-declared errors when starting to compile 3ds.mesh.cpp
HB
HB
- t00fri
- Developer
- Posts: 8772
- Joined: 29.03.2002
- Age: 22
- With us: 22 years 8 months
- Location: Hamburg, Germany
HB wrote:Hi Don,
Sorry for the late response.
Compiling the way you do is a good and safe solution too. But it doesn't give any fun when a problem appears. It's for me a kind of education to solve the small problems when things went wrong but I'll use your methode when it took too long before some light is glowing on the horizon.
Often there are new files added to the sourcecode. If this is happened you have to tell VC++ to add those files to the project. Some files are only for Unix-users (e.g. unixdirectory.cpp unixtimer.cpp glutmain.cpp gtkmain.cpp)a nd will produce errors while you compile them. For compiling celx.cpp/h an error appears over missing libraries (lua.h, lua.lib) and also solarsysxml.cpp/h about missing files. But Celestia is working without them. I want to use the cel-script feature so at least the lua library problem must be solved.
I thought that some of the developers took some notice about this, but unfortunatly the CVS download of the 7th of March is still given those non-declared errors when starting to compile 3ds.mesh.cpp
HB
I do most of my CVS compiling under Linux, but on the Laptop I run XP. So when I am travelling, I compile the CVS stuff without the slightest problems with Visual Studio Net 7.x using the GUI development environment.
Bye Fridger
t00fri wrote:... I compile the CVS stuff without the slightest problems with Visual Studio Net 7.x using the GUI development environment.
Fridger,
Telling someone that you are able to do something with no problem, but then not defining HOW you managed to accomplish it, doesn't do anyone any good.
You did not mention all the steps and the time you took to update every single one of the missing projects, files, new defines (CELX), etc. For example, the current CVS .dsp and .dsw files (which are used in Visual Studio) are all one to THREE YEARS OLD and are of little use.
Now, would you like to tell all of us exactly what steps you took in order to allow VS to properly compile Celestia (including celx.cpp) without errors?
Thank you,
-Don G.
- t00fri
- Developer
- Posts: 8772
- Joined: 29.03.2002
- Age: 22
- With us: 22 years 8 months
- Location: Hamburg, Germany
don wrote:Fridger,t00fri wrote:... I compile the CVS stuff without the slightest problems with Visual Studio Net 7.x using the GUI development environment.
Telling someone that you are able to do something with no problem, but then not defining HOW you managed to accomplish it, doesn't do anyone any good.
Why?
I was in a hurry today in the office and my Laptop was stored away. The mere facts carry quite a bit of information, nevertheless. It seems VS.net 7.x is quite a bit more clever than version 6.x.
After all the user HB made his post in the BUGS dept! My contribution was to underlign that I do not reproduce any bugs here. That should be good enough if one is in a hurry. Right?
don wrote:You did not mention all the steps and the time you took to update every single one of the missing projects, files, new defines (CELX), etc. For example, the current CVS .dsp and .dsw files (which are used in Visual Studio) are all one to THREE YEARS OLD and are of little use.
Now, would you like to tell all of us exactly what steps you took in order to allow VS to properly compile Celestia (including celx.cpp) without errors?
Thank you,
-Don G.
Now I am at home and my Laptop is in the office, so I cannot trace back exactly what I did months ago. I wrote some scripts that help in the CVS updating process...All I do is ONE or TWO clicks...just like in Linux.
As soon as I find some time, I write things up more concisely.
Bye Fridger
Ahhh, but the true reality, my dear friend who disagrees, is that this is a bug. Why? Because the VisualStudio files included in the CVS tree do NOT work. In fact, as you mentioned, they do require quite a bit of modification in order to get them to work. How would you like it if the make files distributed with your version of Linux were 2 or 3 years out-of-date? You would not like it one bit!t00fri wrote:After all the user HB made his post in the BUGS dept! My contribution was to underlign that I do not reproduce any bugs here.
Yes, I understand there are also Windows make files in the CVS tree, but there is no way to convert them into VisualStudio work files. It only works in the other direction VS workfile-to-makefile.
Some of us do not fully understand the thousands of different compile options available via the VisualStudio IDE. Therefore, it can be difficult to get things defined correctly.
t00fri wrote:As soon as I find some time, I write things up more concisely.
Thank you Fridger. Your effort will be greatly appreciated by VisualStudio users such as myself.
-Don G.
Chris,
Can the VisualStudio debugger (source-code display, variable viewer, single-stepper, etc.) all be activated with a file compiled outside of the VS IDE? For example, using makedebug.bat? I think I tried once but can't remember the outcome now <sigh>. Not all of us are able to read an ASM debug window, as you might be able to do.
-Don G.
Added later ...
To answer my own question, yes it can. I did it yesterday and it works fine. After running makedebug.bat, I opened VS, loaded the source file I wanted to trap, added a breakpoint, and clicked the Go button (F5).
Can the VisualStudio debugger (source-code display, variable viewer, single-stepper, etc.) all be activated with a file compiled outside of the VS IDE? For example, using makedebug.bat? I think I tried once but can't remember the outcome now <sigh>. Not all of us are able to read an ASM debug window, as you might be able to do.
-Don G.
Added later ...
To answer my own question, yes it can. I did it yesterday and it works fine. After running makedebug.bat, I opened VS, loaded the source file I wanted to trap, added a breakpoint, and clicked the Go button (F5).
Last edited by don on 12.03.2004, 00:49, edited 1 time in total.
HB,
Probably, I am a little late, but for various reasons I don't look very carefully to all threads of the forum. Actually I compile almost every day celestia under Windows with VC++ 6.0 ( and less frequently under linux) without significant problem anymore. If you are still interested I can help you and even send my "updated" versions of the .dsp and .dsw files.
In brief:
I. You must add manually (right click on "files " :add files ) tthe new files. They appear in an other color (green for me) in the cvs update.
II. For LUA
That was somewhat more tricky.
IIa. Harrald put me towards a solution. You have to define CELX, but I should remember where!!!!! look to some other thread in this forum If you don't find, I will look more carefully.
IIb Don't forget to give the pathes to the lua include and libray files. These files are on the Chris site.
Don't hesitate to ask me any help incase of problems. Good luck if yo are not yet solve yoour problem.
MB
Probably, I am a little late, but for various reasons I don't look very carefully to all threads of the forum. Actually I compile almost every day celestia under Windows with VC++ 6.0 ( and less frequently under linux) without significant problem anymore. If you are still interested I can help you and even send my "updated" versions of the .dsp and .dsw files.
In brief:
I. You must add manually (right click on "files " :add files ) tthe new files. They appear in an other color (green for me) in the cvs update.
II. For LUA
That was somewhat more tricky.
IIa. Harrald put me towards a solution. You have to define CELX, but I should remember where!!!!! look to some other thread in this forum If you don't find, I will look more carefully.
IIb Don't forget to give the pathes to the lua include and libray files. These files are on the Chris site.
Don't hesitate to ask me any help incase of problems. Good luck if yo are not yet solve yoour problem.
MB
MB wrote:II. For LUA
That was somewhat more tricky.
IIa. Harrald put me towards a solution. You have to define CELX, but I should remember where!!!!! look to some other thread in this forum If you don't find, I will look more carefully.
You should define it in your IDE. There are already a couple of defines in the .dsp-files, there must be a menu somehwere to add another one...
Harald