Tribes uses Phoenix Font? files (.pft) to render ingame fonts. The font file consists of a
bitmap and an associated index for each character, telling Tribes where each character is located
in the bitmap and the character attributes (width, height, vertical offset). As far as I know,
I am the only one with a working editor for them since Sierra seems rather content with letting
the original code and utilities stagnate. I will get around to
uploading the amazing fonts random (Kris) has done later.
Here is a small collection of custom fonts. To use one, download it, rename to whichever font you would like to use
(e.g. if_g_10b.pft for teamchat), and place it in tribes\base\skins.
If you would like shadows or different colors:
Download Tribes Font Editor and do it yourself! The Shadowize function is a no brainer for
one click shadows and the Colorize function will color the font to whatever color you have selected.
(Mouseover to view, Click to download)
Tribes uses Phoenix Palette? files (.ppl) to keep track of the various palettes that all the bitmaps in the game use. The palette file consists of the number of palettes, unknown header information, all the palettes one after another (each palette with it's own unique id), and unknown footer information. This utility is mostly here as an oddity, as nobody will have any use for it due to the issues you run in to from my lack of understanding of the format.
Tribes uses Phoenix Bitmap files (.bmp) to for it's bitmaps and Phoenix Bitmap Arrays (.pba) for it's bitmap compilations. Phoenix Bitmaps are just like standard Windows Bitmaps except for a few slight differences.
Phoenix Bitmap Arrays are merely containers for multiple Phoenix Bitmaps. The few uses I have found are containers
for gui controls, containers for animation, and font bitmap containers (only one font is large enough to need more than
one bitmap, and it is not used in Tribes).
My utility was originally intended to view Phoenix Bitmap Arrays, but I later expanded it to view Phoenix Bitmaps as well.
The palette detection is almost perfect, save for one palette (I think). You may also export individual frames or bitmaps
to Phoenix Bitmap format or Windows Bitmap format.
Note: Mousewheel scrolls through the PBA frames (if more than 1), and the up/down/left/right keys zoom in/out and cycle left/right respectively.
Tribes retardedly uses a unique .ppl (palette compilation file) for each landscape type (lush, mud, ice, desert, etc).
What this means is if you want to edit the palette the GUI uses to get some new color (say, pink shaded
HUD backgrounds instead of gray), you need to edit around 12 .ppl files to do a freakin single color. This
is obviously more pain than it's worth if you do it by hand. After I saw enough people actually doing it by
hand, I decided to make a quick program to automate the process. (Please don't ask why I chose to use PHP to
patch the palettes, break the test .vol into it's constituent .ppl files, and finally .zip them all up). The
web page even has a test interface so you can see exactly what changes you're making.
(I think this only works in IE, I have no idea how I made the javascript work)
Note: You can not use sky and/or terrain that uses custom palettes with these. One or the other..
I'll put some explanations later. Until then, here are the pages for my two Tribes configs
It has been a longstanding issue that there is no way to get a current timestamp in Tribes without
using an external program (which is a huge pain). After MUCH nagging from Random (and some help with
the file and code offsets for stuff to hijack), I broke down and made a small asm patch to give
Tribes native timestamping support. Now I can finally get rid of the godawful timestamping
programs on Heaven and Hell that like to randomly stop working.
Included in the .zip is a thorough explanation of how I managed this, the source code for the patch,
an example tribes script utilizing the new function, and a compiled executable for the patch.
These are the 100% original tribes heightmaps (ripped by me) in various formats for you to steal for your own game that will suck if it isn't Tribes. Technically I should get around to finishing the rest of the original T1 maps and maybe do the expansion maps (if I'm not lazy).
You have to see it to believe it
Makes it so you can bind your jump key to "turn left" and have built-in skiing
mem.dll adds random functionality to Tribes so the last 15 people can use winamp from in-game (actually 3rd person IFFs).
mem.dll(nude) is the source for a stripped down version of mem.dll which only allows you to interact with Tribes functions and variables. Probably only useful for server owners who want to make weird server add-ons like database plugins.