Commit graph

499 commits

Author SHA1 Message Date
Richard Goedeken
05747e6cb8 merged changes from ecsv's fork 2011-09-08 21:23:53 -07:00
Richard Goedeken
6af85f2e76 dont call CoreVideo_Init() inside of the InitializeGFX() function. Instead, only call this within RomOpen. This will fix some front-end use cases 2011-09-07 21:29:16 -07:00
Sven Eckelmann
e2264fa1c1 Ignore generated files in hg-status 2011-08-29 14:30:48 +02:00
Sven Eckelmann
10a5335845 Scale highres textures by precalculated scaleShift exponent
The highres textures should be created in a buffer with the size calculated
from the desired native size and the size of the highres texture. The size used
here should be 2**scaleShift as calculated by FindScaleFactor. This information
is later used to correctly clamp and mirror textures. Therefore,
(2**scaleShift)*(Width|Height)ToCreate is the size of the final texture and
(2**scaleShift)*(Width|Height)ToLoad is the size of the texture information
which are loaded from the external image. The mirror factor is already part of
the (Width|Height)ToCreate value and it must not be multiplied by it again to
get the texture buffer size.
2011-08-14 16:46:45 +02:00
Sven Eckelmann
44523a6580 Enable ppc(64) as experimental target
nogagplz tested mupen64plus on 32-bit ppc and didn't detect any big show
stoppers with interpreter cores and the mupen64plus example rom. This makes the
PowerPC an interesting target for further tests and may reveal other endianness
problems.
2011-08-05 10:46:18 +02:00
Sven Eckelmann
118864a14a Enable PIC depending on architecture instead of bits only
nogagplz noticed on ppc32 that PIC is necessary to compile everything as shared
object. Therefore, it seems to be a better idea to have architecture specific
PIC default settings instead of checking only whether it is a 32 or 64 bit
architecture.
2011-08-05 10:32:08 +02:00
Sven Eckelmann
fe7b30cf5c Enable big endian mode on ppc and ppc64 2011-08-05 10:19:22 +02:00
Sven Eckelmann
cdbf3ba71d Strip binaries during install 2011-07-23 21:22:53 +02:00
Sven Eckelmann
d66b87a477 Synchronize MipMapping options in Arachnoid and Rice 2011-07-18 09:33:11 +02:00
richard42
c8e779c7ce win32 fixes 2011-07-11 23:04:30 -07:00
Sven Eckelmann
7d8e699ab5 Fix z coordinate in 3d line rendering 2011-07-10 23:45:41 +02:00
Sven Eckelmann
9307c3c1c2 Remove write-only member variables m_bClampS and m_bClampT
Write access to m_bClampS and m_bClampT resulted in memory corruption due to
write access outside of the array bounds. It is never read and thus it can
savely be removed.
2011-07-10 23:33:53 +02:00
Sven Eckelmann
a7ab22c4c3 Fix double infinit loop in GetValidTmemInfoIndex 2011-07-10 23:15:43 +02:00
Sven Eckelmann
58c75b178e Replace movsxl with more portable mnemonic movslq 2011-07-10 23:02:20 +02:00
Sven Eckelmann
b78a44d891 Add header for undefined min/max/memcpy 2011-07-10 22:19:59 +02:00
Sven Eckelmann
b42ff04b15 Allow to force PIC to remove text relocations 2011-07-10 13:37:55 +02:00
Sven Eckelmann
81fae8df01 Fix linker search for libstdc++.so 2011-07-08 08:24:38 +00:00
Sven Eckelmann
13b7ac0506 Inform user about the possibility to make the build verbose 2011-07-03 18:04:48 +02:00
Sven Eckelmann
6a798b46b8 Set changeable default compiler optimization option 2011-07-03 18:03:15 +02:00
Sven Eckelmann
95636b27be Synchronize build rules with standard gnu make rules 2011-06-27 13:00:05 +02:00
Sven Eckelmann
e6701133b2 Test for essential build dependencies before getting their cflags/libs 2011-06-27 11:36:11 +02:00
Sven Eckelmann
3277b4a7bd Add OpenBSD as half-supported OS with FreeBSD userspace tools 2011-06-26 18:37:19 +02:00
Sven Eckelmann
a82015b515 Remove -v parameter of install which is not available everywhere 2011-06-26 18:29:26 +02:00
Sven Eckelmann
92aaa7078f Split LIBDIR in LIBDIR and PLUGINDIR for consistency between modules 2011-06-26 02:05:07 +02:00
Sven Eckelmann
0eda445e6d Mark local only functions as static or fix their definition 2011-06-25 23:38:14 +02:00
Sven Eckelmann
c86557d01c Don't use plain 0 for pointers 2011-06-25 23:19:12 +02:00
Sven Eckelmann
0f903c28f0 Remove carriage return from line ending 2011-06-25 23:03:55 +02:00
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