Win32 compile r12613 vegastrike

Trying to build your own version of Vega Strike and having problems? Unix users, paste your config.log here (stderr output alone is not helpful).
Mets
Mercenary
Mercenary
Posts: 115
Joined: Tue Jun 10, 2008 12:52 am

Re: Win32 compile r12614 vegastrike, vssetup

Post by Mets »

pheonixstorm wrote:That file was removed awhile back for some reason. I posted an attachement in either this thread of the other win compile thread will a better working copy for VC9. I'm still working on getting a new solution/project set ready as theres a lot of stuff no longer used or hasnt been removed.

What OS, compiler, and sdk are you using to build anyway?
That'd be much appreciated!

I'm using XP SP3, Express 2008, and I have DirexX SDK Nov.2008 and Windows SDK 6.1
pheonixstorm
Elite
Elite
Posts: 1567
Joined: Tue Jan 26, 2010 2:03 am

Re: Win32 compile r12614 vegastrike, vssetup

Post by pheonixstorm »

Does the win32 binary use ffmpeg? I see the dll files in the win32 folder but there are no lib files in the vega-vc8 build folder. I know .5 used ffmpeg. Not sure what to do about it yet... May just build ffmpeg following the directions
Because of YOU Arbiter, MY kids? can't get enough gas. OR NIPPLE! How does that mkae you feeeel? ~ Halo
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Win32 compile r12614 vegastrike, vssetup

Post by klauss »

Mets wrote:
pheonixstorm wrote: The biggest problem is a missing gui/general.cpp file that was removed after r12585. I cannot find any reference to it after 12585 though it is listed in the ogre barnch. VS spits out a fatal error and will not attempt to compile w/o it. I will attempt to add the file from r12585 (last change I can find currently)
I tried to build tonight and ran into the same issue. If somebody fixed this, it would be great if it was submitted to the repository.
The ogre branch is heavily outdated, I'll try to schedule time to merge the ton of changes that happened on trunk with it some time.

I bet you can just remove general.cpp from the build and it will work.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: Win32 compile r12614 vegastrike, vssetup

Post by safemode »

Whenever a situation like general.cpp occurs for you in win32 land, it's good to go and look at the unix build files (either the Cmake one or GNU Make) and see if it exists there as a file to be compiled. In the case of general.cpp, i mentioned in the other thread that it was removed because it wasn't used. So dont hesitate to just remove it from your build order.

Note, this is the general.cpp in the vegastrike build. I still think vssetup uses it, so dont remove it from the build order of anything but vegastrike and vegaserver.
Ed Sweetman endorses this message.
pheonixstorm
Elite
Elite
Posts: 1567
Joined: Tue Jan 26, 2010 2:03 am

Re: Win32 compile r12614 vegastrike, vssetup

Post by pheonixstorm »

Got the API macro redefs taken care of. I still get the warnings listed below. The error was left in the build so it wouldn't finish.

Code: Select all

Compiling...

..\vegastrike\src\networking\lowlevel\vsnet_notify.cpp(295) : warning C4355: 'this' : used in base member initializer list

e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4805: '==' : unsafe mix of type 'bool' and type 'float' in operation
        e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(73) : see reference to function template instantiation 'void findObjectsFromPosition(CollideMap *,CollideArray::iterator,Locator *,QVector,float,bool)' being compiled
        with
        [
            Locator=UnitWithinRangeLocator
        ]
        ..\vegastrike\src\gfx\cockpit.cpp(1048) : see reference to function template instantiation 'void findObjects>(CollideMap *,CollideArray::iterator,Locator *)' being compiled
        with
        [
            T=DrawUnitBlip,
            Locator=UnitWithinRangeLocator
        ]
e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4804: '>' : unsafe use of type 'bool' in operation

e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4805: '==' : unsafe mix of type 'bool' and type 'float' in operation
        e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(73) : see reference to function template instantiation 'void findObjectsFromPosition(CollideMap *,CollideArray::iterator,Locator *,QVector,float,bool)' being compiled
        with
        [
            Locator=UnitWithinRangeLocator>
        ]
        ..\vegastrike\src\cmd\ai\fire.cpp(501) : see reference to function template instantiation 'void findObjects>(CollideMap *,CollideArray::iterator,Locator *)' being compiled
        with
        [
            T=ChooseTargetClass<2>,
            Locator=UnitWithinRangeLocator>
        ]
