Commit graph

155 commits

Author SHA1 Message Date
Sven Eckelmann
29a9ddfa3b Add GNU/Hurd as operating system with "linux" userland
---
2010-07-13 21:37:54 +02:00
Richard Goedeken
2742eb8245 fix compiler warning 2010-05-19 18:00:01 -04:00
Richard Goedeken
d44e187eb1 merged Narann's branch for trilinear+anisotropic filtering 2010-05-18 19:22:05 -04:00
Richard Goedeken
eea0acb993 FreeBSD makefile patches from David Demelier 2010-05-16 12:52:55 -04:00
Narann
4c1523ba7e Add new option for fog generation.
Some games experience fog problems (like goldeneye with doors wich are not "fogged" while the rest of the scene is).

Before, you can only disable, or let n64 choose if an object have to be "fogged" or not.

With this new method, you can disable, let n64 choose, or force fog generation on all rendered objects.

Force fog generation can create probs on some game during rendering (goldeneye mission selection menu) but can increase visual quality of some games (Goldeneye doors).

I change option, it's no more "EnableFog" but "FogMethod" (wich is more explicite):

"Enable, Disable or Force fog generation (0=Disable, 1=Enable n64 choose, 2=Force Fog)"
2010-04-29 01:23:43 +02:00
dorian.fevrier
661e72950a Add Anisotropic filtering support and a new (and more efficient) mipmap generation fucntion.
Anisotropic filtering:
-This filtering method is independant of others (Bilinear and Trilinear) but only work with mipmaping.
-It create a new option in .cfg: "AnisotropicFiltering".
-Valid value are: 2-4-8-16

OGLGraphicsContext check if extension is avaible and get the maximum value of aniso supported by hardware (If user want less, it set this maximum value to the value user want).
I also add two methods:
-IsSupportAnisotropicFiltering() << Return the bool value
-getMaxAnisotropicFiltering() << Return max value of aniso to use (limited by hardware or user)

