Posts for zefiris

1 2
18 19 20
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
SXL wrote:
Bisqwit wrote:
Bag of Magic Food wrote:
Yeah, wasn't this just testing NesVideoAgent's ability to report forum names?
Quoting someone else now
allow me to do so too. "deactivate bbcode" is unchecked, btw.
test 1
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
Delphi 7 , it's most convenient editor and language for me. I am not going to rewrite it on any other language.
Post subject: Very-very early beta =)
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
Here is TAS editor in its current state: http://www.savefile.com/files/3654191 Working features: - Opening file / saving to another format (no real conversion, but exporting to txt and importing back works fine) - Reloading file - Backup of original file Editing: - Duplicating frames - Removing frames - Copying frames to combo list - Inserting combination from list - Deleting combination from list - Editing key states for every frame Plugins: - VBA open/save - SMV open/save - TXT open/save - M64 open todo: - more plugins - combo lists saving/loading - conversions - plugins configuration known bugs: program often says there are "Access violation". If it happens, try to repeat actions you did, if it crashes again - report your actions and crash message here please ^^ how does selection work? most of the actions with frames (duplicating, removing, copying) are done with selected range - it's borders are shown above combo list. When you modify borders there, it is not displayed on frame list, but selection is applied. Range selecting using frame list looks obvious to me, ask if you don't understand how it works. I am taking little break, there are exams soon, you know... =)
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
Bisqwit wrote:
explain what does "fuck" have to do with the site content.
:D :D :D :D
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
I guess it will be http://bisqwit.iki.fi/tasvideos/ in the best case
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
Zurreco wrote:
Xkeeper wrote:
Zurreco wrote:
Bisqwit wrote:
zefiris wrote:
tasvideos for example...
That's a good idea.
I disagree, mainly because the term 'TAS' is still just a stand in until we can all finally agree on a term for the movies made here. However, since the domain is just as fluid as the current one, I don't see why not.
#fabianvideos?
#excessivequotevideos
#weliketomakegamemoviesusingemulatorslikevbarerecordingorsnes9x %))
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
that would mean change of _address_ and _channel_ too, from nesvideos to tasvideos for example... do we need these troubles?..
Post subject: Re: Starting new movie editor. Need suggestions ^^
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
Tub wrote:
IMHO a simple description of the format (like you mentioned above) and a generic loader that can parse those descriptions is probably enough. Saves you the trouble of compiling seperate dll's and dublicating code.
Writing generic loader is much more troublesome than making separate dll files... And plugin system is much more universal )
of course smv>vbm conversion is not any useful
there's no reason for artifical limitations.
I said it is not useful, but I never said it won't be possible `^^ I will make some way do describe reqired conversions (some file should describe how missing header field are filler, and how a buttons should be remapped from 1 format to another) Analog input does not seem to be a problem )
Post subject: Work in progress
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
Checked if plugins will work with dynamic arrays - by now it works perfectly. Now writing fully functional vbm plugin to start working on interface =) I hope everything will go well...
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
At long last I restarted work on my TASeditor, and new version can be found here: http://savefile.com/files/339041 In fact, it's not old TasEdit, but brand new one, I just felt like starting form scratch ^__^ It introduces new (still unfinished though) interface... Now it can... ...open VBM, SMV, FCM, FMV ...save as FCM (tested with FCM and FMV movies, both replayed successfully to the end (Air, Air-no-death(savestate) - FCM, Gradius by morimoto - FMV)) Working with program: - You can move tracks using drag'n'drop on tracks panels to the left (it resets selections though) - You can change setting for tracks (right mouse button, ignore menu and click on next track panel to select multiple tracks) - Left mouse button creates selection on frames panel, to create new selection click outside of current one - for buttons : double click on selection inverts states of selected buttons - for integer values (for example FCM special) : double click sets value from toolbar into selected cells - hold left mouse button on selection to move selected block, right mouse button does the same but clears the place where block was - right mouse button brings up menu, here you can: -Insert frames, new frames will be put before first selected frame (frame is considered "selected" if it has at least one selected button - Delete selected frames (same here) - Duplicate frames (and here too) - Copy or paste selected block to one of two buffers (pasting will override data in corresponding block starting from upper-left corner of selection) - HZ+-, VZ+- adjust vertical and horisontal zoom Save dialog: here you can change some header data and what track is used by every button ^__^ That's all, I think, I am sorry, but you can't edit data from keyboard for now, I have to find some way to implement it... Old message: After having trained on VBM and SMV convertors I decided to try to write universal, plugin-based movie editor. I want to know what do you want to see there, and how must some things be done to be more convenient for you. I also described some technical aspects, so that programmers who may be will want to write plugins could also give their suggestions. Current ideas: Program has two tabs: one for converting and one for editing. 1) Editing Any movie file (i would really like to support all those formats: fmv fcm vba smv gmv zmv m64 txt) can be opened here, edited and saved (also as another file, even in other format). Perhaps it should look like list of frames (columns : frame_number A B L R < v > ^ S s), buttons like duplicate, insert empty frame, insert combination(for fighting games for example, combos can be stored in special files), switch set to enable and disable every joypad button in selected frames... I need your ideas here... 2) Converting Here you can choose input file, it's format (if not autodetected) and output format. of course smv>vbm conversion is not any useful, but fcm>fmv is. If files have different headers, user should be requested to fill some fields that can not be calculated. 3) Text format Text format is one for all emulators, it will make one file for every controler, all files will have same header, but controller number will be added to file name. If several files are selected as input, multi-controller output file will be created. Current idea of txt format:
[HEADER]
header|s4=VBM☻  // s4 means: string, 4 bytes
frames|u4=21332  // u4 means longword
...
author|s32=LazyZefiris
[FRAGMENTS]
savestate|256=AA34D2...4F // name|original start offset=hex data
[DATA]
0|:123  // original frame number | keypresses | length (123 frames in this case)
123|S // :1 is not needed for 1 frame combination
124|:6
130|S:2
132|:14
146|v
147|A
148|:10
...
214423|>:4
When converting to text file you can optionally add marker file with frame numbers and comments to be added to corresponding frames. While reading TXT file you can optionally enable writing marker file with all your comments and frame numbers. When TXT is read, all the text after // is ignored (/// is read as single /, //// as // etc). If line begins with // it is ignored and not counted as frame with no muttons pressed. Also all the data before | in DATA section is ignored 4) Movie in memory Every file format should be loaded into memory into next structure:
TMovie : record 
  filename : PChar; // original filename
  headers : longword;
  header : array of record 
    name : PChar; // name of header entry
    tp : byte; // type: 0 = signed, 1 = unsigned, 2 = flags, 3 = string
    l : integer; // length of data
    Sdata : pchar; // if value is string
    Idata : longword; // if value is numeric
  end;
  frames : longword; // movie length
  datastart : longword; // data start offset in original file
  controllers : byte; // number of controllers
  controller : array of record // up to 4 controllers
    data : array of longword; // up to 32 bits for every frame.
  end;
  fragments: longword; // number of unconverted fragments
  fragment : array of record
    name : pchar; // name for fragment (conversion purposes)
    size : longword; // size of fragment
    start : longword; // where it was originally in file
    data : array of byte;
  end;
  error : byte; // >0 if there were errors while working with rom
