Posts for Maximus


1 2
16 17 18
22 23
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Ok, this isn't all that exciting, but I figured I'll release an update to address the issues mentionned above that affected performance.
v0-7-1

- UI::Trying to clear an empty buffer was causing an unhandled exception (fixed)
- UI::Buffer ListView now virtual as well (fixes lag issue when copying large blocks)
- UI::Fixed the tab locking when a movie's loaded (the old method was annoying since
    the ui would flash if you clicked a tab)
- UI::Fixed a bug in the splicer that wasn't allowing source movies to be loaded
Looking into implementing some new and sexy features for the next release, but life is once again starting to get in the way (apparently my boss all of a sudden thinks that I need to meet deadlines :P) so hopefully this won't fall by the wayside too badly. EDIT: The method I'm using to pass buffered information between forms and routines for copying has 1 weird bug in it that's preventing the successful pasting of a block of frames more than once. As a result, I'm (for now) clearing the copy buffer after each paste. This was working before, since I was manually cycling through a collection of items and adding them to the array (as opposed to using the current method, which is way faster).
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Good eye again :P I'll get this fixed up when I get off work (they don't like it when I work on my own programs instead of their's on company time) Edit: Fixed. Turns out I screwed up the logic on an attempted optimization and you can't actually load anything as a source file ... sorry :P
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Dang, that was quite possibly wicked cool :P (guess how I voted ... go on, guess).
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
xoinx wrote:
Just tried doing 180000, which works since the copy buffer showed after 10 seconds wait. But scrolling down the copy buffer is extremely laggy... sort of what I would have expected for the main edit but it didn't actually happen there
Yeah, the buffer viewer doesn't use a virtual list, so adding a large number will kill it. There's really no excuse for this, since it wasn't that difficult to implement in the first place, but I guess it was like 3 in the morning and I was tired ;) It'll be fixed next version. I think I just wanted to get the copy-pasting version out there to make sure it worked properly (the buffer viewer was actually an afterthought).
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Randil wrote:
I found what I think is a rather critical bug. If you don't have a movie-file open and "View copy buffer" and press the "Clear" button, I got an "Unhandled exception" error of some sort. You should check it out.
Good eye. Fixed (not going to bother releasing an update just for this though)
Randil wrote:
I also found a very small bug. It's really small, so don't worry too much about it. If you have a .fmv file open, and press "Save as", it doesn't recognize it as the format .fmv by default. To compare, if you press "save as" while having a .fcm open, it recognizes it as the format .fcm.
Seems I got a little lazy there. There's not Save method for FMV files so I should probably disable all the related controls when that format is loaded.
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
xoinx wrote:
1) Undo button, since it sucks if you somehow stupidly overwritten some of the existing wanted inputs when trying to modify multiple frames 2) Insert input into every other frame button... useful for adding autofire inputs 3) Is there anyway to modify multiple frames of say player 2 only leaving player 1 input unmodified AND/OR a duplicate player 1 input to player 2 AND/OR copy and paste over player 1 input without screwing player 2 input up. This can aid editing of 2 player movies.
All feedback is useful as it helps steer the application in a direction that's most likely to benefit the community as a whole :) All three of these suggestions are valid, but may be a tad difficult to implement (mostly due to constraints with the ListView control), but I like what you've suggested so I'll look into it. I'm not sure if you can specify highlighting by column (like you can with Delphi TListBox controls if I'm not mistaken). If not though, there's still ways around it, and chances are the input editing fields are going to be overhauled so maybe I'll try a few things out and let you guys pick what works best.
Randil wrote:
1. A "Recent" tag, under "File", similiar to the "Recent" tag under "File" in FCEU.
Shouldn't be a problem ;)
Randil wrote:
2. Perhaps an eaier way to record input. It would be nice to be able to just mark the frames you want, and then press, say, the button "b" on your keyboard to apply the input "b" to those frames. It's perhaps a little troublesome to first mark the frames, then write the input in the controller field, and then click update.
To try out some of xoinx's ideas, I'll have to change the input recording UI, so I'll try something new for the next release
Randil wrote:
3. A "Game pad buttons" field. This is pretty hard to explain, but I mean that you could have a field of boxes (I mean, a box like the "update" and "go" box that are already in the program) representing all the NES-pad buttons. So if you want to apply, say, "Start" to a few frames, just mark the frames you want to apply "Start" to, and left click on the "Start"-box with your mouse.
I understand what you mean, it's just a matter of making this interface not appear obtrusive to the rest of the program. Also, the controller layouts would be different for each format (obviously :P) and there'd have to be a simple way to indicate which controller you're targeting (hopefully without having to duplicate the interface for each possible controller). Will investigate further though...
Randil wrote:
4. The "Are you sure you want to paste..." box that pops up when you try to copy frames is in a way good, I can see why you implemented it, but if you were to add a "undo" button this feature could be be removed. If you're copy-pasting a lot, this pop-up can get annoying, and if you have an undo-function, you can just press ctrl+z if you make a mistake.
Can do, though this may take me a bit of time to get working 100% ;) Btw, let me know if you find anything busted in here ... I like to think I've tested it thoroughly, but I added a lot of features this time around so something may have slipped through the cracks.
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Oh man was I on a roll yesterday. I think I can safely say that this application is officially reaching stable status as an all encompassing TAS movie editor. GMV, SMV, and FCM are all at 100% functional, plus I managed to crank out a handful of the suggestions that everyone's been providing.
v0-7

