Forum

ProQuake 4.70 PSP Build

Discuss programming topics for the various GPL'd game engine sources.

Moderator: InsideQC Admins

Postby leileilol » Fri Nov 05, 2010 11:46 pm

Why not just use DXT1 compression then? At least don't have to manage an individual palette for that... unless PSP can't compress textures on-load per the S3TC standard. (See: Quake3, where r_ext_compressed_textures 1 just dxt1's everything where your card is supported)
i should not be here
leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Postby Downsider » Sat Nov 06, 2010 12:39 am

You can do that; my engine loads all 8-bit textures into DXT1 compressed textures, but the downside is the compression artifacts that do occur compared to a regular paletted texture. Then again, they're not really noticeable and totally worth being able to store twice as many textures.

EDIT:

To elaborate, the PSP supports DXT1, DXT3, and DXT5 compression.
User avatar
Downsider
 
Posts: 621
Joined: Tue Sep 16, 2008 1:35 am

Postby mh » Sat Nov 06, 2010 12:59 am

DXT formats can degrade Quake's low-res images something horrid. I used them in DirectQ for a long time and eventually dumped them as the quality loss - especially on menu and HUD graphics - was unacceptable.

The basic problem is that they reduce blocks of 4x4 texels to a 4-colour 16bpp palletised format. If there's wide variety between the texels in each block then the reduction will give bad results. And of course with low-res graphics this is more likely to happen. They're a lot like JPEGs in many respects, so they really only work well with high-res textures where there are smooth colour transitions.

DXT1 only supports 1-bit alpha so it's not really suitable for all textures. DXT3 or DXT5 are required there.

Compressed formats also take much longer to load, unless you're storing them pre-compressed on-disk.

On the other hand they do take less texture memory and also give a nice performance boost so you'll need to evaluate them for yourself and decide if the trade-off is worth it.

PCX for textures will do absolutely nothing to reduce texture memory usage by the way. It's all down to the internal format parameter, and the OpenGL spec clearly states that this is going to be a 4-component format (with the missing components filled in for you) irrespective of what you specify there.
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby leileilol » Sat Nov 06, 2010 1:07 am

mh wrote:PCX for textures will do absolutely nothing to reduce texture memory usage by the way. It's all down to the internal format parameter, and the OpenGL spec clearly states that this is going to be a 4-component format (with the missing components filled in for you) irrespective of what you specify there.

Unless you had a 3dfx card and did stuff for the 3dfx minigl driver. By the way don't forget this is a PSP thread where paletted textures also benefit and OpenGL specs is near almost irrelevant.
Last edited by leileilol on Sat Nov 06, 2010 1:08 am, edited 1 time in total.
i should not be here
leileilol
 
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Postby Downsider » Sat Nov 06, 2010 1:07 am

mh wrote:PCX for textures will do absolutely nothing to reduce texture memory usage by the way. It's all down to the internal format parameter, and the OpenGL spec clearly states that this is going to be a 4-component format (with the missing components filled in for you) irrespective of what you specify there.


PSP's GU API =/= OpenGL

The PSP's GPU supports CLUTs and 8-bit textures.
User avatar
Downsider
 
Posts: 621
Joined: Tue Sep 16, 2008 1:35 am

Postby Mexicouger » Tue Nov 09, 2010 2:01 am

Still looking forward to this engine. This one seems more clean and adaptable. Chances are, I can adapt this engine easier than Crow_Bars
User avatar
Mexicouger
 
Posts: 514
Joined: Sat May 01, 2010 10:12 pm

Postby avirox » Tue Nov 09, 2010 2:27 am

Damn, wish we had this engine when I was working on Solitude. Good work, Baker!
avirox
 
Posts: 137
Joined: Wed Aug 16, 2006 3:25 pm

Postby Baker » Tue Nov 09, 2010 8:57 am

I'm hoping I get this version out Friday and, if so, you should be able to use the Code::Blocks IDE to build it for the PSP [and in my mind, more importantly use the Code::Blocks IDE to quickly fix compile errors].

Image

Crosses fingers that nothing weird gets into the way. Keep in mind, my engine versions aren't just PSP so I've got to make sure the stuff works on, say, Windows and OS X and I am trying to bust out an SDL Linux version too.

At the moment, I'm trying to get the entire project more properly organized for convenience like in my mind how DarkPlaces is. On desktop operating systems, I want the source to be able to be unzipped as a subfolder in the Quake folder and to compile the binary to the Quake folder and the importance --- in my mind --- of Code::Blocks is that it is a quick download (unlike Visual Studio behemoths) so the source can ported around on a USB Flash drive and compiled almost at-will on any machine you happen to be at.
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby Jukki » Tue Nov 09, 2010 10:03 am

this sounds cool. (and if i realy undestand with my english i am able to work this on schools comp soon too :D)
Jukki
 
Posts: 214
Joined: Wed Apr 07, 2010 4:59 am

Postby Mexicouger » Tue Nov 09, 2010 2:12 pm

Code:Blocks isn't the only thing you can compile with right? You should be able to compile with Cygwin?

I really don't want to have to get another compiler -_-
User avatar
Mexicouger
 
Posts: 514
Joined: Sat May 01, 2010 10:12 pm

Postby frag.machine » Tue Nov 09, 2010 3:06 pm

Code::Blocks is essencially an IDE. You can choose an already installed compiler to work with, including MSVS and cigwin.

Baker: nice to hear about your choice to Code::Blocks.
I know FrikaC made a cgi-bin version of the quakec interpreter once and wrote part of his website in QuakeC :) (LordHavoc)
User avatar
frag.machine
 