e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4804: '>' : unsafe use of type 'bool' in operation
docking.cpp
communication_xml.cpp
communication.cpp
comm_ai.cpp
aggressive.cpp
weapon_xml.cpp
unit_xml.cpp
unit_util_generic.cpp
e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4805: '==' : unsafe mix of type 'bool' and type 'float' in operation
        e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(73) : see reference to function template instantiation 'void findObjectsFromPosition(CollideMap *,CollideArray::iterator,Locator *,QVector,float,bool)' being compiled
        with
        [
            Locator=NearestNavOrCapshipLocator
        ]
        ..\vegastrike\src\cmd\ai\aggressive.cpp(1374) : see reference to function template instantiation 'void findObjects(CollideMap *,CollideArray::iterator,Locator *)' being compiled
        with
        [
            Locator=NearestNavOrCapshipLocator
        ]
e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4804: '>' : unsafe use of type 'bool' in operation
unit_util.cpp
unit_interface.cpp
unit_generic.cpp
unit_functions_generic.cpp
unit_functions.cpp
unit_factory_generic.cpp
..\vegastrike\src\cmd\unit_generic.cpp(7847) : error C2668: 'abs' : ambiguous call to overloaded function
        E:\Visual Studio Express 9.0\VC\include\math.h(539): could be 'long double abs(long double)'
        E:\Visual Studio Express 9.0\VC\include\math.h(491): or       'float abs(float)'
        E:\Visual Studio Express 9.0\VC\include\math.h(487): or       'double abs(double)'
        E:\Visual Studio Express 9.0\VC\include\math.h(485): or       'long abs(long)'
        E:\Visual Studio Express 9.0\VC\include\stdlib.h(380): or       'int abs(int)'
        while trying to match the argument list '(unsigned int)'

e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4805: '==' : unsafe mix of type 'bool' and type 'float' in operation
        e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(73) : see reference to function template instantiation 'void findObjectsFromPosition(CollideMap *,CollideArray::iterator,Locator *,QVector,float,bool)' being compiled
        with
        [
            Locator=UnitPtrLocator
        ]
        ..\vegastrike\src\universe_util_generic.cpp(424) : see reference to function template instantiation 'void findObjects(CollideMap *,CollideArray::iterator,Locator *)' being compiled
        with
        [
            Locator=UnitPtrLocator
        ]
e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4804: '>' : unsafe use of type 'bool' in operation

e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4805: '==' : unsafe mix of type 'bool' and type 'float' in operation
        ..\vegastrike\src\star_system.cpp(416) : see reference to function template instantiation 'void findObjectsFromPosition>(CollideMap *,CollideArray::iterator,Locator *,QVector,float,bool)' being compiled
        with
        [
            T=UnitDrawer,
            Locator=UnitWithinRangeOfPosition
        ]
e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4804: '>' : unsafe use of type 'bool' in operation


 Results      Build log was saved at "file://e:\source directory\vegastrike\r12613\vega-vc8\vegastrike_Win32_Release\BuildLog.htm"
vegastrike - 1 error(s), 11 warning(s)
 
The config.h file is a bit useless. It is an include in main.cpp but seems to have no visible result on treating the 4005 error. I had to manually add what error numbers to ignore in the project properties. Not much else to do w/o changing more source files.

This also leaving me wondering about my fix for unit_generic.cpp If the linux build compiles w/o giving an error then why does the win32 build give off the error?? Other than changing

Code: Select all

image->ecm = abs(image->ecm);
to

Code: Select all

image->ecm = abs((int)image->ecm);
im not sure what else to do. int abs is in stdlib while the others are in math. In the include section there is no reference to either file. At least thats the case in C.. may all be in math.h in C++ forgot to check.

Moving on to finish the build, will start updating dependencies next.
Because of YOU Arbiter, MY kids? can't get enough gas. OR NIPPLE! How does that mkae you feeeel? ~ Halo
pheonixstorm
Elite
Elite
Posts: 1567
Joined: Tue Jan 26, 2010 2:03 am

