Difference between revisions of "User:Wirser:wcudir"
(User:Wirser:wcudir moved to User:Wirser:) |
m ([vega-bot] [replace] 1 instances of 'http://vegastrike.sourceforge.net/forums' for 'http://forums.vega-strike.org') |
||
(13 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
− | # | + | If you're interested in an experimental version of Vega Strike, then SVN is what you'll be looking at. |
+ | |||
+ | =What is SVN?= | ||
+ | SVN stands for '''S'''ub'''v'''ersio'''n''', a system similar to CVS. It allows developers to simultaneously work on a centralised project - in this case, that's Vega Strike. | ||
+ | |||
+ | Downloading ("checking out") and compiling the SVN-version often gives you access to features not included in the latest stable release of the program. SVN-based versions can be unstable and may not even work at all, but may hold advantages compared to stable versions. | ||
+ | |||
+ | ==Modules== | ||
+ | Vega Strike's SVN repository holds several subdirectories, which can either be checked out separately or altogether. The most notable ones are included below. | ||
+ | * '''data4.x''' - data files of the game. This consists mainly of models, textures and backgrounds. Required to play the game. | ||
+ | * '''data5.x''' - {{Fixme}} Data for the upcoming version 5. | ||
+ | * '''music''' - music for the game. The contents of this directory should go in [datadir]/music. | ||
+ | * '''vegastrike''' - the game base code. | ||
+ | * '''vssetup''' - The GTK+ 1.2 Setup program. | ||
+ | * '''history''' - Discriptions of factions and species. | ||
+ | * '''vega-proj''' - Deprecated Visual C++ 6 projects. (See [[HowTo:VCPP_Compiling#Visual_C.2B.2B_6.0_.28deprecated.29 here]]) | ||
+ | * '''vega-vc7''' - Visual Studio 7 projects. (See [[HowTo:VCPP_Compiling#Visual_Studio_7.x here]] | ||
+ | * '''vega-vc8''' - Visual Studio Express 2005 projects. (See [[HowTo:VCPP_Compiling#Visual_C.2B.2B_8.0_.282005_Express.29 here]]) | ||
+ | * {{Fixme}} ''WRITEME: other modules - '''charserver''', '''modtools''', '''translations''' | ||
+ | |||
+ | Other modules are deprecated and are historical only: | ||
+ | * '''data''' - deprecated 3.x and lower data files. | ||
+ | * '''vega-new-proj''' - even older VC6 project - don't use. | ||
+ | * '''evilwm''', '''ethereal''', '''virtuanet''' - other projects with temporary repositories | ||
+ | * '''mission_select''' - Functionality also in Launcher, and also not used often. | ||
+ | * '''texturizer''' - If you can get it to compile, I believe it may still work. | ||
+ | * '''syseditor''' - If you like typing in coordinates of every planet by hand in an ugly console interface, go ahead. | ||
+ | |||
+ | |||
+ | '''→''' ''See also: [[Development:CVS Tree]]'' | ||
+ | |||
+ | |||
+ | =Linux Clients= | ||
+ | |||
+ | ==Command-line svn== | ||
+ | |||
+ | ===Website=== | ||
+ | http://subversion.tigris.org/ | ||
+ | |||
+ | ===Description=== | ||
+ | The linux-command `svn' is the most basic Subversion client. | ||
+ | |||
+ | ===Using svn for downloading vs-devel=== | ||
+ | Downloading the Vega Strike svn-modules is easy. The general syntax is | ||
+ | <pre> | ||
+ | svn co [repo]/trunk/[module] [target-directory] | ||
+ | </pre> | ||
+ | |||
+ | <pre> | ||
+ | svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/vegastrike vegastrike | ||
+ | </pre> | ||
+ | ...will download the entire tree into directory `vegastrike'. In order to download single modules, a similar syntax can be used. For example, to download the data4.x-module, | ||
+ | <pre> | ||
+ | svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/data4.x data4.x | ||
+ | </pre> | ||
+ | ...will suffice. | ||
+ | In order to get all the files required to compile the game, checkout the following modules: | ||
+ | * data4.x | ||
+ | * vegastrike | ||
+ | * music (optional) | ||
+ | |||
+ | |||
+ | ==Tutorial to download, setup and run the development version== | ||
+ | In order to run the development version of Vega Strike the executables expect to find the data and music to be in certain places relative to them. This short tutorial deals with these specifics on Linux operating systems. (It also applies for Mac OS X users.) | ||
+ | |||
+ | So, let's start. | ||
+ | * Create a directory where you would like your copy of the Vega Strike development version to live in. For example purposes we will create a directory called ''VegaStrike'' in our user's home-directory. | ||
+ | <pre>~> mkdir VegaStrike</pre> | ||
+ | * Change into this newly created directory. In our case: | ||
+ | <pre>~> cd VegaStrike</pre> | ||
+ | |||
+ | ===Initial downloading (check-out)=== | ||
+ | Now we can start downloading the packages from the SVN repository. If you download them directly into your Vega Strike directory they will be just in the right place. | ||
+ | * Download (check-out) the source code package ''vegastrike'', the content package ''data4.x'' and the optional ''music'' package. | ||
+ | <pre>~/VegaStrike> svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/vegastrike | ||
+ | ~/VegaStrike> svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/data4.x | ||
+ | ~/VegaStrike> svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/music</pre> | ||
+ | This leaves you with three new directories inside your Vega Strike directory called as the packages are. | ||
+ | |||
+ | ''Note:'' If you are having problems with SVN due to connecting via a proxy, try to solve them using the method described here: http://subversion.tigris.org/faq.html#proxy | ||
+ | |||
+ | |||
+ | |||
+ | =Windows Clients= | ||
+ | |||
+ | ==Tortoise SVN== | ||
+ | |||
+ | ===Website=== | ||
+ | http://tortoisesvn.tigris.org/ | ||
+ | |||
+ | ===Description=== | ||
+ | Just like TortoiseCVS, Tortoise SVN lets you work with files under SVN version control directly from Windows Explorer. It's freely available under the GPL. | ||
+ | |||
+ | With TortoiseSVN you can directly check out modules, update, commit and see differences by right clicking on files and folders within Explorer. You can see the state of a file with overlays on top of the normal icons within Explorer. It even works from within the file open dialog. | ||
+ | |||
+ | ===Usage=== | ||
+ | * Download and Install Tortoise SVN from http://tortoisesvn.tigris.org | ||
+ | * Create a new folder in Windows Manager where you will download your modules (called Sandbox, SVN or similar working location name); | ||
+ | * Within that folder, create another folder being the name of module you wish to checkout e.g. data4.x, music, vegastrike etc; | ||
+ | * Right click on the folder created and select SVN Checkout. This brings up the checkout configuration screen; | ||
+ | * Input the URL of the repository into the dialog box, for example data4.x will be; | ||
+ | <pre> | ||
+ | https://svn.sourceforge.net/svnroot/vegastrike/trunk/data4.x | ||
+ | </pre> | ||
+ | **You may also use the built-in repository browser to select the module you wish to check out. | ||
+ | * Click OK to begin checkout of the module. | ||
+ | |||
+ | |||
+ | =Mac OS X Clients= | ||
+ | |||
+ | ==Command Line Client== | ||
+ | |||
+ | ===Website=== | ||
+ | http://metissian.com/projects/macosx/subversion/ | ||
+ | |||
+ | (or http://pdb.finkproject.org/pdb/search.php?summary=svn for Fink packages.) | ||
+ | |||
+ | ==SCPlugin== | ||
+ | |||
+ | ===Website=== | ||
+ | http://scplugin.tigris.org/ | ||
+ | |||
+ | ===Description=== | ||
+ | "The goal of the SCPlugin project is to integrate Subversion into the Mac OS X Finder. The inspiration for this project came from the TortoiseSVN project." | ||
+ | |||
+ | ====Usage==== | ||
+ | Must have command line client installed. | ||
+ | |||
+ | {{Fixme}}-WRITEME | ||
+ | |||
+ | *[http://www.joshbuhler.com/2005/07/05/setting-up-the-subversion-client-on-mac-os-x/ A good tutorial on setting up SVN for OSX] | ||
+ | |||
+ | ==Other== | ||
+ | *[http://www.lachoseinteractive.net/en/community/subversion/svnx/features/ svnX] | ||
+ | = Compile the Vega Strike sourcecode = | ||
+ | ==Building== | ||
+ | *To build the engine, change into the source code directory ''vegastrike''. | ||
+ | <pre>~/VegaStrike> cd vegastrike</pre> | ||
+ | *Now start with setting up and configuring the build and finally building the engine. | ||
+ | <pre>~/VegaStrike/vegastrike> ./bootstrap-sh | ||
+ | ~/VegaStrike/vegastrike> ./configure | ||
+ | ~/VegaStrike/vegastrike> make vegastrike | ||
+ | ~/VegaStrike/vegastrike> make soundserver</pre> | ||
+ | You will likely receive some error messages during any of these stages, especially during the configure part. If they tell you that your system is missing some development libraries install them. How this is done depends strongly on your Linux distribution, but we will assist you in the [http://forums.vega-strike.org/viewforum.php?f=5 Compiling Problems forums]. You will be left with a file called "config.log" please attach that instead of copy-and-pasting thousands of lines of error messages. It's all in this file. | ||
+ | |||
+ | After you installed the missing libraries repeat the last (failed) step and continue. | ||
+ | Finally, there will be two executables called ''vegastrike'' and ''soundserver''. | ||
+ | * [[HowTo:VCPP Compiling|Compiling from SVN under Visual C++]] | ||
+ | * [[HowTo:Cygwin Compiling|Compiling from SVN under Cygwin]] | ||
+ | * [[HowTo:vsFedora Compiling|Compiling from SVN under Fedora Core]] | ||
+ | * [[HowTo:vsSUSE Compiling|Compiling from SVN under SUSE]] | ||
+ | * [[HowTo:vsUMBUNTU Compiling|Compiling from SVN under UMBUNTU ]] | ||
+ | * [[HowTo:vsDRAPPER Compiling|Compiling from SVN under DRAPPER ]] | ||
+ | * [[HowTo:vsLFS Compiling|Compiling from SVN under LFS]] | ||
+ | * [[HowTo:vsOTHER Compiling|Compiling from SVN under OTHER ]] | ||
+ | * Debug a Vega Strike Compilation | ||
+ | ** [[#Using_GDB_with_Vegastrike|Debugging on Linux using GDB]] | ||
+ | ** [[#Using_Dr_Watson_with_Vegastrike|Debugging on Windows using Dr Watson]] | ||
+ | |||
+ | =Using GDB with Vegastrike= | ||
+ | This page provides information on how to use GDB to help debug Vegastrike. | ||
+ | |||
+ | ==Debugging process== | ||
+ | ===Game compilation=== | ||
+ | * First you have to configure Vegastrike with the <code>--enable-debug</code> option in addition to your others:<BR/><pre>./configure <your other parameters> --enable-debug</pre> | ||
+ | |||
+ | * Then <code>make</code> your Vegastrike binary:<BR/><pre>make</pre> | ||
+ | |||
+ | Please make sure you have enough disk space available before doing this. Compiling Vegastrike with <code>--enable-debug</code> eats up a huge amount of disk space. | ||
+ | |||
+ | ===Run GDB=== | ||
+ | * Start <code>gdb</code> (GNU Debugger):<BR/><pre>gdb /path/to/vegastrike</pre> | ||
+ | |||
+ | * Start the game by typing this into the gdb-console:<BR/><pre>run</pre> | ||
+ | |||
+ | * When the error occurs or it dies type | ||
+ | <pre> | ||
+ | print *this | ||
+ | backtrace full | ||
+ | up | ||
+ | print *this | ||
+ | up | ||
+ | print *this | ||
+ | </pre> | ||
+ | =Using Dr Watson with Vegastrike= | ||
+ | When running Vegastrike on Windows, getting a backtrace from the Dr. Watson utility can help debug crashes. To set up Dr. Watson, we first need to change the type of log it dumps, and the location. | ||
+ | |||
+ | Launch Dr. Watson. The easiest way to do this is by opening the "Run" dialogue from the start menu and typing in | ||
+ | drwtsn32 | ||
+ | Otherwise, it should be located in ''c:\windows\system32'' | ||
+ | |||
+ | Change the location of its output somewhere convenient, and set "Crash Dump Type" to Mini (which is human-readable). Of course, "Create Crash Dump File" must be checked off, and enabling "Dump Symbol Table" and "Dump All Thread Contents" would probably be a good idea. | ||
+ | |||
+ | Then you should get a log produced when Vegastrike crashes. Please submit this with your bug report. | ||
+ | |||
+ | ===Staying updated with the development version=== | ||
+ | As development progresses the repository changes. In order to update your working copy you need to do the following. | ||
+ | * Change into the package's directory you want to update. In our example all the packages were stored in a directory called ''VegaStrike''. Let's assume we want to update the ''data4.x'' package. | ||
+ | <pre>~> cd VegaStrike | ||
+ | ~/VegaStrike> cd data4.x</pre> | ||
+ | * Update from the SVN repository. | ||
+ | <pre>~/VegaStrike/data4.x> svn update</pre> | ||
+ | * Do this for every package you want to update. Exchange ''data4.x'' with ''vegastrike'' or ''music''. | ||
+ | * If something changed in the ''data4.x'' or the ''music'' package, you don't need to recompile. | ||
+ | * If something changed in the source code package ''vegasstrike''. You only need to repeat the building part of this tutorial. | ||
+ | |||
+ | |||
+ | ---- |
Latest revision as of 22:31, 8 January 2013
If you're interested in an experimental version of Vega Strike, then SVN is what you'll be looking at.
Contents
What is SVN?
SVN stands for Subversion, a system similar to CVS. It allows developers to simultaneously work on a centralised project - in this case, that's Vega Strike.
Downloading ("checking out") and compiling the SVN-version often gives you access to features not included in the latest stable release of the program. SVN-based versions can be unstable and may not even work at all, but may hold advantages compared to stable versions.
Modules
Vega Strike's SVN repository holds several subdirectories, which can either be checked out separately or altogether. The most notable ones are included below.
- data4.x - data files of the game. This consists mainly of models, textures and backgrounds. Required to play the game.
- data5.x - FIXME Data for the upcoming version 5.
- music - music for the game. The contents of this directory should go in [datadir]/music.
- vegastrike - the game base code.
- vssetup - The GTK+ 1.2 Setup program.
- history - Discriptions of factions and species.
- vega-proj - Deprecated Visual C++ 6 projects. (See HowTo:VCPP_Compiling#Visual_C.2B.2B_6.0_.28deprecated.29 here)
- vega-vc7 - Visual Studio 7 projects. (See HowTo:VCPP_Compiling#Visual_Studio_7.x here
- vega-vc8 - Visual Studio Express 2005 projects. (See HowTo:VCPP_Compiling#Visual_C.2B.2B_8.0_.282005_Express.29 here)
- FIXME WRITEME: other modules - charserver, modtools, translations
Other modules are deprecated and are historical only:
- data - deprecated 3.x and lower data files.
- vega-new-proj - even older VC6 project - don't use.
- evilwm, ethereal, virtuanet - other projects with temporary repositories
- mission_select - Functionality also in Launcher, and also not used often.
- texturizer - If you can get it to compile, I believe it may still work.
- syseditor - If you like typing in coordinates of every planet by hand in an ugly console interface, go ahead.
→ See also: Development:CVS Tree
Linux Clients
Command-line svn
Website
Description
The linux-command `svn' is the most basic Subversion client.
Using svn for downloading vs-devel
Downloading the Vega Strike svn-modules is easy. The general syntax is
svn co [repo]/trunk/[module] [target-directory]
svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/vegastrike vegastrike
...will download the entire tree into directory `vegastrike'. In order to download single modules, a similar syntax can be used. For example, to download the data4.x-module,
svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/data4.x data4.x
...will suffice. In order to get all the files required to compile the game, checkout the following modules:
- data4.x
- vegastrike
- music (optional)
Tutorial to download, setup and run the development version
In order to run the development version of Vega Strike the executables expect to find the data and music to be in certain places relative to them. This short tutorial deals with these specifics on Linux operating systems. (It also applies for Mac OS X users.)
So, let's start.
- Create a directory where you would like your copy of the Vega Strike development version to live in. For example purposes we will create a directory called VegaStrike in our user's home-directory.
~> mkdir VegaStrike
- Change into this newly created directory. In our case:
~> cd VegaStrike
Initial downloading (check-out)
Now we can start downloading the packages from the SVN repository. If you download them directly into your Vega Strike directory they will be just in the right place.
- Download (check-out) the source code package vegastrike, the content package data4.x and the optional music package.
~/VegaStrike> svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/vegastrike ~/VegaStrike> svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/data4.x ~/VegaStrike> svn co https://svn.sourceforge.net/svnroot/vegastrike/trunk/music
This leaves you with three new directories inside your Vega Strike directory called as the packages are.
Note: If you are having problems with SVN due to connecting via a proxy, try to solve them using the method described here: http://subversion.tigris.org/faq.html#proxy
Windows Clients
Tortoise SVN
Website
http://tortoisesvn.tigris.org/
Description
Just like TortoiseCVS, Tortoise SVN lets you work with files under SVN version control directly from Windows Explorer. It's freely available under the GPL.
With TortoiseSVN you can directly check out modules, update, commit and see differences by right clicking on files and folders within Explorer. You can see the state of a file with overlays on top of the normal icons within Explorer. It even works from within the file open dialog.
Usage
- Download and Install Tortoise SVN from http://tortoisesvn.tigris.org
- Create a new folder in Windows Manager where you will download your modules (called Sandbox, SVN or similar working location name);
- Within that folder, create another folder being the name of module you wish to checkout e.g. data4.x, music, vegastrike etc;
- Right click on the folder created and select SVN Checkout. This brings up the checkout configuration screen;
- Input the URL of the repository into the dialog box, for example data4.x will be;
https://svn.sourceforge.net/svnroot/vegastrike/trunk/data4.x
- You may also use the built-in repository browser to select the module you wish to check out.
- Click OK to begin checkout of the module.
Mac OS X Clients
Command Line Client
Website
http://metissian.com/projects/macosx/subversion/
(or http://pdb.finkproject.org/pdb/search.php?summary=svn for Fink packages.)
SCPlugin
Website
Description
"The goal of the SCPlugin project is to integrate Subversion into the Mac OS X Finder. The inspiration for this project came from the TortoiseSVN project."
Usage
Must have command line client installed.
FIXME -WRITEME
Other
Compile the Vega Strike sourcecode
Building
- To build the engine, change into the source code directory vegastrike.
~/VegaStrike> cd vegastrike
- Now start with setting up and configuring the build and finally building the engine.
~/VegaStrike/vegastrike> ./bootstrap-sh ~/VegaStrike/vegastrike> ./configure ~/VegaStrike/vegastrike> make vegastrike ~/VegaStrike/vegastrike> make soundserver
You will likely receive some error messages during any of these stages, especially during the configure part. If they tell you that your system is missing some development libraries install them. How this is done depends strongly on your Linux distribution, but we will assist you in the Compiling Problems forums. You will be left with a file called "config.log" please attach that instead of copy-and-pasting thousands of lines of error messages. It's all in this file.
After you installed the missing libraries repeat the last (failed) step and continue. Finally, there will be two executables called vegastrike and soundserver.
- Compiling from SVN under Visual C++
- Compiling from SVN under Cygwin
- Compiling from SVN under Fedora Core
- Compiling from SVN under SUSE
- Compiling from SVN under UMBUNTU
- Compiling from SVN under DRAPPER
- Compiling from SVN under LFS
- Compiling from SVN under OTHER
- Debug a Vega Strike Compilation
Using GDB with Vegastrike
This page provides information on how to use GDB to help debug Vegastrike.
Debugging process
Game compilation
- First you have to configure Vegastrike with the
--enable-debug
option in addition to your others:./configure <your other parameters> --enable-debug
- Then
make
your Vegastrike binary:make
Please make sure you have enough disk space available before doing this. Compiling Vegastrike with --enable-debug
eats up a huge amount of disk space.
Run GDB
- Start
gdb
(GNU Debugger):gdb /path/to/vegastrike
- Start the game by typing this into the gdb-console:
run
- When the error occurs or it dies type
print *this backtrace full up print *this up print *this
Using Dr Watson with Vegastrike
When running Vegastrike on Windows, getting a backtrace from the Dr. Watson utility can help debug crashes. To set up Dr. Watson, we first need to change the type of log it dumps, and the location.
Launch Dr. Watson. The easiest way to do this is by opening the "Run" dialogue from the start menu and typing in
drwtsn32
Otherwise, it should be located in c:\windows\system32
Change the location of its output somewhere convenient, and set "Crash Dump Type" to Mini (which is human-readable). Of course, "Create Crash Dump File" must be checked off, and enabling "Dump Symbol Table" and "Dump All Thread Contents" would probably be a good idea.
Then you should get a log produced when Vegastrike crashes. Please submit this with your bug report.
Staying updated with the development version
As development progresses the repository changes. In order to update your working copy you need to do the following.
- Change into the package's directory you want to update. In our example all the packages were stored in a directory called VegaStrike. Let's assume we want to update the data4.x package.
~> cd VegaStrike ~/VegaStrike> cd data4.x
- Update from the SVN repository.
~/VegaStrike/data4.x> svn update
- Do this for every package you want to update. Exchange data4.x with vegastrike or music.
- If something changed in the data4.x or the music package, you don't need to recompile.
- If something changed in the source code package vegasstrike. You only need to repeat the building part of this tutorial.