Mods Repo Gear Shop JAGalaxy.com FB Page IRC Channel

Who's Online
2 registered (JMich, 1 invisible), 21 Guests and 26 Spiders online.
Key: Admin, Global Mod, Mod
Topic Options
Rate This Topic
#186601 - 28/05/2008 JA2-Stracciatella Q&A

Tron

master sgt
Registered: 07/08/2007
Posts: 296
Loc: Germany
What is the goal of JA2-Stracciatella?
The goal is to make Jagged Alliance 2 available to a wide range of platforms, improve its stability, fix bugs and provide a stable platform for mod development.

Where does JA2-Stracciatella run?
It should run on all 32bit little endian platforms, which support SDL. This includes (but is not limited to) BSDs, Linuxes and Windows on x86. A long term goal is to remove the 32bit and little endian restrictions.
There are reports of running it successfully one some hand held devices. The main development platform is FreeBSD on x86 and the provided Windows binaries are cross compiled using MinGW.

What is necessary to compile JA2-Stracciatella?
There are only few build dependencies: GCC (any other C99 compliant C and C++ compiler like ICC will probably work, too) and SDL.
On most *nix (Linuxes, BSDs, etc.) like machines, these should be available from you package manager (apt, pkg-src, portage, ports, etc.). Be sure to install the SDL development package, if it is separate from the SDL runtime.
On Windows the easiest way is to use MSYS+MinGW. Development libraries for SDL for MinGW are available, too.

