Commit Graph

394 Commits

Author SHA1 Message Date
gocha 224606757d Lua: add gui functions
Note:
- bug: when "draw messages in image" is ON, Lua drawings are drawn to the SNES image. However, keep in mind that it has a sort of "1 frame delay" problem. You won't experience the problem when the option is OFF.
- font size is larger than older versions, at this moment.
- gui.gdscreenshot() and gui.getcolor() will return the SNES image without any Lua drawings.
- gui.gdscreenshot() stretches a screenshot just as Snes9x normally does. It stretches the image if it's hi-res one or interlaced one. (i.e. same as Settings.StretchScreenshots = 1)
2012-08-12 14:56:07 +09:00
gocha e2bb669948 movie: fix movie reset desync problem again 2012-08-12 06:48:21 +09:00
gocha ebc92a6681 movie: Fix desync problem introduced by today's update, by moving the first read/write frame data process to more safer position. (give proper frame count and state before calling it) 2012-08-11 20:53:51 +09:00
gocha 8fe66bdc44 nope, at least it brings a little new problem. 2012-08-11 13:02:35 +09:00
gocha 36f2e055ab Fix movie reset desync problem (hopefully), the reset should be done at frame boundary regardless of movie play/record. 2012-08-11 12:55:22 +09:00
gocha 4afbde805f Lua: joypad.get supports movie input from now
hope we can use peripherals as well someday.
2012-08-11 11:02:13 +09:00
gocha 488cc94e77 movie: add resetFunc() callback pointer to read_frame_controller_data, for future expansion. It might be useful to solve the movie reset desync problem, well, I'm not sure. 2012-08-11 10:20:54 +09:00
gocha 17f7223706 Lua: add joypad get/set functions
Note: joypad.get() probably cannot get movie input due to the structure of snes9x. I'll try to fix it later.
2012-08-11 09:20:47 +09:00
gocha 2a5edf076d win32: fix error handling of movie drag & drop 2012-08-10 07:49:25 +09:00
gocha 41f8189560 Lua: add movie functions
As a result, some get/set functions are added to movie.h
2012-08-10 07:48:07 +09:00
gocha ffc6db4eae Lua: add memory read/write functions, they use S9xGetByteFree/S9xSetByteFree in cheats2.c
Are they desync-free really?? If not, it should be fixed.
2012-08-10 00:10:48 +09:00
gocha e6522d25c9 Lua: add savestate callbacks, apply movie.rerecordcounting to on-memory savestate
Note: "quiet" option of savestate.save is not implemented.
2012-08-09 23:00:41 +09:00
gocha be43e26824 Lua: adjust initial savestate object size 2012-08-09 07:16:54 +09:00
gocha 719eee2cd9 Merge branch 'master' of https://github.com/snes9xgit/snes9x
Conflicts:
	win32/snes9xw.vcproj
	win32/wsnes9x.cpp
2012-08-08 23:04:02 +09:00
gocha c49e1529cb Lua: add savestate save/load functions, callbacks are not implemented yet 2012-08-08 22:54:27 +09:00
gocha 7ed405d6e2 win32: drag and drop support for snes9x movie (*.smv)
Conflicts:

	win32/snes9xw.vcproj
2012-08-07 19:31:42 +02:00
gocha fb2935d454 win32: remove "Toggled fast forward mode" checkbox, and give "fast forward toggle" hotkey 2012-08-07 19:22:59 +02:00
OV2 95e71e726f win32: remove afxres.h references 2012-08-07 19:17:37 +02:00
gocha befe889303 Lua: fix emu.registerafter timing, emu.atframeboundary must return true 2012-08-07 22:09:42 +09:00
gocha 60fbe2de5b add Movie.SkipRerecordCount get/set to movie.h 2012-08-07 22:00:23 +09:00
gocha e3c5112467 add Movie.RerecordCount get/set method, and Movie.SkipRerecordCount option, for future expansion 2012-08-07 21:41:33 +09:00
gocha 2e2fc9b70d Replace "gens" 2012-08-07 07:24:00 +09:00
gocha e323ee2821 Remove lua-engine warnings 2012-08-06 23:32:29 +09:00
gocha 6752be98a0 Lua: add basic info functions; emu.framecount, emu.lagged, emu.lagcount, emu.emulating, emu.atframeboundary 2012-08-05 17:32:35 +09:00
gocha 79c50791ae Lua: add gui.register and emu.message
Note: using emu.message in the callback function of gui.register causes infinite recursive call and the script will die.
2012-08-05 17:06:21 +09:00
gocha 2afcfc4589 Lua: add basic callback functions; emu.registerbefore, emu.registerafter, emu.registerstart, emu.registerexit 2012-08-05 15:45:56 +09:00
gocha 128c544998 win32: drag and drop for *.wch and *.lua 2012-08-05 07:02:38 +09:00
gocha 3cac797bfb win32: drag and drop support for snes9x movie (*.smv) 2012-08-05 06:43:51 +09:00
gocha d5945b06de Change the reset timing of pad_read to resolve a sort of traditional 1-frame delay problems. It still has 1-frame delay problem. However, unless you're using non-Windows port or MessagesInImage=TRUE, you shouldn't experience it anymore.
For me, it's not so easy to solve those traditional timing issues...

