Commit graph

499 commits

Author SHA1 Message Date
Dorian Fevrier
9f7085ed6f Remove deprecated conditions and a unused variable 2014-04-06 15:01:00 -04:00
Richard Goedeken
a2e6b62a3f Merge pull request #4 from krnlyng/gles
add an option to build against GLES2 instead of OpenGL
2014-02-04 18:44:48 -08:00
Frajo Haider
2742a0ceb5 add an option to build against GLES2 instead of OpenGL 2014-02-04 21:00:00 +01:00
littleguy77
c7e10c4874 android: Add android edition customizations. 2014-01-30 09:08:43 -05:00
littleguy77
a3a364df32 build: Add android makefile. 2014-01-30 09:08:23 -05:00
Richard Goedeken
6f69a38c5c Merge pull request #3 from littleguy77/cleanup
Minor nits
2014-01-29 21:35:15 -08:00
Lioncash
ddd7480a55 Remove duplicate function call. 2014-01-28 21:09:39 -05:00
littleguy77
22e914ae1d Minor formatting nits in OpenGL ES2 shader program. 2014-01-28 21:07:26 -05:00
Richard Goedeken
63f200b3c6 Merge pull request #2 from littleguy77/zelda-missing-heart-fix
Add hack-fix to show last heart and map arrows in Zelda OoT & MM.
2014-01-28 17:42:44 -08:00
Richard Goedeken
8b346d7f71 Merge pull request #1 from littleguy77/gles2-shader-texture-fixes
Gles2 shader texture fixes
2014-01-28 17:41:01 -08:00
Gillou68310
6a3d0aac2f Add hack-fix to show last heart and map arrows in Zelda OoT & MM.
This affects both OpenGL and OpenGLES2 codepaths.
2014-01-27 18:41:35 -05:00
littleguy77
aeb3cc31c6 Remove unneeded macro in osal_opengl. 2014-01-27 18:40:30 -05:00
Gillou68310
396b9df025 GLES2: Fix (re-implement) fog/alpha shaders in OpenGLES2 codepath.
extracted from
33d250b926
2014-01-27 18:40:20 -05:00
littleguy77
d9c1b73d74 GLES2: Use config file to disable mipmapping rather than hard code. 2014-01-27 18:39:48 -05:00
Gillou68310
80cc1e4427 GLES2: Fix (re-implement) multi-texture in OpenGLES2 codepath.
With this implementation, mipmapping must be disabled in the OpenGLES2
codepath to avoid black textures.

Texture mirror flag is enabled in the in OpenGLES2 codepath to fix
messed up textures like the horse's cheeks in both Zelda games.

extracted from
33d250b926
2014-01-27 18:39:36 -05:00
Sven Eckelmann
cb6db1a90e Force line ending type for specific files
Different operation systems (Unix vs. Windows) use different line ending types.
It can easily happen that users from different systems edit files and replace
all line endings of a file with the system specific version. This screws up
diffs and makes merges harder.

Git can normalize line endings for specific files and avoid this problem.
Binary files should be marked to avoid accidentally normalization.
2013-12-19 14:19:09 +01:00
Sven Eckelmann
3df8090f8c Convert .hgignore to .gitignore 2013-12-19 14:13:38 +01:00
Richard Goedeken
6d31248078 add missing break statement which probably wont have any consequence 2013-10-30 21:40:11 -07:00
Sven Eckelmann
9b18311048 Don't fail rebuild when header is removed
The *.d depends files for make just list the files used when building an
object file. Removing a file listed in such a dependency file causes make to
search for a way to recreate it. This usually cannot work because these files
aren't autogenerated.

The gcc option -MP can be used to generate empty rule for these files. Removing
a file in a dependency list will then execute this empty rule and continue with
the execution of the creation of the object file. This compilation process will
then automatically correct the dependency file.
2013-09-20 10:31:57 +02:00
Rudy Matela
5cc9bc28d6 Fixed warning for implicit declaration of memcpy on unix/gcc. 2013-09-01 19:41:48 -03:00
littleguy77
abd881dbab Fix a warning/error when building with Android-NDK r9 toolchain.
NDK r9 is a bit more strict when it comes to printf formatting (or lack
thereof).
2013-08-30 13:38:04 -04:00
richard42
fe59f6d43a simplify OSX platform detection in makefile using xcode-select. based on patch from John Pender 2013-07-08 07:47:02 -07:00
Richard Goedeken
bfba0697f4 Added tag 2.0 for changeset 1704a3674f72 2013-07-04 15:48:50 -07:00
Richard Goedeken
4fb7c9fb84 update version number to 2.0 2013-07-03 07:16:32 -07:00
Richard Goedeken
280290a8af update text files for upcoming 2.0 release 2013-06-27 22:19:42 -07:00
Sven Eckelmann
08a11167e3 Initialize all members of ExtTxtrInfo before copying to gTxtrDumpInfos 2013-06-17 21:37:39 +02:00
Richard Goedeken
11410e62c0 tagged v2.0-rc2 2013-06-01 18:00:33 -07:00
richard42
123e63e220 Update msvc11 project file to visual studio 2012 (msvc11) 2013-06-01 08:00:39 -07:00
richard42
a35e3dd2d9 removed -lstdc++ flag in makefile, I just need to use CXX=clang++ instead 2013-05-30 07:56:53 -07:00
richard42
060b8fe36e clang needs to link against libstdc++ 2013-05-29 08:49:47 -07:00
Richard Goedeken
f423bd239f 1. Update Core Video Extension API to v3.0.0, pass flag to VidExt_SetVideoMode() that we support resizing
2. New ResizeInitialize method in COGLGraphicsContext to do a partial re-initialization after OpenGL context is recreated following window resize
3. Add function (ResizeStep2) to asynchronously handle resized window
4. Update Video API to v2.2.0: add function ResizeVideoOutput()
2013-05-26 22:21:52 -07:00
Richard Goedeken
bcdb62c9be fix some new gcc warnings 2013-05-13 10:55:49 -07:00
Sven Eckelmann
cbd8a77542 Allow to statically set *_(CFLAGS|LIBS) without pkg-config
n.pepinpe requested in #540 to allow overwriting the automatically searched
CFLAGS and LIBS for used libraries. This should allow distributors to set the
build configuration without patching the makefile. This is important for
systems were pkg-config or sdl-config aren't normally used.
2013-05-11 15:00:09 +02:00
Sven Eckelmann
e895bfa957 Allow to statically set SDL_(CFLAGS|LIBS) without sdl-config
n.pepinpe requested in #540 to allow overwriting the automatically searched
CFLAGS and LIBS for used libraries. This should allow distributors to set the
build configuration without patching the makefile. This is important for
systems were pkg-config or sdl-config aren't normally used.
2013-05-11 12:26:28 +02:00
Sven Eckelmann
e20603f55f Enable Link-time optimization by default
The GCC introduced Link-time optimization in GCC 4.5 (2010-04-14). This should
be long enough available that interested users have upgraded to a compiler
supporting it.