Where is the source code located?
The source code is available via Subversion (short SVN) from [url=svn://tron.homeunix.org/ja2/trunk][url=svn://tron.homeunix.org/ja2/trunk][url=svn://tron.homeunix.org/ja2/trunk]svn://tron.homeunix.org/ja2/trunk[/url][/url][/url]. Please read the Subversion book, if you are not familiar with version control systems in general or Subversion in particular. Apart from the standard SVN client, TortoiseSVN seems to be a popular choice on Windows.
There are also source packages for past releases.

What are the necessary steps to compile JA2-Stracciatella?
  • Install GCC either from your package manager or use MSYS+MinGW on Windows.
  • Install SDL development libraries either from your package manager or get them from the SDL site.
  • Get the source code of JA2-Stracciatella either via SVN from [url=svn://tron.homeunix.org/ja2/trunk][url=svn://tron.homeunix.org/ja2/trunk][url=svn://tron.homeunix.org/ja2/trunk]svn://tron.homeunix.org/ja2/trunk[/url][/url][/url] or get a source package
  • Copy config.template to config.default, edit the resulting file: Uncomment ONE language, optionally uncomment some build options.
    For MSYS+MinGW uncomment the parts specific to it regarding SDL and adjust the path to SDL as necessary
  • Build it by typing make (or gmake on some platforms)
  • Start the game once, it will generate a config file .ja2/ja2.ini (or JA2/ja2.ini on Windows) in your home directory and terminate. Edit the file and adjust the path in their to point to your Jagged Alliance 2 data files.


Edited by Shanga (29/05/2008)
Edit Reason: added 2nd path to svn
_________________________
Jagged Alliance 2 - Stracciatella - Bringing JA2 to SDL and everywhere
Top
#186673 - 28/05/2008 Re: JA2-Stracciatella Q&A [Re: Tron]

maverick28
Corporal 1st class
Registered: 21/05/2008
Posts: 66
Hi Tron this is the first time I have seen this thread up, thanks for writing up - I have mysys and MinGW installed , I installed SDL and used a test file of a tutorial site and the file run so Im hoping I have installed the librarys correctly. I think I noticed info about the ini files etc in the build directory but its still good to have it here as well smile Im away to try compiling your latest revision tommrow, MAYBE today smile . (I got r2 JA2 and r13 sgp built but being an old revision that had a C project file but with a little tinkering I got it working, had to ammend the relative paths in one of the dsw or dsp files)

Anyway Im away to try the latest revision.... soon:)

Hi Tron smile I got the latest build working, I wasnt happy about the way my sdl was installed from this guide I read , there were bits all over the place, so I edited some paths in the files you mention and was quite shocked to find the game is loading up np with SDL and Mingw smile Whats the command to put in the ini to force full screen again? btw I can include my config files as an example for people to see what needs setup in them but then again my sdl libs and includes I put them in differant places , a bit of a messy structure but it works smile what the heck heres the files

FILE: CONFIG DEFAULT START
------------------------
Quote:

# NOTE: This file is ONLY intended as template config file for manual builds.
# If you are building a package (or ebuild, spell, source rpm, ...) do NOT
# modify this file, use sed or whatever. In fact do NOT use this file AT ALL.
# Just pass parameters to make. This is much simpler and way less error prone
# this way. This file is NOT intended for package building. For a package
# just use
# make LNG=$YOUR_LANGUAGE PREFIX=$YOUR_PREFIX
# as build command and maybe some more variables, though on a sane system this
# should not be necessary.

# Uncomment exactly ONE of these
#LNG := DUTCH
LNG := ENGLISH
#LNG := FRENCH
#LNG := GERMAN
#LNG := ITALIAN
#LNG := POLISH
# Russian BUKA Agonia Vlasti release
#LNG := RUSSIAN
# Russian Gold release
#LNG := RUSSIAN_GOLD

#JA2BETAVERSION := yes
#JA2TESTVERSION := yes
#JA2EDITOR := yes
#WITH_DEMO := yes
#WITH_DEMO_ADS := yes
#WITH_FIXMES := yes
#WITH_MAEMO := yes
#WITH_SOUND_DEBUG := yes

#CFLAGS += -g
#CFLAGS += -Werror

# Specify here were the Jagged Alliance 2 data files are located
#SGPDATADIR := /usr/local/share/ja2
SGPDATADIR := "C:/Program Files/Jagged Alliance 2 Gold/data" #actually just curious if this is #correct in hindsight its working but sgp is a folder in the source is it not?


# Tunables for installation. The default values are shown
#PREFIX := /usr/local
#MANPREFIX := $(PREFIX)

#INSTALL := install
#INSTALL_PROGRAM := $(INSTALL) -m 555 -s
#INSTALL_MAN := $(INSTALL) -m 444
#INSTALL_DATA := $(INSTALL) -m 444


# Below are some example variable overrides for MSys/MinGW
# If you set CFLAGS_SDL and LDFLAGS_SDL explicitly, then SDL_CONFIG is ignored

SDL_CONFIG := D:/MinGW/bin
#SDL_PATH := ../sdl-1.2.11
CFLAGS_SDL := -I D:/MinGW/include/SDL
LDFLAGS_SDL := -L D:/MinGW/lib -lmingw32 -lSDLmain -lSDL


FILE config.default END
--------------------------

FILE ja2.ini START--------------------------

#Tells ja2-stracciatella where the binary datafiles are locateddata_dir #= /some/place/where/the/data/is
located
data_dir = C:/Program Files/Jagged Alliance 2 Gold

FILE ja2.ini END----------------------------

ABOVE SHOULD BE locateddata_dir =

Thread word wrapped, also for those using mingw remember to add forward slashes even if you a referancing windows paths.

I did get lots of these warnings that was all I got though

===> CXX Build/Utils/_JA25RussianText.cc
cc1plus.exe: warning: command line option "-Wsequence-point" is valid for C/ObjC but not for C++

edit: Nice one with the steps smile just editing here rather than replying because it leaves and easy set of steps at the end for people!



Edited by maverick28 (29/05/2008)
Top
#186746 - 29/05/2008 Re: JA2-Stracciatella Q&A [Re: maverick28]

Shanga

Lt General
Registered: 12/01/2000
Posts: 8083
Loc: Danubia
How to Install SDL Under MinGW
http://www.netadelica.com/coding/sdl/install.html
Quote:


How to Install SDL Under MinGW

--------------------------------------------------------------------------------

Introduction
SDL is great and it lives here. But if you're not already a guru, it can be difficult to install, and there aren't many if any step-by-step instructions for getting it working. So, if you're struggling to install it under MinGW, this page might be helpful.

Installing SDL
These are the steps I took to get SDL 1.2.9 running, starting with MinGW and MSYS already installed, and using Windows 2000/XP.

Download and unpack SDL
On the SDL Web site, go to the download section for the current version (1.2.9 at the moment).
You're given a choice of Source Code, Runtime Libraries, or Development Libraries. Assuming you want to write programs that use SDL, and you just want to get up and running without being bothered compiling the source code yourself, you need the Development Libraries bit of the page.
You're installing it under MinGW, so download SDL-devel-1.2.9-mingw32.tar.gz (assuming 1.2.9 is the current version).
Unzip and unpack that file into a temporary directory on your PC. You can delete the directory when you've finished installing. Let's assume you've unpacked the file into /temp/. You'll need something that can handle .gz and .tar, but that's probably in MinGW/MSYS already. Personally I use WinNavigator which deals with them nicely.
Install SDL files for the compiler
Find your MinGW directory, the one with the bin, doc, include and lib directories in it. Let's assume it's /mingw/
Create a new directory to put the SDL header files in: /mingw/include/SDL/
Copy all files (30 of them in SDL 1.2.9) in /temp/SDL-1.2.9/include/ to this new directory.

Copy all files (4 of them in SDL 1.2.9) in /temp/SDL-1.2.9/lib/ to /mingw/lib/
Find your MSYS directory, the one with the bin, doc, etc, and home directories in it. Let's assume it's /msys/
Copy the file /temp/SDL-1.2.9/bin/sdl-config to /msys/bin/sdl-config I chose /msys/bin/ because you can be sure that anything in there will always get executed regardless of which directory you're currently in. When you compile an SDL program you need to execute the file sdl-config on the compilation line (more below).
Copy the SDL DLL and tidy up
Copy the file /temp/SDL-1.2.9/bin/SDL.dll to c:/WINNT/system32/. As that directory will be in your PATH, it ensures that any SDL program you write will find the DLL and you can keep just one copy on your disk. If your Windows drive is something other than c: then change accordingly.
Delete /temp/SDL-1.2.9/
You should now have a working SDL installation and you can write some code.



Your First SDL program
Quote:

Here's a small program to get started and to test everything's working.

#include <stdio.h>
#include "SDL/SDL.h"
// include the SDL headers you put in /mingw/include/SDL/

int main(int argc, char *argv[]) {
// with SDL, you need the argc and argv parameters

printf("Hello world\n");
// with SDL, anything you printf will get printed to the
// file stdout.txt in the current directory, not to the screen
}

How to Compile an SDL program
To compile an SDL program, use this:

gcc filename.c `sdl-config --cflags --libs`

Note that you use backticks (SHIFT + ~), not normal apostrophes. The file sdl-config will get executed (which is why you copied it to /msys/bin/ so that you can be sure that it will get executed) and will pass its output to gcc, in a sort of magical ritual that I don't understand.


After you tested the SDL install and everything works fine (you can compile hello world), edit your own paths in config.default, as maverick says above:

Quote:

SDL_CONFIG := D:/MinGW/bin
#SDL_PATH := ../sdl-1.2.11
CFLAGS_SDL := -I D:/MinGW/include/SDL
LDFLAGS_SDL := -L D:/MinGW/lib -lmingw32 -lSDLmain -lSDL


Edited by Shanga (29/05/2008)
_________________________
Just wanted again to step by and say thanks. That is so infuckingcredible. awefuckingsome. Unbeshitliveable. (JAFTeam)
Top
#186750 - 29/05/2008 Re: JA2-Stracciatella Q&A [Re: Shanga]

Shanga

Lt General
Registered: 12/01/2000
Posts: 8083
Loc: Danubia
Posting the final steps, for conformity:

Now that you've installed everything (MinGW, MSYS, SDL and Tortoise), do this:

1. make a /ja2source folder in your c:/msys/1.0/home/(Username)
2. rclick on /ja2source and select SVN Checkout (put [url=svn://tron.homeunix.org/ja2/trunk][url=svn://tron.homeunix.org/ja2/trunk][url=svn://tron.homeunix.org/ja2/trunk]svn://tron.homeunix.org/ja2/trunk[/url][/url][/url] in the dialogue window next)
3. wait till full source is downloaded, then fire up MSYS (from the included .bat)
4. in MSYS , type "ls -all" and check to see if it lists your /ja2source (just to double check)
5. in MSYS, type "cd ja2source" then "make"
6. let it compile and go drink a cuppa
7. by the time you come back, if you followed all the steps above (I only hope you dont use Vista) you should get a message that everything compiled and no "error" message
8. check /ja2source for a ja2.exe file...that's your compiled program

---
Now, check My Documents on your desktop. You should have a JA2 folder, with a JA2.ini in it
edit the path to your JA2 installation (C:/Program Files/JA2 or whatever) and then leave it alone.

Replace the default JA2.exe with the new ja2.exe and enjoy JA2 Straciatella.


Edited by Shanga (29/05/2008)
_________________________
Just wanted again to step by and say thanks. That is so infuckingcredible. awefuckingsome. Unbeshitliveable. (JAFTeam)
Top
#186771 - 29/05/2008 Re: JA2-Stracciatella Q&A [Re: Shanga]

Tron

master sgt
Registered: 07/08/2007
Posts: 296
Loc: Germany
Setting SDL_CONFIG and CFLAGS_SDL/LDFLAGS_SDL does not make sense. The latter two overrule the former.
Also the value you used for SDL_CONFIG is wrong. It must be the path to the program sdl-config, but you set it to some random directory.
Further, if using sdl-config just works (which according to your description does) do not use these variables at all. These variables should only be used, if sdl-config cannot be found (SDL_CONFIG) or does not work/exist (CFLAGS_SDL/LDFLAGS_SDL).
_________________________
Jagged Alliance 2 - Stracciatella - Bringing JA2 to SDL and everywhere
Top
#186788 - 29/05/2008 Re: JA2-Stracciatella Q&A [Re: Tron]

maverick28
Corporal 1st class
Registered: 21/05/2008
Posts: 66
D:/MinGW/bin is where my sdl-config is

as per the guide I followed, I will try taking the cflags out but the last time I did that it failed.

actually I will firstly leave everything as is, change my sdl-config line to the default test, if that works I will remove the cflags lines


Edited by maverick28 (29/05/2008)
Top
#186789 - 29/05/2008 Re: JA2-Stracciatella Q&A [Re: maverick28]

Tron

master sgt
Registered: 07/08/2007
Posts: 296
Loc: Germany
Originally Posted By: maverick28
D:/MinGW/bin is where my sdl-config is

SDL_CONFIG shall contain the path to sdl-config, not the path to the directory where sdl-config is.
Ideally (and this is the default value of the variable) this simply is sdl-config, when the program is in PATH. Otherwise you should set it to a relative or absolute path to sdl-config, in your case probably D:/MinGW/bin/sdl-config.
_________________________
Jagged Alliance 2 - Stracciatella - Bringing JA2 to SDL and everywhere
Top
#186791 - 29/05/2008 Re: JA2-Stracciatella Q&A [Re: maverick28]

maverick28
Corporal 1st class
Registered: 21/05/2008
Posts: 66
BTW D:/MinGW/bin is not some random director its where I put sdl config which is the bin directory in Mingw so it should be in its path and able to be executed from anywhere, msys is on my c drive

TEST 1 :

SGPDATADIR := "C:/Program Files/Jagged Alliance 2 Gold/data"


# Tunables for installation. The default values are shown
#PREFIX := /usr/local
#MANPREFIX := $(PREFIX)

#INSTALL := install
#INSTALL_PROGRAM := $(INSTALL) -m 555 -s
#INSTALL_MAN := $(INSTALL) -m 444
#INSTALL_DATA := $(INSTALL) -m 444


# Below are some example variable overrides for MSys/MinGW
# If you set CFLAGS_SDL and LDFLAGS_SDL explicitly, then SDL_CONFIG is ignored

SDL_CONFIG := D:/MinGW/bin/sdl-config
#SDL_PATH := ../sdl-1.2.11
#CFLAGS_SDL := -I D:/MinGW/include/SDL
#LDFLAGS_SDL := -L D:/MinGW/lib -lmingw32 -lSDLmain -lSDL


TEST 1 END FAIL---------------------------------------------

TEST 2 :

SGPDATADIR := "C:/Program Files/Jagged Alliance 2 Gold/data"


# Tunables for installation. The default values are shown
#PREFIX := /usr/local
#MANPREFIX := $(PREFIX)

#INSTALL := install
#INSTALL_PROGRAM := $(INSTALL) -m 555 -s
#INSTALL_MAN := $(INSTALL) -m 444
#INSTALL_DATA := $(INSTALL) -m 444


# Below are some example variable overrides for MSys/MinGW
# If you set CFLAGS_SDL and LDFLAGS_SDL explicitly, then SDL_CONFIG is ignored

SDL_CONFIG := sdl-config
#SDL_PATH := ../sdl-1.2.11
#CFLAGS_SDL := -I D:/MinGW/include/SDL
#LDFLAGS_SDL := -L D:/MinGW/lib -lmingw32 -lSDLmain -lSDL


TEST 2 END FAIL---------------------------------------------

Im going to edit this post, no doubt you are right again tron but I geniunly was getting errors initially until I altered certain things in the text file also I believe shanga has got his build working as well now. btw good port! I think I see what your getting at in respect if my sdk-config is working I shouldnt need the other 2 Im going to try some things bear with me

Test 3:
#SGPDATADIR := /usr/local/share/ja2
SGPDATADIR := "C:/Program Files/Jagged Alliance 2 Gold/data"


# Tunables for installation. The default values are shown
#PREFIX := /usr/local
#MANPREFIX := $(PREFIX)

#INSTALL := install
#INSTALL_PROGRAM := $(INSTALL) -m 555 -s
#INSTALL_MAN := $(INSTALL) -m 444
#INSTALL_DATA := $(INSTALL) -m 444


# Below are some example variable overrides for MSys/MinGW
# If you set CFLAGS_SDL and LDFLAGS_SDL explicitly, then SDL_CONFIG is ignored

SDL_CONFIG := D:/MinGW/bin
#SDL_PATH := ../sdl-1.2.11
#CFLAGS_SDL := -I D:/MinGW/include/SDL
#LDFLAGS_SDL := -L D:/MinGW/lib -lmingw32 -lSDLmain -lSDL

Test 3 END FAIL-----------------------------------------------

Should it work with only sdl-config set to in my case D:/MinGW/bin/sdl-config ? I have had the game working perfectly but Im wandering why it isnt working the way tron reccomends? My sdl.dll and sdl-config are in D:/MinGW/bin

My sdl include files are in D:/MinGW/include/SDL
my lib files are in L D:/MinGW/lib -lmingw32 -lSDLmain -lSDL

Also shanga if you have a file conforming to the way tron reccomends could you show me it if possible? Its just considering the guy did the port he is going to know the best way, do I need to put in sdl path in my case , if I do what is that to be the path to my sdl.dll?



Edited by maverick28 (29/05/2008)
Top
#186792 - 29/05/2008 Re: JA2-Stracciatella Q&A [Re: maverick28]

Tron

master sgt
Registered: 07/08/2007
Posts: 296
Loc: Germany
Originally Posted By: maverick28
BTW D:/MinGW/bin is not some random director its where I put sdl config which is the bin directory in Mingw so it should be in its path and able to be executed from anywhere, msys is on my c drive

Again: path to sdl-config, NOT path to the directory where sdl-config is.
_________________________
Jagged Alliance 2 - Stracciatella - Bringing JA2 to SDL and everywhere
Top
#186793 - 29/05/2008 Re: JA2-Stracciatella Q&A [Re: Tron]

maverick28
Corporal 1st class
Registered: 21/05/2008
Posts: 66
so like this D:/MinGW/bin/sdl-config ? Thats the path to where sdl-config is on my system , like I said theres nothing random about the directory :-)

edit in fact just changed the line to D:/MinGW/bin/sdl-config and it fails

Im going to work with it though and get it working as you suggest smile , I think I just mis-understood you because I was under the impression you were think I was just choosing any old directory arbitarily with no ryme nor reason. Leave it with me though and I will try and get my config file tweaked as you suggest


Edited by maverick28 (29/05/2008)
Top
#186795 - 29/05/2008 Re: JA2-Stracciatella Q&A [Re: maverick28]

Shanga

Lt General
Registered: 12/01/2000
Posts: 8083
Loc: Danubia
Wierd, now I heard from my Linux admin that he mananaged to compile without MSYS at all and only placing the proper path to SDL.dll...

I guess there are some many ways to skin a cat... Glad I got the exe to build at least.


Edited by Shanga (29/05/2008)
_________________________
Just wanted again to step by and say thanks. That is so infuckingcredible. awefuckingsome. Unbeshitliveable. (JAFTeam)
Top
#186797 - 29/05/2008 Re: JA2-Stracciatella Q&A [Re: Shanga]

maverick28
Corporal 1st class
Registered: 21/05/2008
Posts: 66
could you show me your config shanga if poss smile just want to get this right its just if its not working the way tron wants then Im worried my enviroment is set up in a non standard way , sorry about this folks! Its been a while since Ive done any of this

BTW shanga a thing to test because if it was already built , prior to altering the path to sdl.dll then everythings already linked so it would have worked, try it in a fresh build directory with those settings you have


Edited by maverick28 (29/05/2008)
Top
#186801 - 29/05/2008 Re: JA2-Stracciatella Q&A [Re: maverick28]

Shanga

Lt General
Registered: 12/01/2000
Posts: 8083
Loc: Danubia
It's on my home PC, cannot get it now, but it's basically yours, with C: instead of D: to paths
I followed the guide I've posted in the other thread, which basically makes you move the SDL dev files and place them in various place inside MinGW and MSYS. Guess the guide allows you to install SDL in such a way that it's in a system path so any refference to it is relevant and you can place the source anywhere.


Here's the config my Linux admin used and managed to get ja2 compiled with mingw32-make.exe from cmd prompt (without msys)

1. Put ja2 source into C:\ja2source
2. Put untarred sdl dev in C:\SDL-1.2.13
3. edited config.default to

#SDL_CONFIG := sdl-config
SDL_PATH := ..\SDL-1.2.13 (notice the DOS \ backslash)
CFLAGS_SDL := -I $(SDL_PATH)\include\SDL <== added \SDL
LDFLAGS_SDL := -L $(SDL_PATH)\lib -lmingw32 -lSDLmain -lSDL


Edited by Shanga (29/05/2008)
_________________________
Just wanted again to step by and say thanks. That is so infuckingcredible. awefuckingsome. Unbeshitliveable. (JAFTeam)
Top
#186802 - 29/05/2008 Re: JA2-Stracciatella Q&A [Re: Shanga]

maverick28
Corporal 1st class
Registered: 21/05/2008
Posts: 66
See I can get it working fine this way

CFLAGS_SDL := -I $(SDL_PATH)\include\SDL <== added \SDL
LDFLAGS_SDL := -L $(SDL_PATH)\lib -lmingw32 -lSDLmain -lSDL

but Im trying to do it like tron said with using sdl-config and I cant

Top
#186803 - 29/05/2008 Re: JA2-Stracciatella Q&A [Re: maverick28]

maverick28
Corporal 1st class
Registered: 21/05/2008
Posts: 66
i.e only

SDL_CONFIG := D:\MinGW\bin\sdl-config or just sdl-config tried both also tried / and \ paths
SDL_PATH := D:\MinGW\bin

have also tried just sdl-config . its the sdl include files that are not getting found from sdl/include when I try to ddo it the sdl config way choosing one option over another. In the case where you specify the include and lib files and not sdl config it works as tron highlights but if you got the route of using sdl-config in place of specifying the library paths/include paths it doesnt work , Im just out of curiosity and learning wanting to know how to set it up the sdl-config way , its no biggie but would be good to know smile I figured tron or yourself or someone here could set me straight as to if Im thinking about it the wrong way?

could you give me the absolute paths to your sdl config? as Im wanting to see ive located that in the correct place, its in D:\MinGW\bin\sdl-config because it seems like sdl-config is unecessary? Im just wandering how its possible to use that instead of setting cflags, ldflags



ahh sorry about the double post

EDIT: Ive got it working a much easier way for newbies and with sdl-config only, unfortunatly this way of doing it is neglected to be mentioned in any of the guides I have read , just worked this one out myself heres my file now

SDL_CONFIG := sdl-config
#SDL_PATH := C:\msys\1.0\home\Dave\workhorse\tron\downloads\SDL-devel-1.2.13-mingw32\SDL-1.2.13
#CFLAGS_SDL := -I D:/MinGW/include/SDL
#LDFLAGS_SDL := -L D:/MinGW/lib -lmingw32 -lSDLmain -lSDL
#see how SDL_PATH, CFLAGS_SDL and LDFLAGS_SDL are commented out? but it works with just one line?
#seems a safer way because minimum changes are required it all works though smile but
#really wanted to learn about sdl-config since I kinda thought it seemed a good way to do it
#once I started googling about it

So lets say we download the sdl source code, plonk it in any directory we feel like in my case

D:/MinGW/SDL-devel-1.2.13-mingw32/SDL-1.2.13

so lets look in sdl-config, you will find a line that says

prefix=/Users/hercules/tmp/SDL-1.2.13

Ok so comment out this line
#prefix=/Users/hercules/tmp/SDL-1.2.13
#and add the below line
prefix=D:/MinGW/SDL-devel-1.2.13-mingw32/SDL-1.2.13
#replace D:/MinGW/SDL-devel-1.2.13-mingw32/SDL-1.2.13 in the above ^ line with whatever is the path #to the parent
#folder of the sdl bin and lib files which are all in the one sdl folder when you downloaded the #source code

#Seems a more sane way to me Im not sure whether I was able to omit the path variable because of #where I put my sdl.dll file? Not sure if thats relevant or not
#also make sure sdl-config is in your path i.e in one of your system bin folders, you should be
#able to type sdl-config and get usage flags if that doesnt happen its not in your path, in my case
# its in D:\MinGW\bin


Edited by maverick28 (29/05/2008)
Top
#190033 - 03/07/2008 Re: JA2-Stracciatella Q&A [Re: Tron]

Erpe
private 1st class
Registered: 30/06/2008
Posts: 13
Loc: Austria
Hi Guys!

I setup a git-repository which stays mostly in sync with the svn sources.
I have also greated a branch which uses cmake as build system, instead of the handwritten Makefile.

To view the current changes of the repo you can use this url with your browser:
http://oldsch00l.com:1234

to checkout the git repo, get git and issue the following command:

after that you will have the current master branch in the ja2-stracciatella directory.

if you want the cmake branch use these commands:
cd ja2-stracciatella
git-checkout -b cmake origin/cmake

cmake branch is gone, there is now a dynResolution branch, which contains following features:
cmake buildsystem, commandline choosing of the resolution(640x480 with bugs, 800x600 from Mythrell).

to use cmake as build system(after you checked out the cmake branch):
(in the ja2-stracciatella directory)
Quote:
mkdir release
cd release
cmake ../.
make or make -j2 (if you have a multicore system)



the cmake file is currently only tested on linux(kubuntu)



Edited by Erpe (24/11/2008)
Top
#190490 - 11/07/2008 Re: JA2-Stracciatella Q&A [Re: Erpe]

Doolan
corporal
Registered: 18/07/2006
Posts: 31
Yet another silly question from yours truly: what about Stracciatella + Wildfire? Would the datafiles from WF work directly?

I guess not, but it was worth asking... I don't see it in the FAQ, and I don't know how different the JA2 and WF .exes are.
Top
#190523 - 11/07/2008 Re: JA2-Stracciatella Q&A [Re: Doolan]

Mythrell
Corporal 1st class
Registered: 31/05/2008
Posts: 92
Loc: Mikkeli, Finland
To my knowledge WF has many code changes, datafiles could work but all you would get from it is updated menu graphics etc. Of course, it might cause many new issues.

I did try running Stracciatella with v1.13 datafiles and it did seem to work mostly well, you'll get upgraded gun icons etc but ofc, it's another graphics / sounds only fix.
_________________________
If I made it, it's going to have bugs
Top
#190527 - 11/07/2008 Re: JA2-Stracciatella Q&A [Re: Mythrell]

Khor1255
Brigadier General
Registered: 25/08/2003
Posts: 6176
Loc: Pleasantville, NJ
No way to make the externalizations (xml files) compatible? I heard mention of externalizations for this project. Could anything possibly be learned (or better yet ported over) from the 1.13?

The externalizations made for the most interesting aspects of the 1.13 and would be a great addition to this project. The more things you externalize the more interesting it becomes for modders, once you reach 'critical mass' so to speak there will be a lot of people wanting to use this as a platform especially since the 1.13 has become a convoluted mess for mod makers.
_________________________
Dan Watson
Top
#190530 - 11/07/2008 Re: JA2-Stracciatella Q&A [Re: Khor1255]

Doolan
corporal
Registered: 18/07/2006
Posts: 31
I agree with Khor there.

As far as features go, 1.13 is king, but Stracciatella offers streamlined, multi-platform and straightforward code.

When it manages to implement features from the other flavors (1.13, WF, UB and the various campaigns) it will become the best option by far.

It has the reliability, the performance and the widest support for platforms. Make it easy to customize and you have a winner in my book.


Top
#190671 - 14/07/2008 Re: JA2-Stracciatella Q&A [Re: Doolan]

Tron

master sgt
Registered: 07/08/2007
Posts: 296
Loc: Germany
Originally Posted By: Doolan
what about Stracciatella + Wildfire? Would the datafiles from WF work directly?

I do not know, whether JA2-Stracciatella works with the Wildfire data files, but I suspect, it doesn't.

Originally Posted By: Khor1255
No way to make the externalizations (xml files) compatible? I heard mention of externalizations for this project. Could anything possibly be learned (or better yet ported over) from the 1.13?

Judging from what I have seen, the XML files from 1.13 provide little to no abstraction. For example you have to use item numbers instead of their names. So to make this usable you need to use another tool on top of that. In my opinion this is not the way to go.
_________________________
Jagged Alliance 2 - Stracciatella - Bringing JA2 to SDL and everywhere
Top
#190678 - 14/07/2008 Re: JA2-Stracciatella Q&A [Re: Tron]

Khor1255
Brigadier General
Registered: 25/08/2003
Posts: 6176
Loc: Pleasantville, NJ
I thought maybe looking at the way it was done there might give you ideas or (I didn't actually think it was going to be possible but would have saved a lot of time had it been) you would find a way to just port that system over to your project. It sounds like you have a whole different idea for how you want to do it.

As for items referenced by name instead of number that seems to be the way most coders want to do it these days but I wonder what is so bad about the way the game originally did it (i.e. referencing by number) at least for the main items xml? I agree that dependent xmls would be much better referenced by name so that modders could find them easily. The item numbers may look a little restricting at first glance but consider the fact that were items referenced by name you could no longer have two identically named items behave in a different manner.

For instance, for my project I needed a workaround for the fact that weapon reliability (and even ammo deficiencies) are not addressed in the current system. To add these factors into my mod I created several identically named items which use different stats. So you may find a version of a rifle that has very crappy preformance compared to another you might find with much better preformance due either to wide variances in production values or even age of the weapon. There are sometimes slight hints in the description to let you know what is going on but in the case of ammo there currently is not. Some badly produced ammo behaves differently than standard.

I can see the possibility that other modders might want to use this trick. For all I know someone already has.

Anyway if you go by names for the main items xml you remove this possibility.

Not the end of the world but something you might want to think about. As it currently stands, I know this design feature may be misunderstood and frustrating and could very likely be abandoned once my mod even reaches the beta stage but it is a concept i am quite fond of for items mods since you often cannot see exactly what an item is just by looking at it. The possibilities are huge for identically named items and more modding possibilities are always a good thing.

But again, using names of the dependent xmls in the ubIndex in stead of nebulous numbers is a great idea. Using item names instead of numbers when referencing a sub directory or even within the subdirectory I also think is a huge time saver and a great idea.

I'm glad you seem to be serious about externalizations. The more of these you do the more useful your overall project will be for modders.



EDIT

I've been meaning to ask, is a compiler needed to use this mod? I am not familliar with some of the terms you used in your description of how to get this thing to run. I apologize for the ignorance but I do want to test this as soon as I get some free time.


Edited by Khor1255 (14/07/2008)
Edit Reason: compiler?
_________________________
Dan Watson
Top
#190704 - 14/07/2008 Re: JA2-Stracciatella Q&A [Re: Khor1255]

Tron

master sgt
Registered: 07/08/2007
Posts: 296
Loc: Germany
Originally Posted By: Khor1255
As for items referenced by name instead of number that seems to be the way most coders want to do it these days but I wonder what is so bad about the way the game originally did it (i.e. referencing by number) at least for the main items xml? I agree that dependent xmls would be much better referenced by name so that modders could find them easily. The item numbers may look a little restricting at first glance but consider the fact that were items referenced by name you could no longer have two identically named items behave in a different manner.

What do you mean by "these days"? Symbolic names weren't invented yesterday. In fact the game already uses symbolic names internally. The Glock 17 is not just item index 1, but its internal name is GLOCK_17. What is bad about numbers? It is hard to identify an item without having an extra table at hand. Also because the space of available values is used much more sparsely, confusing items is less likely: It's much harder to confuse "GLOCK_17" and "MAC10" than dropping the 0 from the number 10, which is the index for the MAC10.

Quote:
For instance, for my project I needed a workaround for the fact that weapon reliability (and even ammo deficiencies) are not addressed in the current system. To add these factors into my mod I created several identically named items which use different stats. So you may find a version of a rifle that has very crappy preformance compared to another you might find with much better preformance due either to wide variances in production values or even age of the weapon. There are sometimes slight hints in the description to let you know what is going on but in the case of ammo there currently is not. Some badly produced ammo behaves differently than standard.

You assume that the item name and the name displayed are identical. Alone for translation this is not the case. the item name and the displayed name are two entirely different entities. You could have a GLOCK_17_SCRUFFY, GLOCK_17 and GLOCK_17_ÜBER, which all show up as "Glock 17" in the game.

Quote:
I've been meaning to ask, is a compiler needed to use this mod? I am not familliar with some of the terms you used in your description of how to get this thing to run. I apologize for the ignorance but I do want to test this as soon as I get some free time.

If you want to compile from source code, you of course need a compiler. Judging from your question, this is not what you want to do. For Windows I provide binaries readily available on the download page.
_________________________
Jagged Alliance 2 - Stracciatella - Bringing JA2 to SDL and everywhere
Top
#190735 - 14/07/2008 Re: JA2-Stracciatella Q&A [Re: Tron]

Khor1255
Brigadier General
Registered: 25/08/2003
Posts: 6176
Loc: Pleasantville, NJ
If you could have identically named items behave differently in game under this system then - of course - I think that is a better way to go. It actually makes my mod idea easier to work with.

Thanx for clearing that up.

It sounds as if I don't need any other tools than what I have to get Stracciatella to run? Very cool. I will post my impressions of it once I get a chance (most likely a month from now).
_________________________
Dan Watson
Top
#240035 - 14/12/2009 Re: JA2-Stracciatella Q&A [Re: Shanga]

Centurion
PERMA BAN
sgt 1st class
Registered: 17/04/2009
Posts: 241
Loc: E.U.


I WANT TO COMPILE THIS IN A WAY THAT IT'S CONTAINED IN C:\Program files\JA2 AND DOESN'T MESS WITH my documents


TEACH ME HOW


Edited by Centurion (05/04/2010)
Top
#240059 - 14/12/2009 Re: JA2-Stracciatella Q&A [Re: Centurion]

The_Bob
master sgt
Registered: 27/05/2009
Posts: 378
Loc: Behind you.
Are you using msys ? I suggest you edit the /etc/fstab file to add SDL and mingw to convenient mount points (as illustrated here) so you don't mix dos and unix slashes and backslashes when you build.

mingw32-make goes into the mingw directory tree, as do other things like gdb.
Top
#253051 - 04/06/2010 Re: JA2-Stracciatella Q&A [Re: The_Bob]

ronsen
Civilian
Registered: 04/06/2010
Posts: 3
hi,

could someone tell me the meaning of this:

#JA2BETAVERSION := yes
#JA2TESTVERSION := yes
#JA2EDITOR := yes
#WITH_DEMO := yes
#WITH_DEMO_ADS := yes
#WITH_FIXMES := yes
#WITH_MAEMO := yes
#WITH_SOUND_DEBUG := yes

i would like to compile a demo-binary (which works with the offical ja2 demo)

WITH_DEMO := yes
WITH_DEMO_ADS := yes

do i need to activate both?

Update:
I figured out by myself whats the "WITH_DEMO_ADS" is good for. Thanks a lot!


Edited by ronsen (07/06/2010)
Top
#253367 - 08/06/2010 Re: JA2-Stracciatella Q&A [Re: ronsen]

LovingWolf
private
Registered: 28/05/2010
Posts: 6
Loc: Russia
Is it possible to mix Stracciatella with non-vanilla maps? I tried with Data-WildFire6.06 maps (only) but nothing happened - game still loads vanilla maps.
Top
#254325 - 19/06/2010 Re: JA2-Stracciatella Q&A [Re: LovingWolf]

virus_found
corporal
Registered: 20/02/2008
Posts: 25
Loc: Moscow
I'm sorry for such a question, I haven't been able to find it in FAQs: is it possible to "land" 1.13 mod onto JA2-Stracciatella (or merge them)?
I've played 1.13 and really enjoyed it, for it enhances gameplay greatly. And now I just can't conceive playing JA2 without some of its features.
1.13 and JA2-Stracciatella are very similar to two Transport Tycoon Deluxe major projects: TTDPatch (closed source, win32 only) and OpenTTD (open source, cross-platform). TTDPatch started first, very quickly it became a favourite among fans. TTDP provided a lot of really great innovative features, that OTTD lacked. But now TTDP faints slowly (that's just my opinion), for it's rival receives lots of fan patches (from *nix users as well, obviously) and just receives more love due to it's versatility.
My point here is that cross-platform projects win, they are best suited for long-term plans. So, everybody would benefit from such a "merge" (if it's possible).
I'm sorry, if I'm telling nonsence, for I haven't even played Stracciatella.
Top
#254434 - 21/06/2010 Re: JA2-Stracciatella Q&A [Re: virus_found]

Kaerar
Drifter
Brigadier General
Registered: 13/01/2003
Posts: 6580
Loc: Australia :D
Stracciatella is basically a totally clean JA2 version. It has it's own bugs but they are few and far between now, so you can think of it as currently the cleaned version of Vanilla without any addons/mods from 1.13.

To make 1.13 compatible would be a mammoth task to the point it's probably going to cause more problems than features it adds. Not saying it can't be done, but it certainly is a lot of work. Maybe you'd like to keep an eye on the SMP project of which one of the aims is to make the JA2 engine more modularised and up to date smile
_________________________
It is a mistake to think you can solve any major problems just with potatoes.
-Douglas Adams
Top
#327813 - 09/11/2013 Re: JA2-Stracciatella Q&A [Re: Kaerar]

niculinux
Corporal 1st class
Registered: 20/01/2012
Posts: 99
Loc: Italy
Originally Posted By: Kaerar
[...]

To make 1.13 compatible would be a mammoth task to the point it's probably going to cause more problems than features it adds. Not saying it can't be done, but it certainly is a lot of work. Maybe you'd like to keep an eye on the SMP project of which one of the aims is to make the JA2 engine more modularised and up to date smile


So probably let's forgot a 1.13 stable relase on linux, cry cry cry
Top
#329809 - 17/01/2014 Re: JA2-Stracciatella Q&A [Re: Tron]

Jakub
private 1st class
Registered: 08/01/2014
Posts: 23
But we need stable 1.13 Wild fire mod for Linux too ... In Current situation am use Wine 1.4 & play on Linux to my Jagged Alliance 2 1.5 PL ( mixed with some orther mods & wersions of 1.13 betas . )
Top

Moderator:  mgl, Off_Topic, Tron 

Forum Stats
11519 Members
88 Forums
7628 Topics
137649 Posts

Max Online: 345 @ 01/05/2012
Copyright 2000-2013 Bear's Pit