Jump to content
Eternal Lands Official Forums
Sign in to follow this  
ttlanhil

which defines don't we need?

Recommended Posts

I did a `grep #ifdef *c *h|sort|uniq` to build my list, so I should have seen them all

 

ATI_9200_FIX

 

one use, in gamewin.c:625

#ifdef ATI_9200_FIX
	glClear(GL_DEPTH_BUFFER_BIT);
#endif

is this still needed? could it be done even if it's not an ATI_9200 card? (simpler code is a Good Thing)

 

WINDOWS

_WIN32

 

WINDOWS shouldn't be used... _WIN32 should be available to the preprocessor automatically (if not, users can just -D_WIN32 I guess). I'll submit a patch for this one shortly

ed: done

 

SSE2

SSE3

USE_EXTRA_CLIP_PLANES

USE_FRAMEBUFFER

USE_LISPSM

USE_LOW_MEM

USE_SHADER

USE_SSE

USE_SSE2

USE_SSE3

 

are all of these needed (especially sticking out is stuff like SSE2 and USE_SSE2)?

 

ANTI_ALIAS

 

this is a run-time option anyway, so is there a need for a compile-time option?

 

BUG_FIX_3D_OBJECTS_MIN_MAX

 

if this is a bug fix only (and it does only affect a small amount of code), shouldn't it be the default? (it re-assigns to some variables, so it is a slight performance hit)

 

ELCONFIG

 

hides 2 error logs and adds a function, none of which seems needed(error messages are a Good Thing, and the function isn't used)

 

ENCYCLOPEDIA

 

adds a couple headers that don't compile (for me, anyway) and loads another xml file. don't see that it does much we need

 

FILE_TO_BE_REMOVED

 

this is used to 'comment' out almost all of md2loader.c.

if we want to keep the file, something like FILE_UNUSED would be less misleading. if we don't want it, then it can be removed (and saved somewhere if we might want it later)

 

GLUT

 

used only once, to return an OpenGL error string instead of the int. the function (as far as I can tell from asking google) is OpenGL though, not GLUT, so we may as well always use the string version and get rid of the #ifdef

 

NETWORK_THREAD

 

this is pretty much standard now, any reason not to remove the unthreaded network code?

 

NEW_FRUSTUM

 

a recent CVS commit required that this be on (the mouse bug fix)... if we're assuming it's on, then it always should be

 

NEW_WEATHER

 

has been around a while and works... should remove the warnings about early/double start/end of weather before it goes production though (neither is really a problem, but is logged to console... only of interest to developers anyway, so an #ifdef DEBUG around those warnings would do)

 

NO_PF_MACRO

 

is there anyone who needs to use this nowadays?

 

PNG_SCREENSHOT

 

works well on *nix and now windows, and is in demand from a number of people... only downside is that the PNG libs then become also mandatory for ELC... but that's minor (and maybe one day textures and such can use PNG too, then you'll need it anyway)

 

SERVER_DROP_ALL

 

will the server-side drop all be added? (currently the code won't compile since it doesn't know the number for DROP_ALL)

 

STRONG_SIT_LOCK

 

strength of sit_lock should either be strong (if they selected it in config, they really meant to get it), or a run-time option, a compile-time version doesn't make much sence

 

WIDGETS_FIX

 

this has been in the client to be tested for a while, and works. is there a need for the old version anymore?

Edited by ttlanhil

Share this post


Link to post
Share on other sites

Defines to be applied (remove the #else):

 

WIDGETS_FIX

NETWORK_THREAD

GLUT

 

Defines to be removed:

STRONG_SIT_LOCK

SERVER_DROP_ALL

ENCYCLOPEDIA

ELCONFIG - elconfig is obsolete now

 

To be replaced by run-time loading of library (if available). If we don't want to distribute the png dll, just try loading it on run-time - if it fails, disable the screenshot ability, otherwise enable it.

PNG_SCREENSHOT

 

WINDOWS can be replaced by _WIN32

 

BUG_FIX_3D_OBJECTS_MIN_MAX - is a bug fix for 3D objects bounding box - there's a bug with the current e3d objects and currently it is necissary. Work has been done onto a new e3d format, and when all files are converted into this, it will be removed.

Edited by Wytter

Share this post


Link to post
Share on other sites

ANTI_ALIAS can be applied.

ENCYCLOPEDIA can be removed (the parser needs no testing anymore). Will readd it when continuing work in ency.

NEW_WEATHER still has a lighting bug (shadows lighter than lights). When its solved it can be applied with the warnings masked by #ifdef DEBUG. However, the server should avoid too short intervals between start/stop rain messages as it will look ugly (for minimum interval see weather.c).

NETWORK_THREAD should be applied.

NEW_FRUSTUM should be KEPT. It's very buggy still.

WIDGETS_FIX was only ifdef'ed bc I couldnt review it. Wytter did so and thinks it should be applied.

Edited by Lachesis

Share this post


Link to post
Share on other sites

Let's keep this thread up-to-date until the release, then.

 

P.S. Defines marked for removal we can remove immediately though, I think

Edited by Lachesis

Share this post


Link to post
Share on other sites

Would anyone mind if I made ATI_9200_FIX a runtime option? (looks like there's room for one more checkbox in the advanced video tab)

I agree that it should be a runtime option, but not that there's room in the adv video tab. some -D's add more options (like anti alias, framebuffer, and terrain). I've already seen it overflow the window on one build.

we really need to be able to add option without worrying about how many are already there (well, info overload yes, amount of available space no)

this can be one of the things to do during the cleanup (it's easy to do if you have it so it auto-scrolls, something like the frame widget and a small change to the add_var code should make it easy)

Share this post


Link to post
Share on other sites

On a side note: There are currently undefined references to use_fog and weather_use_fog in elconfig.c, gamewin.c, interface.c, shadows.c, and new_character.c when NEW_WEATHER is not being used. This is reproducible in clean builds.

Share this post


Link to post
Share on other sites

On a side note: There are currently undefined references to use_fog and weather_use_fog in elconfig.c, gamewin.c, interface.c, shadows.c, and new_character.c when NEW_WEATHER is not being used. This is reproducible in clean builds.

Fixed in CVS.

Share this post


Link to post
Share on other sites

elconfig.c is broken again without USE_FRAMEBUFFER.

[Had to hack my client with '#ifdef USE_FRAMEBUFFER if ( .. ) ..; #else if ( 0 ) ; #endif else {..}' to compile.]

Edited by crusadingknight

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×