Add IPPU.InMainLoop for future use.
2012-08-04 15:30:24 +09:00
gocha d11b17327c Add IPPU.TotalEmulatedFrames and IPPU.PadIgnoredFrames to snapshot
To save our RR-version-only variables without losing compatibility, a chunk for that is added to the end of snapshot.
2012-08-04 14:49:55 +09:00
gocha a7695760f2 Add lag frame count display, instead of "ignored" sign.
Adjust reset timing:
- move IPPU.TotalEmulatedFrames initialization from InitROM to S9xResetPPU (part of S9xReset)
- reset pad_read in S9xResetPPU (it must be reset at the beginning of emulation including movie playing/recording, otherwise the lag frame count can show a different value, because of the first frame.)
2012-08-04 13:37:00 +09:00
gocha b6525112fb Remove MovieNotifyIgnored setting
Reasons,
1. Most players don't need it. It's probably only used by TASers.
2. However, as for TASers, it's less useful than lag frame count display. (i.e. how many frames have been ignored)
2012-08-04 08:33:19 +09:00
gocha 40c12d0890 provide movie-free frame count display 2012-08-04 08:01:19 +09:00
gocha c2a78a5388 Fix a little mistakes
win32: remove "Toggled fast forward mode" checkbox, and give "fast forward toggle" hotkey
2012-08-04 06:57:36 +09:00
gocha edf0bb2e10 win32: remove "Toggled fast forward mode" checkbox, and give "fast forward toggle" hotkey 2012-08-03 08:05:57 +09:00
gocha deff1aae43 Merge branch 'master' of https://github.com/snes9xgit/snes9x
Conflicts:
	gfx.cpp
	win32/_tfwopen.h
2012-07-31 07:50:50 +09:00
OV2 fcdc393e2b win32: make __forceinline tfw functions static (gocha) 2012-07-30 19:48:21 +02:00
OV2 365f30fcd8 Adjust input display position if displaying movie frame counter (gocha) 2012-07-30 19:18:14 +02:00
gocha 34cb93dc1c win32: _tfwopen.h - removed xxxxA functions from non-UNICODE build, it was redundant. 2012-07-27 10:47:09 +09:00
gocha e5d08c9a03 win32: lua-engine.cpp should use CRT fopen rather than the one replaced by _tfwopen.h
Still, lua-engine.cpp might want to use ANSIToWide function.
Therefore, I redefined those functions in lua-engine.cpp
It looks ugly. I wish I could know a better solution.
2012-07-27 10:23:47 +09:00
gocha 4de0dd491c win32: _tfwopen.h - _rename => rename, since MSVCRT doesn't have _rename. 2012-07-27 09:11:51 +09:00
gocha 93b4a200b7 win32: Unicode - change Lua code page from CP_UTF8 to CP_ACP
TODO
- fopen in lua-engine.cpp can be a problem. (needs to call a real fopen in C runtime)
2012-07-25 07:30:29 +09:00
gocha 1e2dd85321 win32: add AnsiToWide/WideToAnsi functions. This change is for Lua (non-Unicode DLL) and external modules (Lua-GD, for instance). 2012-07-25 07:18:33 +09:00
gocha 6fb8ae96b1 CRLF => LF, oops 2012-07-25 00:15:28 +09:00
gocha ae85998e81 add lua scripting engine (no useful functions yet)
Notes:
- library download link for convenience http://www.mediafire.com/?gokgoyvo6936l6b
- Unicode version passes UTF-8 string to lua51.dll, but the dll will process the string as a non-Unicode string. Therefore, Lua of Unicode version sometimes might cause a problem with multi-byte characters.
- There might be more bugs. I haven't tested it enough yet.
2012-07-25 00:01:29 +09:00
gocha 1c74de400d adjust input display position since it covers frame counter display 2012-07-24 19:54:03 +09:00
gocha b483a4bb52 Merge branch 'master' of https://github.com/snes9xgit/snes9x 2012-07-22 23:41:34 +09:00
gocha e180b02948 fix "not a movie snapshot" everytime bug 2012-07-22 15:15:24 +02:00
OV2 cf57ad3d5d win32: also show half-width katakana in rom info dialog 2012-07-22 15:10:58 +02:00
gocha 5d6d3af4a9 win32: Unicode - fix Custom ROM dialog to show half-width katakana 2012-07-22 14:57:35 +02:00