Commit Graph

1705 Commits

Author SHA1 Message Date
brandman211 791f9624f5 -Changed L to l for lag in NES mnemonics.
-Fixed PCE movie syncage.
-Preparing to revamp InputAdapters.cs with constant mnemonics.
2012-02-19 18:42:06 +00:00
brandman211 79d12b9181 -Refactored NES and PCE button orders.
-Realized that FixMnemonic is useless as GetControllersAsMnemonic() + WriteMovie() = Fixed.
-Finished the NES / PCE importers, now without string builders (Thanks zeromus)!
-Converted ImportMMV to this same method.

TODO:
-Decide how's the best way to handle the mnemonic header and implement it. Apparently, anything other than a predefined header and a | is considered as a comment, so I might do something like:

comment Mnemonic format:
[0|UDLRsSBA]
2012-02-19 07:09:24 +00:00
brandman211 5534bbd8b5 -Refactored NES and PCE button orders.
-Realized that FixMnemonic is useless as GetControllersAsMnemonic() + WriteMovie() = Fixed.
-Finished the NES / PCE importers, now without string builders (Thanks zeromus)!
-Converted ImportMMV to this same method.

TODO:
-Decide how's the best way to handle the mnemonic header and implement it. Apparently, anything other than a predefined header and a | is considered as a comment, so I might do something like:

comment Mnemonic format:
[0|UDLRsSBA]
2012-02-19 07:08:55 +00:00
zeromus 7ea52dfc8d fix bug in mnemonics generator that made it not as versatile as it was meant to be 2012-02-18 20:44:54 +00:00
brandman211 9fb0393b7f -Changed the PCE mnemonics. 2012-02-18 15:49:44 +00:00
brandman211 a6a81bb76a -Subtitles seem to work perfectly now.
-Included System.Globalization in a using statement to be more consistent with the rest of the uses of System.
-Removed trailing whitespace while I was at it. I'm OCD and it deeply bothers me, so I'll remove it on all the files that I commit in the future. Can't imagine anyone would object.
2012-02-16 00:55:07 +00:00
zeromus 80d8b617a5 a little bit of subtitle stuff cleanup, hopefully i didnt break anything 2012-02-15 19:50:25 +00:00
brandman211 213b347779 -Fixed the infinite loop caused by Movie.FixMnemonic. That was dumb.
-Removed the FCEUX handling from SubtitleList.AddSubtitle; it didn't work at all, which is good because we no longer support FM2 natively anyway!
-Added MovieImport.AddSubtitle, which parses FM2 subtitles and forwards them to the .TAS movie object.
--For the color, I used 16777215 as it seems the subtitles use decimal instead of hexadecimal...why?
--Even though I used this color, which is definitely the equivalent of FFFFFF (white), the subtitles show up as black. I don't think this has anything to do with the importer, but it's worth looking into.
2012-02-15 19:31:11 +00:00
brandman211 145830d5a4 -Began working on the importer.
--Created ImportFile to decide what function to use for each filetype.
---It currently automatically writes to a .TAS file, but that option will eventually only be applied when specified in the GUI, hopefully completely external from this class.
--Made IsValidMovieExtension work.
--Created LoadText to do the majority of the work that both .FM2 and .MC2 need to be done.
--.MC2 seems to work perfectly, not that it was a hard conversion!
--.FM2 seems to convert most headers correct, except for subtitles, which replaces the beginning portions of each subtitle's text with 0 0 120 4294967295. Not sure what that's about, though this sure feels like deja vu...
--I still need to switch around the order of the buttons the frames are added, but I need to find out what way I can do this without reinventing the wheel.
-Added the FixMnemonic function to Movie.cs. It currently does nothing, but my goal is to have it correct the mnemonic for all frames in a movie file based on the position of the characters.
--As of right now, ImportFile uses this.
-MainForm.IsValidMovieExtension only checks whether or not its .TAS or not now.

TODO:
-Fix the FM2 subtitles.
-Shift around the FM2 buttons.
--After completed, test a .FM2 file that should sync and see if it works, with and without FixMnemonic being used.
-Make FixMnemonic actually do something.
-Refactor code? I originally thought it'd be best to treat Movie.LoadText just like any other importer, but I think at this point it might just be best to keep these things completely separate.
-Consider the possibility of working with the binary file importers.
--Yes adelikat, I am somewhat interested, especially considering how useful it would be to have a working .FCM importer so I can compare old runs when TASing. I already was hoping to learn about .VBM and .SMV for my ButtonCount.lua script. By the way, might this be bundled with bizhawk as it is with FCEUX 2.1.6? :)
2012-02-15 06:54:09 +00:00
andres.delikat a45a98f773 MovieImport - implement IsValidMovieExtension() 2012-02-15 01:18:15 +00:00
andres.delikat ff5c9a2799 refactor movie convert into movie import. Currently this breaks movie conversion, as the main convert function now needs implementation 2012-02-15 00:43:21 +00:00
brandman211 a38afd4fb2 -Fixed NES movie mnemonics.
--.FM2 is no longer a valid movie extension, so it is no longer counted as such in IsValidMovieExtension.
-Reused the code from PCE controller setting for NES.
-Seem to support 4 controllers for the NES now.
-General code cleanups.

