Commit Graph

326 Commits

Author SHA1 Message Date
adelikat d27df7816d Rip out a bunch of stuff from my previous attempt at a mnemonics overhaul and from TasMovie 2014-06-14 21:09:14 +00:00
adelikat 1fcc105293 more 2.0 work 2014-06-14 20:17:07 +00:00
adelikat c08e6bbf93 Some more bk2 and movies 2.0 stuff 2014-06-14 19:13:21 +00:00
adelikat edacc9b8c8 BK2 - support loop offset 2014-06-14 18:52:00 +00:00
adelikat fed401164f Bk2 - savestate anchored movies 2014-06-14 18:33:22 +00:00
adelikat edf3d7ef10 BK2 - wire up to developer builds, implement saving and loading except for loop offset and savestate on savestate-anchored movies 2014-06-14 18:13:14 +00:00
adelikat 18d0a59869 another small Movies 2.0 todo 2014-06-14 14:09:55 +00:00
adelikat d816b1ed20 Bk2 progress 2014-06-14 14:04:54 +00:00
adelikat 01fd28f4b0 Some bk2 progress 2014-06-14 00:42:45 +00:00
adelikat 032f8a9b21 bk2 progress 2014-06-13 11:30:25 +00:00
adelikat 398577245e Progress on Bk2 implementation 2014-06-13 00:43:55 +00:00
adelikat 1ab1538f8b More movie code reorg 2014-06-13 00:15:55 +00:00
adelikat 898155f5be Some Movie code reorg 2014-06-12 23:57:23 +00:00
adelikat 3ea79c720b More movies 2.0 stuff 2014-06-12 21:45:47 +00:00
adelikat 05b3f369eb Now that SGB is the BoardName, don't save a SGB row in the movie header 2014-06-12 21:27:49 +00:00
adelikat b26b26efbe More movies 2.0 work 2014-06-12 20:42:46 +00:00
adelikat 3dce396261 More movie 2.0 stuff 2014-06-12 11:53:25 +00:00
adelikat 373231379c Movies 2.0 work - play movie dialog is now complete IMovie based and no specific implementation 2014-06-11 21:20:23 +00:00
adelikat 54c9c2c0a0 Some more Movies 2.0 work 2014-06-11 21:14:13 +00:00
adelikat e0a9fcd650 More movie 2.0 stuff 2014-06-11 02:56:57 +00:00
adelikat 5d31fb2b3c Some more movie 2.0 progress 2014-06-11 02:33:57 +00:00
adelikat a682c667dd Nuke IMovieHeader, put necessary methods into IMovie instead, and some todos on trouble spots for movie 2.0 2014-06-11 01:41:41 +00:00
adelikat 47d5b1e2e2 Movie Savestate blob from IMovieHeader to IMovie, Movie and TasMovie just use the MovieHeader object as usual, but at least the calling code no longer expects that 2014-06-11 00:41:20 +00:00
adelikat 229a6f6ac9 Oops 2014-06-11 00:27:19 +00:00
adelikat e07c7a776f Some simplifying of IMovieHeader 2014-06-11 00:21:14 +00:00
adelikat 5177051d08 Movie files - some more reorg - renaming and putting into new folders 2014-06-08 22:24:38 +00:00
adelikat 6b2889957a Some refactoring of movie code to make the Header less implementation specific, and start Movie2.cs which will be a Movie 2.0 implementation 2014-06-08 22:12:15 +00:00
adelikat 7e9b13f5c3 Some movie refactoring - moving a function into the importer class, remove MovieExtension from the config file and instead add it as a movie property, add some todo comments in places regarding movie 2.0 2014-06-08 19:36:33 +00:00
adelikat b0c7ba5f77 remove info about sram from IMovie documentation, as the details of the implementation don't necessitate any particular way of handling sram handling 2014-06-08 18:31:09 +00:00
goyuken 11af441464 wonderswan: change pad names for fun and profit. breaks controller config. does not break existing mooovies 2014-06-07 01:26:16 +00:00
goyuken 5bb38cb1c2 wonderswan: rework how controls are handled for rotated situation. all savestates are invalid. you should probably delete the wonderswan portion of your control configuration. 2014-06-04 23:26:57 +00:00
goyuken 019ab3efe0 bizswan: support rotating the screen at playtime 2014-06-04 02:03:40 +00:00
goyuken 239eb5b268 saveram stuff 2014-06-02 16:33:08 +00:00
adelikat d4c0c64402 hacks 2014-06-01 16:53:34 +00:00
adelikat 2d6e526073 Wonderswan - add Start to mnemonics 2014-06-01 16:49:40 +00:00
goyuken 37d0510444 add PAL A2600 framerate to movie check code 2014-05-31 16:28:31 +00:00
goyuken 866f98c6ce bleh 2014-05-30 21:06:52 +00:00
brandman211 fd6a1fdac8 6-Button controller support for ImportGMV. 2014-05-28 05:47:10 +00:00
brandman211 961897a91b -Added .YMV importer.
--Might actually have a chance of syncing if it weren't for all of the frames that are added from the BIOS. Should I make the importer add extra frames to compensate for this?
-Fixed some typos.
2014-05-28 04:41:12 +00:00
brandman211 be82821b7d ImportVBM now supports L and R. 2014-05-26 05:02:46 +00:00
adelikat 6f296a5773 Lua - joypad.setfrommnemonicstr() - support the notion of pressing the analog stick for 1 frame, rather than sticky behavior 2014-05-21 03:25:41 +00:00
adelikat 32a1fba5c0 rip out legacy board properties stuff 2014-05-18 16:47:19 +00:00
adelikat 20ed09e86c Rip out more obsolete setting stuff 2014-05-18 16:35:23 +00:00
adelikat 5634b085cf Store sync settings into the movie file, note: this does not include logic for deserializing sync settings and passing them to the core when loading a movie 2014-05-18 15:07:50 +00:00
adelikat 558fb67984 Fix "starts from now" on SMB3 in quicknes, and who knows what other scenarios for savestate anchored movies 2014-05-18 01:00:35 +00:00
zeromus e4bf12ddf9 faster movie preloading 2014-05-16 00:12:08 +00:00
adelikat 0fa33c7ca8 Fix N64 movie playback by removing a bogus defensive validation check that had bogus logic of ignoring input that didn't match the check. Bogus logic was bogus. 2014-05-15 18:48:41 +00:00
adelikat 63430bb039 Fix movie loop offset feature 2014-05-05 01:12:15 +00:00
adelikat f976c2e27b another fix to dual gameboy mnemonics, the method can correctly accept an empty string, so check for it before indexing 2014-05-03 17:48:49 +00:00
adelikat de53d1d810 Fix crash on input display for dual gameboy 2014-05-03 12:58:34 +00:00
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