Our current focus is to get the early part of Gal Civ looking and behaving the way it should, as much as possible. This includes the intro, more finalized versions of the setup screens, the ship design screen, the planet management screen, and more of the graphics in: more ships, anomalies, resources, and a variety of planet textures. We also have to make sure that you can play as any race. We also need to figure out how to minimize the time it takes to create a new game.
It didn't take me long to get the intro movie into the game. I had to bink it myself and I had a false start because I tried to create the bink file with the input .mov file still on the CD in the CD drive, but that didn't work. I might have known that it would take more time to compress the .mov file! So I had to copy the .mov file to the hard drive and do it again. This time it worked, and I got it to play. There were three initial problems with it though. (1) The artists who worked on the intro movie made it wide screen, so it looked really bad being run in 1024x768. (2) You could see the edges of the texture tiles. (3) The last problem was that something was stealing the keyboard focus from the bink window, so it wasn't stopping when pressing a key like it's supposed to do.
The first problem with the bink movie was easy enough to solve. After discussing how best to deal with the problem with Joe and Jake, we decided to make the movie run in widescreen format, with black bars at the top and bottom of the screen. Jake offered to add in the black bars to the actual movie, but I told him that I could do it in code in less than an hour, which would be what it would take him to do it graphically.
The second one had me stumped for awhile. I checked all the calculations, and everything seemed to be coming out nicely. So I turned off scaling and let it run at its native size, and sure enough, the bars went away. So I double checked all the coordinates, and they were fine. It turned out to be an oddity in the texture addressing code which could be solved by setting a flag. This one really annoyed me because we use texture tiles in all the other windows and don't have that problem.
The third problem was caused because we create the windows that you don't need immediately in another thread while you're at the setup screens. One of those windows is supposed to grab keyboard focus when it's unhidden, and it was being unhidden right after it was created. Since its parent window was still hidden, it wasn't getting rendered to the screen, but it did grab the keyboard focus. So I just changed it so that it wouldn't be unhidden until its parent was unhidden.
I'm waiting for the new graphics for the setup screens, and most of the functionality already exists with the temporary graphics anyway. I did make the opponent setup screen save the options, which it wasn't doing before, and fixed some bugs in its initialization code.
Paul Boyer checked in the new graphics for the options screen, which has some new functionality that will need to be hooked up. I didn't want to finish the screen since it's not as immediately important for our next milestone, so I just hooked up the retire and main menu buttons, and made sure that the quit and continue game buttons still worked. I also fixed the bug where the options window would open up twice if you hit the ESC key more than once.
With that bug fixed, I could test and tweak the default key callback (the function that handles keyboard input) for popup windows. That took me about five minutes, and now you can close any popup by hitting ESC. Yay! That was a nice thing to get done right at the end of the day.
I spent most of yesterday playing GC2 as the Altarians. There weren't any bugs related to playing as the Altarians, but I fixed a bunch that I found while playing. On the turn when the United Planets window was supposed to come up (and it doesn't exist yet) it was keeping all of the other popups from coming up. The context area wasn't updating when the selected ship was moving. The icon to show that a planet is defended wasn't showing up. All the planets started with low morale, and the ships weren't showing up in the orbit slots. I fixed all of those and also made it so that colony ships can enter orbit of planets that their player owns, like transports can. This will make a difference now since your colony ship will actually take up a tile.
I also went through and cleaned up the galaxy initialization code in preparation for what I did today, which was go through and figure out what is taking so long to create a new game. Most of the time is creating the actual graphics, so Joe and I will have to work on that next week to try to minimize it as much as possible.