Building VERGE
Displaying 1-5 of 5 total.
1
Please enter a numerical value for the importance of this sticky.
Enter 0 to unsticky.
Lugumees

The VERGE project as contained in the /trunk section of the repository is not compilable "out of the box" for me.

As far as I've managed to dig through what's going on, it seems that the FLAC binaries are not in the repository. I tried to find and download a set of binaries/libs, but all I can seem to get my hands on is the source, which ALSO does not compile out of the box for several reasons, mainly because VS2005 doesn't seem to register with their #if's, so it's trying to compile with *nux headers that don't exist.

Do you know where I could get my hands on FLAC binaries/libs? Or could they be put into the repository? (i.e. the /trunk/flac-1.1.4/obj directory to be added)

Specifically, building in Debug mode it tells me that:
../flac-1.1.4/obj/Debug/lib/libFLAC_static.lib
Is missing. Though obviously the Release ones would probably be smarter to use, since I'm not hacking FLAC.

Posted on 2009-11-19 13:18:18 (last edited on 2009-11-19 14:03:20)

Overkill

Okay, if release binaries are included, they really shouldn't be. Anyways, the source for libFLAC is included. And the library is built when Verge is built.

I can verify that the preprocessor path executes as desired.

Did you make sure to clean before building?

I think if you do that it will suddenly fix things.

ADDITIONALLY. You should use MSVC 2008 (although 2005 should still compile fine). 2008 is newer, and it is what the primary development is now done under.

EDIT: Just checked out a new repo, and compiled it in MSVC 2008 Professional Edition. It worked.

So yeah, it might be 2005. Also, are you using Express? It could be Express, because it is known to not be very good.

Posted on 2009-11-19 14:38:48 (last edited on 2009-11-19 14:58:05)

Lugumees

I'm using the full version of VS2005, and yes, it was a versioning issue. Have it working now. Originally I tried using the verge3.sln.old file, but it was incomplete, so I had to edit the current project files.

For anyone else who may try this road, here's how I fixed it.

I resolved the problem by making the following changes, editing the listed files with a text editor:

1. /trunk/verge3.sln - Changed version from 10.00 to 9.00
2. /trunk/lua/lua.vcproj - Changed version from 9.00 to 8.00
3. /trunk/audiere/vc7/audiere/audiere.vcproj - Changed version from 9.00 to 8.00
4. /trunk/flac-1.1.4/src/libFLAC/libFLAC_static.vcproj - Changed version from 9.00 to 8.00

You can get away with this because none of the fancy new VS2008 stuff actually got used in the project files, so they are still valid as old version files with just a number change. Keep in mind that this may not always be the case, so some day I/you may have to break down and get VS2008 to keep up with the master VERGErs.

Posted on 2009-11-19 15:40:25

mcgrue

Hey Lugu!

What changes are you making to the engine? Anything that would benefit the community at large?

Posted on 2009-11-22 15:26:24

Lugumees

As of right now, I haven't made any changes. Yet.

I've spent a while reverse-engineering the movement and entity code to see how things are done and what would need to be changed to permit movement and obstruction along arbitrary slopes. I haven't found a nice solution yet.

One thing I *did* notice, and will probably tweak, is that the function Entity::do_movescript() causes a slight stutter in movement when you use any letters that don't set a waypoint or cause a delay (S,F,B,Z,P,T). That is because it handles the special code, but doesn't move on to the next command until the NEXT tick. The simplest and cheapest way to solve that would probably be to enclose the relevant portions in a do-while loop so that it can handle all of the special characters in a single tick. That would only cost a single conditional branch and boolean assignation in the function under most circumstances, and the cost would be offset by calling do_movescript() fewer times.

Something like:

bool repeat;
do
{
repeat = false
//process the next symbol in the move string
//if it would cause a stutter, set repeat = true
}
while (repeat);


I discovered that by using an extremely short looping movecode to force a peculiar diagonal motion. Looked like this:
"P R32 D1 B"
And stuttered for 2 ticks every fraction of a second because of the P and B.

Posted on 2009-11-22 16:21:03 (last edited on 2009-11-22 16:26:31)


Displaying 1-5 of 5 total.
1
 
Newest messages

Ben McGraw's lovingly crafted this website from scratch for years.
It's a lot prettier this go around because of Jon Wofford.
Verge-rpg.com is a member of the lunarnet irc network, and would like to take this opportunity to remind you that regardless how babies taste, it is wrong to eat them.