Commit Graph

469 Commits

Author SHA1 Message Date
Mitchell Stokes
3627541894 BGE: Fixing the memory leaks reported when the BlenderPlayer exits.
They were caused by not having a free_windowmanager_cb set and by not having registered SpaceTypes, which meant data allocated for thosse SpaceTypes could not be freed. These were solved by defining a free_windowmanager_cb for the player that just frees wmWindows, and by making sure we only allocate memory for registered SpaceTypes.
2013-08-10 21:17:46 +00:00
Mitchell Stokes
98176b4e1e BGE: Making sure the BlenderPlayer calls Py_Finalize(). 2013-08-06 02:05:32 +00:00
Mitchell Stokes
29f8dfd37a BGE: Adding vsync control. Users can enable vsync, disable vsync, or use adaptive vsync via UI options in the render properties, or by using the new Python method bge.render.setVsync(). Win32 and X11 support are done via EXT_swap_control. Support for using EXT_swap_control on OS X still needs to be added to Ghost. 2013-07-29 22:31:32 +00:00
Daniel Stokes
4f8fd8c68b BGE Fix [#18804] Shadow type faces cast onto invisible faces (non-GLSL)
Changing the RayHit method to ignore invisible faces
2013-07-25 23:42:20 +00:00
Campbell Barton
3ff3d1bc0f replace use of strcat() where the string offset is known.
also correct bad logic with converting a textblock to 3d-text, bytes-vs-number of chars wasn't handled right.
2013-07-23 12:49:30 +00:00
Daniel Stokes
ff165fa986 Re fixing BGE bug [#36223] Strange page fault of "Game" actuator
Thanks to Campbell for helping me get a better fix put together.
2013-07-20 03:01:50 +00:00
Mitchell Stokes
efad3eb928 Add the Boost include to the right CMakeLists.txt... 2013-07-20 01:17:00 +00:00
Mitchell Stokes
81769b4f58 More build fixes for r58428. 2013-07-20 01:15:36 +00:00
Mitchell Stokes
f84563d213 SCons fix for r58428. 2013-07-20 01:09:16 +00:00
Mitchell Stokes
5645d9f720 Removing source files from source/gameengine/GamePlayer/common/SConscript that were removed in an earlier commit. This should allow SCons to build the game engine again. 2013-07-20 00:51:05 +00:00
Campbell Barton
a2a99bbc17 edit to r58425, BLI_math is available here, better not copy,paste from linearrgb_to_srgb.
also remove redundant check in AUD_FFMPEGReader::seek.
2013-07-20 00:35:41 +00:00
Mitchell Stokes
cf62de6c6d BGE: Partial fix for [#36151] "Distance model not carrying over to standalone" reported by Florian Schneider (drjaska).
The Blenderplayer wasn't initializing 3D audio settings from the scene settings like the embedded player was.
2013-07-19 23:31:45 +00:00
Mitchell Stokes
eb21bdd249 Merging changes from trunk r58091-58323. 2013-07-17 01:40:26 +00:00
Campbell Barton
02ba328ca8 clang/cmake - quiet warnings for external libs and reference moto as a system include. 2013-07-15 08:26:16 +00:00
Mitchell Stokes
f6502a67f2 BGE cleanup: Getting rid of an unused variable warning in GPG_Canvas::Init(). 2013-07-09 01:42:13 +00:00
Mitchell Stokes
b73793f636 BGE cleanup: removing some unused code from GPC_Canvas. 2013-07-09 01:34:23 +00:00
Mitchell Stokes
60812e0260 BGE cleanup: Removing the GamePlayer/xembed folder and associated build options. This code was very old and not used. For example web player code, look at Burster. 2013-07-09 01:24:51 +00:00
Mitchell Stokes
a6d26cb665 BGE cleanup: GPC_System was an empty class, so I'm dropping it and having GPG_System inherit directly from KX_ISystem. 2013-07-09 01:18:48 +00:00
Mitchell Stokes
7b8453b164 BGE cleanup: removing various unused code and files from GamePlayer/common. 2013-07-09 01:14:52 +00:00
Mitchell Stokes
5b3106b89d BGE cleanup: removing unused banner code from GPC_Canvas. 2013-07-09 01:04:49 +00:00
Mitchell Stokes
c3d70a9baf BGE: Fix for [#34185] "billboard scale problem in groups" reported by Tobias Lijsen (blenderhilfe).
Use world scaling instead of local scaling when billboarding so we get all inherited scaling.
2013-06-24 08:26:05 +00:00
Daniel Stokes
23c0e0d996 BGE: fix [#35811] Blenderplayer crash on closing if file saved with an actual version.
Making sure free_nodesystem() is called before BLO_blendfiledata_free() fixes the problem. free_nodesystem() relies on blendfiledata.
2013-06-24 04:21:17 +00:00
Inês Almeida
5d28a6bb58 Minor code cleanup in 'source/gameengine/GamePlayer/ghost/GPG_Application.cpp'.
Removed a function call with no effect and merged two other lines for legibility.
This commit was reviewed by Moguri.
2013-06-22 09:04:33 +00:00
Mitchell Stokes
92aca19eda BGE: Fix for [#35815] "makeScreenshot() relative path not working in Blenderplayer" reported by HG1.
Someone forgot to add relative path expansion (BLI_path_abs) to the Blenderplayer...
2013-06-22 05:27:28 +00:00
Mitchell Stokes
d3fc2bd95b BGE: Fix for [#33163] "Text Font Bug" reported and fixed by HG1.
The embedded player was calling glPolygonMode(GL_FRONT_AND_BACK, GL_FILL) before rendering font objects, but someone forgot to add this to the Blenderplayer.
2013-06-20 22:37:55 +00:00
Mitchell Stokes
4eded6dbdc BGE: Fix for [#35479] "OSKEY (Command Key on Mac) not working" reported by Mike Pan (mpan3).
The OSKEY was never added to the game engine, so it didn't recognize it.
2013-06-20 03:22:55 +00:00
Campbell Barton
9cf6e305a9 split bge includes for scons onto their own lines (for easier merging) 2013-05-29 21:56:55 +00:00
Jürgen Herrmann
3d3a4e8eec Patch [#35234]:
Fix GetWindowsLon and SetWindowsLong issues with VS2012 and Windows 8.
Remove unneeded #ifdef block for GWL_WNDPROC and GWL_USERDATA
2013-05-13 20:27:05 +00:00
Mitchell Stokes
dbf4328f3f BGE: Adding a render.setFullScreen() and a render.getFullScreen() to allow fulscreening games via Python. 2013-04-13 21:09:02 +00:00
Dalai Felinto
1c80388a73 bge fix: framing mode "Expanded" not updated when resizing blenderplayer
now, with a 'resize' routine for the engine we can/should also recreate some
buffers that are created only at init time (e.g., 2d filters, dome fbos, ...).

This bug was always present in Blender (since 2.49 at least).

Bugfix supported by NF-UBC Nereus Program as part of the development
of OceanViz/NereusViz
2013-04-12 01:52:30 +00:00
Brecht Van Lommel
d579ea2901 Fix #34863: bge.render.makeScreenshot from Blender was only saving PNG files,
while the docs said it followed the settings in the Output panel, other file
formats work now.

Benderplayer still only saves PNG now as documented, but I cleaned up the code
there to reuse existing imbuf functions rather than using own libpng code.
2013-04-04 14:00:31 +00:00
Campbell Barton
64d161de87 style cleanup:
also rename mesh_getVertexCos() --> BKE_mesh_vertexCos_get() to match curve function.
2013-03-26 07:29:01 +00:00
Campbell Barton
09c41019a8 use const pointers for file loading and booleans for animation system return values passed as pointers. 2013-03-17 19:13:04 +00:00
Irie Shinsuke
5792e77239 Patch [#34373] Use i18n monospace font in Text editor and Python console
This patch allows Blender to display i18n monospace font in the text
editor and the Python interactive console. Wide characters that occupy
multiple columns such as CJK characters can be displayed correctly.
Furthermore, wrapping, selection, suggestion, cursor drawing, and
syntax highlighting should work.

Also fixes a bug [#34543]: In Text Editor false color in comment on cyrillic

To estimate how many columns each character occupies, this patch uses
wcwidth.c written by Markus Kuhn and distributed under MIT-style license:

  http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c

wcwidth.c is stored in extern/wcwidth and used as a static library.

This patch adds new API to blenfont, blenlib and blenkernel:

BLF_get_unifont_mono()
BLF_free_unifont_mono()
BLF_draw_mono()
BLI_wcwidth()
BLI_wcswidth()
BLI_str_utf8_char_width()
BLI_str_utf8_char_width_safe()
txt_utf8_offset_to_column()
txt_utf8_column_to_offset()
2013-03-12 07:25:53 +00:00
Campbell Barton
2921d48239 code cleanup: unused vars in collada, preprocessor formatting & warning in mingw.
also compiling without bullet needed a stub added.
2013-03-04 00:53:57 +00:00
Campbell Barton
963b1c1b16 fix for own commit r54806 with argument order and multisampling. 2013-02-24 10:50:33 +00:00
Campbell Barton
630a31a900 fix for fullscreen on X11 (used by the BGE, not blender application),
changing the screen resolution wasn't still allowed for larger virtual desktops.

added an exclusive option to ghost so the fullscreen window is ignored by the window manager and we get all events. (common practice for games on X11).
2013-02-24 05:05:29 +00:00
Campbell Barton
c42b51ed96 GHOST/X11 - free memory allocated by XF86VidModeGetAllModeLines(),
Comment from Zr says this crashes but looks like this was because there was no check if the function failed to allocate to begin with.
2013-02-23 23:15:38 +00:00
Mitchell Stokes
b3c0896967 BGE: Fix for bug #34219 "Webcam support under Linux in Standalone broken" reported by Thomas Achtner (offtools).
No one bothered to update the player for ffmpeg changes made in August 2012. This meant the player was no longer calling avdevice_register_all(), and  ffmpeg would fail to open web cam streams.
2013-02-22 20:37:14 +00:00
Bastien Montagne
dd83387e0b And one more "G.main" compile fix, this time for BGE ;) 2013-02-05 13:31:59 +00:00
Campbell Barton
69993c5d40 style cleanup: spaces -> tabs 2013-02-04 00:18:09 +00:00
Campbell Barton
9da4cab9fd style cleanup: comment format 2013-02-02 04:48:21 +00:00
Dalai Felinto
3a1ee13278 BGE Profile : visual feedback bars and improvements
You can see a screenshot of the funcionality here:
http://wiki.blender.org/index.php/Doc:2.6/manual/Game_Engine/Performance/Display/Framerate_and_Profile

This patch creates a bar-like graph to quickly allow the game dev to see the performance changes.
Also it changes the font to monospace (too allow ' ' padding) and reduced shadow border to
match the blenderplayer one.

Patch finalized and commited at Global Game Jam Vancouver (last one, time to sleep forever now)
2013-01-28 01:26:36 +00:00
Mitchell Stokes
62b6303735 BGE: Fixing an assert with the canvas' GetViewPort(). bf_gpu was changing the viewport when handling shadow buffers. KX_LightObject::BindShadowBuffer() now updates the canvas with the new viewport information from bf_gpu. 2012-12-25 06:20:50 +00:00
Mitchell Stokes
a1c9241797 BGE: "Fix" for issue [#33663] "Objects Share Materials / Textures When Grouped In SingleTexture / MultiTexture Mode" reported by Josiah Lane (solarlune).
This commit adds a UI option in the Render properties to enable the new material caching in the converter. This caching can cause problems with Singletexture and Multitexture materials when texface is being used to handle materials. By default this option is enabled and users with broken games have two options:

  1) Fix up their materials so they are properly using textures
  2) Disable the material caching and take a speed hit during conversion time

Regardless of the setting, caching is always enabled for GLSL materials.
2012-12-24 03:13:53 +00:00
Campbell Barton
3bc3e178b3 style cleanup 2012-12-20 00:29:31 +00:00
Mitchell Stokes
ef0473994b BGE: Some as of yet unmerged work I did in the Swiss branch. These changes include:
* Cleaning up the conversion code to avoid a per-face material conversion. Materials are now stored in buckets and only converted if a new material is found. This replaces some of Campbell's earlier work on the subject. His work wasn't as thorough, but it was much safer for a release.
  * Shaders are only compiled for LibLoaded materials once. Before they could be compiled twice, which could really slow things down.
  * Refactoring the rasterizer code to use a strategy design pattern to handle different geometry rendering methods such as immediate mode, vertex arrays and vertex buffer objects. VBOs are added, but they will be disabled in a following commit since they are still slower than vertex arrays with display lists. However, VBOs are still useful for mobile, so it's good to keep them around.
  * Better multi-uv support. The BGE should now be able to handle more than two UV layers, which should help it better match the viewport.
2012-12-18 20:56:25 +00:00
Bastien Montagne
ab2c273b12 Added GPL header to sconscripts!
Also changed shebang to '#!/usr/bin/env python', this is more portable across unixes...
2012-12-17 08:01:43 +00:00
Brecht Van Lommel
c6961305df Fix game player still not using fast GPU mipmap generation, user preferencs
are not actually used here.
2012-12-11 08:01:16 +00:00
Brecht Van Lommel
5bb576e8e4 Fix #33417: add back GPU Mipmap Generation option, apparently with this disabled
it takes up less memory on some cards, still unclear why.
2012-12-05 11:46:13 +00:00
Campbell Barton
2f97f929a5 fix for bug in console indent, was not copying the null terminator.
also add assert to catch this case more quickly.
2012-12-01 06:29:04 +00:00
Brecht Van Lommel
134bbf3791 GPU: remove GPU Mipmap Generation option and just always enable it, it's an old
OpenGL 1.4 feature that is stable, there's no reason not to use it. Also fixed
GPU mipmap generation not working in the game player.
2012-11-27 22:51:28 +00:00
Mitchell Stokes
5af5f2f21c BGE: The blenderplayer usage docs mentioned "enable all frames" was "fixedtime," but the player was actually looking for "fixed_framerate." Since fixedtime doesn't have a fixed framerate, but a fixed time step, I change the player to look for the documented flag, "fixedtime," which makes more sense. 2012-11-25 07:42:41 +00:00
Sergey Sharybin
5c6f6301b0 Image thread safe improvements
This commit makes BKE_image_acquire_ibuf referencing result, which means once
some area requested for image buffer, it'll be guaranteed this buffer wouldn't
be freed by image signal.

To de-reference buffer BKE_image_release_ibuf should now always be used.

To make referencing working correct we can not rely on result of
image_get_ibuf_threadsafe called outside from thread lock. This is so because
we need to guarantee getting image buffer from list of loaded buffers and it's
referencing happens atomic. Without lock here it is possible that between call
of image_get_ibuf_threadsafe and referencing the buffer IMA_SIGNAL_FREE would
be called. Image signal handling too is blocking now to prevent such a
situation.

Threads are locking by spinlock, which are faster than mutexes. There were some
slowdown reports in the past about render slowdown when using OSX on Xeon CPU.
It shouldn't happen with spin locks, but more tests on different hardware would
be really welcome. So far can not see speed regressions on own computers.

This commit also removes BKE_image_get_ibuf, because it was not so intuitive
when get_ibuf and acquire_ibuf should be used.

Thanks to Ton and Brecht for discussion/review :)
2012-11-15 15:59:58 +00:00
Campbell Barton
050f09aa6c buildsystem cleanup: remove duplicate source & includes for scons,
add a check for duplicates in BlenderLib()m, if 0'd now.
2012-11-14 01:41:24 +00:00
Bastien Montagne
5ff3017900 Replacing gettext i18n backend by boost::locale one.
This commit adds a small and simplistic C wrapper around boost's locale library as intern/locale, and heavily simplifies/reduces Blender's own i18n code (under blenfont/ dir). And it adds back UI translation on windows' official builds (with msvc)!

Note to platform maintainers: iconv and gettext (libintl) can now be removed from precompiled libs (not gettext binaries, under windows, of course ;) ).

Note to MinGW32/64 users: boost_locale lib has not yet been uploaded for those build env, please disable WITH_INTERNATIONAL for now (hopefully will be fixed very soon, have contacted psy-fy).
2012-11-11 16:54:26 +00:00
Campbell Barton
5a29885007 code cleanup: bge static functions & use C++ guarded alloc for the character class. 2012-11-09 23:47:06 +00:00
Campbell Barton
ff014a3077 code cleanup: cmake - add missing headers, remove directories from source listing.
also remove logImageLib.c - empty file.
2012-11-03 15:49:38 +00:00
Campbell Barton
25591e958d style cleanup: tabs & whitespace 2012-11-03 15:35:03 +00:00
Bastien Montagne
b5e85cae70 New "dynamic" i18n menu.
Now both UI translation menu (in userprefs) and isocodes are defined in a text file (release/datafiles/locale/languages), parsed at lunchtime. This way:
* No more need to edit Blender code each time we want to add an new language or reorganize the existing menu;
* Translators can easily add a new language for testing, by just editing the text file, so no more need to ask to change Blender code and wait for a new build to see your new translation work in Blender!

Remaining todo:
* Commit i18n py tools
* Update wiki doc!
2012-10-22 14:04:40 +00:00
Campbell Barton
ddc2dbc2a4 style cleanup 2012-10-22 08:15:51 +00:00
Campbell Barton
d599b643b7 style cleanup: bge, switch statements mostly.
also left bmesh decimator on in previous commit.
2012-10-21 07:58:38 +00:00
Campbell Barton
4d4664d98f code cleanup: check for msvc directly when using warning pragma's. 2012-10-15 02:15:07 +00:00
Mitchell Stokes
64b187a928 Blenderplayer: Fixing a crash on startup when the graphics driver tried to use uninitialized memory. I had fixed this previously in Swiss, but it looks like I missed grabbing the fix when bringing the GetViewPort() changes into trunk. 2012-10-14 04:22:38 +00:00
Campbell Barton
97d4fb4161 code cleanup: make header defines more consistent, JOYSENSOR header guard had a typo too. 2012-10-09 13:36:42 +00:00
Mitchell Stokes
244ce92dbd BGE: Setting up the RAS_ICanvas interface as the primary way to alter the OpenGL
viewport. This helps to eliminate OpenGL calls in weird places like the physics
code and to reduce glGet calls, which are expensive.

There should be no functional changes (except maybe a very slight speed improvement).
2012-10-08 03:28:11 +00:00
Mitchell Stokes
99dd59f08c BGE: Disable depth testing when drawing the overhead profile information in the Blenderplayer. This keeps the text from being blocked by geometry in the scene. 2012-10-08 01:25:21 +00:00
Campbell Barton
aa49ca25d5 incorrect spelling in comments 2012-09-26 20:05:38 +00:00
Campbell Barton
2fb8292005 style cleanup 2012-09-16 04:58:18 +00:00
Campbell Barton
04b5ef20f1 style cleanup: indentation 2012-09-06 02:20:03 +00:00
Mitchell Stokes
e5a1b1b526 Fix for [#32469] "standalone blenderplayer no longer starts in lastest build" reported by narutocanada. It looks like the Hive commit (r50310) didn't take changes from r49998 into account, so it was still relying on Ghost events to push the engine along instead of calling app->EngineNextFrame(). 2012-09-04 02:33:37 +00:00
Campbell Barton
aaafa0c2fe code cleanup: move file string defines into BLI_path_utils.h, BKE_utildefines is now unused but keep incase we want to add defines there later. 2012-09-03 22:04:14 +00:00
Benoit Bolsee
53f343edd7 ..\commmit_hive.txt 2012-09-01 21:23:05 +00:00
Campbell Barton
ee96cde864 style cleanup: whitespace 2012-08-26 11:35:43 +00:00
Mitchell Stokes
e4a6602a9a Fix for [#32361] "Blenderplayer quad-buffer maximum 100Hz Fps" reported by HG1.
Allowing the Blenderplayer to break 100fps by making it less dependent on Ghost's messages.
2012-08-18 23:46:37 +00:00
Campbell Barton
b96c622015 style cleanup 2012-08-11 22:12:32 +00:00
Campbell Barton
9b51503307 style cleanup 2012-07-21 22:58:08 +00:00
Campbell Barton
8b865c01cd style cleanup: comments 2012-06-30 22:49:33 +00:00
Campbell Barton
d5032657ed style cleanup 2012-06-06 22:38:39 +00:00
Brecht Van Lommel
e45530ef8f Fix #31366: check to enable opengl quadbuffer stereo was wrong, causing it to
not work and making other stereo modes not work when the graphics card did not
support quadbuffer stereo.
2012-05-09 11:11:35 +00:00
Campbell Barton
34b18fcbc1 code cleanup: BKE_ naming, also make bpy.data.images.load() always load a new image. (not use existing one) 2012-05-05 14:52:04 +00:00
Brecht Van Lommel
885c4a6e78 Fix #31273: videotexture ImageRender not working in blenderplayer. 2012-05-03 14:59:42 +00:00
Campbell Barton
b4a0152e76 code cleanup: float formatting was confusing in some cases - eg: (0.,0.,0.) 2012-04-11 08:15:13 +00:00
Campbell Barton
5b88712ff9 move debug flag into its own global var (G.debug), split up debug options.
--debug
  --debug-ffmpeg
  --debug-python
  --debug-events
  --debug-wm

This makes debug output easier to read - event debug prints would flood output too much before.

For convenience:
  --debug-all turns all debug flags on (works as --debug did before).

also removed some redundant whitespace in debug prints and prefix some prints with __func__ to give some context.
2012-03-31 00:59:17 +00:00
Mitchell Stokes
a308b6c0ec Windows Blenderplayer: The console now closes when the Blenderplayer launches (like it does with Blender). To get it back, use the -c flag, which is finally working as described: "-c: keep console window open" 2012-03-29 01:40:19 +00:00
Campbell Barton
07065b27b8 style cleanup 2012-03-28 05:03:24 +00:00
Campbell Barton
b8a71efeba style cleanup: follow style guide for/with/if spacing 2012-03-24 07:52:14 +00:00
Campbell Barton
89a963fb7f style cleanup: comment blocks 2012-03-09 18:28:30 +00:00
Campbell Barton
640d766370 style cleanup - remove unneeded ';'s 2012-03-08 03:05:57 +00:00
Campbell Barton
7bbf4b7831 style cleanup
- spelling - turns out we had tessellation spelt wrong all over.
- use \directive for doxy (not @directive)
- remove BLI_sparsemap.h - was from bmesh merge IIRC but entire file commented and not used.
2012-03-02 16:05:54 +00:00
Campbell Barton
ea13ec1699 Spelling Cleanup 2012-03-01 12:20:18 +00:00
Campbell Barton
47c373c7a9 style cleanup (mostly whitespace) 2012-02-27 10:35:39 +00:00
Campbell Barton
b8e019d839 use __ prefix on header guards to avoid mixing up defines with api functions / classes. 2012-02-23 10:41:31 +00:00
Benoit Bolsee
2478db9d37 BGE bug #30173: ImageRender not working when initialized on frame 1. This was because the canvas display area was initialized on render frame 1, which happens after logic frame 1. Fixed in blender and player by initializing the area on canvas creation. 2012-02-18 15:25:31 +00:00
Dalai Felinto
91058355cc font objects in blenderplayer fail when object with alpha is rendered
the embed bge has its own DisableForText() routine which prepares the GL flags for the text render.

For some reason blenderplayer is taking a slim approach and going straight for the rendering. This routine helps to address this bug/case (non reported, foundin my own project files). If need arises we should move this to its own routine incorporating the other GL tests the embed bge performs.
2012-02-14 18:23:58 +00:00
Dalai Felinto
17dadffd66 reverting commit [43876] Fix for aliased fonts in the game engine 2012-02-10 06:18:32 +00:00
Dalai Felinto
e90e522942 bugfix [#30127] alpha in FontObjects not working in blenderplayer 2012-02-10 05:10:52 +00:00
Alex Fraser
a05fdb837b Fix for aliased fonts in the game engine.
- Mipmaps are generated in BLF when drawing text in-game. In that case, padding around each glyph is increased to prevent bleeding.
 - Texture filtering is turned on for in-game text.
 - All glyphs are now "twisted": the leading edge is brought a small distance forward, to prevent z-fighting in overlapping (kerned) glyphs. This happens both in the game engine and the rest of the UI, but should have no effect in the UI due to Z-compression in the clipping matrix.
Reviewed and approved by bdiego; see patch [#29882] in the tracker. Tested by dfelinto.
2012-02-04 01:51:59 +00:00
Mitchell Stokes
686ce92fe8 Committing patch "[#27676] Change window size/resolution in realtime" by me.
Description:
This patch allows the user to change the size of the window (or the resolution in fullscreen mode) using the new bge.render.setWindowSize() method. This only works in the Blenderplayer since it doesn't make a whole lot of sense for the embedded player.
2012-01-22 20:25:25 +00:00
Campbell Barton
ae9b4b81cb opengl render save ignored alpha settings. also some FILE_MAX defines missed last commit. 2012-01-16 06:43:58 +00:00