Commit Graph

4060 Commits

Author SHA1 Message Date
rogerman 80b775730b Cocoa Port:
- Silence compiler warning when compiling for Mac OS X v10.6/v10.7.
2012-02-27 05:33:41 +00:00
rogerman a537f3c166 Cocoa Port:
- Significant improvements to auto frame skip! It now uses less CPU, and timing is much smoother and more accurate.
- Some minor code cleanup for the emulation core object.
2012-02-25 22:26:12 +00:00
mtabachenko dfb4e04a0d - ops, forgot file; 2012-02-24 14:29:08 +00:00
mtabachenko f864e4386c winport:
- rewrite import backup memory;
2012-02-24 14:22:14 +00:00
rogerman ee6ee321a4 Cocoa Port:
- Fix compiling when using Clang v3.1.
2012-02-20 21:09:00 +00:00
mtabachenko 266eccb5d5 winport:
- fix initialize autodetect_method (revert  r4101);
2012-02-20 19:47:58 +00:00
zeromus d628ede53b just a tiny bit of cleanup 2012-02-20 19:35:44 +00:00
zeromus a6333a2d02 update subwcrev.exe to somewhat newer version 2012-02-20 19:18:38 +00:00
rogerman d881160c03 Cocoa Port:
- Change the app identifier from "com.DeSmuME.DeSmuME" to "org.desmume.DeSmuME".
- Change the app category from Utilities to Entertainment.
2012-02-20 18:40:32 +00:00
rogerman 416a5e18a1 Cocoa Port:
- Reimplement Objective-C memory management by using the standard patterns for retain/release mechanics. This fixes several real and potential memory leaks.
- Additional miscellaneous code cleanup and fixes.
2012-02-20 17:00:13 +00:00
rogerman 1fdf99cf1a Cocoa Port:
- Fix potential deadlock upon application exit when running on Mac OS X v10.7.
2012-02-13 22:27:28 +00:00
rogerman c7fd9f79b0 Cocoa Port:
- Based on user suggestion, rename menu option "Tools > Show Support Folder in Finder" to "Tools > Show Game Data Folder in Finder".
2012-02-13 06:22:56 +00:00
rogerman e55ad2f34e Cocoa Port:
- When detecting an analog input's on state, use the upper/lower third of the range instead of the upper/lower quarter of the range. This helps improve compatibility with certain joysticks.
- Perform an integer length bounds check before calling IOHIDValueGetIntegerValue(), since this function will cause a crash if the returned integer value is very large. This prevents crashing when using certain controllers, such as the PS3 controller.
- When mapping inputs in Input Preferences, require the user to hold the input in its on state for at least 0.1 seconds. In addition, the user must also perform a full on-off state transition with the input. This helps stabilize jittery inputs, and also helps ignore unintentional inputs from devices that constantly throw a large number of signals, such as the PS3 controller's accelerometer.
- When mapping inputs in Input Preferences, remove all previous mappings for the particular control before mapping the input. Since the UI doesn't yet support multiple bindings per control, the previous behavior was confusing for users.
2012-02-13 05:48:10 +00:00
zeromus 239301d405 add zlib 1.2.6, make at least one of the vcproj use it for testing, and fix ROMReader to work with zlib 1.2.6 2012-02-10 19:58:06 +00:00
rogerman 8fd633a0c9 Cocoa Port:
- Add an XCode 4 project with a Mac OS X v10.7 build target.
- Update build settings for XCode projects: Disable symbol strip, enable dead code strip, enable prebinding.
- Include OpenGL gl.h header to fix compiling with Mac OS X v10.7.

libfat:
- Don't define strnlen() on Mac OS X v10.7.
2012-02-09 21:33:57 +00:00
rogerman 062f54806c Cocoa Port:
- There is a bug where if the user changes cheat items using the cheat list directly, the changes will not save to file. (However, any applied changes using Cheat Settings are saved to file as intended.) Workaround behavior: Save the cheat file upon ROM unloading.
2012-02-08 01:34:20 +00:00
rogerman d3ed81a259 Cocoa Port:
- Fix positioning of UI element in the R4 Cheat Database sheet.
2012-02-03 17:31:22 +00:00
rogerman 21680f3c71 Cocoa Port:
- Fix UI element sizing/positioning in the File Migration window.
- Rewrite text in ROM save file migration sheet so that the reading flows better.
- Update tooltip info to better reflect current knowledge from testing.
- Misc. grammatical fixes to UI elements.
2012-01-31 20:05:18 +00:00
rogerman b1fbd863c5 Cocoa Port:
- Fixed bug where applying an internal cheat would cause the byte size to reset.
2012-01-21 00:31:06 +00:00
rogerman b78912e1c3 Cocoa Port:
- Update XCode project and videofilter.h for filters relocation.
2012-01-20 05:20:46 +00:00
zeromus 8eba5500cb fix vcproj for filters relocation 2012-01-20 05:15:35 +00:00
zeromus 1487db8cdc move filters out of windows directory since theyre now used by the cocoa port 2012-01-20 05:13:01 +00:00
zeromus 3d2e656e83 fix buffer overflow in epx filter 2012-01-20 05:10:23 +00:00
rogerman 0d4811a028 Cocoa Port:
Here it is folks -- A brand new Cocoa port! This is a complete remake from the ground up, and constitutes about a year's worth of coding and testing, so enjoy! This log entry only includes a summary of the new features compared to v0.9.7. Due to the number of changes that have taken place, any bug fixes and developer-related details will not be reported here.