OGLTexture now need access to "OGLGraphicsContext.h" class to work well:
-It just apply max aniso value that OGLGraphicsContext return
-Little modifications about mipmap: gluBuild2DMipmaps has been remove (this remove a dep) for a better option: GL_GENERATE_MIPMAP wich automaticaly generate mipmap when glTexImage2D function is called (It's even possible that this is done directly by hardware. I hope this will remove ATI radeon lag with some games when mipmap is activated).
-Because we don't use two methods (one for mipmap: gluBuild2DMipmaps, and one without: glTexImage2D) because now we use GL_GENERATE_MIPMAP: glTexImage2D has been "factorised" and put to the end of the method.
2010-04-28 15:39:28 +02:00
dorian.fevrier
bbde333480 add trilinear support
- little rearrangement in some options order (in Config.h .cpp: texture filter, force, enhancement) in order to give a more "readeable code".
- Options text explanations are now more explicite in what they really do.
- TextureFilteringMethod is 1 by default (wich is Bilinear). Could be 2 (Trilinear) by default because current PC can easealy use it.
2010-04-19 11:55:57 +02:00
Narann
9b37fc00a5 Correct graphic bug with radeon and mipmap
If GL_TEXTURE_MIN_FILTER is set to GL_LINEAR (instead of GL_LINEAR_MIPMAP_NEAREST) before making mipmaping, it create graphic bugs, so GL_TEXTURE_MIN_FILTER has to be set to the correct status.
2010-04-19 00:33:19 +02:00
dorian.fevrier
bd64362c9d add trilinear support
- little rearrangement in some options order (in Config.h .cpp: texture filter, force, enhancement) in order to give a more "readeable code".
- Options text explanations are now more explicite in what they really do.
- TextureFilteringMethod is 1 by default (wich is Bilinear). Could be 2 (Trilinear) by default because current PC can easealy use it.
2010-04-15 12:20:53 +02:00
dorian.fevrier
7bafd611ae add mipmap support via a new option (EnableMipmaping) wich is "True" by default (better quality, not very expensive for current computers).
When EnableMipmaping is true, the texture filtering is Bilinear (except if your force no filtering):

GL_NEAREST (mag filter) + GL_LINEAR_MIPMAP_NEAREST (min filter) = two GL_LINEAR = Bilinear

(Trilinear will come soon)
2010-04-15 11:46:48 +02:00
dorian.fevrier
4e9482f2ea Correct a prob about linear and bilinear options wich make the same things.
Now ForceTextureFilter is used for what it has to do:
"Force to use texture filtering or not (0=auto: n64 choose, 1=no filtering, 2=force filtering)"

Also change the definition in cfg file to be more clear.

This don't choose wich filter you want or not, it only force to:
-Leave the N64 choose if it want to filter a texture or not
-Don't filter any texture (nearest neighbor
-Force filtering on all texture.

Filtering type (trilinear, anisotropic, etc...) will come soon. For now, the only filter is Bilinear without mipmap.
2010-04-14 20:14:38 +02:00
dorian.fevrier
f7e7285c93 Just a forget to close the parenthese (for the option cfg) 2010-04-14 19:47:37 +02:00
Sven Eckelmann
63b08dc58f Only use ld option -version-script on systems with GNU userland tools 2010-03-20 16:55:42 +01:00
Sven Eckelmann
77253e10dc Build kfreebsd and GNU/kFreeBSD like Linux 2010-03-19 12:16:38 +01:00
Sven Eckelmann
ec3df7a6f0 Export only functions which are part of the api
The g++ also exports symbols of implicit instantiations of templates. These
aren't part of the api and must not be accessed by any other part of
mupen64plus. We can use version-scripts to surpress these symbols without using
explicit instantiations of all templates we use.
2010-03-18 13:21:05 +01:00
Sven Eckelmann
d73c70b18c Make hidden symbols the default behavior of gcc 2010-03-18 12:23:41 +01:00
Sven Eckelmann
9dba7b8da7 Don't export inlined functions in C++ files 2010-03-18 11:12:15 +01:00
Sven Eckelmann
71e280b03f Reduced console output when running make without V=1 2010-03-18 10:59:29 +01:00
Sven Eckelmann
7420557160 Use separate CXXFLAGS environment variable when calling CXX 2010-03-18 10:10:59 +01:00
Richard Goedeken
1741b60a12 cleaned up FindScaleFactor function based upon r45 of the 1964 repo 2010-03-06 21:17:16 -05:00
Richard Goedeken
f0781ad64c bugfix: buffer overrun when reading vendor string info on some opengl implementations 2010-03-05 13:35:38 -05:00
Sven Eckelmann
460c85af24 Remove double variable assignments in a single statement 2010-03-04 23:32:38 +01:00
Sven Eckelmann
cc09c3179b Add automatically dependency tracking for C/C++ files
Every time a header is changed, the user had to cleanup the whole project and
then rebuild it. It is quite easy to fix and should help a lot when working on
the project. The dependency files will be created at the first run (when
dependency tracking isn't useful anyway) and should create nearly no overhead.
2010-03-04 22:58:12 +01:00
Richard Goedeken
fa515877d7 API Change: in Video plugin, ReadScreen() function was updated to ReadScreen2() which allows pixel reading from either front or back buffer, and uses user-supplied buffer to avoid crash when different modules (compiled against different standard libraries) malloc() and free() the buffer 2010-02-28 23:31:20 -05:00
Richard Goedeken
089800b753 slightly altered the logic in the multisampling activation code so that the GL_MULTISAMPLESAMPLES attribute will always be set to something 2010-02-26 11:17:07 -05:00
Richard Goedeken
0cf0c73e26 OpenGL multisample anti-aliasing patch from dorian.fevrier 2010-02-26 11:13:40 -05:00
GoedekenR
1f1fcb2a0e Fixed Win32 build error caused by cleanup of old zlib header files in src/liblinux/ 2010-02-23 08:29:58 -05:00
Richard Goedeken
e63c8c518c removed some unused header files in liblinux/ 2010-02-20 11:18:58 -05:00
Richard Goedeken
c0936158c1 makefile updates: use CFLAGS+= instead of CFLAGS=, rmdir _obj 2010-02-20 11:10:40 -05:00
Richard Goedeken
e87a089674 Added tag 1.99.3 for changeset d678704ba2d7 2010-02-13 17:28:31 -05:00
Richard Goedeken
5ae816dc27 Updated RELEASE file and version info for 1.99.3 tag 2010-02-13 17:28:28 -05:00
GoedekenR
9499cf0b97 Changed default ScreenUpdateSetting to 1 for Linux, and 4 for Windows - this seems to work better for many games
Removed all of the ScreenUpdateSetting=1 lines from the RiceVideoLinux.ini file
2010-02-13 10:52:14 -05:00
Richard Goedeken
f781230110 bugfix issue 329: remove some deprecated types and a function call to prevent build errors with libpng 1.4 2010-02-01 13:05:33 -05:00
Richard Goedeken
208febf8c6 fix another GCC warning introduced in last commit 2010-01-26 07:53:06 -05:00
Richard Goedeken
be6d310b6d check fread/fwrite return values and print error message, to avoid GCC warnings 2010-01-26 01:27:39 -05:00
GoedekenR
266968a4f8 Fix hi-res textures in Windows: 1. PNG read/write need to use callbacks for fread/fwrite to avoid crashes 2. osal_dir_search functions had to be re-written to remove static data, so recursive dir searching works 2010-01-26 01:16:50 -05:00
Richard Goedeken
5af4a725c4 fixed bugs in Rice Video hi-resolution texture loading, based on Tillin9's rev 1337 SVN changes, but without the additional problems introduced in this code 2010-01-25 22:40:40 -05:00
Richard Goedeken
4847a551f6 merged functional changes from Tillin9's svn commits (rev 1329 and 1335) in the r1142-rice-video-gtk-refactor branch of the old mupen64plus svn repo. This change removes some pixel type checks/enforcement in the hi-res texture loading 2010-01-24 20:42:54 -05:00
Richard Goedeken
2d52690003 bugfix #257: added to makefile OS type GNU/kFreeBSD 2010-01-20 21:58:00 -05:00
Richard Goedeken
02e7a2b0ec fix for bug in ConvertImage.cpp found by Dorian Fevrier; none of the 4-bit conversion functions could handle 1-pixel wide textures 2010-01-13 23:25:10 -05:00
Richard Goedeken
e2a2be6817 bugfix: opengl does not allow calling the glGetError function between glBegin() and glEnd(), and these functions are called inside of them 2010-01-11 23:43:50 -05:00
Richard Goedeken
ff1d93ec87 sync with core<-->plugin API change for RomOpen() 2010-01-11 23:08:12 -05:00
Richard Goedeken
a20f82c2d8 made my own opengl extension function pointer typedefs, to avoid compilation errors with some certain linux drivers which include hosed gl.h headers and result in no PFN* types being defined 2010-01-07 23:11:33 -05:00
Richard Goedeken
faffbdd10f Added tag 1.99.2 for changeset 8305c540efb4 2010-01-06 23:44:27 -05:00
Richard Goedeken
db0d089fe5 Updated RELEASE and version info for 1.99.2 tag 2010-01-06 23:44:22 -05:00
GoedekenR
5bc01ebf31 bugfix: fix fragment program combiner for Intel drivers in Win32, by ensuring that program does not allocate unused temp vars or call TEX commands for texture units that are not enabled
new feature: compile-time option for opengl debugging by calling glGetError after each opengl command (except inside of glBegin/glEnd)
2010-01-06 21:48:44 -05:00
Richard Goedeken
3cd28aeeea for an experiment, restore the old behavior of the rice video code: purging textures every 5 milliseconds. For some reason if textures are purged in TextureManager at every possible opporutnity, or never, or every 2 seconds, the face textures in the mario kart self-play get wacky. But if the purge interval is 5 milliseconds then it looks okay. more investigation is needed 2010-01-04 23:56:16 -05:00
GoedekenR
36f8511819 fixed MSVC warning and forced default Combiner to OGL_1.1 for Windows, because others crash or dont work 2010-01-03 10:09:14 -05:00
GoedekenR
490781a08f bugfix: get release build working in VC project file
print debug message if GL_GetProcAddress() fails in OGLExtensions
use ALIGN() for aligned data member declarations in header files as well as the definitions in CPP files
2010-01-02 15:31:06 -05:00
GoedekenR
26b90952e8 Add OGLExtensions.h/cpp to the MSVC8 project file. Now this plugin builds and runs under win32 2009-12-28 03:10:37 -05:00