Hard Light Productions Forums

Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: Woolie Wool on February 02, 2005, 12:09:23 pm

Title: Size does matter
Post by: Woolie Wool on February 02, 2005, 12:09:23 pm
I always thought that the CBanims looked ugly when they didn't fill the CBAnim box in hi-res mode. Could anyone code in a feature to scale up the CBAnims to the size they are in 640x480?
Title: Size does matter
Post by: Lynx on February 02, 2005, 01:46:46 pm
You'd get horrible pixelated anis instead. I don't know if that'd be an improvement.
Title: Size does matter
Post by: Stunaep on February 02, 2005, 01:53:23 pm
I've asked the SCP team to do this several times. Every time they've responded the same way Lynx did.


Open up aniviewer. Pick an CBani. Click options. Click Zoom 2x.

Does that look horrible to you. Remember, it's still roughly 1.5 times bigger than what it would look ingame.  Do 640x360 movies look horrible when sized to fullscreen? (okay, I admit there's a bit of difference here, because of the smoothing the codecs use, but still)

Thank you.
Title: Size does matter
Post by: Col. Fishguts on February 02, 2005, 02:15:04 pm
It depends if you apply some post processing or not.
Title: Yeah...
Post by: Gregster2k on February 02, 2005, 02:40:27 pm
Find a way to anti-alias the movies when scaled and we're great
Title: Size does matter
Post by: taylor on February 02, 2005, 02:57:12 pm
If they were scaled we would filter them to retain as much quality as possible.  This is already done for other textures when you get close (remember the bad nebula poof pixelation before I fixed it?).  The only problem is performance since it takes more resources (processing time and memory) to render it this way.  I seriously doubt that a computer capable of running FSO decently will have any trouble but it needs to be tested to know for sure.  Also remember that scaling would go into affect with the non-standard resolutions as well so you'll have a much greater quality problem at 1600x1200 than just scaling to 1024x768.

I'm going to experiment with this (for unrelated things) in the near future anyway so if someone else doesn't get there first then I'll test it out.  The OGL code has already been modified to reuse texture resources for ANIs so we have a bit more room to play there at least.
Title: Size does matter
Post by: Woolie Wool on February 02, 2005, 03:05:33 pm
Quote
Originally posted by taylor
If they were scaled we would filter them to retain as much quality as possible.  This is already done for other textures when you get close (remember the bad nebula poof pixelation before I fixed it?).  The only problem is performance since it takes more resources (processing time and memory) to render it this way.  I seriously doubt that a computer capable of running FSO decently will have any trouble but it needs to be tested to know for sure.  Also remember that scaling would go into affect with the non-standard resolutions as well so you'll have a much greater quality problem at 1600x1200 than just scaling to 1024x768.

I'm going to experiment with this (for unrelated things) in the near future anyway so if someone else doesn't get there first then I'll test it out.  The OGL code has already been modified to reuse texture resources for ANIs so we have a bit more room to play there at least.


Why would you have performance problems in the briefing menu? It's not like the game has to render anything.
Title: Size does matter
Post by: taylor on February 02, 2005, 03:44:24 pm
Quote
Originally posted by Woolie Wool
Why would you have performance problems in the briefing menu? It's not like the game has to render anything.

You've got to render every frame of the anim without making it slow.  You've got all of the audio going on (voices, music, sfx), text rendering, mouse cursor and button highlights.  It's not a lot but it will depend on how effcient your video card is at scaling in OGL or D3D.  Scaling a normal video in something like MediaPlayer isn't the same since you have different optimizations going into effect in that case.