- UI::OpenFileDialog now displays a default filter of All Movie Files (as opposed to *.*)
- UI::Frame Data listview now virtual, so all paging functions have been depreciated
- UI::Frame Data alternating rows now coloured (ummmmmmmm, BlanchedAlmond)
- UI::Insertion of Multiple Frames added
- UI::Removal of Multiple Frames added
- UI::Group editing (multiple frames) added
- UI::Copy Input selection to buffer (CTRL+C)
- UI::Pasting copied input from the buffer into the current movie added (CTRL+V)
- UI::View Buffer (CTRL+B)
- UI::Added VisualBoyAdvance layout
- FMV::Header data parsing added
- FMV::Input parsing added
- FCM::Fixed Save bug (wasn't writing the last command properly)
Saving/Loading buffered data isn't in this release, but will likely make its way into the next one. Metadata editing may also surface next release (I need to tweak all the format Save methods to do this). VisualBoyAdvance support will also be in the next version.
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
more than 1 by a bunch
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Glab you like it. Some of the features you've mentionned actually are already in place :)
Randil wrote:
1. The possibility to have two movie-files open at the same time. This isn't anything urgent, but it would be a nice feature. I'm thinking that this could be done pretty much the same way as Mozilla Firefox has "tags" or whatever they're called.
I was thinking of re-introducing this as a movie comparisson feature (it used to be there before but it wasn't very good)
Randil wrote:
2. The possibility to edit the "Author"-text. Since this won't change the movie itself in any way, I think it could be a fun thing to have. It could also be useful, for example, if you forgot to write anything there when you started recording the movie, and want to have your name there when you submit it this site.
This will likely be making an appearance soon (possibly v0-8)
Randil wrote:
3. The possibility to mark several frames at a time. I'm thinking that this could be done by just dragging a box over the frames you want to mark, or by holding down the "ctrl" key and mark the frames you want. The input you then choose, will be applied to all the frames you have marked. As it is right now, it's quite troublesome to make a "hold down B for 50 frames" input in the program, since you would have to apply the B-input to each and every frame.
This routine is already written, tested and ready to roll (v0-7)
Randil wrote:
4. When you choose "Open", it can open all the files you have. Wouldn't it be nicer if it only opens movie-files? This way, if you have both, say .fcm-files and .zip-files in one folder (like I do), it's a lot easier to see what files you can actually open with the program.
When you click Open, it defaults to all files (*.*), but the dropdown "Files of Type" contains masks for all currently supported formats.
Randil wrote:
5. The option to see the filename of the file you're currently working on. This could be shown above the "ROM Title" box or something.
The first entry in the statusbar is the current file you're working on. If this isn't intuitive though I can change it around.
Randil wrote:
6. When you press "Save as", it could be nice if it had the default filename by default. In other words, when you for example press "save as" after editing .jpg you have on your computer in Paint, it has the defualt filename by default. I don't know how to put this in other words.... Sorry for being confusing,. :P
It doesn't provide you with a default filename (yet), but if you enter a name and press save, it applies the default extension for the currently loaded format.
Randil wrote:
7. A small Help-section would be nice to have. It doesn't have to be big, but just a brief guide on how to use this program.
That's a good idea ... I've just been lazy ;)
Randil wrote:
1. How do you use the "Insert Multiple frames" and "Remove multiple frames" functions? 2. How do you use the "Compare movie input range" function?
Insert/Remove Multiple will be in the next release (v0-7). I tend to put grayed out controls in as placeholders for features I want to implement. Hope that helps. The next version is actually going to be the first in a while that contains almost nothing but new features (as opposed to minor format tweaks) =). Since the groundwork has been laid, it's getting easier and easier to crank out changes (FMV support, multi-frame add/remove/edit and copy/pasting between movies, all said, took about 3 hours to implement). Just to give you an idea of what's coming, here's a quick screenshot (xoinx, this one's for you :P)
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
The next release of this should contain a bunch of cleaned up routines, performance optimization and fixes to whatever isn't working 100%. Before starting on VBM and FMV (I think I can crank them both out relatively quickly), I'm once again looking for ideas for features. My notes for the next release look like this:
v0-7
TODO::Add Group Editing (edit multiple frames)
TODO::Add Insert Multiple Frames
TODO::Add Remove Multiple Frames
TODO::Fix FCM write
TODO::Gens XYZ-Mode read/write
TODO::Convert frame listing to a virtual list