TODO:
-Input from the 3rd and 4th controllers doesn't seem to be polled properly. Figure out what's wrong here.
-The copypasta from PCE to NES could probably be made into one function. The same could be said about many other portions of this code...DRY.
-Now that the mnemonics are fixed, I will have to write a proper converter for FM2.
--Once this is done, I will try the same for PCE, even if it can currently run natively.
---Once this is done, IsValidMovieExtension might as well be removed in favor of only accepting .TAS files and converting everything else.
2012-02-14 04:28:47 +00:00
andres.delikat 8e241067e6 Lua - hook up savestate library and implement saveslot() and loadslot() methods 2012-02-03 12:18:27 +00:00
kylethomson 363b913e52 2012-01-29 03:32:18 +00:00
kylethomson ca1114311c Kill the lua thread as part of closing. 2012-01-29 03:22:05 +00:00
andres.delikat 5492a9fd19 Lua - gui.text() finished 2012-01-28 23:26:10 +00:00
andres.delikat 064bdbb9a7 Lua - start gui.text() but currently outputs to console window instead of on screen 2012-01-28 22:44:48 +00:00
andres.delikat c7cc0ee203 lua - implement memory.getcurrentmemorydomain(), memory.getmemorydomainlist(), memory.usememorydomain() 2012-01-28 22:30:04 +00:00
andres.delikat 2a86660466 Lua - MainMemory functions 2012-01-28 22:11:39 +00:00
andres.delikat 2e0ac111ab Proper checking if lua is running when doing thread waiting/set 2012-01-28 22:00:51 +00:00
andres.delikat 0082876510 LuaConsole - protect WriteToOutputWindow() and ClearOutputWindow() in case lua console is closed when called. Close the lua object on LuaConsole close (fixes some crashes). 2012-01-28 21:51:01 +00:00
andres.delikat 41708a8579 Lua - move threading code into the frame loops, now emu.frameadvance works per frame not per emulator loop 2012-01-28 21:43:55 +00:00
kylethomson 33ca14a344 Getting closer. Now catches a .NET exception in user code. 2012-01-23 01:10:56 +00:00
andres.delikat 5c2587ecfb Make last commit compile 2012-01-23 00:38:28 +00:00
kylethomson 588eed4474 Try again. 2012-01-23 00:20:23 +00:00
kylethomson a36005e8fc Fixed typo. 2012-01-23 00:18:23 +00:00
andres.delikat 7ac7f335f9 send FromCuePath a default CueBinPref object to make it compile. Todo: feed it a correct value?? 2012-01-22 23:56:49 +00:00
kylethomson 16ec704e41 Added Frameadvance with threading. Can't test, because CueFromPath is broken. 2012-01-22 23:44:53 +00:00
andres.delikat abf0698e43 oops 2012-01-22 23:07:50 +00:00
andres.delikat d4260e22b1 Lua Console - hook up recent lua menu items, and start lua session file loading 2012-01-22 23:03:43 +00:00
andres.delikat defbe971c4 Lua - open/close rom, open tool dialogs, fix memory_readbyte to read from a selected memory domain instead of hardcoded main memory (with main memory as the default), small fix ups to lua console 2012-01-22 22:42:40 +00:00
andres.delikat 78cc4d5cae Lua - started a client library for functions that control the multiclient. Added client.openramwatch() as a proof of concept. 2012-01-22 22:20:09 +00:00
andres.delikat 48c651cfc7 Lua Console - lua functions list menu item. Lua - console.clear, console.getluafunctionslist, emu.getsystemid 2012-01-22 03:14:31 +00:00
zeromus 5f66de57ec discohawk-add capability for searching for mis-extensioned files (broadens compatibility a bit) and autodetecting audio tracks based on extension where otherwise marked as binary. 2012-01-21 21:23:19 +00:00
andres.delikat 95a769aa0c Lua console - minor gui fixups 2012-01-21 20:38:43 +00:00
andres.delikat 47f68a611b Lua - fix typo problem that caused exception throwing in last commit, implemented emu.pause, emu.unpause, emu.togglepause 2012-01-21 20:20:06 +00:00
andres.delikat 955cee21b6 Lua console - hook up lua file loading! Lua library - Added a console library with an implemented console.output(), registered all lua libraries, implemented movie.stop, movie.rerecords, movie.mode 2012-01-21 20:05:53 +00:00
andres.delikat ab9de22644 small icon fixes 2012-01-21 17:14:05 +00:00
andres.delikat ed02a2e951 Lua Console - another round of dialog fix ups 2012-01-11 02:29:50 +00:00
andres.delikat 3e2e657dcf Lua Window - various dialog fix ups like toggle, storing recent files, drag & drop 2012-01-10 03:12:01 +00:00
andres.delikat d6a57e08c1 Toolbox - reload icons on rom open/close so that core dependent tools update. 2012-01-10 02:11:17 +00:00
andres.delikat c871eedbbc Debugger icon, add to gameboy debugger menu item, add gameboy debugger to toolbox (conditional on gb emulation) 2012-01-10 02:02:11 +00:00
andres.delikat ee440f140f Lua Console - hook up autoload, fix hotkey and toolbox to open lua console (not the old lua window dialog). Add TAStudio to the toolbox dialog. 2012-01-10 01:30:17 +00:00
zeromus e73dee15b9 fix lua 2012-01-09 00:15:54 +00:00
andres.delikat 823edd2f67 store lag frame information into movies. Have TAStudio highlight lag frames in pink. Currently only hooked up for the NES core. 2012-01-08 23:51:53 +00:00
andres.delikat 4b074b7d26 Fix so that dialogs that use InputWidget can still close with Alt+F4 2012-01-08 23:01:14 +00:00
andres.delikat e220d62c54 Gameboy - oops, fix SRAM memory domain 2011-12-27 03:03:10 +00:00
andres.delikat 9b2a9a390f Gameboy - refactor memory domains to use the correct objects instead of the cpu buss 2011-12-27 02:59:37 +00:00
andres.delikat 422e9c6daa Gameboy - fix ROM loading, and implement memory domains (WRAM banks, VRAM, HRAM, OAM) 2011-12-27 02:10:07 +00:00
andres.delikat f1da3bfa08 Play Movie dialog - Match Game Name option, checked by default. 2011-12-27 00:15:48 +00:00