Commit Graph

1758 Commits

Author SHA1 Message Date
adelikat aecd849eb5 Show svn revision number in about boxes 2012-04-21 15:25:47 +00:00
adelikat e43b53aba8 NES Graphics Config Dialog - limit last line to 239 instead of 240 (prevents crash) 2012-04-21 15:13:42 +00:00
Rolanmen1 152f6f37e8 Added a HitBox Script for SMB2U, it runs but still a bit buggy. 2012-04-18 15:06:07 +00:00
Rolanmen1 cf9606eb49 Created 2 functions, GetPen and GetBrush. They will recieve an object variable to return a Pen/Brush of said color, this was made to clean the code of the draw functions. 2012-04-18 14:11:16 +00:00
rolanmen1 4db055ce36 gui.drawPie implemted. BizHawk now can make graphics. Quick Example: http://i44.tinypic.com/ibigs2.jpg 2012-04-17 21:41:21 +00:00
rolanmen1 ee8ff2c1cf gui.drawBezier, gui.drawPixel, gui.drawPolygon are all implemented. 2012-04-17 19:58:27 +00:00
rolanmen1 733a1e7bc6 gui.drawLine implemented 2012-04-17 17:48:37 +00:00
Rolanmen1 10a73f777d gui.drawRectangle now accepts both hex and string. Hex format is ARGB (Alpha, Red, Green and Blue respectively). 2012-04-17 16:12:14 +00:00
adelikat 68a8dd5f74 Lua - implement gui.drawEllipse() 2012-04-17 03:21:16 +00:00
zeromus d156dbe5fc dont crash when minimized 2012-04-16 22:12:11 +00:00
andres.delikat 1f5e4d1046 Replace the "Play" and "Record" messages for movies with Icons. 2012-04-16 21:04:00 +00:00
rolanmen1 0fd023dc8c gui.drawRectangle now accepts Line Color and Background Color. Line Color is mandatory, background is not. If user decides to not specify background color, it won't fill. 2012-04-16 20:47:01 +00:00
andres.delikat 839a247bba Fix input display during lag frames for NES games 2012-04-16 20:19:08 +00:00
rolanmen1 a4032aff51 gui.drawRectangle now accepts 4 parameters (X, Y, Width and Height). Should implement Line Color and Background Color as parameters. 2012-04-16 20:04:43 +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
beirich b3e79aa06f Fix input chain stuff so that genesis roms can be loaded without crashing client 2012-04-14 16:02:45 +00:00
zeromus 7b86f66353 nes-oops. now, actually pass all mmc3 tests 2012-04-14 09:40:41 +00:00
zeromus 73fba31c34 nes-add mapper012 (mmc3 variant, for dragon ball z 5). add concept of mmc3 chip revision variants to mmc3 code and game database, and add proper emulation thereof. pass a bunch of mmc3 tests. simplify (to almost nothing) iNES board detection to correspond to new paradigms of virtual board types. your savestates for mmc3 games are invalidated. 2012-04-14 08:28:42 +00:00
zeromus a1d798cc8f nes-mark banana bad dump variants as bad in gamedb 2012-04-11 18:17:59 +00:00
zeromus 9f6820b83f revise nes gamedb to be more organized and useful hopefully with respect to the actual kinds of scenarios we run into 2012-04-07 18:34:05 +00:00
adelikat 87fa6d5f17 Hex Editor - Context menu - fix "Add to Ram Watch" hotkey display to be Ctrl+W (was left as A) 2012-04-06 02:04:00 +00:00
adelikat da2062d373 Atari - add avgn game to gamedb 2012-04-05 23:57:57 +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
zeromus 87b455b195 oops 2012-04-05 01:40:30 +00:00
zeromus 3f6127152f build lua differently so that it has at least a prayer at interoperating with plug-in dlls. at least, it can load them. there may be other problems later due to the dlls generally being compiled against a different CRT (vc8) than our lua and luainterface (vc10). we could fix this if we needed to by compiling the CUSTOMIZED lua in vc8 and referencing it from the vc10 luainterface. 2012-04-05 01:05:08 +00:00
Rolanmen1 39e640aee9 gui.cleartext() Implemented. This Function Should Always Be Called After emu.yield() In Order For The Later To Work Correctly. 2012-04-04 20:09:50 +00:00
adelikat ea2bdac456 Fix an exception from commit 2161 (Prevent lua script restart when resetting a game). Fixed by making RecentFiles.GetRecentFileByPosition() more robust by not crashing when there is no recent file (returns "") instead 2012-04-04 02:23:47 +00:00
Rolanmen1 2b9483f68f Lua Scripts Don't Disable If You Record A New Movie Nor When You Reset The Game. However, It Does When You Load A Different Rom. 2012-04-02 19:50:26 +00:00
adelikat 2581edc958 Play Movie dialog - include .bkm and .tas regardless, since our matching of current rom is not very robust, make match current game option set to false by default 2012-04-02 01:35:34 +00:00
adelikat a18b700664 Bigger hammer fix for drag & drop of movie files 2012-04-02 00:47:52 +00:00
adelikat 59f92b4c81 TAStudio - atari virtualpads 2012-04-01 18:53:06 +00:00
zeromus 4c817b20c8 add konami collection games to gamedb so they show as good dumps 2012-04-01 16:25:59 +00:00
brandman211 557f437195 -As much as I dislike the new joypad.set() setup, the least I could do is make it consistent with joypad.get().
--If there is no controller parameter, then all of the buttons are returned as they are stored in the system, just like joypad.set(input) takes button names as is.
--If there is a controller parameter, all of the buttons for that controller are returned without the "PX ", just like joypad.set(input, controller) takes button names without the "PX " and assigns them to the matching buttons for that controller.
--No one approved this change, but seriously, this is common sense. I expect some "change denied" April Fool's stuff tomorrow...
-Implemented a blacklist for ButtonCount. By default, Lag, Pause, and Reset are blacklisted. I don't think any of these buttons should be tracked.
2012-04-01 08:08:40 +00:00
adelikat f38073db5c another movie file extension fix 2012-03-31 15:36:10 +00:00
adelikat 7e9085b46d Fix drag & drop of movie files 2012-03-31 15:34:31 +00:00
adelikat f3d098a390 Atari - hook up to the default paths 2012-03-31 13:41:00 +00:00
adelikat 7b0599bfb5 Update version numbers to 1.0.4 (interim) and remove erroneous release notes file. 2012-03-31 01:28:45 +00:00
adelikat 4c958584f5 Add Lua scripts folder to MakeRelease.bat 2012-03-31 00:44:17 +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 cb3df74105 Atari - console buttons now work in input config dialog 2012-03-30 23:34:38 +00:00
andres.delikat e4acb65ed1 Controller Config - hook up atari console buttons mostly, still one thing to fix up, currently crashes when trying to save 2012-03-30 22:03:08 +00:00
andres.delikat 724fe704fc Atari - hook up console select and reset buttons to config file. Still TODO: add to input config dialog, modify mnemonics 2012-03-30 16:40:52 +00:00
brandman211 4240c119b6 Fixed Issue 14, which mentioned that in TAStudio, frame numbers of more than 5 digits don't display properly by default. I fixed this by increasing the width of the Frame column as much as I could without making the section horizontally scroll. This accommodates for 6 digits. 2012-03-30 14:24:40 +00:00
adelikat 00d25b2355 Fix so main form text field displayed Atari 2600 on atari games. Remove "Hawk" that I added earlier. 2012-03-30 12:26:36 +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
adelikat 91f5733662 Record movie dialog - if file already exists, confirm overwrite 2012-03-30 00:32:45 +00:00
zeromus 37d58f1a4f add a2600 game database 2012-03-29 23:55:10 +00:00
Rolanmen1 e0d98c8a7f Fixed: * if a lua script errors it stops, but you can't toggle it back because you can't resume a non-suspended script 2012-03-29 20:22:49 +00:00
Rolanmen1 720b1cc2ba Joypad.Set - Added Slot Number As An Optional Parameter 2012-03-29 19:53:16 +00:00
Rolanmen1 1c6b792a28 Joypad.Set Nox Fixed 2012-03-29 19:16:25 +00:00
Rolanmen1 4337ea9d63 Joypad.Set() correctly implemented. 2012-03-29 19:03:14 +00:00
adelikat 5203286f34 Lua - movie.getrerecordcounting() and movie.setrerecordcounting() implemented 2012-03-29 03:16:55 +00:00
andres.delikat 50e357f345 Lua - start work to implement lua.get/setrerecordingcounting functions 2012-03-29 03:09:46 +00:00
andres.delikat de7bd1f346 Lua - implement anchor parameter to gui.alert() 2012-03-29 02:45:38 +00:00
andres.delikat 78ee40a546 Lua - remove mainmemory.readbyte() and mainmemory.writebyte(), these are not preferred since there are equivlant functions, and unlike the memory library, they are not useful for compatibility with scripts form other emulators. 2012-03-29 01:44:01 +00:00
adelikat 01145b1dfc unofficial about box - Add a nifty close button 2012-03-28 23:43:15 +00:00
adelikat f91becbef8 Show hawk name on main window instead of console. 2012-03-28 23:11:43 +00:00
andres.delikat ca7d5d9131 Lua Console - add online documentation link to the Lua Function wiki 2012-03-28 20:49:58 +00:00
brandman211 7e75d983ae Came up with a solution for the joypad.get() issue.
-adelikat has informed me that in FCEUX, savestates contained the button state of the frame on which you saved on. He claims that this is redundant because you could retrieve the state from the frame you're loading on, so BizHawk will not do this.
-As such, I just retrieved the input for the frame you're saving on before associating the data with the state.
--This essentially includes the missing info without having to depend on a movie frame to get the data from.
--In order for this to make sense, I made it so that the main joypad.get() doesn't run on a frame you're saving / loading on.
--Finally, in order to show the data from before the save frame when loading the data, I cached that data as well.
---The two above steps require collecting the data for a state once and using that until the frame is advanced or a state is loaded. Otherwise, I'd be able to increase the count significantly by saving multiple times.
-All this said and done, I think this script is perfect now, and is way more convenient to use than the FCEUX counterpart.

