Commit Graph

326 Commits

Author SHA1 Message Date
adelikat bf88be8c72 Convert some more util methods to extension methods 2014-07-03 19:05:56 +00:00
adelikat a9aa65397c Convert a Util method to an extension method 2014-07-03 18:29:51 +00:00
adelikat a5fadb8e0b Some useless cleanup 2014-07-03 18:17:09 +00:00
adelikat 2bd52403a7 Bk2 movies - remove auto input log conversion on load, since load is too soon to do this as it will not use the controller definition of the new core instance that hasn't been loaded yet. As of this commit, it doesn't use the log key when reading input either, so log entry logic is dependent on mnemonic orders and such things from the controller definition. Will need to ponder a way to put this back in. 2014-06-30 12:50:46 +00:00
adelikat 5262bed608 make bk2 the default even in non-developer builds 2014-06-30 12:03:10 +00:00
adelikat 3a011ad788 Refactor to put multitrack logic into the multitrack object itself instead of in the OSD manager and hotkey logic 2014-06-29 23:13:44 +00:00
adelikat 893a8b16e5 Record Dialog - Fix crash when movie folder does not already exist 2014-06-29 20:07:21 +00:00
adelikat 6e7fefb7b4 Fix mnemonic lookups for C64 keyboard 2014-06-29 16:25:29 +00:00
adelikat 27fb2ce9a0 Virtualpad Analog sticks - in record mode show the previous frame's input in gray 2014-06-29 14:42:20 +00:00
adelikat 38b76ea5d9 fix N64 dpad mnemonics and virtualpad buttons, fix pce and snes virtualpad buttons 2014-06-29 13:05:10 +00:00
adelikat 01ba63dd09 Coleco/Intellivision - Replace patterns like "Key0" with "Key 0" in button names for consistency and remove a hack in bk2 code that accounts for it 2014-06-29 12:32:36 +00:00
adelikat 9e73db3daa A round of code cleanup on movie code 2014-06-29 03:03:27 +00:00
adelikat 6fce0bcad6 remove Time from IMovie and instead implement the logic in PlatformFrameRates 2014-06-29 00:57:33 +00:00
adelikat 055e88fea3 Remove Fps from IMovie 2014-06-29 00:48:36 +00:00
adelikat 90e95752e4 Wonderswan - Mnemonics and Virtualpads, virtualpads are a bit clunky with Standard and Rotated showing at all times, perhaps at some point we should be smart about knowing the rotated state 2014-06-28 19:07:18 +00:00
adelikat 88d4a2a5a8 Genesis mouse - mnemonics, default buttons and virtual pad 2014-06-28 12:45:12 +00:00
adelikat 1361e2ff23 Genesis - default controls for lightgun, mnemonics lightgun buttons, support lightgun and console buttons on the virtual pad 2014-06-28 12:31:28 +00:00
adelikat 3dfb65ee4b remove some debugging code and remove a warning as a result 2014-06-28 02:11:19 +00:00
adelikat 721dbe8d3b Input adpaters - some reorg and add extensions for create And and Or adapters and simplify some calling code 2014-06-26 19:07:17 +00:00
adelikat fbb14175f9 Support Oeka Kids Tablet in virtualpads and bk2 mnemonics, oh yeah 2014-06-25 00:44:22 +00:00
adelikat 9045f8402c Virtual Pads - hook up Nes Power Pad and also hook it up to bk2 mnemonics 2014-06-25 00:11:59 +00:00
adelikat 7fa551708f Virtual Pad - get analog button working on movie replay 2014-06-24 17:12:20 +00:00
adelikat 8001a49afd Bk2 - tweaks to input log and input diplay logic 2014-06-21 18:25:16 +00:00
adelikat 5e14df9f30 BK2 - auto convert input log to the system's log key on load, using the input log's key as reference to do so, don't use the file's input log key on the fly 2014-06-21 17:27:35 +00:00
adelikat 10c48bb3f8 Bk2 - take the log key into account when replaying a movie input log 2014-06-21 14:33:33 +00:00
adelikat 0b21085a98 Bk2 - Rework how input logs are generated and read 2014-06-21 11:56:30 +00:00
goyuken 71ddbde18d bk2 savestate anchor stuff 2014-06-20 00:39:46 +00:00
adelikat f561528846 More input display fixes 2014-06-19 21:55:15 +00:00
adelikat 031eb5a282 Some input display fixes for bk2 format 2014-06-19 21:29:57 +00:00
adelikat 5145ef3f97 Movie imports now import to .bk2 2014-06-19 02:30:22 +00:00
adelikat 31c219d44b when loading a .bkm movie, automatically convert it to .bk2 2014-06-19 02:05:38 +00:00
adelikat ac2ea9f6e0 Fix non-bk2 movie loading 2014-06-19 01:47:22 +00:00
adelikat 9a16540e14 Movie 2.0 - simplify some code 2014-06-18 19:34:27 +00:00
adelikat 451049fee8 Fix some bk2 crash bugs 2014-06-18 19:18:35 +00:00
adelikat 6133164a7f Add GetInputState() to IMovie that returns an IController representing a frame of input and replace a lua method to use this instead of getting the inputlog as a string and processing it, still todo: obsolete the GetInput() method 2014-06-18 02:26:22 +00:00
adelikat 5cda104ea5 Start ToBk2() conversion method for BkmMovie 2014-06-17 01:24:44 +00:00
adelikat 6c2ba47522 a movies 2.0 cleanup 2014-06-17 01:13:20 +00:00
adelikat fcd4a4eb65 Bk2 - basic movie playback now works. You can now record shooting ducks 2014-06-17 00:33:33 +00:00
adelikat 37d6e0b8de Finish up Bk2 Mnemonic lookup 2014-06-16 16:56:09 +00:00
adelikat 6953f3d6be oops, forgot to add these files? 2014-06-16 11:40:57 +00:00
adelikat 1a4e6efcb4 bk2 progress - proof of concept for new mnemonics system 2014-06-16 01:39:36 +00:00
adelikat 6b73891a91 More bk2 progress 2014-06-15 14:44:26 +00:00
adelikat c807e27496 Some movie code reorg and cleanup 2014-06-15 13:03:24 +00:00
adelikat 1768350d65 Start Bk2LogEntryGenerator 2014-06-15 12:43:32 +00:00
adelikat 28dcf5c3a1 remove a reference to BkmLogEntryGenerator() I missed in last commit 2014-06-15 12:17:28 +00:00
adelikat 9ac32a688a Remove BkmLog.cs 2014-06-15 02:23:28 +00:00
adelikat f5f832180d Some movie code reorg and remove some outdated stuff 2014-06-15 01:55:35 +00:00
adelikat 6ec1a45b70 Major cleanup of MnemonicsGenerator - change it to a LogEntryGenerator notion, and only expose it through a movie implementation, via an ILogEntryGenerator interface 2014-06-14 22:36:32 +00:00
adelikat 1cefb2dd95 Simplify log class even more 2014-06-14 21:41:11 +00:00
adelikat 70baceb6c8 Fix Bk2 playback, also rip out a bunch of junk from the Old Movie Log class from the first attempt at TAStudio and some half-baked notion of an input log class 2014-06-14 21:37:51 +00:00
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