Commit graph

2672 commits

Author SHA1 Message Date
richard42
61cd368bc3 removed -lstdc++ flag in makefile, I just need to use CXX=clang++ instead 2013-05-30 07:56:27 -07:00
richard42
4a67a5e803 merged heads 2013-05-29 08:45:57 -07:00
richard42
8d4a11c530 we need to link against C++ standard library for OGLFT (required for clang under OSX) 2013-05-29 08:45:32 -07:00
Richard Goedeken
873dfb57eb merged heads and simplified code 2013-05-28 21:20:23 -07:00
Sven Eckelmann
d00b1a8992 Don't free user managed msg when doing osd_exit during resize
Doing free'ing user managed msg will cause an double-free later. Also free'ing
messages without deleting them from the list will lead to bad reads after the
resize finished.
2013-05-28 21:29:41 +02:00
Riley Labrecque
6bcbe44858 Fixed compiling with MSVC/C89 2013-05-28 08:14:12 +00:00
Richard Goedeken
6d94cb42eb add some more developer documentation regarding the window resizing functionality 2013-05-26 23:59:34 -07:00
Richard Goedeken
3ddbf56806 1. Update FRONTEND_API_VERSION to v2.1.1: Core command M64CMD_CORE_STATE_SET will now accept M64CORE_VIDEO_SIZE parameter (will call the video plugin function ResizeVideoOutput())
2. Capture SDL_VIDEORESIZE events and call video plugin ResizeVideoOutput() function.
3. In VidExt_ResizeWindow(), destroy and re-create OSD when re-setting the screen size
4. Fix bug when checking video api version for <2.2.0 fallback
2013-05-26 22:15:18 -07:00
Richard Goedeken
a557d213fd video extension API version is increased to v3.0. This adds a new Flags parameter to the VidExtSetVideoMode() function, and adds a new function VidExt_ResizeWindow. This is to support resizable output windows 2013-05-24 23:34:10 -07:00
Richard Goedeken
f3b891f97c increase Video plugin API to v2.2.0, add new ResizeVideoOutput function 2013-05-23 22:22:08 -07:00
Richard Goedeken
84e0b40a5c add glide64mk2 video plugin to release build scripts and (un)install scripts 2013-05-20 21:41:25 -07:00
Richard Goedeken
87d5cec86c update wiki documentation for new input plugin parameter 'mode' 2013-05-19 17:24:00 -07:00
Sven Eckelmann
04499d09a7 Don't use pkg-config on OSX to detect zlib 2013-05-12 12:03:15 +02:00
Sven Eckelmann
347fb5b270 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 14:59:55 +02:00
Sven Eckelmann
5c37d968f8 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:11 +02:00
Sven Eckelmann
3bc6c38def 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:25:47 +02:00
Sven Eckelmann
984d74b2b3 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 11:02:16 +02:00
Richard Goedeken
baa484f46e autodetect savestate type when loading from a slot 2013-04-14 11:43:40 -07:00
Richard Goedeken
9e4bb27d53 for some reason the OGLFT text extent measuring function was returning negative coordinates for the box X,Y minimums. Due to the logic for calculating the drawing position of the OSD messages, this resulted in invalid starting positions for drawing the bitmaps when horizontal justification was set to LEFT (under AMD catalyst opengl drivers). Thus, any left-justified messages were not displayed. To fix this, I force the text bounding box X,Y minimums to 0 2013-04-13 15:46:06 -07:00
Richard Goedeken
870c4c0906 add msvc11 project file from mudlord 2013-03-20 22:23:39 -07:00
Richard Goedeken
10a0404517 1. from refactoring in afcfc3639075, the last_addr didn't get set before jump as it should. 2. the jump_to() function never returns in dynarec mode, so this must be last function call in a handler 2013-03-20 22:12:13 -07:00
Richard Goedeken
a1523ad2fc fix r4300 profiler with mingw build 2013-03-17 14:05:47 -07:00
Sven Eckelmann
8556c3a33a Use localtime for windows compatibility
localtime_r is prefered because it has no shared states. It creates less
problems when using threads or calling it multiple times with different
parameters. Mupen64plus doesn't do this right now, but has many workarounds for
windows compilers which don't work all the time and need extra workarounds
later. Using localtime instead may be the easiest solution right now.
2013-03-14 08:33:33 +01:00
Sven Eckelmann
f7adbee2a4 Revert "Enable link time garbage collection when link time optimization is enabled"
Some linker on different platforms don't handle the garbage collection
correctly and create extreme bloated binaries. Therefore, leave it to the user
to enable this feature or not.
2013-03-14 08:00:59 +01:00
Richard Goedeken
88e3834ecb fixed compiler warnings and errors in DEBUGGER=1 build after last commit 2013-03-09 21:36:38 -08:00
Richard Goedeken
1124dca898 update wiki docs for last commit 2013-03-08 22:57:50 -08:00
Richard Goedeken
e83a6f0dd4 - add M64P_MEM_FLAG_*_EMUONLY types to signify memory areas to which the emulated CPU may read or write, but the debugger cannot
- extended read_memory_32() in debugger/dbg_memory.c to be able to read from special memory blocks like RDRAMREG, RSPREG, RSP, DP, VI, AI, etc
- fixed byte order bugs in read_memory_32_unaligned() and write_memory_32_unaligned()
- extended get_memory_flags() in debugger/dbg_memory.c to return new flags and cover special memory spaces
2013-03-08 22:42:44 -08:00
Sven Eckelmann
46ce002964 Fix byte sign extensions for architectures with default -funsigned-char
Architectures like armel, armhf, arm64, avr32, powerpc, s390 and s390x use a
unsigned type definition for char. Therefore, the macro for sign extension is
just a nop instruction there. Being more specific on these arches about the
signedness avoids this problem.
2013-03-06 17:06:24 +01:00
Richard Goedeken
4084e97175 moved the debugger memory type and memory flags enumerated types from the dbg_memory.h header into m64p_types.h, and prefixed them with M64P_ 2013-03-03 22:39:49 -08:00
Richard Goedeken
543655d881 merged heads; this int-typecast change from littleguy77 is okay because it's only for the ARM target 2013-03-03 21:50:12 -08:00
Richard Goedeken
c0a09912b0 merge heads 2013-03-03 19:27:09 -08:00
littleguy77
fbf1cccffc Eliminated compiler warnings about implicit pointer-to-int casts.
Using Android NDK-r8d build tools (GNU Make 3.81, gcc 4.6) generates the
following warnings in Eclipse:
warning: assignment makes integer from pointer without a cast [enabled by default]
warning: initialization makes integer from pointer without a cast [enabled by default]
2013-03-03 15:46:52 -05:00
Sven Eckelmann
c2226711fe Add video-glide64mk2 to m64p_helper_scripts 2013-02-26 21:28:16 +01:00
Sven Eckelmann
94657604a0 Enable list iterator compile time checks
The gnu c compiler can use its preprocessor functionality to generate code
which causes compile time warnings when a wrong type for the iterator element
is used in the list helpers.

