|First Compilation of TA3D Page
|This will hold a links menu.
SourceCode Of Ta3d
Tools for Ta & Ta3d
Videos of Ta3d
Contact me with comments or questions about the site
I can also be reached Here in general
The first things I did was download Mingw & Msys.
Mingw Be sure to goto Sourceforge and get Msys as well.
After some experimenting I found that it is easiest to grab the Mingw installer and do a quick install.
Nice but leaves you with no shell to use.
This is why alot of people use cygwin, however cygwin uses a linux shell layer and not true win32, Hence I use msys.
The next thing to do is put Msys in the root of the mingw install and extract it there. It will put a few files into bin and a couple of other directories, thats fine.
Now here is where I save you a bunch of hassle.
rename make.exe to make.xex and copy mingw32-make.exe to make.exe
The mingw make is NOT! the same as cygwin or any other make.
The base install is here with Msys already in place uninitialzed. When you click on msys.bat it will read the profile info for your login to windows, create a profile for you and lanch it.
Lanch mingw then exit it. This creates the Home directory with your profile directory under it.
Copy the ta3d archive into this directory and extract in place.
This creates a ta3d directory with the game and sourcecode in it.
Relaunch mingw and goto the ta3d directory by typeing cd ta3d and type ./configure
This configures the makefiles Etc and checks to see that you have everything you need to compile the program.
This will fail with an Fmodex error
Next you will need FMODex. Just grab archive here, I made this from what the installer puts in, it's just easier than installing it and hunting the stuff you need down. At this point you either mod a bunch of config files or extract the files here and copy them this way.
From the api directory copy the dll files the the \bin directory under mingw. c:\mingw\bin
From the inc directory under api copy those files to \include under mingw. c:\mingw\include
From the lib directory under api copy the *.a files to \lib under mingw. c:\mingw\lib
There is also a plugin directory that I don't know if will be needed yet.
When you retry to compile ta3d you should now get an fmodex yes
Now comes the hard part - Allegro.
First let me say that although Allegro may be a wonderful timesaver programming wise it is a stone cold B*tch when it comes to compiling and installing under win32.
The first among many trials is the need to set an extra enviornment variable. Without this you are wasting your time.
The directions are there for all of this but they take more than one read through.
open the msys.bat file and after line thirteen which should be after the start is msys comamns add the follwing line.
set MINGDIR=C:\MinGW ; Assuming that you installed Mingw there. Point it to wherever you installed.
This tells the sourcecode of allegro where to find mingw. On linux I guess it just knows.
Now here is where I wander a little from what I have been able find as the norm. Instead of putting the the Allegro directory under my profile I instead made a directory off of the Mingw root.
\packages --- c:\mingw\packages
Then put Allegro under that.
\packages\allegro --- c:\mingw\packages\allegro
Now here is a lesson for thoses of us who work mostly in Win32. Mingw like Cygwin & most of Linux / Unix Has is case sensitive for commands. That means that 'Case Sensitive', 'case sensitive' and 'CASE SENSITIVE' are three seperate observations .(read complaints if you are looking at it from my point of view.)
Another little quirk is that typo Linux people insist on putting in front of everything the ./ that you find everywhere. That is not a typo, it is a part of the command. The shell for Mingw, Cygwin and I think Linux / Unix will only execute a command that is located on the path, it has no local file execute function. The ./ is a pointer to look in the local directory as a bypass to execute a local file. Takes some getting used to. I am very used to the 'If I can see it I can run it' rule from win32.
To me, the person coming from Win32 and Pascal and Basic I find this silly. I also find most Visual languages including Lazuras (Delphi Clone) silly as well. (I mostly use TurboVision or the freepascal clone). The whole encapulate and wait for a message thing drives me nuts, Makes the odds of getting of understanding C++ stink but it's not impossible.
So be sure to always check your CASE and pointer ./ when checking your spellinG as a missed Case can cause a bad CAse of missing things even when they really are there. In any CaSe, Just remember that computers do exactly what you tell them to do, not what you meant for them to do.
cd .. (Should be /home/profile - Use pwd to check directory , Don;t use ./ as this command is in the /bin directory in the executables path, Use set if you want to see the enviornement variables. - pwd = Print working directory)
cd .. (Should be /home - Use pwd again if need be)
cd .. (Should be / - Use pwd again)(The / is root of the install)
Make sure you are in the allegro directory and
./configure - Thid time use the ./ as it is a local command.
Then wait, And wait, And try to read the gibberish scrolling by, Get a cup of coffe if dark, A soda if light And tea if dawn or dusk. Now for an extra choice bit of fun.
What this does is finalize the setup to build on the freako setup of win32. Don't ask me why, I just compile here.
Now just type out make. (Yes I mean make not MAKE or Make as this is more of that casE sesitivity.).
Looks great doesn't it, Oops, Looks like maybe we should haave poured over those directions a little more.
Turns out there is a great document called mingw32.txt in /docs/build and it says we need also need the following.
Now here is more fun, making is building. When you use the make command it tries to build the project from peices.
It uses the make files made by the ./configure command. I will later write a tutorial on how to make ./configure files if and when I figure it out.
Anyway we need the Directx Sdk for mingw. Grab dx70_mgw.zip and place it in your Mingw root and extract in place. It adds a bunch files to include and lib. (yes I miss Caps for Emphasis to.)
Replace the files it wants to and retry the make. After a while and another drink you get sucess.
Great now read ther screen and do a make install.
Yea, Optimized library installed. Now run along back to the ta3d directory. (The necessary lack of caps sure makes this hard to skim doesn't it?) and redo the
Yea it's gibberishing. WHAT? What do you mean allegro_config is missing? I just saw it say that it was created, what the problem? This is not professional at all. Guess what, this is not a professional thing at all. This is all free software, That means that it cost you othing and you are benefitting from other peoples volunteered time and effort. If you don't like the way you ahve to configure the tools then either spend th money to go buy the pro stuff or get good enough to fix it yourself and show the courtesy that others have and contribute that solutuion back the community.
In the mean time it's off for mre reading. You eventually find by reading the screen after exhausting the documentation that you need to set another enviornment variable like you just did with MINGDIR.
This time though it is ALLEGRO_CONFIG (yes the caps are correct) You will need to set it to
or whereever you installed mingw. (I miss caps)
So exit mingw and open the msys.bat file then add
just after the other values you added and resave it. Relaunch Msys and goto the ta3d directory and
Yes you can scream now. I won't bore you with the amount of reading it took but the reason that WIn32 has a problem is that Linux is by defenition a developer system, Win32 is not. What that ends u[p meaning is that you need to add the follwing to your commandline --disable-allegrotest so you end up with
And whalah, It works. Or at least allegro does.
This brings us to AllegroGl
AllegroGl - What fun. Grab the archive here and drop it in the packages directory and extract so that it ends up in
Now is where you need a bit of faith. This actually worked on my system so hopefully it should on yours as well.
And it claims success. so next you
and read the screen. Failure on some random thing. Let save you a ton tracing.
You need Zlib.
Grab zlib_win32.7z and extract it to a directory. It's more of the same refrain, /bin goes into /bin Etc etc.
Finally notice a missing file in the lua directory. dlfnc.h is not home.
Went to a copy of cygwin, found it there and copied it to /include and then
Compiles and runs. This archive mingw-ta3d.7z is an archive of my efforts completed.
everything is there and in place. You will have to adjust the drive letter in the msys.bat file
if you install to other than c:\ which I do but I put back to c:\ as a standard.
The ./config_mingw32.sh is modified to add the --disable-allegrotest command.
P.S. - Does NOT include the media files from totala.
This concludes phase one of my quest.
Now to figure out why the exe is 11 megs.
Found it. it is the inclusion of the -g parameter in config_mingw32.sh
I eliminated it and the exe shrunk from 11.8 to 2.8 megs.
I will upload the corrected mingw-ta3d.7z once I get done.