end;
The bad side of this format is that it uses dinamic arrays, and may be I won't be able to pass such records from dll to main program, then I shall have to make all arrays have fixed width, that means limited number of header lines, controllers, frames... expanding limits would mean more memory unneccessarily taken... 5) Plug-ins. Plugin for every format should have next functions(one plugin = one format): // IO: CheckHeader(fn: TMovie; var r: boolean); // checks if 'fn' is a supported file; Loadmovie(data: TMovie; files:integer; files:array of pchar; res:pchar); //res is reserved for whatever happens =) SaveMovie(data: TMovie; controllerID: integer; filename : pchar; res: pchar); // ControllerID is used when saving to one-controller file to point whict controler data to save // Editing: GetCode (s: PChar); //returns string that containg bit explanation ('ABLR' means bit 1 for A, bit 2 for B, bit 3 for L, bit 4 for R. 'xxxxyyyy' means first four bits for x and next four for y (for analog input) // Init Init(ext:PChar, Info:PChar); //returns supported extension and description // There also should be functions to retrieve header data from file, check if file header is correct (for autodetecting format)... Your questions and comments? 24.05.06: finishing writing VBM plugin capable of loading VBM file and saving it (input and output files are exactly the same). Next is trying to make convenient editor... EDIT: Big part of editor is ready, basic editing, adding and removing frames does work (although ading or removing frames in beginning of movie takes too much time and has to be optimized somehow... Now thinking about it.) Copying-Pasting fragments will be done through special "combo list" where you can store combinations, copied from movies, looks quite simple to use. I should finish first beta tomorrow if I have time...
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
In R-Type final every boss can be passed by timeout. May be there are similar feature in R-Type 3 but watching 4 minutes of evading boss attack would be very boring...
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
what do you mean by copying and pasting? Notepad can work with buffer like other programs, and also you can use advanced text editors like bred or some others. I have tested next thing: I rerecorded first boss fight in MMZ4 and replaced one from my movie with new one using notepad, and then encoded result file back. Everything worked OK. I don't really think I can make more convenient editor, just I need do add two featured to encoder: strings like "AB>R:4" should insert 4 frames with A B > and R pressed. Another one is external markers: you write file with text like
412 menu start
534 game start / first level
23142 first boss
25135 end of first level
26766 second level
and decoder adds these comments on lines with assigned numbers. Encoder should export all comments from vbx file to marker file with new addresses. Still I will think about all your suggestions. Perhaps I will rewrite this program so that it could be extended with plug-ins for every format you like... May be there will be built in editor. I can't say by now. I think I can write decoder for every format described well... stiil I must think about how are 2+ controller movies should look like when decoded so that editing them would be comfortable... perhars two different files? placing both controllers data in one string is bad idea, as it would be really hard to shift one controller's input without shifting another...
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
It does not know my city... trying to add (
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
Shakespeare wrote:
zefiris wrote:
SMV movie, like other ones, contains only your input, and "computer" input is always calculated by the game.
If i recorded a 2 player VS Match and want to edit with this tool... So how will this work? I think computer moves should be included in .smv file. When editing using Hex Editors, (for example Megaman) it will include enemies moves too, Am I Right?
NO, it WONT. It only records input. All the rest is calculated anew every time. as timing and input are always the same - calculation results are also the same. If you modify input - calculation results may alter. BUT they may remain the same. depends on game and changes you do.
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
Well you see, "computer" player on snes can not generate absolutely random numbers, they are always calculated - from time and input. In some games input is ignored and time is calculated only from the beginning of level, so you can cut some frames or fix some keypresses to make movie shorter of more impressive. SMV movie, like other ones, contains only your input, and "computer" input is always calculated by the game. read about how emulator movies work for more information )
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
First of all thanks for your feedback ) 1) I think program looks nice as it is, if you don't like the look - please tell me what you think I should improve ) I would be glad if you made a good icon ) 2) To add templates I would have to rewrite the whole program as all the header fields are hard coded ) I know how to do it, by it's just that I'll get too lazy and drop the work, as it always happened. 3) I am not hiding source, PM your email to me if you want me to send you source... It's written in Delphi, not C, so I don't know if it could be compiled for Linux... EDIT: I've just read description of FMV and FCM files... FMV has almost similar format, even when using 2 player controls, but FCM is very different so writing one extendable tool that would support "standart" and "not standart" movie woul require dll pugins, not just easily created text files with format descriptions... Still I'll think about it. May be file description ini file would look like this:
[basic_data]
filetype=1 //1 for standart, 2 for FCM-like, 3 for some other non-standart template

