Commit graph

222 commits

Author SHA1 Message Date
Sven Eckelmann
958dcbd633 Fix check for __PIC__ 2011-06-25 21:35:30 +02:00
Sven Eckelmann
17dfb439a4 Fix compilation with BITS=32 when using gcc-4.6 2011-06-25 21:29:58 +02:00
Sven Eckelmann
6db28528cf Use function prototypes defined by core and fix definition of InitiateGFX 2011-06-25 21:23:32 +02:00
Sven Eckelmann
814fbfbf9c Remove unused variables 2011-06-25 16:01:37 +02:00
Sven Eckelmann
66c5c1629d Remove unneccessary define PIC 2011-06-25 15:09:33 +02:00
Sven Eckelmann
c89a263b8a Don't override optimisations set by linux build environment 2011-06-25 14:39:08 +02:00
Sven Eckelmann
b1afe8c681 Use pkg-config as more portable way to find gl and libpng 2011-06-25 11:30:31 +02:00
Richard Goedeken
6aa95c95ed updated video plugin for new Mupen64plus 2.0 API versioning scheme 2011-05-16 21:50:33 -07:00
Richard Goedeken
5e7eb9272a merged with hi-res texture bugfix 2011-04-09 21:14:51 -07:00
Richard Goedeken
1cd82225ce 1. Update API with Core for new GL_GetAttribute video extension function. 2. Use GL_GetAttribute to check on values of GL attributes after creating the screen. 3. Add new VerticaSync option in VideoGeneral section to enable SDL_GL_SWAP_CONTROL 2011-04-09 21:13:33 -07:00
Richard Goedeken
7dd830c3a9 bugfix: fix crash in loading Celda 2009 hi-res texture pack for Zelda Ocarina of Time 2011-04-08 20:28:33 -07:00
Richard Goedeken
4efe47dcec bugfix from oelson on bitbucket: Perfect Dark randomly crashes due to divide-by-zero error 2011-01-08 20:48:51 -05:00
Richard Goedeken
f626dc2462 fixed syntax error from previous commit 2010-12-28 23:59:50 -05:00
Richard Goedeken
a1e7f0ea11 fix errors when using some texture packs that have PNGs saved in the wrong format (8-bit PNG but should be true color) 2010-12-28 18:29:10 -05:00
Richard Goedeken
e656ecd5db Added tag 1.99.4 for changeset 985e7027bd8d 2010-11-22 20:55:42 -05:00
Richard Goedeken
16de1338cf updated version and RELEASE info for 1.99.4 tag 2010-11-22 20:50:16 -05:00
Sven Eckelmann
5334167405 Add dummy PATH_MAX on systems without it
Posix only defines that PATH_MAX may is defined through limits.h.
GNU/Hurd has removed this definition without violating the standards.

Mupen64Plus still relies on it and we work around that problem by
defining PATH_MAX as 4096 in all places it is needed. This is not 100%
correct as their are ways to generate longer paths, but mupen64plus must
be heavily refactored in some places to fix the actual problem.
2010-07-13 21:39:39 +02:00
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