Notes:
-As mentioned before, it seems that the scripts are disabled when the console is reset / a movie begins playing. I don't like this to begin with, but worse yet, I noticed that this somehow makes the button data carry over from before the reset. Why is this?
-It seems that using gui.text in savestate.registersave/load causes the text to be written over the previous text instead of clearing the screen and then writing. Is this expected? How can I avoid overlapping text?
2012-03-28 17:06:25 +00:00
Rolanmen1 b295d7cd23 Record Movie - User Can Choose To Save Movie Files As .tas or ."consolebeingran".tas
Play Movie - Same As Record Movie
2012-03-28 12:40:42 +00:00
adelikat 71396ad4b7 Lua - sort the functions in the lua function list (both in the console dialog, and console.luafunctionslist()) 2012-03-28 12:26:43 +00:00
Rolanmen1 f7f4e64985 Joypad.Get recieves a numeric parameter to return only the specified controller. Is there other way to know of what controller is a button other than the first 2 characters of the string? 2012-03-28 08:35:43 +00:00
brandman211 40e2d5f543 Refactored for the register functions. This seems to work fairly well, but when loading a state, joypad.get() contains the button states for the frame you were on BEFORE loading instead of the frame you are now on. This results in small errors. The issue might be deeper than my script or even the Lua implementation, so I can't do anything about this. 2012-03-28 03:41:46 +00:00
adelikat 9c40367fa8 Increase/Decrease Window Size hotkeys (mapped to Alt+Up/Alt+Down by default) 2012-03-28 02:32:05 +00:00
adelikat b585a0a23a fix savestate.registerload 2012-03-28 01:24:32 +00:00
adelikat c88a6b4b7a Lua - savestate.registersave/load - pass state name as a string (ex:"quicksave0"). Put event after the save/load not before. Event no longer fires on non-saveslot events 2012-03-28 01:03:50 +00:00
adelikat 397f289493 Lua - savestate.registersave/load - show exception message on error 2012-03-28 00:13:25 +00:00
adelikat 8bc8ec0e5b Lua - output registersave/load error messages to the lua console not the screen 2012-03-27 23:58:56 +00:00
andres.delikat 251c169cf3 Play Movie - small dialog tweaks - fix anchoring of a checkbox, better minimum size values 2012-03-27 21:44:04 +00:00
andres.delikat 655af69326 Lua - savestate.registerload() implemented 2012-03-27 21:17:20 +00:00
brandman211 be807c3def -Used the new movie.getinput() function to simplify parse(), now frames().
--TODO: Disallow Reset, Lag, and other non-buttons. Pause?
--If this works like adelikat says, my missing load state idea will be possible.
-Made the loading information show up on the console instead of the gui.

