ttlanhil Report post Posted December 30, 2005 (edited) 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 December 30, 2005 by ttlanhil Share this post Link to post Share on other sites
Wytter Report post Posted December 30, 2005 (edited) 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 December 30, 2005 by Wytter Share this post Link to post Share on other sites
Lachesis Report post Posted December 30, 2005 (edited) 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 December 30, 2005 by Lachesis Share this post Link to post Share on other sites
Vegar Report post Posted December 30, 2005 ATI_9200_FIX should be a runtime option, not a compile option. Share this post Link to post Share on other sites
Entropy Report post Posted December 30, 2005 Let's just wait until the update before removing them, just to be safe. Share this post Link to post Share on other sites
Lachesis Report post Posted January 2, 2006 (edited) 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 January 2, 2006 by Lachesis Share this post Link to post Share on other sites
Vegar Report post Posted January 2, 2006 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) Share this post Link to post Share on other sites
ttlanhil Report post Posted January 3, 2006 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
Lachesis Report post Posted January 5, 2006 Let's make a bugfixes tab xD Share this post Link to post Share on other sites
crusadingknight Report post Posted January 5, 2006 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
Vegar Report post Posted January 6, 2006 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
crusadingknight Report post Posted January 7, 2006 (edited) 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 January 7, 2006 by crusadingknight Share this post Link to post Share on other sites