- New feature: Add support for multiple display windows. Use the File > New Display Window menu option!
- Add menu option File > Close Window (Command-W).
- The menu option File > Unload ROM keyboard shortcut has been changed to Command-Option-W.
- Rename menu option View > Show Video Output Settings... to View > Show Display Video Settings..., and also change its position in the menu.
- Obsolete and remove the following classes: EmuWindowDelegate, DisplayViewDelegate, ImageDisplayView, OpenGLDisplayView. (Their functionality has been incorporated into DisplayWindowController and DisplayView.)
- Obsolete and remove the following protocols: DisplayViewDelegate. (The new DisplayView class uses the CocoaDSDisplayVideoDelegate protocol directly.)
- Fix several bugs with thread handling and cleanup.
- Do heavy code cleanup of EmuControllerDelegate.
It looks like None is defined in X.h as 0L so breaking
compilation on platforms which use X. Instead of playing
with the preprocessor just rename the enum value.
As seen on:
http://forums.desmume.org/viewtopic.php?pid=20591
Thanks Alberto for forwarding the issue.
Remember: everytime a bug is reported in a forum a kitten dies!
- Fix regression from r4533 where the UI elements in the Cheat Manager window wouldn't update in sync with ROM loading/unloading.
- Do a bunch of code cleanup.
- Fix polygon coloring bug when converting the framebuffer on big-endian systems. (Disabling textures will show the correct polygon coloring. Endianness bugs remain with texturing enabled.)
- Revert OpenGLRenderer_1_2::CreateShaders() to r4522.
- Add OpenGLRenderer::LoadShaderPrograms() to give a chance to modify the shader programs before compiling them.
- Fix bug where shader compiling would fail on the 3.2 renderer.
- Remove vertex draw batching. This fixes polygon rendering in certain games, like Metroid Prime Hunters. There is a performance penalty in doing this, but for GPUs that support VBOs, the performance hit will be negligible.
- Do a bunch of code cleanup.
- Bring back glVertexAttribPointer() to the OpenGL blitter.
- Disable shaders on PowerPC builds since they don't seem to work there.
- Since OS X v10.5 is required, assume the availability of GL_APPLE_vertex_array_object and GL_ARB_vertex_buffer_object. Remove the associated code paths to reduce code complexity.
- The OpenGL blitter now uses legacy gl*Pointer functions instead of glVertexAttribPointer() to improve compatibility with older drivers.
- The OpenGL blitter now uses ARB versions of VBO functions to improve compatibility with older drivers.
- Do some code cleanup.
- Remove the requirement for the OS X v10.5 SDK when building using the "OS X App; v10.5 Leopard Release Build" scheme in the Xcode 4 project. The scheme now uses the latest OS X SDK available. This is being done for forward compatibility purposes.
- Fix compiling when building using the OS X v10.5 and earlier SDKs in the Xcode 3 and Legacy projects.
- Fix compiling when building for all PowerPC build targets.
- Add Rigorous 3D Rendering Timing setting to Emulation Settings.
- Add option for 8 Threads to 3D Rendering Settings.
- Do some code cleanup to the display code.
- Move OpenGL renderer code from the UI code to the emulation core interface code.
- Clean up the OpenGL renderer init code, and lazy load the context init.
- Fix bug where the wrong display would show when changing display modes after changing video filters.
- Do some other random bug fixes.
- Major rewrite of the OpenGL rendering code! Most important changes listed below.
- Encapsulate 3D rendering code in C++ classes.
- Add support for 3.2 Core Profile contexts, while preserving backwards compatibility with legacy contexts.
- Initialize the renderer to choose the best OpenGL entry points available from the driver, automatically falling back to legacy entry points as needed.
- Remove multithreading code. New and previous optimizations have obsoleted the need for it, so remove it to reduce code complexity.
- Obsolete shaders.h and add the shader code directly into the .cpp files. Ports can safely remove the shaders.h file from their project/make files.