Thursday, July 29, 2010

more and more

still going through the pages of information and trying to sort it out into a nice layout for me to work with. yea.

Sunday, July 25, 2010

Images

Going back through the images my first image puller did. Boy they are not that great. Will have to write the translator of images to go both ways to make better ones. I had one that translated from Q3 to BMP, but was done when I didn't fully understand the format. I have one that goes from 8bit BMP to Q3 (but has to have the BMP use a specific color table). Now to put them together, let the 8bit image use any 8bit table (grayscale tho), and then also a 16 bit color version (or 24 bit that only uses 16 number of colors). The 16 bit images use a 555 color format but I still don't understand how an image is figured out since they have no way of letting you know what format the colors are saved in on a BMP.

Then expand out to use other formats for the source images to Q3. Adding more shouldn't be that hard after the first code goes down.

Saturday, July 24, 2010

Wow part two

Okay, I think I have all Mirak stuff pulled aside, including ships and such. 345 pages of stuff (not including the actual image data). Will be going through slowly and putting together the tree's for how it works, then checking what images are used so they can be replaced. 'Tis alittle biger then I thought it would be.

Wow

Page count is growing on how many is used for the Mirak UI. Went an bought some more ink to print out more of the pages. The more I look it just keeps going. Should have it mapped out in the next two days, then will look at what is needed to add the new images. Also might have found the part that controls the boarding parties stuff and see what is up with that.

Wednesday, July 21, 2010

The fun way to work

As I go through and get the UI stuff out for the Mirak, I thought I might discuss the process of doing it. As I don't have any specific tools for working on the Q3, it is a fun little path to wonder.

First, I had extracted all the images from the file, with a so-so program I wrote. I didn't have the full format down at that time so some images are alittle funky. So for the Mirak UI, I started looking through all the images looking to see if I can find an image from the combat UI for the Mirak. I didn't find one as I paged through the few thousand images, but came across a Lyran image for the movement control (the one at the top of the UI). So I took note of the offset of the image, then opened up my sector editor (I love my sector editor) and did a search for the offset numbers. This would give me the asset that points to the image.

I then take the asset number off the image pointer, and do a search for a reference to that asset number (this is usually a search backwards through the file). When found, this will be the asset I need. Since this one is the Lyran and not the Mirak, I look at what it was named. It was LL_A3_HELM. So now I have the name for that part of the UI. The game uses the first two letters for the race, so for the Mirak it is ZZ_A3_HELM (yes, Mirak use ZZ since they are the Kzinti). So then I do a search for the new name of ZZ_A3_HELM. As the Q3 usually groups like parts togeather, I start looking down from there and when I don't see any references to ZZ anymore I cut the file off and print it out (I need to see it in copy to work on it as I can look at multiple pages at once this way)

Then I will build a table of what names and asset numbers are used for the UI (referencing back to the folder of images to see what each image being referenced is). After I get this table put togeather, then I will be able to change the images to new ones. By converting the images to the Q3 format, then manually coping chunks of the file to insert the new images at the end of the images in the Q3 (change the reference to where the images end and the assets start). Then edit every image asset so it points to the new images I just put in. (again by hand in the sector editor). If all goes well, after this is done, the Mirak will have a new interface. Might have to tweek some of the kerning on the font to make sure it fits in the spaces (kerning is the spacing on the font, you can move each phrase pixil by pixil up,down,right,or left as needed). Probably will end up with about a hundred things to change, but not sure yet. Have sixteen pages printed out and it isn't the whole Mirak interface yet.

Well, that is the fun I go through to do this, just to let you know why it takes alittle time.

Monday, July 19, 2010

A new start

Now to lay out some direction.

First, what is known about the Q3.

I understand how the images are saved, they made a special format because Q3 seems to have been started in pre-directX times and they have written their own blitter function (how you put an image on the screen). This function doesn't support different screen sizes and just copies pixel for pixel. This means that as you increase screen resolution the images get smaller (as everyone has seen when playing with your screen size).

I have all the asset types broken out, but don't have an understanding of all the parts. Without the ability to view the source code, some parts will probably not ever be figured out (but I have alot of it down). Maybe someday.

The way that the UI runs is in QUIL (Quicksilver U.I. Language), so no new functionality can be added just moved and the images changed around. But ship UI's can be added as the way it is looked for is by searching the Q3 file for names that are gotten from the Shiplist.txt file. So yea, I can add a ship UI to the game (just haven't automated the process yet, and do it with a sector editor).

I can usually fix small errors in the Q3, have fixed an error with the Lyrans using fusion beams. Not sure where it is on the net now, Bonk made an updater that you just had to run and it would fix the Q3 file so Lyrans ran properly.

Two other errors have been brought up to me, an error with the Mirak that the speed bar doesn't work properly and hit and run raids (or something with the security guys have to read it again). Will work on these two as I can.


What I am doing.

I am to get the UI editor done sometime this year (programming skills is holding back quick development).

I am working on a text file based Q3 that will compile into the normal Q3. This will help in editing the file, for fixing errors and adding new ships. It will allow us to make a single text file for a new ship, then run the compiler and add it into the game. It is a work in progress, but an important one in the long run.

I am going to dig in the game and see if they have any parts of the old crew stuff still in the game. I am thinking they might have just cut out the button that let you access it, since fully removing it would take more work to remove the interlinking of how crew woked. So I am thinking they might have just put it in the background. It is a guess, and as time permits I will see if I can find any trace of it.

Someday, if I ever get access to the source, I hope to be able to add new functions to the game and it's UI. Not planning on much of this yet as I don't think the access part will happen and is a waste of thinking.

Sunday, July 18, 2010

Kzinti UI

Still working on pulling the Kzinti UI elements out so they can be changed to a nicer looking UI. Sadly I am not an artist so once they are pulled, not sure how quick a new UI will be done.

A dead end

Was looking at finding where the Q3 data was to do the fleet formation stuff. Figured if I found it I could use the information to set other sideline information on wide format screens. Now even tho I found the images, I can't find the Q3 code that uses it so it must be hard coded in the game (which is why it works with the wide screen formats and the rest of the Q3 doesn't. It was a bummer moment.