Language…
14 users online: Batata Douce, BlueSheep123, CalHal, crocodileman94, Ekimnoid, Enderdavid_HD,  Fernap, GiraffeKiller, Housemeister, playagmes169, ppp9q, Rhubarb44230, sugarfish456, WalrusLife - Guests: 249 - Bots: 263
Users: 64,795 (2,376 active)
Latest user: mathew

Romi's Cutscene Tool

Link Thread Closed
First and foremost, complete credit goes to Romi for putting much effort into creating such an amazing tool!

Secondly, yes, Romi has given me permission to release this tool. ;)

Thirdly, the tool is not 100% complete yet. Romi still has to implement a static text feature, and possibly more things if he has the time.

Hello, one and all. I am pleased to be releasing this tool on Romi's behalf. Let's get this topic rolling:



Variable Width Font Tool


Variable Width Font Tool is a program which allows for versatile cutscenes to be implemented into your SMW hacks. You type out the text as you normally would in a txt file, and the tool can convert it into data sprites ready to insert into your ROM! Not only can the tool allow for text to display in your hack, but it also has the ability for other neat things, like drawing sprites onto the screen, activating screen exits and level goals, changing font color, etc.

A couple of things you will need before you start:

You will need to have ActivePerl installed on your computer in order to run the tool.

In order to assemble the cutscene sprites into your ROM, you must have this version of xkas (mod edit: use this instead) placed in your hack folder.

Download Tool

Now, I've prepared what I feel will be some Frequently Asked Questions:

Q: Is the tool difficult to use?
A: It depends. I personally find it relatively easy to use, as you can easily type of the text normally, and the tool will convert it. However, for special commands, such as drawing sprites and changing font color, they use HTML-styled to implement. Basically, I'd say the tool is as complicated as you make it out to be: the more complicated you want your scenes to be, the tougher it will be, however, I don't feel the overall task it too daunting. ;)

Q: Wait, so is this a sprite or a tool?
A: Both. The tool converts your cutscene .txt files into data sprites ready to insert into your ROM.

Q: So how many sprites will I need to insert into my ROM?
A: Two. For every cutscene, you'll need to both the main cutscene sprite as well as the data sprite which holds the specific cutscene information.

Q: Wait a minute! Will I have to insert a different data sprite for each separate cutscene I want to trigger? That'll take up too much of my custom sprite space!
A: No! The cutscene which is triggered is dependent on the position you place the data sprite on the screen. Which means, you can have up to 256 cutscenes fit into just one data sprite!

Q: I get an error message when inserting the sprites that they won't assemble. Why does this happen?
A: Make sure you have the version of xkas listed above in your hack folder.

Q: I get an error message when inserting the data sprite that it won't fit in a bank. What do I do?
A: When this happens, that means you've reached the maximum size for the data sprite, likely because you've stored cutscenes of great size into them. Once this happens, you will have to move on to a new data sprite.

Of course, there's a readme which fully explains the whole process. I'm hoping this will turn into a productive thread, so if anyone has any questions, feel free to ask, and I shall help to the best of my ability.

I would just like to say, I think we all need to acknowledge and appreciate all the amazing effort and diligent work Romi has poured into making such an awesome tool which I feel will shape the SMW hacking community for the better. Let's all give a big round of applause to such a talented and intelligent SMW hacker and tool developer. :D

Wow. That is awesome.

I have a few things to say:

1) Is it possible to use multiple cutscenes in one level so that it isn't necessary to teleport to a new one and waste level data? Perhaps I'm just misunderstanding the informational document, but it doesn't seem to be possible to make a cutscene that requires more space than will fit on the screen at one time.

2) If Romi is reading this, I would like you to know that I would like to talk to you sometime. The conversation doesn't even have to be about anything related to ROM hacking. I've heard you're very nice as well as talented, so I would be curious to find out how we could get along.

3) ALL HAIL ROMI!! *bows*

4) Okay, I'm kidding. Seriously, though, if you're still reading this, you deserve some gratitude, not just for this, but for all the things you've done for the ROM hacking community. Your versions of Sprite Tool and AddMusic, all your Yoshi's Island documentation, your planned...er, I won't divulge it here...well, jeez, you're definitely far beyond my level, and I want to express my thanks to you. I've said before that a lot of people who are really good with ASM don't really get much appreciation for it (unless you count a lot of annoying requests), so I want to show you mine.

To Golden Yoshi/Steven: Thank you for releasing that. I also know that you have just released the complete version of your hack, and I look forward to playing it!

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Originally posted by imamelia

1) Is it possible to use multiple cutscenes in one level so that it isn't necessary to teleport to a new one and waste level data? Perhaps I'm just misunderstanding the informational document, but it doesn't seem to be possible to make a cutscene that requires more space than will fit on the screen at one time.


Yes...you can display as much text as you need on the screen at once. Once the page fills up, the top-most line will vanish by scrolling through the top of the screen, and the next line will be displayed. There is also an [erase] command which allows all the current text displayed on the screen to erase so you may start over.

Romi was kind enough to include some samples if you needed some further clarification how it worked. ;)
Okay, thanks. With the help document in hand, I think that, with practice, I could really get the hang of using it, just like all the other tools I once struggled with and now can use easily.

