Commit Graph

326 Commits

Author SHA1 Message Date
adelikat c863d57113 Better color coding of input display, auto-holds show red, previous frame shows orange, restore ability to show immediate input, also fix but in autofire-autohold 2014-04-28 00:39:40 +00:00
zeromus c47a0c7426 make movie header savestates be binary, have their own key, and be stored in base64 form (actually, natt was right, they were stored as text, it's just that the "text" savestates from some cores are a ToHex'd byte array) 2014-04-25 02:19:46 +00:00
adelikat c74019a54d Add a CoreAttributes class with a CoreName field, and apply it to all cores, when recording a new movie, add a core header line that captures this name 2014-04-22 00:38:59 +00:00
zeromus 09daa3f939 fix read+write mode binary loadstate exception bug? 2014-04-18 17:41:14 +00:00
adelikat a6944c47d8 Play Movie - don't crash on headers with duplicate keys, don't throw an exception when movie files to parse 2014-04-13 23:18:45 +00:00
adelikat eac51f7c66 Movies.cs - simplify some code 2014-04-06 19:01:00 +00:00
adelikat 770ddc26db Add some more documentation to IMovie.cs 2014-04-06 16:49:05 +00:00
adelikat 42ff4c072c Lua - Fix joypad.set() 2014-03-29 21:12:04 +00:00
adelikat b93c1414c1 A fix to joypad.set() - passing null will clear a button 2014-03-27 01:21:05 +00:00
adelikat f714093b23 Movies 2.0 - some progress towards supporting floats 2014-02-25 02:56:32 +00:00
zeromus 2555f5f5e0 calculate out platform framerates, for convenience 2014-02-18 04:02:35 +00:00
goyuken f80ac18e1f maybe fix GMV movie imports. i have no time to test this 2014-02-10 01:29:31 +00:00
adelikat 41faaedc18 TAStudio / Movies 2.0 - rip out a bunch of boolean input assumptions, in favor of..nothing for right now this breaks most all of the functionality of TAStudio, will replace with something that accounts for float input as well 2014-02-08 22:41:47 +00:00
adelikat 0da1e900df slight cleanup of some Linq logic in HeaderKeys.cs, a tiny bit less memory usage as a bonus 2014-02-08 16:29:57 +00:00
adelikat e71d729626 some minor code cleanups in BizHawk.Common 2014-02-04 21:15:33 +00:00
adelikat 993845fe72 some mostly useless code reformatting in client.common 2014-02-04 03:08:20 +00:00
adelikat 3dfcd8b22a drastically cleanup the InputValidate class 2014-02-03 19:37:43 +00:00
adelikat 864d3ede2f Nitpicky cleanups on movie 2.0 code 2014-01-11 15:05:41 +00:00
adelikat 7394cfd33f More reorg 2014-01-10 23:14:36 +00:00
adelikat c0295316f5 Some Movie 2.0 reorg 2014-01-10 23:08:56 +00:00
adelikat 0164db5532 Remove a no longer needed file 2014-01-10 22:56:59 +00:00
adelikat 34fd1ec10a Movies 2.0 - fix some stuff 2014-01-10 02:01:57 +00:00
adelikat 128f81bbb0 oops 2014-01-10 01:18:19 +00:00
adelikat 15d0e1adb6 TasMovie - round 1 of replacing mnemonic system with an IMnemonicGenerator system, this breaks stuff, but nothing anyone should have been using. 2014-01-09 02:17:59 +00:00
adelikat 86024d2347 new movie mnemonic generators - some more baking of ideas, a basic mockup of NES done. Note: none of this is hooked up to anything yet 2014-01-06 22:28:53 +00:00
adelikat ef79734170 movies - start another rewrite of mnemonic generation 2014-01-06 03:59:00 +00:00
goyuken 0997e80017 boop 2014-01-03 02:40:17 +00:00
adelikat a519ae025f This should have fixed genesis mnemonics to be 2 player 2014-01-03 02:29:42 +00:00
adelikat 7482cfdc5e a round of code cleanup in Client.Common 2013-12-30 01:58:44 +00:00
adelikat 2d51ac5d13 Move a function from mainform to moviesession 2013-12-27 14:39:01 +00:00
goyuken 2171d4cd00 n64: support new settings system. regression: n64 video plugin settings are no longer stored in movie 1.0 files nor read from them 2013-12-26 23:04:22 +00:00
adelikat 302e71edc3 Rework some input stuff in preparation for moving it to common 2013-12-24 21:37:51 +00:00
goyuken 2558e76b5d fix rewind on N64, gpgx.debug 2013-12-23 20:34:02 +00:00
goyuken 8bd8af15fe clean up the binary save state api a bit 2013-12-17 21:26:15 +00:00
adelikat 4bfdfd31c6 add Genesis controller to controller config for GPGX, and oops, mnemonics now do 2nd player controller 2013-12-17 01:46:23 +00:00
adelikat 3602233069 Hook up mnemonics for GPGX, in v1 movie system 2013-12-17 01:42:30 +00:00
goyuken a6cbd85930 controls work and stuff now 2013-12-16 01:58:40 +00:00
adelikat ff4e122310 TAStudio - implement green-zone invaliding on edit 2013-12-14 21:05:54 +00:00
adelikat 5c9a604ae5 TAStudio - when loading a movie, set to playback mode, implement auto-switching to record mode at the end of a movie 2013-12-14 20:32:00 +00:00
adelikat 415985cd2e TAStudio - fixes to file opening and saving changes, implement autoload project 2013-12-14 19:51:07 +00:00
adelikat 69e8e42d61 TAstudio - implement input log loading 2013-12-14 18:46:59 +00:00
adelikat 63e9fe9a6f Split NewMnemonicsGenerator into its own file and do some code cleanup on the two implementations 2013-12-14 15:19:05 +00:00
adelikat 5fee952c3a TAStudio - Implement AskSave() and various client logic regarding file saving/loading 2013-12-14 14:40:33 +00:00
adelikat 6840c2a122 Make a NamedDictionary object in BizHawk.Common, and move some collection objects to their own file. new Mnemonic system - use NamedDictionary 2013-12-14 05:55:25 +00:00
adelikat 458d6951c0 remove IsControl that I committed earlier, decided not to do it that way 2013-12-13 22:26:52 +00:00
adelikat c7b582b744 Actually support control types 2013-12-12 23:01:16 +00:00
adelikat bb0e48e970 new Mnemonics generator - support for "control" sections in mnemonic generation 2013-12-12 22:23:48 +00:00
adelikat 18c50a55fe Remove SaveAs from IMovie, the only usage it had in that context was to make backups and was erroneously named in that context. Made is a Movie.cs implementation only and disabled the menu item option if the movie is a TasMovie (TAStudio will be in charge of backup logic) 2013-12-10 17:59:04 +00:00
adelikat 7e67658f1c Remove Loaded property from IMovie and refactor accordingly, it was only needed for a hack that had faulty logic 2013-12-10 17:41:30 +00:00
adelikat 1f181f48db TAStudio - start the "New" menu item, but it doesn't ask to save changes, it also freezes the GUI for some reason 2013-12-10 16:37:41 +00:00
adelikat fd149237ee TasMovie - implement saving of movie log into files, make header have the proper movie version (v2!), Change file "Movie" to "Header". TAStudio - implement Save and Save As menu items 2013-12-10 01:45:45 +00:00
adelikat 66691bf9ab TAStudio - set up a proof of concept change event handlers in MovieRecords and TasMovie, change events propogate from MovieRecord to TasMovie which will manage greenzone logic (todo) and other management issues, and then fire off an event that TAStudio will listen to manage UI needs 2013-12-09 21:40:27 +00:00
adelikat ada517d433 TasMovie - small todo 2013-12-09 17:24:32 +00:00
adelikat d3f088a0bc Intelligent input drawing 2013-12-08 19:42:07 +00:00
adelikat 14184c9ae9 TAStudio - Basic input toggling via clicking cells in the listview 2013-12-08 18:44:41 +00:00
goyuken 1bc9a5eb7a flesh out some TASMovie methods. not really done yet 2013-12-07 22:41:45 +00:00
adelikat 6873248ce8 Some cleaning up of logic of past commits, and separate MovieRecordList to its own file 2013-12-07 21:37:52 +00:00
adelikat ba2c345608 TAStudio - better column building and tracking of what has been pressed. Also now allows a variable number of players to be recorded. 2013-12-07 17:29:47 +00:00
adelikat 0737f884bd a new style Mnemonics lookup table, and a bunch of various refactorings. 2013-12-07 16:31:04 +00:00
adelikat 94de0b0376 TAStudio / TasMovie - Proof of concept that MovieRecords can hold an array of bool states and communicate with higher objects via IController 2013-12-07 01:50:52 +00:00
adelikat 50d4a3307a Rip out UpdateControls() method from IController, also some code cleanup in related files 2013-12-07 00:53:06 +00:00
adelikat 38d6555763 Some stuff 2013-12-06 18:27:06 +00:00
adelikat 98f1e02df3 TAstudio - start capturing states and lag, basic background color logic, start item text logic 2013-12-06 15:47:23 +00:00
adelikat 5384fcfdd2 TAStudio - start new recording on load, and generate columns dynamically based on the core currently loaded. Currently only does 1 player's worth of columns. 2013-12-05 19:18:20 +00:00
adelikat affc040dbd I round of code cleanup on movie related files 2013-12-05 00:44:56 +00:00
adelikat 894d9e9c45 Fix "out of order loadstating" when recording that was broken in the past few commits. Simplify HandleMovieLoadState even more. 2013-12-05 00:20:21 +00:00
adelikat 165f8563a7 More use of IMovie and less use of Movie 2013-12-04 15:17:02 +00:00
adelikat d9c1a5bfe8 Simplify HandleMovieLoadState() 2013-12-04 14:42:24 +00:00
adelikat fd8927f96c Movie - remove IsText and logic that was meant to allow a binary option, since that will never happen with this implementation of IMovie 2013-12-04 03:22:27 +00:00
adelikat b70d03a93f More simplifying Movie Loadstate code 2013-12-04 03:16:35 +00:00
adelikat ec030ae05e Rip out the saving, checking, and dealing with Guids for movie files, it is an outdated notion. 2013-12-04 03:04:29 +00:00
zeromus 0b301d4d5c add discussion and derivation of NES framerate 2013-12-04 00:38:37 +00:00
adelikat 14d0a29ae4 TasMovie.cs - bake the current emulator frame count into the input log when creating it savestates. As opposed to what the currently emulator code unforutnatley does which is parse it out of the core's section of the file which makes it poorly suited for flexibility in file format, and playing nice with not speghettified architecture. 2013-12-04 00:31:50 +00:00
zeromus 14838c127a add some discussion about platform framerates 2013-12-04 00:22:17 +00:00
adelikat b7d553cb4e Move the readonly flag from Global to MovieSession 2013-12-03 18:08:45 +00:00
adelikat e1d1095c3e Movie stuff 2013-12-03 15:59:46 +00:00
adelikat d71ec20df7 IMovie - more usage of MnemonicsGenerator to communicate input 2013-12-03 15:22:13 +00:00
adelikat b80f5a07ea Communicate with IMovie via MnemonicsGenerator objects 2013-12-03 02:10:17 +00:00
adelikat 56897e70a3 TasMovie.cs - implement some easy stuff 2013-12-03 01:43:02 +00:00
adelikat 1c22123da4 IMovie - refactor string GetTime() into TimeSpan Time, refactor accordingly, Fixing column size issues in Play movie dialog that was preventing the user from seeing the entire time without manually resizing. 2013-12-02 21:57:48 +00:00
adelikat 62db53d28c remove some unneeded things from IMovie 2013-12-02 19:54:10 +00:00
adelikat 0e6473987b Remove Rerecords from IMovie since it is a part of IHeader, therefore redundant and conceptually inappropriate. Also some low hanging fruit on implementing TasMovie.cs 2013-12-02 17:50:29 +00:00
adelikat db43c85715 put [Input] tags on MovieRecordList ToString() method. Make MovieRecordList store its own Guid to put inside the input tags 2013-12-02 14:59:38 +00:00
adelikat 075a1fb077 TasMovie.cs - more stubbing out of stuff 2013-12-02 04:24:45 +00:00
adelikat 3f79bbfd56 TAStudio - create a TasMovie object on load, start implementing some tasmovie things, if there is a move active, warn them that they will lose their work when they open tastudio. Swap global movie back to a regular movie on tastudio close 2013-12-01 22:29:38 +00:00
adelikat 1390b1a7e3 Start MovieRecord and TasMovie objects, they are just stubs right now 2013-12-01 20:55:52 +00:00
adelikat 316aa56ce9 Some more movie progress and fix exception thrown on startup 2013-12-01 01:55:41 +00:00
adelikat 2d51026883 some more movie cleanup - moving properties from Movie to MovieHeader since they are more appropriate there 2013-11-30 03:23:19 +00:00
adelikat e686e595b9 Refactor use of Movie Frame count - also fix play movie to show infinite movie's frame count as "Infinity" 2013-11-30 03:10:05 +00:00
adelikat 3eb3b41199 Some more movie code refactoring - better naming and less passing around writer objects 2013-11-30 02:50:54 +00:00
adelikat c95732ed31 Movie - don't expose the log directly, clean up, and remove StateVisualizer since I've given up on working on it! 2013-11-30 02:33:26 +00:00
adelikat 4cb01d8ed4 Finish up Movie Header refactor 2013-11-30 02:20:34 +00:00
adelikat ec11efb784 Round 1 of Movie Header refactor, make a IMovieHeader, and a static class HeaderKeys, simplify MovieHeader a ton as a result 2013-11-29 23:18:46 +00:00
adelikat a8b355c7d2 Movie - movie SubtitleList object into the Header object 2013-11-29 20:26:24 +00:00
adelikat 29a0fa49f8 Simplify IMovie and refactor some code to allow that, this also disables more functionality in TAStudio but it is disabled in trunk currently anyway (pending a rewrite). Also a bunch of pedantic code cleanup in tool dialogs 2013-11-29 19:55:05 +00:00
adelikat 27cc689176 Merge r5447 to trunk 2013-11-27 21:45:50 +00:00
adelikat a7a28c000a Some low-hanging fruit in the IMovie refactor 2013-11-23 18:18:58 +00:00
adelikat 1372fa258f Start an IMovie interface as a first step towards a major movie object refactor. Also disable TAStudio, in preparation for a complete rewrite. Disabling is necessary because a lot of movie functionality will be ripped out that will render the tool useless for now. 2013-11-23 17:26:33 +00:00
adelikat e5d5a4ec90 Fix Post-Movie loadstating 2013-11-23 00:13:36 +00:00
adelikat 51f340fa76 Play Movie Dialog - add Fps and Frame count to the Details grid 2013-11-16 21:49:47 +00:00
adelikat ef79dccc43 refactor how movies are calculated to separate framerates into a dictionary 2013-11-16 21:05:59 +00:00
adelikat ad848c5e96 Fix bug in MovieHeader that throws an exception in the Play Movie dialog if a movie with Board Properties is loaded (this is just a work around to a problem caused by a bad design!) 2013-11-15 16:52:29 +00:00
adelikat 28a73c8174 move GetEmuVersion() to VersionInfo and refactor a whole bunch of stuff as a result 2013-11-10 02:55:11 +00:00
adelikat 9751fd5a1a Move interfaces and base implemenations from emulation to emulation.common 2013-11-04 01:39:19 +00:00
adelikat 7b03fc0bc0 Move Buffer.cs and Util.cs from BizHawk.Emulation to BizHawk.Common, and add 1234832983 usings 2013-11-04 00:36:15 +00:00
adelikat ed5cfe39a6 1.5x and trunk - fix scrub input hotkey, on trunk a slight refactoring now that more things are in client.common 2013-11-03 16:53:05 +00:00
adelikat 187e169de9 a round of cleanup on MianForm.cs, and an attempt to start organizing methods and variables to make it easier to pull out logic in future refactoring 2013-11-03 02:51:21 +00:00
adelikat f3bb7421ed detangle and move some savestate code to client.common 2013-11-01 20:53:47 +00:00
adelikat 3cda83c2bc Move a bunch of logic from MainForm.Movie.cs to MovieSession.cs which is more conceptually appropriate, this also means that movie handling logic (including complex movie loadstate logic) is moved to Client.Common 2013-11-01 18:52:26 +00:00
adelikat d864929ad4 Add Subtitle Form - fix bug where Y wasn't being saved. SubtitleList - refactor to inherit List<Subtitle> and extend with the 2 useful methods it has beyond basic List functionality. 2013-10-28 01:31:30 +00:00
adelikat 48ffc8b9fb clean up multitrack object 2013-10-28 01:06:51 +00:00
adelikat bef10dc175 clean up movie saving, dont' pass around a streamwriter 2013-10-28 01:04:38 +00:00
adelikat 21bab46674 oops, but it shouldn't have to do this... 2013-10-28 00:47:12 +00:00
adelikat 795c624ab2 some simplifying of movie code 2013-10-28 00:44:01 +00:00
adelikat dfa37303bc Rip out crusty sorting code from Movie.cs and have the UI do it in LINQ instead 2013-10-28 00:21:00 +00:00
adelikat 9b846f8613 simplify some movie code, couple minor tweaks to the add subtitle form 2013-10-27 22:13:08 +00:00
zeromus 0acbb11e97 move HawkFile to BizHawk.Common along with a small web of dependencies and then add "using BizHawk.Common" to 100 files 2013-10-27 22:07:40 +00:00
adelikat dd4bc8dd59 Move MovieImport.cs to Client.Common 2013-10-27 18:18:58 +00:00
adelikat 9473f6840b Client.Common code refactoring and some misc things to do 2013-10-27 17:47:54 +00:00
adelikat 3f410a771c small code cleanups and deal with some warnings 2013-10-27 17:07:37 +00:00
zeromus 6616a75cfb etc 2013-10-25 00:59:34 +00:00
zeromus 249ddea268 revert to pre-refactor state. its a WIP, dont judge 2013-10-25 00:34:01 +00:00
adelikat 80f0c75a41 Movie MovieSession to Client.Common 2013-10-24 22:26:28 +00:00
adelikat 11d2997db7 Refactor movie to get out all the client specific code, the solution usually was to move code into the tool that was calling it since the function itself had little to do with the movie object, move the movie object to client.common 2013-10-24 21:44:12 +00:00
adelikat 1b6b53f687 move some more movie classes to Client.Common 2013-10-21 21:55:19 +00:00
adelikat bce6ec3dd6 add some movie related objects to client.common, and refactor some things too 2013-10-21 01:50:58 +00:00