#16
You can always do what lightspeed does:

Place every frame into a single image file, convert it to 256 color and save the pallette. Then use the pallete created for all of the frames, and then convert it.
That's the way I do it. But BRIGHT is very useful too.
It will give you horrible results somtimes though. Most of the time it does a great job.


My problem with ANIs is the way they get resized ingame.

Look at this picture. My shockwave uses exactly 256 colors. When I convert a 24-Bit frame of it to PCX, I do not lose a single color. (Each frame was recolored by me, that was much work.)
In PS I can zoom in and the gradient looks perfect.

Now in-game there are two problems.

First the LoD system does not really work for ANIs. In the picture the shockwave is far away, so LoD2 or LoD3 is used. This is pointless as the shockwave still fills the whole screen.

Second, FS2 can handle 8-Bit PCX images like 24-Bit images when it resizes them. (optional) But this doesn't work for ANIs. This causes the ugly color gradient in this picture.
(Although it's not this bad in morion.)
Image
Edit: BTW this *should* be the frame:
Image
Visit: http://starfoxmod.proboards32.com/

-UPDATE: 'The Starfox mod' is now called 'Starfox: Shadows of Lylat'

#17
Mh yes the debries I put into my ani are pixelated as hell when used for capship explosions. Maybe I should try to make a 1280*1280 ani so that it dosn't get resized when played and then do different lods in 1024*1024 down to 32*32.

Has anyone tried that and then please tell me if it has done anything good? Except for rising the filesize ^_^

#20
If you made the image 1280*1280 it would still be resized... it'd have to be 2048*2048...

Anyway, that'll not solve this problem, because you still need to have a crappy 256 colour resolution.

#21
So we are back where we started...someone make the anibuilder and FS use any other format that uses more then 256 colors.
Is it realy so hard to use another file format?
About file size...I think you can rezise them.
Other thing would be to make it possible that every pic could use its own color table.

#22
I didn't really want to get in on this conversation but what the hell.

ANIs are used in two ways: pure animations through animplay, and static images in bmpman. Interface animations and talking head animations run through animplay which plays them like a movie player. Effect animations used in game are considered static, that is the ani is loaded by individual frames into bmpman, and "played" based basically on the passage of mission time on each frame.

There is absolutely nothing saying that we HAVE to use ANI for effects graphics. PNG and/or TGA could be used with different images for the frames (ie, effect01_0001.tga, effect01_0002.tga, etc.). A simple text file could describe the animation and could really just be the basic filename (effect01.eff) which would only contain the number of frames and the extension. bm_load_animation() could just look for that EFF file and then load all of the frames for a given extension, be it PNG or TGA or JPG or even DDS. The rest of the information can be dealt with in the actual load part and as far as the other game code is concerned it's just a standard ANI.

For briefing animations we could probably get away with mpegs. I would prefer not to use AVIs since I'd have to do the Linux and OSX code and would have to anticipate quite a few codecs. For mpegs, smpeg could could be used. smpeg is a cross platform MPEG1 player for audio and video which is licensed under the LGPL so we can use it here. I'm not all that happy about requiring another 3rd party DLL for Windows but it would greatly simplify the code to use it. MPEG1 doesn't typically have the video quality that DivX does but it's a standard with many free tools available to create them. MPEG1 frame sizes have to be divisible by 16 so the standard resolution in the game of 440x200 wouldn't work but we could do 432x192. Using MPEG1 is just a suggestion, but remember that FS2_Open is cross platform now so if a mod only works correctly in Windows you're shutting out a part of your intended audience.

#23
Understood. Last thing we need to do is reduce the amount of people that FS2 is available to.

I suppose my main concern is that 32Bit animations are either going to eat memory like crazy or slow the game down using decompression of any sort.

If there was an ANI builder, I suppose you could use DDS which are pre-compressed, but the image quality isn't so hot with gradient edges etc. still, can't be any worse than 256 multi-colour images :)
Check out my music on my YouTube channel :

https://www.youtube.com/user/PRDibble/videos

#24
@Taylor
Could you explain the idea about the effect textbased thing a little more?
Does it allready work or is it just an idea you have got?

I would like to test it.

For briefings I would prefere some avi codec like DivX...I don't know for sure, but isn't divX also working for Linux and Unix? I think only Mac is in the drawback here.
Since I am not working with Mac...what filetipes does it support...others then quicktime? Anything that all platforms could use?
For Windows another codec could be the WMV codec. Its free and also their are some tools for free.

About the cross platform thing...are their realy so much people playing it on Mac...I didn't even know that it was released for Mac.

#25
Hicolor animations are going to eat memory to be sure but if an effect can get away with 8-bit color then that's still an option. There a a few animations that look like absolute crap when they are in 8-bit color so we could have the option of something better. It would be easy enough to restrict the hicolor anims to be available only when -jpgtga is used or even a separate "Use high color animations" option.

I think that most of the effect animations look pretty good as is, like the glowmaps and weapon particle effects. These are usually small and don't use that many different colors so 8-bit works for them. Even the newer explosion anims look pretty damn good. When you get something like the warp map or shockwaves which can be pretty big and have gradients I think that hicolor versions would be worth while. I personally think it sucks when I work hard to destroy that absolutely beautiful hi-poly model with nice textures, glowmaps and pretty specular hilights just to have this pitiful looking shockwave be my only real reward.

