Error

Discuss programming topics for the various GPL'd game engine sources.
Post Reply
Team Xlink
Posts: 368
Joined: Thu Jun 25, 2009 4:45 am
Location: Michigan

Error

Post by Team Xlink »

Solved.
Last edited by Team Xlink on Tue Nov 17, 2009 2:21 am, edited 1 time in total.
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Post by Spike »

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.
Team Xlink
Posts: 368
Joined: Thu Jun 25, 2009 4:45 am
Location: Michigan

Post by Team Xlink »

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.
Irritant
Posts: 250
Joined: Mon May 19, 2008 2:54 pm
Location: Maryland
Contact:

Post by Irritant »

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
Team Xlink
Posts: 368
Joined: Thu Jun 25, 2009 4:45 am
Location: Michigan

Post by Team Xlink »

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.
Irritant
Posts: 250
Joined: Mon May 19, 2008 2:54 pm
Location: Maryland
Contact:

Post by Irritant »

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
revelator
Posts: 2621
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Post by revelator »

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
Post Reply