The MSVC project already enabled WholeProgramOptimization since a long time.
Enabling it by default in GCC seems to be equally valid.
2013-05-11 11:26:02 +02:00
Sven Eckelmann
722892317b Add CXXFLAGS to the linker step
The GCC manual states for different parameters that the options for compilation
must also be used when linking. The options for compilation are stored in
CXXFLAGS and added to LINK.o to fix the behavior.

Option which need this are for example -fPIC/-fPIE or -flto.
2013-05-11 10:22:31 +02:00
littleguy77
ccd58ab0c9 Small fix to GL ES 2.0 codepath (less aggressive #ifdef exclusion). 2013-04-09 09:15:10 -04:00
Richard Goedeken
52e4e1551b fixed compiler warning and error 2013-04-06 22:11:09 -07:00
Metricity
79a035ff66 Use short-type vertex indices (rather than int-type).
Unsigned short vertex indices are more broadly supported across the
OpenGL variants.  This shouldn't change plugin behavior as long as it
isn't using any vertex arrays with more than 65,535 elements.
2013-04-02 10:33:19 -04:00
Metricity
f3f45a3c08 Implement OpenGL ES 2.0 code path.
Assert(no functional changes to OpenGL code path).

Originally implemented for Paul Lamb's (paulscode) Android port of
Mupen64Plus.

https://github.com/paulscode/mupen64plus-ae
http://www.paulscode.com
2013-04-02 10:32:21 -04:00
littleguy77
bc403c88a8 Surround OpenGL-specific code with SDL_VIDEO_OPENGL.
Assert(no functional changes).

Symbol defined in the platform-specific SDL headers (SDL_config*.h).

This is a lot of ifdefs, but the point here is to facilitate trace-
ability throughout the ES 2.0 integration process. The plan is to
beautify this code later, after we verify that the OpenGL codepath is
intact and the OpenGL ES 2.0 codepath behaves as intended.
2013-04-02 10:31:08 -04:00
littleguy77
6cbdbf57fa Add abstraction layer header for GL/GLES2.
Assert(no functional changes).

osal = Operating System Abstraction Layer

Following the naming convention used through the Mupen64Plus core and
plugins.  Simplifies merging the GL/GLES2 code bases.
2013-04-02 10:30:01 -04:00
littleguy77
4368f1d168 Cosmetic changes to clarify subsequent changesets.
Assert(no functional changes).

Benefit of hindsight here. I'm consolidating a bunch of non-functional
changes now to make subsequent changesets cleaner and easier to follow.

This commit only changes:
 - whitespace
 - header order in a few places
 - re-order a few lines related to glBegin
 - replace gl{En|Dis}able(GL_FOG) with TurnFogOnOff({true|false})
 - replace 1.0 with 1.0f in one place
2013-04-02 10:29:08 -04:00
Lioncash
b75ff4f297 Fix wrongly set return values in OGLCombinerNV.cpp (from what I've read in the in-file docs).
Comments for those specific branches seem to support this too.
2013-04-01 22:14:26 -04:00
Richard Goedeken
ba0350a999 fix apparent vertex index calculation bug found by Lioncash 2013-03-26 22:30:23 -07:00
Lioncash
8a37fbd873 Remove an identical check in the same if-statement.
TLutFmt is already checked in the 8-th conditional.
2013-03-22 19:37:54 -04:00
Lioncash
24ff8cc9f8 Ensure two if statements only get executed if pEntry->pTexture isn't null.
Before it would access pEntry->pTexture regardless.
2013-03-22 19:31:07 -04:00
Richard Goedeken
6dee3203ff merged heads 2013-03-21 21:35:39 -07:00
Richard Goedeken
1dac38de3b add msvc11 project file from mudlord 2013-03-20 22:26:56 -07:00
Metricity
da367692e6 Implement NO_ASM version of CRC calculation in Framebuffer.CalculateRDRAMCRC. 2013-03-19 20:19:52 -04:00