[header_data]
header_records=21 //number of records in header
h1_size=4 //first record size in bytes
h1_name=Header //name of record
h1_type=S //s for string, i for integer, u for unsigned
h2_size=4
h2_name=Verison
h2_type=U
...

[controller_data]
absolute=-1 //any other number for absolute offset of controller data
relative=19 //number of record with controller starrt data
frames=4 //number of record with frame count
bytesperframe=2 // for standart files
bit1_1=A // symbol for bit 1 from byte 1
bit1_2=B // symbol for bit 2 from byte 1
bit1_3=s // symbol for bit 3 from byte 1
...

[extension]
original=.VBM
coded=.VBX
It's not that simple to code, but it is real... May be I'll try... I hope I won't drop it as I dropped "@wad" =(
Post subject: SMV editing tool
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
GUI version: http://rapidshare.de/files/20962872/smveditgui.7z.html (200 kb) This program is based on VBM editing tools but modified to work with SMVs. You can read general description in VBM editing tools topic In short: It allows you to edit movies without having to use hex editor.
Post subject: R-type 3 (with detached Force)
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
I tried to record r-type 3 with only one shot (to get Force) and without attaching Force... Everything went well and was quite funny... until that second red wall on second level >___< Is there any way to break through it without charged shot?.. Those who have played R-type 3 should know what am I talking about.. http://dehacked.2y.net/microstorage.php/info/1169/Rtype_force.smv the problem is that fragile point is on the other side of wall... Is there any glitch to drop Force there? (all 5 settings in snes movie options were turned off when recording)
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
Kirby, Kirby! \(`-`)/ _(._.)_ \(`-`)/ _(._.)_ Wanna see it! It would be extremely fun with that enemies eating feature!
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
New version, with GUI (both tools in one) http://rapidshare.de/files/20917110/vbmeditgui.7z.html (200 kb)
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
Uploaded... Use new link above )
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
where should I put it then... archive is only about 60 kb ^^
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
"S" for Start, "s" for Select - I used same symbols as VBA uses
Experienced Forum User
Joined: 4/11/2006
Posts: 487
Location: North of Russia :[
Temporarily downloads are here: Command-line version: http://rapidshare.de/files/20910402/vbmedit.rar.html (60 kb) Version with GUI: http://rapidshare.de/files/20917110/vbmeditgui.7z.html (200 kb) These programs do two things: convert VBM file to plain-text VBX file and convert your edited with favorite text editor movie back to VBM. VBX file looks like this:
INFO: //Decoded header, more info:
1		//Version
1117837641		//Movie uid
149227		//Frame count (will be recalculated)
12501		//Rerecordings
0		//Start flags
1		//Controller flags
1		//System flags
16		//Emulator flags
0		//winSaveType
65536		//winFlashSize
4		//gbEmulatorType
ROCKMANZERO4		//ROM name
0		//0
80		//internal CRC
0		//CRC16
1247425602		//Game code
0		//Save state start offset
256		//Start point (will be recalculated)
		//Author
		//Description
HEAD: //Don't touch it please =)
0000
DATA: 
         0|
         1|
         2|S
         3|
         4|
         5|S
         6|
         7|
         8|S
         9|S
...
      1158|>L
      1159|L
      1160|>L
      1161|A>L
      1162|>RL5
      1163|>L
      1164|>L
      1165|>L
      1166|>
...
    149223|B
    149224|A
    149225|
    149226|
Encoder does not use frame numbers in beginning of every line - they are there just to make editing more convenient =) So adding or removing lines is not a problem, you do not even have to numerate them:
      1160|>L
      1161|A>L
      1163|>L
      1164|>L
      1165|>L
LB>
L>
L>
L>
A>L
      1166|>
here frame 1163 will become 1162 after encoding, and 1166 will become frame 1170 after 5 inserted lines ^^
1 2
18 19 20