Commit Graph

4129 Commits

Author SHA1 Message Date
bbbradsmith db175c358f cheat.cpp has one more DLGPROC BOOL return fix that I missed 2019-06-21 15:51:44 -04:00
bbbradsmith 339ba7c923 SetWindowLongPtr needs to use LP defines, not L 2019-06-21 15:47:52 -04:00
bbbradsmith 2396d1c702 Replace SetWindowLong with SetWindowLongPtr for 64-bit compliance 2019-06-21 15:02:11 -04:00
bbbradsmith 850390e5ba Merge branch 'master' into dlgproc_fix 2019-06-21 14:15:41 -04:00
bbbradsmith c33ab17da4 DLGPROC return type is INT_PTR, not BOOL and not LRESULT. These are compatible return types in 32-bit but not 64-bit. 2019-06-21 14:03:05 -04:00
Nathan Tolbert 5a59e8522d fixes https://github.com/TASVideos/fceux/issues/60 - only prompt about cheats on windows build 2019-06-21 11:25:06 -05:00
owomomo d138a01860 1. Add popup tip for "Auto load / save with game" checkbox, because its tri-state may be perplexed for some reason.
2. Fix a bug, when the cheat editing controls lost focus, but editing mode is still there, which makes case EN_UPDATE triggered when user is not typing in them, that's an inappropriate circumstance. It might make the cheat editing control shows nothing when selecting a cheat.
3. Re-arranged some controls in resource file.
4. Changed some directory dialog logic, use defined ID rather than hard-code the actural number.
5. Detail.
2019-06-21 19:59:57 +08:00
g0me3 e1f52e6ffb little bit win gui polishing 2019-06-20 22:32:27 +03:00
g0me3 9ab9fd1e82 fix watch edit dialog 2019-06-20 22:04:00 +03:00
CaH4e3 7f91f6072a
Merge pull request #59 from Moliman/binary-view-on-ram-watch
Add binary data type on RAM watch
2019-06-20 21:53:06 +03:00
CaH4e3 3b8928fd50
Merge branch 'master' into binary-view-on-ram-watch 2019-06-20 21:52:55 +03:00
CaH4e3 d292d33328
Merge pull request #58 from owomomo/master
New feature: iNES header editor
2019-06-20 21:41:37 +03:00
Moliman 647eb5ab3d Add binary data type on RAM watch
* Currently support only 1 byte size
2019-06-19 22:00:11 -04:00
owomomo fee4fc83a8 1. Add more controls to limit input text.
2. Changed limit input behaviour to match the system default ES_NUMBER.
2019-06-20 01:58:35 +08:00
owomomo 4e3473ac5d 1. Fixed accidentally added the cheat name control to the limit list.
2. Add text limit to Memory Watch for experiment.
3. Make the IDs of controls in Memory Watch predefined rather than directly coded, that's not quite standard in programming. Calculations to ID is not always trusted as they are automatically determined by the development tool.
2019-06-19 18:33:50 +08:00
owomomo f0396ef980 1. Fixed accidentally added the cheat name control to the limit list.
2. Add text limit to Memory Watch for experiment.
3. Make the IDs of controls in Memory Watch predefined rather than directly coded, that's not quite standard in programming. Calculations to ID is not always trusted as they are automatically determined by the development tool.
2019-06-19 15:53:47 +08:00
owomomo 56f0db87fa 1. Experimental limit the input characters for some edit control.
2. Separated cheat code and game genie in Cheat window.
3. Don't show a game genie code when affected address is under 0x8000.
4. Detail: set font for some edit control, replaced some static global variable.
5. Other details.

