Commit Graph

225 Commits

Author SHA1 Message Date
adelikat ead2d186cf SNES - hook up movie playback, probably, needs a frame counter to use it 2012-09-05 02:24:03 +00:00
adelikat f1de424aa3 Fix input display that I broke yesterday. Hook up SNES input display and movie recording (but not playback) 2012-09-05 02:07:30 +00:00
adelikat 632127fe0a NES - don't record lag frame status into movies, it is not necessary for TAStudio anymore 2012-09-03 21:38:11 +00:00
adelikat 80012d29c6 TAStudio - store whether or not a frame was a lag frame along with the state for green zoning, show lag frames in red based on this flag rather than something recorded into the movie file, also fixed a bug I introduced in the last commit 2012-09-03 21:28:10 +00:00
adelikat ac91ed67a6 Movies - refactor & cleanup the MovieLog class 2012-09-03 20:55:05 +00:00
adelikat 6142e2a8f1 Movies - a bit more cleanup 2012-09-03 20:26:51 +00:00
adelikat 1b20175a81 Movies - final round of refactoring, also removed all code relating to the StopOnFrame variable. The fast foraward button on TAStudio now loses some functionality, but the code that did it needed an overhaul 2012-09-03 20:17:57 +00:00
adelikat 8f408737da Movie refactoring - round 2 2012-09-03 19:42:53 +00:00
adelikat 27f4663125 Movies - round 1 of code cleanup (no functional changes) 2012-09-03 15:05:09 +00:00
adelikat 7bc1e88d1d TAStudio - Rewind button - fix logic when movie is finished or inactive 2012-08-28 03:18:53 +00:00
adelikat 7ad3ea9ef5 Movie - clean up some code that has gotten crusty in the frame loop and refactored it, fixed logical errors at the end of a movie regarding playback, rewind, and loadstate. Movies now go correctly into finished or play mode under various circumstances. Removed the stop on frame code because it was breaking things, this will be a regression in functionality in tastudio until it is rethought. 2012-08-25 23:31:54 +00:00
adelikat 5486acbbbc Movies - fix a regression that happened at some point where the movie is not truncated on a loadstate that triggers record mode (instead it would keep the entire movie in the savestate and record over each frame, this would leave garbage data that could lead to potential desyncs) 2012-08-25 22:18:54 +00:00
adelikat 514c3200d7 remove more tastudio instances in movie class, TAStudio - re-hook up double click event 2012-08-18 00:04:12 +00:00
adelikat c9ddbd6d89 TAStudio - implement Cut function, fixes to insert, and delete, minor cleanup of movie object 2012-08-17 23:56:37 +00:00
adelikat 952892b5df TAStudio - implement Truncate Movie 2012-08-17 03:24:33 +00:00
adelikat d7e05ceb32 TAStudio - implement clear frame, pause emulator on TAStudio load 2012-08-17 02:26:47 +00:00
adelikat 9baf1b8f28 TAStudio - implement clone frame feature, and some UI and Movie object cleanup 2012-08-17 02:18:25 +00:00
brandman211 1bedd81666 That optimization for movie length calculation in the PlayMovie dialog now accounts for files with new line characters of all sizes. 2012-07-25 08:01:02 +00:00
brandman211 5ce6050cb4 -As frames and subtitles actually occur more than once, I put them on the top of the big if / else if block for ImportText so that it doesn't have to do unnecessary ToLower() and StartsWith("name") calls.
-Put frames and subtitles into functions because vec\ gives good advice.
2012-07-04 07:34:52 +00:00
brandman211 c06a44c495 ImportText now only allows version 3 for .FM2 files. 2012-07-04 06:41:57 +00:00
brandman211 62e9143fdd -Made the boolean parsing more consistent.
-Subtitle parsing now allows excessive whitespace.
2012-07-03 22:24:24 +00:00
brandman211 1aa8030cf4 ImportText now works case-insensitively and trims whitespace. 2012-07-03 16:47:08 +00:00
brandman211 24a27d543a Fixed the case (should have detected "guid", not "GUID") for parsing the guid, preventing an extra space from showing up in converted FM2 files. 2012-07-03 16:04:17 +00:00
phillip.grimsrud f7fa9f7751 1. Fixed an Atari 2600 mnemonic bug for issue 77. Note that TAStudio is still broken for Atari 2600. 2012-06-30 00:42:42 +00:00
adelikat 4d91471bab Record movie dialog - use filesystem safe name of game when choosing a default name. Fix regression that made default filename not populate in the savefile dialog. 2012-06-25 00:06:07 +00:00
phillip.grimsrud a6ced95e07 1. Fixed tastudio memory leak. This was accomplished by dropping the oldest saved stats after hitting a size limit (1 GB).
2. Changed StopOnEnd to StopOnFrame. This expands the functionality so that you can tell the emulator to run and then stop at a predetermined point.
3. Expanded the functionality of RewindToFrame to handle more cases. Now you can go back or even forward to a frame and it handles the execution and greenzone appropriately.
4. Due to the change in structure some code was changed to check the index of the first and last saved states in the greenzone rather than relying on the size of the saved state list.
5. Changed the list of saved states in the movie log from a list of byte[] to a list of structures (the structure has an int for the index and byte[] for the state).
6. Saved an init state in the movie log. This is used to go back to the beginning if the beginning of the movie is no longer in the list of saved states.
7. Expanded the AddState and SetFrameAt logic in the movie log to account for the fact that the size of the saved state list is now capped.
8. Fixed a bug in the log interpretation for SMS.
9. Fixed a bug in the sms virtual controller, buttons 1 and 2 were hooked to the wrong objects.
10. Fixed the tastudio listview to show lag as pink.
2012-06-18 01:36:38 +00:00
brandman211 646a6c1c58 -Fixed my GetMnemonic crash fix. It's "Null Controller", not "NULL Controller".
-Made it so that each new search zeroes out the change count.
--This prevents all non-zero items from starting out with 1 change.
--A similar fix needs to be applied to Ram Watch (Filing issue...).
-Allowed changing data size, endian, and unaligned address setting in the middle of the search and maintaining valid values, fixing Issue 72 (The last open Ram Search issue until my "Difference" idea is hopefully accepted).
--Unlike my previous model, this does not align unaligned addresses; all it does is change the size / endian and PeekAddress.
--It does remove unaligned addresses, however, if you have it set to.
--This version converts System Bus instantly whereas the previous version stopped responding.
2012-06-10 04:32:25 +00:00
brandman211 f716caeae5 Temporary fix for the ROM loading crash issue. Will report if it crashes again. 2012-06-09 02:24:19 +00:00
phillip.grimsrud cb4c45eb70 1. Upgraded insert and delete functions in tastudio to support multiple selection.
2. Fixed issues with the light blue current frame pointer in tastudio
3. Removed a totally useless index that was being kept seperately in the movie log.
4. Moved the tastudio update after the check to see if the rest of the saved state list is valid.
5. Changed some function/variable names related to the movie log for clarity.
2012-06-07 04:47:54 +00:00
phillip.grimsrud c7db5fd543 1. Fixed an issue that prevented going into the movie finished state properly.
2. Relegated a memory leak to tastudio.
2012-06-03 04:04:13 +00:00
phillip.grimsrud d6479e5613 These changes are TAStudio related.
1. Added a list of save states to the movie log.
2. Added corresponding support functions for the save states.
3. Added double click to the list view to load a previous frame.
4. Added a context menu to the list view with insert and delete.
5. Fixed some issues with the green zone of valid state history.
6. Fixed an input bug that I had unwittingly created, as well as issues with the nes log format.
2012-06-01 05:49:26 +00:00
adelikat 820875fbae Multiclient menu - disable the movie, avi, and screen shot menus when no ROM is loaded 2012-05-31 01:13:25 +00:00
phillip.grimsrud fc0ec832ae These changes are for TAStudio upgrades. If I've broken other stuff please yell at me.
1. Hooked up Fast Forward, Fast Forward to End
2. Made a placeholder for Turbo Fast Forward.
3. Fixed rewind to not stomp on the previous frame with new input.
4. Fixed rewind to stop at the beginning of the movie instead of freaking out.
5. TAStudio now shows data from the most recent frame.
6. CommitFrame is called even if not recording so played back frames also show up in TAStudio.
7. Play mode only stops at the end of the movie if you tell it to. Your emulator normally continues to play with no input after the end of the movie.
8. TAStudio is now updated after a rewind (even though the rewind doesn't play a new frame).
9. Split the tools update into before and after updates.
10. Going into read-only mode adjusts the movie mode.
11. Implemented New, Open, Save, and Save As for TAStudio.
12. Fixed an issue where frames past the end of the log would default to the input from the last frame of the log.
13. Fixed a problem where you couldn't rewind to frame 0.
14. Fixed a scrolling issue in the TAStudio list view.
15. Fixed an issue with the TAStudio virtual NES controller not matching up with the log.
16. Fixed an issue where the NES reset button would get held in when rewinding.
17. Added/Modified a couple of button graphics.
2012-05-28 00:44:27 +00:00
adelikat 75b5ec9223 redo revision 2168, this method also fixes the issue of loading a non-movie state while a movie is loaded, but also doesn't break the parsing of the savestate frame value in CheckTimeLines 2012-04-22 13:38:12 +00:00
andres.delikat 48f65ac847 Movie subtitles - implement ability to display multiple subtitles at once 2012-04-16 20:00:11 +00:00
adelikat 3bae8da0b6 Adjustment to height settings of osd messages, code clean up in movie.cs 2012-04-16 12:17:25 +00:00
zeromus 35fbe354c1 add threaded display manager to allow heavy OSD/compositing/filtering to happen on another thread. add a lua layer accessible via GDI+ which can be automatically composited and the simplest possible demo of it. add some filtering infrastructure and a hq2x filter set ported to c# but need to work on a minimal selector gui before its usable. separate OSD from RenderPanel so that gdi+ presentation mode now gets full OSD support. the OSD is now a little uglier because its drawn entirely differently and could use some finetuning 2012-04-16 08:18:41 +00:00
adelikat 0aa08984ed Add SHA1 to movie headers, Play Movie - highlight sha1 in red when there is a SHA1 mismtach between the movie and the current game. 2012-04-15 03:02:07 +00:00
rolanmen1 fd6a1a88da Emulator Won't Crash When User Loads A State That Is Not Embedded To A Movie 2012-04-05 01:42:24 +00:00
adelikat ab2e804300 Change default movie extension to .bkm 2012-03-31 00:38:39 +00:00
adelikat 2eba9e0c71 Atari - console buttons hooked up to mnemonics (input display and movie recording now work) 2012-03-30 23:42:09 +00:00
adelikat 52fd33153a Atari - fix recording and playback of atari resets 2012-03-30 03:43:25 +00:00
adelikat 8a199f0e3a Atari - fix the recording of reset 2012-03-30 03:15:36 +00:00
andres.delikat 50e357f345 Lua - start work to implement lua.get/setrerecordingcounting functions 2012-03-29 03:09:46 +00:00
zeromus e7eb6d8dcd fix input.get 2012-03-24 18:39:55 +00:00
brandman211 45430c8ca7 ImportMCM now supports NES movies.
-No info on the control bytes, so I'm not dealing with them right now.
-It seems like there's an extra byte for at the beginning of input for NES that doesn't exist for PCE.
--I think it might be the "1 byte for power-on and reset" that the docs refer to, though I'm not sure why this would exist for NES and not PCE...because NES supports control commands and PCE doesn't?
--Perhaps this will become more apparent if I write the importers for SMS, GG, GB, and GBA. I'll need access to a Linux machine to do these, though.
2012-03-15 04:22:37 +00:00
brandman211 172115dcca Reformatted ImportMCM. Now to add the additional consoles. 2012-03-15 02:23:01 +00:00
brandman211 4c47676c02 -Added warning messages for:
--FDS commands in ImportFMV.
--Bad ROM checksums in ImportText. TaoTao: There's nothing wrong with using warningMsg; it just is limited to showing the first warning message that occurs.
-ImportNMV
--Nintendulator's Four Score recording is seemingly broken.

TODO: ImportMCM clean-up / expansion, Intellivision research.
2012-03-14 20:08:00 +00:00
brandman211 f53088c7be -Used masks to simplify ImportFMV.
-Finished ImportVMV:
--I'm not sure what the following comment means: "For the other control bytes, if a key from 1P to 4P (whichever one) is entirely ON, the following 4 bytes becomes the controller data." I'm going to assume this is a bad translation that is the equivalent of my 4 controllers = 4 bytes comment.
--Nesmock has a block of code that seems to handle, or at least account for, commands (Lines 207 - 239 of virtuanes.hh). I don't do anything about this, but it doesn't seem like Nesmock does much of anything about it either. I'll ignore this for now.

TODO: ImportNMV, clean up ImportMCM, and perhaps support other platforms for .MCM, although everyone thinks it's a waste...I like writing importers! I'm afraid of writing cores!
2012-03-13 02:37:59 +00:00
brandman211 8938290e36 -Fixed FourScore handling for .FCM.
-Made it so that .tas is appended to the file path instead of changing the extension to it.
-Added default emu/MovieOrigin comments to the importers that don't have explicit ones.
-ImportVMV header / added blank frames
-Moved the MnemonicsGenerator declarations outside of the loops.

TODO: Finish ImportVMV (I don't think the provided documentation explains how the input works...) and figure out if my re-record count is off by one or if TASVideos.org is.
2012-03-12 20:35:10 +00:00