Posts: 2090
Joined: Sat Nov 25, 2006 1:49 pm

Postby Baker » Tue Nov 09, 2010 3:49 pm

Mexicouger wrote:Code:Blocks isn't the only thing you can compile with right? You should be able to compile with Cygwin?

I really don't want to have to get another compiler -_-


Like Frag Machine said, Code::Blocks isn't a compiler it is just an IDE. I'm not making use of Code::Blocks the only way to compile it or anything, you can still do it the "old way".

frag.machine wrote:Baker: nice to hear about your choice to Code::Blocks.


Ironically, the PSP engine got me hooked on the gcc compiler. And I could work on the PSP engine anywhere and compile. It made me annoyed that I couldn't do the same with my Windows version because of super-bloated Visual Studio.

I took a look at qbism's Code::Blocks project file and decided to make one for ProQuake and built a Code::Blocks and g++ ProQuake project.
Which caused me to take another look at Ubuntu Linux since Code::Blocks works there too ... And, of course, the FlashQuake build of ProQuake uses Cygwin ... so obviously I'm trying to get all this stuff optimally organized.

But Code::Blocks is really the kind of true IDE solution that has long been needed. I'll continue to have a Visual Studio project file, but I view accessibility to truly free and easy to install/download as a core component to engine development accessibility and the Code::Blocks + MinGW download is the only thing required to compile an OpenGL Quake engine on Windows and it is just a quick install 75 MB download.

Visual Studio is damn near 1 GB and requires this and that and then a lot of messing around plus modern versions are sluggish and make big fat engine .exe files far larger than prior versions for no obvious reason.

Did I mention I'm happy to see high quality open source development tools? :D (/End redundancy joke)

Yeah ... I like Code::Blocks. Not quite as much as Visual Studio, but it is so close. The freeness, portability, ease of installation and multiplatform support more than makes up for 1 or 2 tiny things I think Visual Studio IDE does a bit better.
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Postby Jukki » Sat Nov 13, 2010 5:29 am

Nice to hear. Me cant wait XD
Jukki
 
Posts: 214
Joined: Wed Apr 07, 2010 4:59 am

Postby betasword » Mon Nov 15, 2010 8:50 am

This engine sounds fantastic so far, especially having been referred to this be MDave himself. I'm not going to try the version up on the first page yet, as from the sounds of it the new version should be out sometime in the near future. But I do have a question regarding the external texture support. I know you said the engine won't load alpha channels out of .pcx images, but is there some way it can at least do on-or-off transparency? I guess that'd be 1-bit transparency or something like that. Still, having something like that at the very least would be absolutely awesome, as I have several textures that make use of that (grates and such).

Other than that, I look forward to giving the next version a test once it's available!
betasword
 
Posts: 3
Joined: Mon Nov 15, 2010 8:45 am

Postby Baker » Mon Nov 15, 2010 11:32 am

betasword wrote:This engine sounds fantastic so far, especially having been referred to this be MDave himself. I'm not going to try the version up on the first page yet, as from the sounds of it the new version should be out sometime in the near future. But I do have a question regarding the external texture support. I know you said the engine won't load alpha channels out of .pcx images, but is there some way it can at least do on-or-off transparency? I guess that'd be 1-bit transparency or something like that. Still, having something like that at the very least would be absolutely awesome, as I have several textures that make use of that (grates and such).

Other than that, I look forward to giving the next version a test once it's available!


Fence textures are important to me. The version I am trying to get out won't support that (and although I like fence textures, I'm not sure where that is on my list of priorities). At the moment, the main thing that holding up the release more relates to getting to whole sum of the source structure organized. So the status of the getting this version out is day-to-day, but it won't be today or tomorrow (won't have the time) so I'm thinking Thursday is most likely.

I'm glad you and a few others are looking forward to the release. And I do need testing and people playing around with it for suggestions and possibly bug reports.

Thanks!
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
User avatar
Baker
 
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

PreviousNext

Return to Engine Programming

Who is online

Users browsing this forum: No registered users and 1 guest