By the way, why there're so many useless brackets in some functions?
2019-06-19 13:14:27 +08:00
owomomo cc31ee1a37 1. Experimental limit the input characters for some edit control.
2. Removed HWND pwindow, since it's ambiguous and not too much used. The pallete window use it's own global HWND variable.
2019-06-18 16:56:10 +08:00
owomomo 9fd9841d6f ... 2019-06-18 11:50:28 +08:00
owomomo 4adb28e1d3 ... 2019-06-18 11:48:32 +08:00
owomomo 5a80b67e57 Rip the dialog position calculating code to a function and use it in more dialogbox. 2019-06-18 11:47:08 +08:00
owomomo 17a36d9b9f Slightly adjusted the UI of header editor. 2019-06-14 16:38:41 +08:00
owomomo 29b36a801d Cheat console:
1. Added a global switch for all cheats, it is checked by default. Check or uncheck it can quickly tweak all cheats enabled or disabled. It's not game specific and effective to all games.
2. Added a checkmark to check behaviour of automatically load cheats.
3. Fixed a wierd bug in loading names of cheats from file.
iNES Header Editor:
4. Disable iNES header editor menu when currently loaded game is not in iNES format.
Others:
5. Some of the checkbox passed parameter MF_CHECKED, the right one is BST_CHECKED, though they have the same value.
6. Code/Data Logger is created by CreateDialog(), but destroyed by EndDialog()? A non-modal window should be destroy by DestroyWindow(), EndDialog() is for DialogBox(). It seems nobody noticed this bug for years.
7. Detail.

Currently there are some opposite tweaks in the config file for the new feature in cheat console, for example the unchcecked state is 1 in config file, that's for backward compatibility.
The iNES header editor might not quite stable as newly baked from the oven, there might be some improvements to its code.
2019-06-12 23:02:20 +08:00
owomomo fb1d489cfa Cheat console:
1. Added a global switch for all cheats, it is checked by default. Check or uncheck it can quickly tweak all cheats enabled or disabled. It's not game specific and effective to all games.
2. Added a checkmark to check behaviour of automatically load cheats.
3. Fixed a wierd bug in loading names of cheats from file.
iNES Header Editor:
4. Disable iNES header editor menu when currently loaded game is not in iNES format.
Others:
5. Some of the checkbox passed parameter MF_CHECKED, the right one is BST_CHECKED, though they have the same value.
6. Code/Data Logger is created by CreateDialog(), but destroyed by EndDialog()? A non-modal window should be destroy by DestroyWindow(), EndDialog() is for DialogBox(). It seems nobody noticed this bug for years.

Currently there are some opposite tweaks in the config file for the new feature in cheat console, for example the unchcecked state is 1 in config file, that's for backward compatibility.
The iNES header editor might not quite stable as newly baked from the oven, there might be some improvements to its code.
2019-06-12 22:16:01 +08:00
owomomo 5ef8394745 Merge branch 'iNESHeaderEditor' 2019-06-12 00:42:09 +08:00
owomomo 0dbcce537e Detail 2019-06-12 00:35:56 +08:00
owomomo 8ae26f4b72 Detail 2019-06-12 00:28:29 +08:00
owomomo 5b1805b3e4 Detail 2019-06-12 00:18:48 +08:00
owomomo 02df3d6993 Sync the code to master branch. 2019-06-11 17:39:30 +08:00
owomomo f3d1b270b5 Add an export button to cheat dialog. 2019-06-11 15:14:53 +08:00
owomomo 0c9e7659d9 Detail 2019-06-10 20:59:36 +08:00
owomomo 3b54181e4d Merge branch 'master' of https://github.com/owomomo/fceux 2019-06-10 17:27:10 +08:00
owomomo d87970f4ad ... 2019-06-10 17:25:37 +08:00
owomomo b114ba4f4d
Merge pull request #8 from TASVideos/master
Sync code to the newest
2019-06-10 17:15:38 +08:00
owomomo faf6289c12
Merge pull request #7 from TASVideos/master
Sync code to the newest
2019-06-10 17:12:54 +08:00
owomomo 9369bed6ec New feature: iNES head editor 2019-06-10 14:27:57 +08:00
zeromus 7047a998fa
Merge pull request #53 from owomomo/master
Attempt to fix Issue #52
2019-06-06 13:34:59 -04:00
zeromus bf372552bc fix overflowing buffer made worse by 0d26e6f or possibly created by that commit. fixes #30 better.
the debugger was replacing comments and names inside a buffer returned from the old portable disassembly function, which was returning a privately retained 64 byte buffer. previously names were limited to 30 characters, so it's possible expanding names in disassembly never blew that buffer.

