Forum

Error

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

Moderator: InsideQC Admins

Error

Postby Team Xlink » Thu Aug 13, 2009 9:59 pm

Solved.
Last edited by Team Xlink on Tue Nov 17, 2009 2:21 am, edited 1 time in total.
Team Xlink
 
Posts: 368
Joined: Thu Jun 25, 2009 4:45 am
Location: Michigan

Postby Spike » Fri Aug 14, 2009 12:43 am

well... it says min isn't declared. so I'm going to say its because you didn't declare min. At least not anywhere that the compiler is meant to be looking.

Remember that it needs to be seen before, not after. And within that C file, not some other C file. And if its within some other function then that doesn't count either, etc.
Spike
 
Posts: 2892
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Postby Team Xlink » Fri Aug 14, 2009 1:44 am

Spike wrote:well... it says min isn't declared. so I'm going to say its because you didn't declare min. At least not anywhere that the compiler is meant to be looking.

Remember that it needs to be seen before, not after. And within that C file, not some other C file. And if its within some other function then that doesn't count either, etc.



Wow, I am so confused.


I can't believe I made that mistake.

Anyways, I already tried to declare min before, it turns out I had put it in the wrong spot.

I was just being lazy and threw it at the very top and what do you know, it worked.

Wow, from now on, wait an hour to do Quake Engine Programming after you have gotten completely smashed.
Team Xlink
 
Posts: 368
Joined: Thu Jun 25, 2009 4:45 am
Location: Michigan

Postby Irritant » Fri Aug 14, 2009 3:36 am

min is an intrinsic function to C I believe, so that might be your problem. If it's a var, change the name to something else and see if it works.
http://red.planetarena.org - Alien Arena and the CRX engine
Irritant
 
Posts: 250
Joined: Mon May 19, 2008 2:54 pm
Location: Maryland

Postby Team Xlink » Fri Aug 14, 2009 4:06 am

Irritant wrote:min is an intrinsic function to C I believe, so that might be your problem. If it's a var, change the name to something else and see if it works.



Well, it is from the Half-Life BSP tutorial.
Code: Select all
byte      vid_gamma_table[256];
void Build_Gamma_Table (void) {
   int      i;
   float      inf;
   float   in_gamma;

   if ((i = COM_CheckParm("-gamma")) != 0 && i+1 < com_argc) {
      in_gamma = Q_atof(com_argv[i+1]);
      if (in_gamma < 0.3) in_gamma = 0.3;
      if (in_gamma > 1) in_gamma = 1.0;
   } else {
      in_gamma = 1;
   }

   if (in_gamma != 1) {
      for (i=0 ; i<256 ; i++) {
         inf = min(255 * pow((i + 0.5) / 255.5, in_gamma) + 0.5, 255);
         vid_gamma_table[i] = inf;
      }
   } else {
      for (i=0 ; i<256 ; i++)
         vid_gamma_table[i] = i;
   }
}


I am working on our PC Engine.
Team Xlink
 
Posts: 368
Joined: Thu Jun 25, 2009 4:45 am
Location: Michigan

Postby Irritant » Sat Aug 15, 2009 4:46 am

You're probably missing a header file that includes the definition for min. Might need #include math.h, I think it is in that one.
http://red.planetarena.org - Alien Arena and the CRX engine
Irritant
 
Posts: 250
Joined: Mon May 19, 2008 2:54 pm
Location: Maryland

Postby revelator » Sat Aug 15, 2009 6:30 am

yep math.h older msvc doesnt seem to have it defined tho.
in that case put these in quakedef.h somewhere at the top after the includes.

#ifndef min
#define min(a, b) ((a) < (b) ? (a) : (b))
#endif
#ifndef max
#define max(a, b) ((a) > (b) ? (a) : (b))
#endif
User avatar
revelator
 
Posts: 2567
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger


Return to Engine Programming

Who is online

Users browsing this forum: No registered users and 1 guest