TODO::Start Famtasia
TODO::Start VisualBoy
but i'm always on the lookout for cool features. I'm thinking of possibly revisiting the movie compare module again (hopefully it won't suck balls this time around) but other than that, I'm stymied as far as ideas go. To the community as a whole, I know there are threads out there regarding dream tools and emulator enhancements, but what I'm wondering is what would you possibly want to do with a movie file in an editor? Any ideas are appreciated.
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
And to think, I thought this was going to be boring :P Yes vote from me.
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Warp wrote:
Just out of curiosity: Why do you need .NET to make such an application? It doesn't sound like something which would need such an API.
To tell you the truth, it's because forms design is retardedly simple in .NET (as with most MS IDEs though). The core logic, though not portable as it stands, exists outside the scope of the forms, and uses only core namespaces, so portability later isn't totally out of the question. (ie. no references to anything other than System.Text, System.IO, System.Collections in the data classes ... the last being strictly for the ArrayList type) I looked into doing this with GTK+, Glade, wxWidgets ... and even went so far as to see if there was anything i could use from SDL or Allegro, but I didn't want to spend all my time designing and debugging the interface. Honestly, I haven't done any work in Linux since college, so I'm a tad rusty (basically, .NET makes you lazy since you don't really need to understand pointers, references or inheritance), but I'd be willing to give it a go if there's enough demand.
SXL wrote:
if we were allowed to act in such a way, I'd beat to death every self-proclamed coder here that don't comment his code.
I do comment my code, as you'll see when this is eventually released :P (so please don't beat me)
xoinx wrote:
Also if you could, update highness' Gen's Movie editor link... there new url can be found at this thread. I am not sure if it still works with the newer GMVs though... and I still can't seem to get it to open any GMVs even if they were made even 1-2 years ago.
The Gens_Editor doesn't seem to work with TESTA movies (>=Gens-9f i think)
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Happy news today ... after an arduous couple of weeks, I've finally got FCM support at 99% functional. There have also been some complete overhauls in the code, so implementing features across all formats gets easier and easier (case in point, once I got the FCM Save method to work properly, Add/Remove/Edit/Splice were enabled with about 6 lines of code).
v0-6

- UI::Closing a movie didn't clear all Snes9x data (fixed)
- UI::Cleaned and optimized a lot of routines
- UI::Splicing routine re-written
- FCM::Save/SaveAs now work (99% functional -- last byte of input being dropped)
- FCM::Splicing enabled
- FCM::Add/Remove/Edit frame data enabled
- SMV::Edit functions now work from the context menu
    (no more seperate menu options to add/remove)