Re: Win32 compile r12614 vegastrike, vssetup

Post by pheonixstorm »

Clean rebuild gives me a working vegastrike binary. I have not updated anything yet but have fixed an earlier issue I had with my first win32 build attempt where the tutorial would not complete :? . I'm going to update everything but python first and hope it builds. Seems the trunk vc-8 solution already has arch set for SSE2 so that wont be a change.

First thing I see is a change to the starting ship.. In 0.5 the colors are darker than in what is in the r12613 data dir.
Image 0.5 on left, new build on right. Is this how it should look?
Because of YOU Arbiter, MY kids? can't get enough gas. OR NIPPLE! How does that mkae you feeeel? ~ Halo
chuck_starchaser
Elite
Elite
Posts: 8014
Joined: Fri Sep 05, 2003 4:03 am
Location: Montreal
Contact:

Re: Win32 compile r12614 vegastrike, vssetup

Post by chuck_starchaser »

pheonixstorm wrote:Is this how it should look?
Donno; depends on the lighting.
Anyways, the shaders have been changing, and that's probably what you see; I don't think
the engine has changed in any way that affects the brightness; but I could be wrong.
What it looks is ugly as sin. What shader setting do you have? And is the shader working
or going to lesser fall-backs? Check stderr.txt.
safemode
Developer
Developer
Posts: 2150
Joined: Mon Apr 23, 2007 1:17 am
Location: Pennsylvania
Contact:

Re: Win32 compile r12614 vegastrike, vssetup

Post by safemode »

that looks like no shader.
Ed Sweetman endorses this message.
pheonixstorm
Elite
Elite
Posts: 1567
Joined: Tue Jan 26, 2010 2:03 am

Re: Win32 compile r12614 vegastrike, vssetup

Post by pheonixstorm »

I checked the .5 that is in the same path (.5 is vegastrike.exe new binary is vegastrikeR.exe) and I get the same results. The config shows #set Shaders highshader.

Im going to run both again and compare the two err files. I'm thinking it might be something in the project files. So.. time to download vega-vc7 from the .5 build and cross check everything.

And what about my post from page 2 http://vegastrike.sourceforge.net/forum ... 15#p115498. Any answer to that one?
Because of YOU Arbiter, MY kids? can't get enough gas. OR NIPPLE! How does that mkae you feeeel? ~ Halo
chuck_starchaser
Elite
Elite
Posts: 8014
Joined: Fri Sep 05, 2003 4:03 am
Location: Montreal
Contact:

Re: Win32 compile r12614 vegastrike, vssetup

Post by chuck_starchaser »

pheonixstorm wrote:Got the API macro redefs taken care of. I still get the warnings listed below. The error was left in the build so it wouldn't finish.

Code: Select all

Compiling...

..\vegastrike\src\networking\lowlevel\vsnet_notify.cpp(295) : warning C4355: 'this' : used in base member initializer list

e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4805: '==' : unsafe mix of type 'bool' and type 'float' in operation
        e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(73) : see reference to function template instantiation 'void findObjectsFromPosition(CollideMap *,CollideArray::iterator,Locator *,QVector,float,bool)' being compiled
        with
        [
            Locator=UnitWithinRangeLocator
        ]
        ..\vegastrike\src\gfx\cockpit.cpp(1048) : see reference to function template instantiation 'void findObjects>(CollideMap *,CollideArray::iterator,Locator *)' being compiled
        with
        [
            T=DrawUnitBlip,
            Locator=UnitWithinRangeLocator
        ]
e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4804: '>' : unsafe use of type 'bool' in operation

e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4805: '==' : unsafe mix of type 'bool' and type 'float' in operation
        e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(73) : see reference to function template instantiation 'void findObjectsFromPosition(CollideMap *,CollideArray::iterator,Locator *,QVector,float,bool)' being compiled
        with
        [
            Locator=UnitWithinRangeLocator>
        ]
        ..\vegastrike\src\cmd\ai\fire.cpp(501) : see reference to function template instantiation 'void findObjects>(CollideMap *,CollideArray::iterator,Locator *)' being compiled
        with
        [
            T=ChooseTargetClass<2>,
            Locator=UnitWithinRangeLocator>
        ]