User Experience:
- Added many icons throughout the application to improve the visual appearance and provide easier visual cues.
- Added a toolbar and a sound volume slider to the emulation window.
- Added mouseover tooltips for most of the controls.
- Added the ability to change the emulation window display mode. The user can choose to display only the main screen, only the touch screen, or both screens.
- Added the ability to rotate the emulation window display to any arbitrary rotation angle.
- Added a bilinear filtering option for the display output.
- Added support for using video filters on the display output.
- Added the ability to copy a screenshot to the clipboard using Edit > Copy.
- ROM Info now provides much more ROM information in a better organized panel.
- The emulation window's status bar now gives more user feedback.
- In the emulation window, you can now click close to unload ROMs and quit the application.
- Externally loaded save states now behave more like typical document files: they ask to save upon close/quit, behave properly using Save and Save As, and support revert.

Emulation System:
- A modernized program architecture brings substantial performance improvements, especially on multiprocessor/multicore machines. This brings the Cocoa port much closer to the Windows port in terms of performance.
- Exposed all emulation, firmware, SPU, and SoftRasterizer options in the user interface. This should help users in configuring DeSmuME to work with many ROMs that were unusable before.
- Added support for using BIOS and firmware images.
- Added support for completely disabling GPUs (Tools > View Layers > Main GPU and Tools > View Layers > Sub GPU menu options).
- Added the ability to change the number of 3D rendering threads.
- Added support for using an ADVANsCEne database to autodetect the ROM save type.

Cheat System:
- Added a cheat manager, which allows the user to use cheat codes. DeSmuME internal cheats and Action Replay cheats are both supported.
- Added the ability to run a cheat search.
- Added the ability to import Action Replay cheats from an R4 Cheat database.

Input System:
- Any non-modifier key on the keyboard may now be used for the controller input.
- Added support for using USB HID devices for the controller input. Yes, you can use your favorite gamepads and joysticks now.
- All emulated controls can now be mapped, including Lid and Debug.
- Microphone input is now partially supported. Internal and white noise samples can now be generated for certain ROMs that require microphone input. For now, this should help the user complete certain games that rely heavily on microphone input, such as "The Legend of Zelda: Spirit Tracks".

File Handling:
- Added a file migration assistant to help the user migrate their old files to the current version of DeSmuME.
- Added support for importing and exporting ROM save files in RAW and No$GBA formats.
- Added the Tools > Show Support Folder in Finder menu option, which opens DeSmuME's Application Support folder. This exists as a convenience for Lion users.
- Added new icons for DeSmuME's files.