testing of the 0d26e6f commit either stressed it harder than ever before, or hard enough to break it for the first time

solved by copying the disassembly buffer into a new buffer for expanding address labels to names, etc
2019-06-06 13:33:45 -04:00
owomomo 959c94fcdf Attempt to fix Issue #52 2019-05-23 18:59:30 +08:00
CaH4e3 5dc4f288a3
Merge pull request #51 from owomomo/master
Updated some features of Cheat Dialog
2019-05-11 21:43:29 +03:00
owomomo 91c408468a Attempting to fix Issue #43. 2019-05-11 00:06:43 +08:00
owomomo a680d67fa1
Fix weird compile error.
it's quite strange that the macro define missed a line feed.
2019-05-10 19:18:30 +08:00
owomomo b93ea26b32 1. Since the radio switch is not quite necessary in cheat window, I canceled it to freely edit style.
2. After some nightly consideration, I decided to remove some unused resource IDs from resource file, some of them were obseleted, renamed, mistyped or temporary, currently nothing was corrupted...
3. Detail.
2019-05-10 18:53:41 +08:00
owomomo c927728736 1. Since the radio switch is not quite necessary in cheat window, I canceled it to freely edit style.
2. After some nightly consideration, I decided to remove some unused resource IDs from resource file, some of them were obseleted, renamed, mistyped or temporary, currently nothing was corrupted...
3. Detail.
2019-05-10 18:47:24 +08:00
owomomo 0713de844c 1. New cheat list box 0.0.0.4 Alpha, separated the normal cheat adding method and the cheat code/game genie method. While you're inputting the values, they are synced to the formatted string which is very convinience. In the past, the game genie was added from the name edit control, now the name is separated and the code can have a name even if it's a game genie.
2. Solved a problem of the add/editing watch dialog when pop up repeatedly from multiple places, because there are 3 places can pop up it now.
3. Fixed a bug when loading cheats from file crashes the emulator.
4. Detail.
2019-05-10 02:17:16 +08:00
owomomo 07f0c1af2c 1. Fix go to hex editor in possiblilities list doesn't select the address.
2. Detail.
2019-05-08 21:05:43 +08:00
owomomo 885bc1e889 1. Fix freeze ram in Hex Editor doesn't refresh the related window.
2. detail
2019-05-08 17:24:45 +08:00
owomomo 9adcbf16cb 1. Fix crash when add multiple watches in RAM Search window, and adding multiple watches here can be batch named.
2. New cheat list box 0.0.0.3 Alpha, changed the possibilities box to a CListCtrl rather than a simple CListBox, use a map for its buffer. It may not quite efficient currently, but I personally think it's much better than adding and deleting the items repeatedly every frame, and now its item can be selected while emulation is running, although there's not much usage for this...
3. added several context menus to possible list, now you can directly add address to memory watch or ram watch, or go to hex editor from here, currently it's still a single select list.
2019-05-08 13:55:53 +08:00
owomomo f0859ce1e3 detail 2019-05-02 03:15:57 +08:00
owomomo a3280d664d 1. New cheat list box 0.0.0.1 alpha, changed the toggle cheat from double click to selecting checkboxes in the item. It can show the code and name in the same time.
2. Fixed an ancient bug of cheat dialog that importing new cheats makes old existing cheats uneffective.
3. Restructured some cheat searching type to macros since the meaning of the mysterious number is unclear. Maybe the switch case was more efficient than if else... or not?
4. Use a temporary variable rather than a global one to indicate whether the null file pointer is cased by user clicking the cancel or close button of the open archive dialog or a loading error.
5. When recording a movie with cheats, show warning to the user and asking for disabling them.
6. Removed some seems like unused variables, hope this didn't break compiling crossing platforms.
2019-05-02 03:13:05 +08:00