e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4804: '>' : unsafe use of type 'bool' in operation
docking.cpp
communication_xml.cpp
communication.cpp
comm_ai.cpp
aggressive.cpp
weapon_xml.cpp
unit_xml.cpp
unit_util_generic.cpp
e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4805: '==' : unsafe mix of type 'bool' and type 'float' in operation
        e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(73) : see reference to function template instantiation 'void findObjectsFromPosition(CollideMap *,CollideArray::iterator,Locator *,QVector,float,bool)' being compiled
        with
        [
            Locator=NearestNavOrCapshipLocator
        ]
        ..\vegastrike\src\cmd\ai\aggressive.cpp(1374) : see reference to function template instantiation 'void findObjects(CollideMap *,CollideArray::iterator,Locator *)' being compiled
        with
        [
            Locator=NearestNavOrCapshipLocator
        ]
e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4804: '>' : unsafe use of type 'bool' in operation
unit_util.cpp
unit_interface.cpp
unit_generic.cpp
unit_functions_generic.cpp
unit_functions.cpp
unit_factory_generic.cpp
..\vegastrike\src\cmd\unit_generic.cpp(7847) : error C2668: 'abs' : ambiguous call to overloaded function
        E:\Visual Studio Express 9.0\VC\include\math.h(539): could be 'long double abs(long double)'
        E:\Visual Studio Express 9.0\VC\include\math.h(491): or       'float abs(float)'
        E:\Visual Studio Express 9.0\VC\include\math.h(487): or       'double abs(double)'
        E:\Visual Studio Express 9.0\VC\include\math.h(485): or       'long abs(long)'
        E:\Visual Studio Express 9.0\VC\include\stdlib.h(380): or       'int abs(int)'
        while trying to match the argument list '(unsigned int)'

e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4805: '==' : unsafe mix of type 'bool' and type 'float' in operation
        e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(73) : see reference to function template instantiation 'void findObjectsFromPosition(CollideMap *,CollideArray::iterator,Locator *,QVector,float,bool)' being compiled
        with
        [
            Locator=UnitPtrLocator
        ]
        ..\vegastrike\src\universe_util_generic.cpp(424) : see reference to function template instantiation 'void findObjects(CollideMap *,CollideArray::iterator,Locator *)' being compiled
        with
        [
            Locator=UnitPtrLocator
        ]
e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4804: '>' : unsafe use of type 'bool' in operation

e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4805: '==' : unsafe mix of type 'bool' and type 'float' in operation
        ..\vegastrike\src\star_system.cpp(416) : see reference to function template instantiation 'void findObjectsFromPosition>(CollideMap *,CollideArray::iterator,Locator *,QVector,float,bool)' being compiled
        with
        [
            T=UnitDrawer,
            Locator=UnitWithinRangeOfPosition
        ]
e:\source directory\vegastrike\r12613\vegastrike\src\cmd/unit_find.h(55) : warning C4804: '>' : unsafe use of type 'bool' in operation


 Results      Build log was saved at "file://e:\source directory\vegastrike\r12613\vega-vc8\vegastrike_Win32_Release\BuildLog.htm"
vegastrike - 1 error(s), 11 warning(s)
 
That's very useful info; thanks! I'll try to address some of those issues in the refactoring branch.
The config.h file is a bit useless. It is an include in main.cpp but seems to have no visible result on treating the 4005 error. I had to manually add what error numbers to ignore in the project properties. Not much else to do w/o changing more source files.
What's the 4005 error? I can't find it. The abs ambiguity is a huge problem when compiling for windows. A solution could be, IMO, to have our own abs() in a namespace vs and always write vs::abs() in the code.
This also leaving me wondering about my fix for unit_generic.cpp If the linux build compiles w/o giving an error then why does the win32 build give off the error?? Other than changing

Code: Select all

image->ecm = abs(image->ecm);
to

Code: Select all