(That still leaves my other three comments, though...I hope Romi notices them.)

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.
Thanks for this Steven and Romi. I have two questions though.

I downloaded the xkas you said I needed, and put everything from that into my hack folder. I made my cutscene, put it in the list.txt, ran the perl file to get the asm file. I put the cfgs and asms in the sprites folder of sprite tool along with the two bin folders in the same folder as sprite tool. I then ran sprite tool and still got the assembly error. Any ideas what I did wrong?

(Figured out, Romi's Sprite Tool needs to be used for this)

Secondly, how does one figure out which cutscene is loaded by the X&Y position?
Originally posted by Atmapalazzo

Secondly, how does one figure out which cutscene is loaded by the X&Y position?


The data sprite can start being placed at position (0,0) on the screen. This will trigger cutscene 00 from your list.txt. Placing the sprite at (1,0) will trigger scene 01, (2,0) will trigger 02, and so on. Once you reach (16,0), or the end of the screen, you must start at (0,1).
Ahhhhhhh!
The folder was locked and access denided!
I couldn't delete it off my computer until I downloaded a program which removes it.
I'm not going to risk dowloading it again.
Your layout has been removed.
Okay, so I made my text, used the tool, placed everything in the sprite folders, placed the bin files in my hacking folder, i have the xkas AND Romi's Spritetool, but i get this error; Xkas reported error. refer to temp.log and tmpasp.asm...
So whats wrong and how could i fix this?



EDIT: No idea what i did, but i's fixed.
This sounds like a great tool! Too bad I can't open it, even if I have ActivePerl installed. And I used the one you linked to.
Originally posted by MetaKnight
This sounds like a great tool! Too bad I can't open it, even if I have ActivePerl installed. And I used the one you linked to.


All you need to do is click on the perl.bat file and it will automatically generate the data sprite. Make sure you have your list.txt and definition.txt file in that folder.
Originally posted by Steven
Originally posted by MetaKnight
This sounds like a great tool! Too bad I can't open it, even if I have ActivePerl installed. And I used the one you linked to.


All you need to do is click on the perl.bat file and it will automatically generate the data sprite. Make sure you have your list.txt and definition.txt file in that folder.

Oh, it responded to that. Thanks. (goes to try tomorrow)
I come bearing video goodness showing the awesome branching feature of this tool:

<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/YZ6WwtNXzFY&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/YZ6WwtNXzFY&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
Creator of:
Super Mario: Buried Treasure
The Haunt
Jigsaw's Test
Awesomeness, Mr. Kc. I'm very excited to see people working this system into their hacks. I know a creative guy like you will come up with some interesting features to implement with it. :)

Extras



I should have something witty to put here (even if it's just to update dated info), shouldn't I?

Advertising Space

This looks pretty amazing to use, so I'll have to give it a spin sometime. However, I take it that this tool doesn't support other types of font yet, if it's even possible?

Steven asked me to post this short little tutorial I put on IRC.

1. Load Activeperl.
2. Write your cutscenes using the given methods (proper spacing, font color, etc. - remember to write [skip=END] at the top of the file, and [label=END][end=XX] at the bottom, where XX is the type of exit you want from the cutscene (goal, sgoal, etc)).
3. Write the name of the TXTs you made in list.txt in a similar fashion to Sprite Tool:

Code
00 Intro.txt
01 More.txt
02 Beef.txt
03 Ham.txt


4. Run vwftool using command prompt and type the following:

vwftool.pl def.txt list.txt insertoutputnamehere.txt

5. Take the generated file (which has all of your cutscene data from list.txt in it) and rename it to an ASM.
6. Create a .cfg file named the same as the .asm file, and insert it with Romi's version of Sprite Tool (make sure the Xkas from this thread is in the same folder).
7. Now insert vwf.asm into the level (top left corner of the screen is fine) and your sprite. The coordinates you place your sprite at determine the message shown. Assuming we're using the list from before:

X0 Y0 = Intro.txt message
X1 Y0 = More.txt message
X2 Y0 = Beef.txt message
X3 Y0 = Ham.txt

...which means you can have 256 messages per sprite.


I think I covered all of the important stuff. The rest is all covered in the Read Me
Thanks for posting this, S.N.N. Hopefully it will all be a bit more clear now.

Also, I look forward to watching your Beef and Ham scenes. :P
"Now insert vwf.asm into the level (top left corner of the screen is fine) and your sprite."

Huh? Is vwf.asm a sprite too?


Your layout has been removed.
Originally posted by MrDeePay
This looks pretty amazing to use, so I'll have to give it a spin sometime. However, I take it that this tool doesn't support other types of font yet, if it's even possible?

Open up vwf.bin and edit it. As you may see, however, it's a little tricky to work with, as it's "disaligned."


KilloZapit: Yes.

Excellent! My thanks you to, Steven, and Romi as well. Now I can REALLY get on with my hack!

By releasing this, you've created another step forward in SMW Hacking and plot. Excellent :3
Help! Why can not insert the sprite in my ROM?
Need is a procedure before?
Link Thread Closed