Note: The XCode Legacy project is now deprecated, and should only be used to make unofficial Tiger builds. Any new builds should use the XCode 3 project.
2012-01-20 05:09:13 +00:00
rogerman 0247b86c2c Cocoa Port:
- In the XCode legacy project, add the English MainMenu (Legacy).strings file to the output list of the localization build scripts.
2012-01-20 02:47:57 +00:00
rogerman 4e20669538 mc.cpp:
- Make ADVANsCEne string array (const char *) to shut up compiler warning.
2012-01-19 05:21:46 +00:00
rogerman 51ac52af5c Cocoa Port:
- Add the new firmware config icon to the XCode legacy project. It should work now!
- Update strings to better reflect what should be shown in the user interface.
2012-01-19 05:19:48 +00:00
rogerman 656cdca7b0 Cocoa Port:
- Merge new strings from upcoming Cocoa port into Localizable.strings.
2012-01-19 04:46:38 +00:00
rogerman 67aabb5fbc Cocoa Port:
- Add new IPC utility method - messageSendOneWayWithMessageComponents:msgID:array:
2012-01-19 04:45:37 +00:00
rogerman 46958e2bb5 Cocoa Port:
- Update file handling code for ROM save exporting to handle more file formats.
2012-01-19 04:42:55 +00:00
rogerman 83847bf9a1 Cocoa Port:
- Add new icon for firmware config files (.dfc).
- Fix the appearance of cheat file icons in the Finder.
- Update copyright year.
2012-01-19 04:40:15 +00:00
rogerman 4f4704b486 SPU:
- Improve performance of cosine interpolation (making it as fast as linear).
2012-01-18 04:25:49 +00:00
rogerman 09985b15a8 Cheat System:
- Rename private method XXcodePreParser() to XXCodeFromString() and make public static.
- Add methods getListPtr() and getItemByIndex() to return pointers to the actual cheat items in the array list.
- Do some minor code cleanup.
2012-01-18 04:02:08 +00:00
rogerman a164fca4c5 Cocoa Port:
- Make InfoPlist.strings localizable.
- Update copyright year in InfoPlist.strings.
2012-01-17 08:12:12 +00:00
rogerman 096baef750 Cocoa Port:
- Fix a minor bug in file handling for the Tiger build.
2012-01-17 01:11:34 +00:00
rogerman 46d9ab17bf Cocoa Port:
- Remove one of the now unused XCode project files.
2012-01-17 01:03:28 +00:00
rogerman 2212f36cb0 Cocoa Port:
- Fix bug in GetNormalPointFromTransformedPoint() function where the angleDegrees parameter was actually in radians. It's now in degrees, as intended.
2012-01-17 01:02:38 +00:00
rogerman 5f2dd3e4c2 Cocoa Port:
- Update file handling utility methods to use external dictionary lookups instead of hard-coded values.
2012-01-17 01:00:48 +00:00
rogerman 48a849adba Cocoa Port:
- Rename legacy files to distinguish them from new code.
- Set svn to ignore xibs from non-English translations.
2012-01-11 23:31:12 +00:00
rogerman a1f043ecc9 Cocoa Port:
- Rename existing XCode project to DeSmuME (Legacy).
2012-01-11 23:24:17 +00:00
rogerman b0fef6d6af Cocoa Port:
- Delete files that have been obsoleted by the move to xib-based format in r4149.
2012-01-11 20:34:25 +00:00
rogerman e612203da4 Cocoa Port:
- Updated the English xib file. We kinda needed this in the last commit, so oops!
- Fix bug in translation build scripts that could cause build errors.
2012-01-11 20:29:53 +00:00
rogerman 02acfa3fe3 Cocoa Port:
- Although the Cocoa port looks very similar to the last update, there have been a lot of changes under the hood! Lots of code has moved around, lots of refactoring has been done, and lots of new code was copied from the upcoming Cocoa code base. Due to this, there have been a few collateral improvements as a result.
- Convert main.mm back to a plain Obj-C file, and remove all code from it. It has now been reverted back to its original empty form.
- Move all app related stuff to appDelegate_legacy.mm/h.
- Move all emulation window related stuff to emuWindowDelegate_legacy.mm/h.
- Because we're now using xibs, translations have been reworked. The English xib is the base xib, and translations now use .strings files to make modified copies of the English xib at compile time.
- Add user interface icons.
- Make the Custom Speed Limit Window panel more functional and look nicer.
- Add new Tools > Show Support Folder in Finder menu option, which opens DeSmuME's Application Support folder. This exists as a convenience for Lion users.
- Remove the View > Constrain Proportions menu option. Now, DeSmuME behaves as if this option is always enabled.
- Combine Emulation > Execute and Emulation > Pause into a single menu item.
- Status text now gives more user feedback.
- Add a sound volume slider to the emulation window.
- Remove the Sound menu.
- In the main emulation window, you can now click close to unload ROMs and quit the application.
- Add ability to save screenshots in JPEG 2000 format.
- Add ability to copy a screenshot to the clipboard using Edit > Copy.
- BUG #3394244: Fix bug where touch coordinates did not map correctly on rotated screens.
2012-01-11 19:59:17 +00:00
rogerman 0bcaded804 Cocoa Port:
- Another file handling code update that I missed.
- Integrate DeSmuME's directory structure into this port.
2012-01-06 16:47:12 +00:00
rogerman a46431a236 Cocoa Port:
- Update more old file handling code to use the new methods added from the last commit.
2012-01-06 09:52:23 +00:00
rogerman cf86f83fb0 Cocoa Port:
- Convert cocoa_util.m from Obj-C to Obj-C++, and add many new utility methods.
- Remove obsolete globals.h file, and convert needed C functions into Obj-C methods in cocoa_util.mm.
- Add cocoa_file.mm for general file handling methods.
- Change all file handling to use NSURLs instead of NSString paths.
- Refactor existing code to use the new methods.
- Remove obsolete UI code.
- Move Tiger-specific compatibility code to a new file, macosx_10_4_compat.h.
2012-01-06 08:53:13 +00:00
rogerman 5f0805e306 Cocoa Port:
- Change Interface Builder format from .nib to .xib.
- Rename the main IB file from "MainMenu" to "MainMenu (Legacy)".
2012-01-05 00:14:32 +00:00
rogerman c07ba69e7e Cocoa Port:
- Fix compile issue for the Tiger target build.
2012-01-05 00:04:12 +00:00
rogerman 1f218e95c5 Cocoa Port:
- Add new icon for ROM cheat files (.dct).
2012-01-04 21:15:24 +00:00
rogerman c02ffe1548 Cocoa Port:
- Update necessary files that I forgot in the last commit.
2012-01-04 21:13:13 +00:00