Most cards should handle it without flinching though so it's only a passing thought in my mind at this point.  Some may have trouble (past experience) so it will have to be tested just to make sure.  I haven't really looked at the code yet but the only real issue with doing this is figuring out how much to scale by.  The interface screen on has an x,y position for the top-left pixel of the ani.  It would have to be specified as a box instead so the full target dimensions are passed to anim_play_init() and the scale factor can be determined.  It would be a lot easier if the existing gr_screen_resize_pos() could be used but I haven't looked at it close enough to say.
Title: Size does matter
Post by: NGTM-1R on February 02, 2005, 04:12:26 pm
I think he's advocating the briefings be pre-scaled in seperate high-res versions, not that it be done by the program.
Title: Size does matter
Post by: Woolie Wool on February 02, 2005, 04:13:52 pm
No, I said that the game should scale up the anims to the proper size and render them in the proper position.
Title: Size does matter
Post by: Taristin on February 02, 2005, 05:06:24 pm
Why not just give the option of using larger ANIs for mods? like a 2_cbanim name, or even a 3_cbanim name...
Title: Size does matter
Post by: aldo_14 on February 02, 2005, 05:08:40 pm
Can we not use AVIs for cbanis yet?  Or is it too hard to integrate with the UI? (as the movieplayer is full screen)
Title: Size does matter
Post by: WMCoolmon on February 02, 2005, 06:37:23 pm
You could probably do a better job extracting all the anims using AniView, using Irfanview's batch processing capability to resample them all to a higher resolution, and then saving them as ANIs again.

Of course, the 256 color limit probably won't help, so it might work better to save 'em as DDS/EFF instead.
Title: Size does matter
Post by: Trivial Psychic on February 02, 2005, 08:14:12 pm
But Taylor said that we can't do EFFs for CBs... yet.
Title: Size does matter
Post by: Woolie Wool on February 03, 2005, 10:13:29 am
Quote
Originally posted by WMCoolmon
You could probably do a better job extracting all the anims using AniView, using Irfanview's batch processing capability to resample them all to a higher resolution, and then saving them as ANIs again.

Of course, the 256 color limit probably won't help, so it might work better to save 'em as DDS/EFF instead.


Where do I get this Irfanview? And can it save all the files at the same time? PhotoImpact has a batch manager, but I have to save the files one by one once I'm done.
Title: Size does matter
Post by: taylor on February 03, 2005, 03:39:45 pm
Quote
Originally posted by Raa
Why not just give the option of using larger ANIs for mods? like a 2_cbanim name, or even a 3_cbanim name...

The code is already there to do this actually.  It checks for a hi-res name, though it's the exact same name.  Not sure if that is new code or not but if finished then it could be made to work quite nicely I would think.

Quote
Originally posted by aldo_14
Can we not use AVIs for cbanis yet? Or is it too hard to integrate with the UI? (as the movieplayer is full screen)

I've already said that I'm not going to code in AVI support.  That doesn't mean that someone else can't do it but it's really hard to get working properly on all platforms.  Since I'm the one maintaining the Linux and OSX versions I've got a firm "NO" vote on AVI support.  All of the Linux/OSX code should be merged in CVS this weekend so I can move on to other things after that.  It's enough of a pain to install TBP3.1 on Linux that having another Windows only feature puts a rather nasty look on my face. :)

A near term project is to make a MJPEG decoder for the game to replace ANIs.  This would save disk space since it will be compressed and if I can get the new built in JPEG decoder working with this then we also get the advantage of automatic scaling on decode.  In-memory size isn't important since we only ever load one frame at the time.  The MJPEG implimentation would be video only so you could still use OGG or something for the audio.  This would almost end up being a drop in replacement and require no code changes except to animplay and the new jpgutils.
Title: Size does matter
Post by: WMCoolmon on February 03, 2005, 06:09:33 pm
Quote
Originally posted by Woolie Wool


Where do I get this Irfanview? And can it save all the files at the same time? PhotoImpact has a batch manager, but I have to save the files one by one once I'm done.


http://www.irfanview.com

And I don't know if EFF/DDS support is in, but if ANIs really do use textures, I don't think it should be all that hard to support 'em - the bmpman system handles both interface images and textures.