Note: Still need savestate.registersave/load!
2012-03-27 21:11:34 +00:00
andres.delikat 0330e1f742 Lua - implement savestate.registersave() 2012-03-27 21:09:36 +00:00
andres.delikat 83fe222ba9 Lua - movie.getinput() - fix 2012-03-27 20:10:05 +00:00
andres.delikat 489086716d Lua - Better output for movie.getinput() 2012-03-27 19:21:10 +00:00
rolanmen1 3e84fc9936 Lua - Implemented movie.getinput()
NOTE: There may be uknown errors.
2012-03-27 15:45:50 +00:00
rolanmen1 5e25b15100 Lua Console - Save Menu Option Now Enables Even When There's No Session Loaded
ListView Refreshes When Loading A Session From Recent
When Clicking On New Lua Session Option, It Now Cleans The CurrentLuaSession String. This Will Prevent Some Unwanted Results When Saving A Session.
2012-03-27 13:54:29 +00:00
rolanmen1 5337fb2213 Lua Console Now Saves And Loads Sessions With Separators 2012-03-27 13:31:30 +00:00
brandman211 9ff5f10a70 Resolving Issue 13. Easy fix; just needed to check if the string was empty before doing substring operations on it. 2012-03-27 07:48:05 +00:00
zeromus 46a638ee96 fix bug in lua coroutines which made error propagation get mixed up and possibly result in a bunch of other subtle bugs 2012-03-27 07:25:36 +00:00
brandman211 d1b00e6d4d Added my converted ButtonCount.lua script (Original here: http://code.google.com/p/brandon-evans-tas/source/browse/Lua/ButtonCount.lua)
-As you'll recall, the script has 3 methods of keeping track of input:
--1. Tracking the button counts in real time. This took some minor adjustments, but seems to work fine.
--2. Parsing the button presses from a loaded, read-only TAS file when starting the script, if possible.
---This works well enough after a good amount of refactoring, but I only have it rigged to work for NES.
---As always, note that this method is very slow for big movies, which is why we only use it once.
--3. Caching the counts when saving a state and loading them when loading a state.
---savestate.registerload and savestate.registersave are not currently supported by BizHawk, so this is not functioning at all.
-I propose that a function called movie.getframe(frame) be added that gets status of all of the buttons, just like joypad.get(), for a given frame of a movie.
--This makes the would make method 2 trivial and fast.
--It would allow me to generalize the function for all platforms easily.
---Certainly there might be some discrepancies about which buttons should be disallowed, if any (Is Reset a button press?), but still. 
--If this method could somehow work for non-readonly movies, then I'd be able to use the movie to get the counts when I load a state that doesn't have cached data.
---Trust me when I tell you that this would be immensely useful for minimum button TASing. The process would be seamless, and all of these methods combined would provide perfect accuracy while being fairly efficient and only using intensive routines when absolutely necessary.

Note: Earlier, I came up with the idea for a function that lets you set what frame of the movie you are on, which would be useful for endless TASes like we've already discussed, adelikat. Do you still think this is worth having?
2012-03-27 06:44:47 +00:00
rolanmen1 36c4dee7b8 Show Errors On Lua In The Output Box More Accurately 2012-03-27 03:34:21 +00:00
zeromus b7eaa1eaf7 luainterface - throw exceptions when lua_resume errors 2012-03-27 03:15:57 +00:00
adelikat 5d483b9e55 revamp rbi baseball script for bizhawk special functions, such as sending script info to the output window. And right aligning display stuff 2012-03-27 02:56:59 +00:00
adelikat 701e0823d5 Really fix PunchOutStats.lua 2012-03-27 02:26:01 +00:00
adelikat 9e0e6407b3 Revamp the Punchout stats using the anchor property of gui.text() 2012-03-27 02:17:17 +00:00
Rolanmen1 adfa18694e Text Alignment Parameter Can Be Either Int Or Either A String 2012-03-27 01:49:27 +00:00
brandman211 e9bb960902 Removed .fm2 / .mc2 from the Play Movie dialog. 2012-03-27 01:39:06 +00:00
adelikat 3f83614629 Overhaul anchoring of messages on screen, anchor right now right aligns, and the x value is the number of pixels from the right edge. This fixes the behavior of the messages config as well as gui.text() and Ram Watch on screen option. 2012-03-27 00:46:58 +00:00
adelikat f145d8e655 Cheat Window, Ram Watc, Lua Console - fix exception when clicking Move Up on the first item in the list. 2012-03-26 23:38:29 +00:00
adelikat 602ee06ffc Lua Cosnole - output message at bottom of dialog to show if changes have occured and saved messages (same as other tool dialogs such as ram watch). Better minimize size parameters of dialog. 2012-03-26 23:31:21 +00:00
brandman211 cba68551d0 -Removed LuaVarArgs from gui_text. I think this function is pointless and over complicates things; let me know if you agree based on this example.
-Fixed DrawMessages, which was setting y = x, making the y parameter of gui.text useless.
2012-03-26 14:48:05 +00:00
rolanmen1 908a9a11c5 Lua Console - Save Session Menu Option Should Now Enable/Disable Correctly. Also Added The Condition That There Should Be At Least One Script To Be Able To Save. 2012-03-26 13:46:28 +00:00
rolanmen1 e2e3ee3301 Loading A Script With Errors Via Load Lua File Now Disables And Shows Error In Output Box. Toggling On A Script With Errors Disables Itself Right Away. 2012-03-26 08:52:06 +00:00
adelikat c5334cc639 gui.text() - fix so that screen is clearned at the beginning of each frame, so that the text stays drawn when paused 2012-03-26 03:01:39 +00:00
adelikat 7daf318134 gui.text() - add a 5th parameters "anchor" that will anchor the text to top, left, bottom, or right. Same functionality as the message config anchor option. 2012-03-26 02:58:24 +00:00