This code was removed earlier because MSVC doesn't support typeof(x).
2013-02-26 21:21:08 +01:00
littleguy77
94897c2a36 bugfix: properly test null function pointer before use 2013-02-26 14:20:48 -05:00
Richard Goedeken
6b0b07373c removed some of the core commands added in last front-end api change by casualjames. added new core parameters and callbacks to cover the removed functionality, and add functionality suggested by paulscode. document everything 2013-02-19 23:23:10 -08:00
Sven Eckelmann
ed094a9357 Allow to use interpreter cores with new dynarec 2013-02-09 11:37:55 +01:00
Richard Goedeken
e48c7fe205 update wiki doc for new rice video plugin config parameter 2013-02-03 10:07:24 -08:00
Richard Goedeken
4d70a77201 merged heads 2013-02-02 22:28:06 -08:00
richard42
e1701fc6c5 OSX build fix 2013-02-02 22:21:33 -08:00
Richard Goedeken
9f1df227da merge patches from npepinpe: new-dynarec-u_int-fix branch and osx-use-system-zlib branch 2013-02-02 21:58:07 -08:00
Sven Eckelmann
a27c5858ea Enable link time garbage collection when link time optimization is enabled 2013-02-01 10:01:53 +01:00
Sven Eckelmann
dc10d7f3f0 Don't allow MSVC optimizer to make too many wrong assumptions about function pointer
The MSVC compiler is slightly confused about the jmp-call inside the __asm
block of the dynarec prologue. It will try to optimize the surrounding code and
ends up in overwritting the code function poiner with a sign extended version
of the lower 16 bit of code.

MSVC seems to be slightly more careful with void pointers
2013-01-22 20:35:41 +01:00
Anthony J. Bentley
a2be4115b3 Fix typo: implemeted → implemented. 2013-01-07 07:47:51 -07:00
Anthony J. Bentley
d84763227f Fix typo: tansfer → transfer. 2013-01-07 02:55:18 -07:00
Sven Eckelmann
6ae50d5972 Enable the workqueue under MSVC 2013-01-02 22:16:51 +01:00
Sven Eckelmann
8a0e1ff062 Fix build under Visual C++ 2013-01-02 22:15:56 +01:00
Sven Eckelmann
bdb56c605b Remove unavailable src\r4300\regimm.c from msvc8 project 2013-01-02 21:56:45 +01:00
Sven Eckelmann
8a5669c550 Introduce WARNFLAGS for default (removable) compiler warning flags 2013-01-02 21:56:16 +01:00
Sven Eckelmann
57c42045df Fix long usage in rjump implementation of x86_64 2013-01-01 00:37:25 +01:00