image->ecm = abs((int)image->ecm);
im not sure what else to do. int abs is in stdlib while the others are in math. In the include section there is no reference to either file. At least thats the case in C.. may all be in math.h in C++ forgot to check.
I'll wait for second opinions, but IMO vs::abs() would do the trick.
Moving on to finish the build, will start updating dependencies next.
Hope you don't mind, but I'm hoping to merge the reformat branch to trunk very soon, and the dependencies are changed.
I'd ***ALMOST*** encourage you to check-out the reformat branch, instead of trunk, and work off of that.
I got rid of all the warnings that remained after Safemode's work on them, so the code is a lot cleaner and
more compliant now; and no big template mess with Unit, anymore.
pheonixstorm
Elite
Elite
Posts: 1567
Joined: Tue Jan 26, 2010 2:03 am

Re: Win32 compile r12614 vegastrike, vssetup

Post by pheonixstorm »

chuck, the 4005 error is from glut.h and a few others redefing several win32 macros so it only really affects the win build.

As for abs, my solution of

Code: Select all

image->ecm = abs((int)image->ecm);
is common as abs looks for which overloaded function to use, int is in stdlib while long double and float are in math.h. I think this is the correct C++ way to do it instead of leaving the int out. Still not sure why abs is used anyway but oh well...

Since the value of ecm in images is an int why would you not use the above code? Why it doesn't give an error in linux I don't know.. it may only give a warning instead or an error or this error could be turned off somehow (it wouldnt suprise me). I think once I figure out the possible shader issue I may use DevC++ to compile the project. It uses mingw and I *think* it can handle the VC project file.

As for moving to trunk head... this build works pre cubemaps so 613 is the end of the line for this one. I havent started the cubemap build (it IS running from head) yet. I think getting this build up and running will give us more leway to fiddle with head and making sure cubemaps are running right in windwos.
Because of YOU Arbiter, MY kids? can't get enough gas. OR NIPPLE! How does that mkae you feeeel? ~ Halo
pheonixstorm
Elite
Elite
Posts: 1567
Joined: Tue Jan 26, 2010 2:03 am

Re: Win32 compile r12614 vegastrike, vssetup

Post by pheonixstorm »

Ok, i think this has something to do with the funky shader/graphics i'm getting

Code: Select all

Attempt to call ReadFull on a bad file units.csv
Only read 0 out of -1 bytes of units.csv
!!! ERROR/WARNING VSFile : on ReadFull : Unspecified error (maybe to document in VSFile ?)
There are a few other minor items between the two so i'm attaching the err file below.
You do not have the required permissions to view the files attached to this post.
Because of YOU Arbiter, MY kids? can't get enough gas. OR NIPPLE! How does that mkae you feeeel? ~ Halo
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Win32 compile r12614 vegastrike, vssetup

Post by klauss »

pheonixstorm wrote:Since the value of ecm in images is an int why would you not use the above code?
In case it ever changes?

Anyway, the value of ecm in images is not an int, it's an unsigned int. There lays the problem.
So calling abs() makes little sense doesn't it?
What about removing the abs call?
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
chuck_starchaser
Elite
Elite
Posts: 8014
Joined: Fri Sep 05, 2003 4:03 am
Location: Montreal
Contact:

Re: Win32 compile r12613 vegastrike

Post by chuck_starchaser »