- SMV::Save/SaveAs now work with this format   
- GMV::Splicing enabled 
I know some people have expressed concern over the need for the .NET framework, but chances are if you're running Windows XP SP2, you've done the upgrade already. I'm not sure if it's worthwhile to rewrite the majority of the UI in C++ (UI is basically what .NET is used for ... that and ArrayLists :P), so for the time being, Windows users, this one's for you :) PS. I tried binding the required .NET assemblies to the executable with xenocode in the last release, but I think it's kind of a dumb way to go so that method will no longer be supported.
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Wow. I think my mind exploded while trying to keep track of what was going on in each window. Looks great so far, though listening to all the music at once gets annoying after a while, but i was too enthralled to mute it.
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Interesting glitch, but Widget seems to move EXTREMELY slowly. I haven't played this game before, but is that the pace of the entire game, or does it pick up later?
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Though I like the idea in theory, chances are this would lead to animosity in practice. When I started coming to this site, I found a couple runs that seemed interesting, then would check out that author's other submissions (because I assumed a certain degree of quality in execution would be maintained between runs ... which was usually the case). The only problem with this is that selecting 10 author's as the "best" is subject to opinion, favouritism and current activity (earlier authors may be overlooked). Also, there's a good chance that other than a few names, no one would be able to agree on who should be considered the best and why. It would probably be more feasible to rate the top 10 TAS' of all time. It's easier to qualify what should be included, and people can't feel excluded because the terms for judging what is considered "the best" can be easily defined. Just my 2 cents though (or USD 1.754 cents if you wanna be a dick about it =P)
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Glad to see someone finds it useful :)
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Good job xoinx. Yes vote from me
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Should the movie file version info be updated as well now, or does none of this effect compatibility with previous versions of Gens? (I'm assuming not)
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
sp0n, I actually combed through the technical faq a few times while doing this run. The strategies laid out there as well as the leveling recommendations need not apply to a tas so there's a LOT of time to be saved in completing this game. Though discouraged, I haven't given up completely. I think I may start again from scratch, seeing as I really never made it more than 10-12 minutes into the run (just past the Rust Stilettos). The problem I foresaw was the run just being boring; no matter how much I loved (and still love) this game, it may not be entertaining to watch me play it. The problem I've found after the caryards was the pacing of the run. There's no way to get the shotgun without beating the first 7 arena contenders first. Though that would make the rest of the run easier (and faster), no matter how well I can manipulate the guys with standard weapons, automatic weapons just rock me. Also, my plan was to only get the Freeze spell, and rely on keeping kitsune alive after the rat shaman (since she'll stay indefinitly ... or to the death). Now ... i've tried to find the RNG values in memory that effect battle damage calculation, but no luck so far. I've found that controller input changes the values, which is why i made it from the start of the game to the back room of the stilettos without taking more than 1 point of damage. Also, depending on which frame you press fire on, you effect Jake's damage RNG on the enemy. If I could find the memory positions I would probably be more willing to finish this run ... but as trial and error, it's just getting tedious :P
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Well, I did a little research and found an application that will compile the assembly so it's independant of the frameword (the necessary libraries are built into the executable). I only have a demo so there's a popup when you launch the program, but it "seems" to work. If you want to try it out, you can get it here: [link removed because my isp is chinsey with webspace ... pm me if you want this] PS. Please let me know if this works since I can't test it without messing up my machine :P PPS. This package is 11megs now, as opposed to 150K, but it's still a vast improvement over downloading and installing the full framework + updates
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Good point. I actually find it kind of strange that not everyone has updated their framework seeing as it's been out for a while now. WindowsUpdate (for legit-ish) users should do it for you automatically. I'm going to look into compiling this differently though ;)
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Truncated wrote:
Downloaded and tried this now: "Could not initiate the program correctly (0xc0000135). Click on OK to terminate the program."
You need the latest version of the .NET framework to use this app. You can grab it from microsoft at http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=en
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Maximus wrote:
This has preliminary GMV support (frame editing, frame insertion). Any feedback is appreciated :)
Yes, I'm quoting myself since I'm just that cool :P I've updated the editor so it now has (proper) frame insertion/deletion/editing.
Emulator Coder, Experienced Forum User, Published Author, Former player
Joined: 10/2/2005
Posts: 563
Location: Toronto, Ontario
Quick update (technically, these should have been in the last release :P)
v0-5-1

- UI::Jump to Frame fixed
- UI::Removed Compare input (it sucks way too badly right now)
- UI::Re-wrote the add/remove logic (I have no idea why I thought that would work =P)
- UI::Closing a movie didn't clear the Gens data (fixed)
- GMV::Remove Frames implemented
GMV is now fully functional for editing. The only thing not implemented is input filtering (so you can type whatever you want into the edit fields), but the save method only uses valid values, so not too big of a deal.
1 2
16 17 18
22 23