I've already found ways to knock nearly 40meg of the memory usage with the MediaVPs just because of inefficient use of what's there. Five or six months ago between 60 and 80 megs was chopped off just for not loading starfield bitmaps that aren't actually used in the mission. A gain of 15 or 20megs can be had for not loading all of the weapon effects, most of which aren't available in that mission. With Lightspeed (and hopefully others) making more textures in DDS format we save memory there too. The point is that as long as it's used properly then it could work out for the better. Slap those new anims in the hieffects MediaVP so people have a choice and revel in the new found beauty.

Another thing I'd like to bring up since I seem to be ranting a little here is that what I'm suggesting for the new anims doesn't necessariy mean 32-bit color. It's just a text file which has an extension and number of frames in it. It could still be 8-bit PCX used but they wouldn't have to share a palette.

@gevatter Lars
The text file would just be something like this:

Code: Select all

$Type: DDS $Frames: 32
Basically like a normal tbl file and the normal parsing code could be used to read it. All of the files would have to be the same type (DDS in this case) and the same dimensions but that's it. The loader just looks for the 32 DDS files to make sure everything is good and then setup the basic structure. The rest of the code doesn't have to know anything about this and should work as is. I've gotten this about 80% implemented already so I should have something finished and tested soon for people to try out for themselves.

As far as the movies go, DivX itself does work under Linux but incorporating a decoder into the game is another matter. We can't use GPLed software since it's not compatible with the Volition license. Most decoders are GPL or are dual licensed for commercial use and I don't intend to pay for that. It's the same for the Mac, no problem just playing the movies but try to get them to work in-game and you've got problems. Quicktime is worse since the newer codecs are difficult to use under Linux. Also note that the game works on 32-bit and 64-bit (Linux x86_64 and Mac G5) platforms which some decoder libraries don't support well yet. I am being a bit selfish here since it would probably be me that has to figure all of this out and I don't want too, plus I'm a big Linux user and supporter as well as a user of a 64-bit Linux version so I'm rather adverse to something that I wouldn't get to enjoy.

With regards to number of users I don't have any real numbers. I still get plenty of e-mail about the OSX version and icculus.org versions from English, German and Polish users. Just go look at the 22 page thread here to see if there is any real Mac interest.

#26
I think the same...for weapon anis the low resolution is ok. The real big things like explosions and explosion rings could make use of the higher quality.

And I think if you just have 2-3 anis in high quality and the rest in pcx it shouldn't be to much.

When you have got anything done I am interested into testing it.

---

About the video codec...well yes its kind of a problem when you are working on something that can be used by all platforms. I hope you will find a good solution their.

---

Mac-topic
Its simpley that I didn't know that their is a Mac version...so I wondered...no offence against any Mac user ^_^

#27
Is there any way of altering the Lod distances for animations, you could have a hi-colour one for Lod 0 and go to Ani's for the Lods as well that way?
Check out my music on my YouTube channel :

https://www.youtube.com/user/PRDibble/videos

#28
When you have got anything done I am interested into testing it.
It took more code than I originally wanted but it was the only way to make sure the files are used efficiently and don't get loaded too many times. The standard parse stuff isn't going to work since I forgot that it can only parse one table at a time which severely limits what the new format could be used for. I'll find a better way around that than what I'm doing now but it does work. I pretty much finished all of it last night but during testing managed to consistantly trigger the bmpman corruption bug that I've been hunting for the past few weeks. I'm going to work on that bug first before releasing anything with this new code.
Is there any way of altering the Lod distances for animations, you could have a hi-colour one for Lod 0 and go to Ani's for the Lods as well that way?
I don't know about changing the distances without making code changes that I'd prefer not to make. Someone would complain either way it got changed. Code wise though it doesn't care what animation type is used for the different LODs it just passes a filename. LOD0 could be hi-color and LOD1 could be a regular ANI, there would be nothing to prevent that. Just remember though that when a mission's graphics are paged in ALL LODs are loaded into memory. So if you've got 5 levels of detail then all 5 get loaded into memory, whether they get used or not. Since everything is loaded into memory having many LOD counts doesn't help there. Also the game will try to load everything into video card (and/or AGP) memory immediately so there isn't much time lost in transfer while you play.

This is how I found to knock 30-40megs of the MediaVP usage. The WarpMap has 4 LODs but because of the code it only ever uses LOD0, don't load the other 3 and save memory. The hi-res explosions had LOD0 and LOD1 be the same thing, remove LOD1 and set the LOD count to 3 and you save memory and end up with the same effect. It was this way for a few effects.

#29
So, for this to work, we'd make a text file for the explosion, it'd specify the name of the first image, how many images there are, and also the format, and the game will display them on the fly?

#30
The LOD system for ANIs is rather stupid. Some effects can be huge even far away, and some effects are small even when close, so the LOD0 res is not necessary.

IMO it should work like this.
If the effect is big--> use LOD0
If the effect is small--> use LOD3


But I guess this is some heavy code work...
Visit: http://starfoxmod.proboards32.com/

-UPDATE: 'The Starfox mod' is now called 'Starfox: Shadows of Lylat'
Locked

Who is online

Users browsing this forum: No registered users and 75 guests

cron