pImage->ecm = abs( pImage->ecm ); commented out of unit_generic.cpp
There's a couple of if(return target->GetImageInformation().ecm>0){... in cockpit.cpp and vdu.cpp, which
might lead the reader to assume it could be less than zero.
Maybe they should be changed to if(return target->GetImageInformation().ecm!=0){...
In vdu.cpp there's also this:

Code: Select all

    if (print_ecm) {
        if (parent->GetImageInformation().ecm > 0) {
            GFXColor4f( 0, 1, 0, .5 );
            strcpy( ecmstatus, "ECM Active" );
        }
        if ( ( (parent->GetImageInformation().ecm < 0) ) ) {
            GFXColor4f( .6, .6, .6, .5 );
            strcpy( ecmstatus, "ECM Inactive" );
        }
        if (parent->GetImageInformation().ecm > 0) {
            static float s = 0;
            s += .125*SIMULATION_ATOM;
            if (s > 1)
                s = 0;
            DrawShield( 0, s, s, 0, x, y, w, h, false, GFXColor( 0, 1, 0 ), GFXColor( 0, .75, 0 ), GFXColor( 0, .5, 0 ) );
        }
    }
which I guess could be simplified to,

Code: Select all

    if (print_ecm) {
        if (parent->GetImageInformation().ecm != 0) {
            GFXColor4f( 0, 1, 0, .5 );
            strcpy( ecmstatus, "ECM Active" );
            static float s = 0;
            s += .125*SIMULATION_ATOM;
            if (s > 1)
                s = 0;
            DrawShield( 0, s, s, 0, x, y, w, h, false, GFXColor( 0, 1, 0 ), GFXColor( 0, .75, 0 ), GFXColor( 0, .5, 0 ) );
        }
    }
In cockpit.cpp there's a case in a switch statement,

Code: Select all

    case UnitImages< void >::ECM_MODAL:
        if (target->GetImageInformation().ecm < 0)
            return (float) UnitImages< void >::READY;
        else if (target->GetImageInformation().ecm > 0)
            return (float) UnitImages< void >::ACTIVE;
        else
            return (float) UnitImages< void >::NOTAPPLICABLE;
Maybe ecm<0 should return NOTAPPLICABLE instead of READY? Changing to...

Code: Select all

    case UnitImages< void >::ECM_MODAL:
        if (target->GetImageInformation().ecm != 0)
            return (float) UnitImages< void >::ACTIVE;
        else
            return (float) UnitImages< void >::NOTAPPLICABLE;
I'll commit this to the reformat branch for now.
Mets
Mercenary
Mercenary
Posts: 115
Joined: Tue Jun 10, 2008 12:52 am

Re: Win32 compile r12613 vegastrike

Post by Mets »

pheonixstorm, great work plowing through the windows build issues. I'd do it myself but I think you're doing a far better job.

I'll be happy to compile and test these things, also, when the build issues get sorted out.
pheonixstorm
Elite
Elite
Posts: 1567
Joined: Tue Jan 26, 2010 2:03 am

Re: Win32 compile r12613 vegastrike

Post by pheonixstorm »

With a few simple changes it builds under r12613 but gives the funny graphics glitch above due to not reading in units.csv.. so thats another issue to work on for now.
Because of YOU Arbiter, MY kids? can't get enough gas. OR NIPPLE! How does that mkae you feeeel? ~ Halo
chuck_starchaser
Elite
Elite
Posts: 8014
Joined: Fri Sep 05, 2003 4:03 am
Location: Montreal
Contact:

Re: Win32 compile r12613 vegastrike

Post by chuck_starchaser »

Storm, if you're up to it, I'm curious how the reformat branch would fare in VCC.

EDIT:
No; never mind; there's a lot of changes in Makefile.am that have to be ported to the windows build.
Too much work. Though, it will have to be done, anyways...
pheonixstorm
Elite
Elite
Posts: 1567
Joined: Tue Jan 26, 2010 2:03 am

Re: Win32 compile r12613 vegastrike

Post by pheonixstorm »

Of those changes how many are changes made to vegastrike in terms of adding or subtracting cpp/h files? As long as vegastrike works thats all that really matters. vegaserver needs a rewrite anyway if its supposed to be more mmo like. So right now the only binary that matters is going to be vegastrike.
Because of YOU Arbiter, MY kids? can't get enough gas. OR NIPPLE! How does that mkae you feeeel? ~ Halo
chuck_starchaser
Elite
Elite
Posts: 8014
Joined: Fri Sep 05, 2003 4:03 am
Location: Montreal
Contact:

Re: Win32 compile r12613 vegastrike

Post by chuck_starchaser »

pheonixstorm wrote:Of those changes how many are changes made to vegastrike in terms of adding or subtracting cpp/h files? As long as vegastrike works thats all that really matters. vegaserver needs a rewrite anyway if its supposed to be more mmo like. So right now the only binary that matters is going to be vegastrike.
Well, I think the argument is that head to head is the simplest essence of multiplayer; and all other forms can be coded or scripted on top. But me I never cared at all for multiplayer for vegastrike, so it suits me. Vegastrike I don't think needs any *more* files than before, to build; --if anything, *less* of them.
pheonixstorm
Elite
Elite
Posts: 1567
Joined: Tue Jan 26, 2010 2:03 am

Re: Win32 compile r12613 vegastrike

Post by pheonixstorm »

Ok, WTF is happening here?

Code: Select all

void InitUnitTables () {
	VSFile allUnits;
	VSError err;

	static string unitdata= vs_config->getVariable("data","UnitCSV","modunits.csv");
	while (unitdata.length()!=0) {
		string::size_type  where=unitdata.find(" "), where2=where;
		if (where==string::npos)
			where=unitdata.length();
		string tmp = unitdata.substr(0,where);     
		err = allUnits.OpenReadOnly(tmp,UnitFile);
		if (err<=Ok) {
			unitTables.push_back(new CSVTable(allUnits,allUnits.GetRoot()));
			allUnits.Close();
		}
		if (where2==string::npos) break;
		unitdata=unitdata.substr(where+1,unitdata.length());
	}

	// Now include units.csv at the end.
	err = allUnits.OpenReadOnly("units.csv",UnitFile);
	if (err<=Ok) {
		unitTables.push_back(new CSVTable(allUnits,allUnits.GetRoot()));
		allUnits.Close();
	}

}
I see two possible problems. First is modunits.csv does not exsist in 12613 and

Code: Select all

	if (err<=Ok) {
		unitTables.push_back(new CSVTable(allUnits,allUnits.GetRoot()));
		allUnits.Close();
	}
is used twice. Once on a call to modunits.csv and again on units.csv

So which is supposed to read in units.csv?? I think this might be the problem I get that units.csv cannot be loaded at game start.. Any ideas anyone?
Because of YOU Arbiter, MY kids? can't get enough gas. OR NIPPLE! How does that mkae you feeeel? ~ Halo
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Win32 compile r12613 vegastrike

Post by klauss »

That modunits.csv is just a default, if you take a look at vegastrike.config, you'll see an explicit value (units.csv).

If it throws you the error that it cannot find something, you should delete (or rename) your local configuration file (VS makes a copy of the one in data into your home folder, ~/.vegastrike/vegastrike.config in linux).
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
pheonixstorm
Elite
Elite
Posts: 1567
Joined: Tue Jan 26, 2010 2:03 am

Re: Win32 compile r12613 vegastrike

Post by pheonixstorm »

I only had one vegastrike.config. Deleted it now vs and setup don't want to run...

I can open the units.csv with notepad++ and VC++ so why can't the binary open it....

I have tried deleting the config file and units.csv and reloading from svn, neither worked still getting the same can't red units.csv error. Time to work on the head revision for awhile see if I can get it to work w/o this annoying glitch.
Because of YOU Arbiter, MY kids? can't get enough gas. OR NIPPLE! How does that mkae you feeeel? ~ Halo
klauss
Elite
Elite
Posts: 7243
Joined: Mon Apr 18, 2005 2:40 pm
Location: LS87, Buenos Aires, República Argentina

Re: Win32 compile r12613 vegastrike

Post by klauss »

You shouldn't delete the one in data... only your personal vegastrike.config

vssetup doesn't save the modified config in data/, it saves it in your personal folder, or in windows perhaps a .vegastrike (notice the dot) folder within data/.
Oíd mortales, el grito sagrado...
Call me "Menes, lord of Cats"
Wing Commander Universe
pheonixstorm
Elite
Elite
Posts: 1567
Joined: Tue Jan 26, 2010 2:03 am

Re: Win32 compile r12613 vegastrike

Post by pheonixstorm »

In windows it save over the file in data, so there is never a config file in .vegastrike (that I have seen). As I said though, for the moment i'm going to work on the svn head version since I can't figure this issue out and it seems to have everyone else stumped. Also, since I seem to have cubemaps compiling (I think) getting r12613 to compile has become somewhat moot.
Because of YOU Arbiter, MY kids? can't get enough gas. OR NIPPLE! How does that mkae you feeeel? ~ Halo
Post Reply