Welcome, Guest. Please Login or Register
 
The Purple Parade is marching in full stride to the beat of that 'other' drum we all hear, but generally ignore. Wink
Home Help Search Login Register


Pages: 1 2 
Send Topic Print
Project - nuVWF (formerly Nightcrawler's VWF) (Read 20275 times)
KingMike
Circle of Royalty
*****
Offline


BRAAAIIINS!

Posts: 579
Gender: male
Project - nuVWF (formerly Nightcrawler's VWF)
Dec 8th, 2008 at 9:42am
 
Great to hear you're planning to make a "universal" hack.

But I imagine it'd still be a pain for games using tilemapped fonts.
(3x3 Eyes 1 uses one font routine for everything. Dialouge, menus. So, that left me with needed to rig up several control codes to control it (also printed multiple strings in parallel in some cases, meaning I need to include a tilemapped mode to avoid crossing the streams. Tongue )
Back to top
« Last Edit: Aug 16th, 2011 at 3:55pm by Nightcrawler »  
WWW 124792925  
IP Logged
 
Nightcrawler
YaBB Administrator
*****
Offline


The Dark Angel of Romhacking

Posts: 3237
USA
Gender: male
Re: Nightcrawler's VWF
Reply #1 - Dec 9th, 2008 at 7:25am
 
KingMike wrote on Dec 8th, 2008 at 9:42am:
Great to hear you're planning to make a "universal" hack.

But I imagine it'd still be a pain for games using tilemapped fonts.
(3x3 Eyes 1 uses one font routine for everything. Dialouge, menus. So, that left me with needed to rig up several control codes to control it (also printed multiple strings in parallel in some cases, meaning I need to include a tilemapped mode to avoid crossing the streams. Tongue )


Support for tile mapped engines is being done as well. I am actually currently working on supporting a 4th engine right now which happens to be tile map based. I had planned for this in the initial concept work. It's going to use the same routines. The only difference is it will use a smaller chunk of RAM for only one character and spillover at a time, and require an extra DMA hack to transfer the data to VRAM rather than simply change the tilemap like the original game's routine. The rest of the mechanics should be identical.

As far as the control codes for tile mapped menu fonts, I already have support for that as well. Wink The design supports custom control code handling. The main menu in Tenshi already runs fine with custom control codes for tile boundaries to make things line up.

As for something really stretching it like needing parallel printing or tile mapped mode; That's kind of out of scope, however the design is modular enough that one would probably be able to create a new render module and the rest would potentially work. Just speculation without getting into the specifics.

Obviously 100% of every case cannot be supported. But in those instances where it is not possible, the code can act as a template for easy adaptation to whatever the needs may be. Aside from the truly reusable parts, the idea was creating a structured framework that could quickly be molded to fit into any game even if it does need something out of the ordinary. I never want to have to code a new VWF or text system from the ground up again. Perhaps that ideal is not totally or realistically achievable, but I'll take something close! Grin

As I progress with supporting this tile mapped engine, I can give you more specifics on that. I will need some minor refinements for it. It is still a work in progress after all. And naturally, thus far, it's only really been tested in Tenshi No Uta. It will be quite some time before I give it a try in some other games to try and realize that potential.
Back to top
 

ROMhacking.net - The central hub of the ROM hacking community.
WWW  
IP Logged
 
Nightcrawler
YaBB Administrator
*****
Offline


The Dark Angel of Romhacking

Posts: 3237
USA
Gender: male
Re: Nightcrawler's VWF
Reply #2 - Jan 19th, 2009 at 4:23pm
 
I got away from this for awhile due to the holidays, an injury, and preparing for a wedding, but I've gotten the chance to get back to work lately. Supporting tile mapped fonts has been a bit more challenging than I initially planned for. I've got it working half baked. I need to restructure the main routines to better handle things now that I have it working. I also need some better handling of the vwf buffer when it's not a big RAM window and one 8x16 or 12x12 at a time which is used obviously for many 12x12 fonts and when replacing a tile mapped font.

So, there's still work to be done unfortunately before I can show something comprehensible. There's also a few bugs it seems. Certain areas of Tenshi No Uta's menus outside my test menus are crashing it seems. Sad
Back to top
 

ROMhacking.net - The central hub of the ROM hacking community.
WWW  
IP Logged
 
Next_Gen_Cowboy
Nobleman
***
Offline


I am what I am; nothing
more and nothing less

Posts: 113
Inside my own head.
Gender: male
Re: Nightcrawler's VWF
Reply #3 - Jan 20th, 2009 at 2:15pm
 
I can see something like this hopefully having not only widespread appeal, but also success. I have failed a great many times when trying to implement VFW in any non-standard way. (even then I have failed)

So this is what I am wishing you luck on, just as much as Tenshi No Uta.

I do not know whether or not you intend it, but I really do prefer the "Transcorp" font to most everything. The obvious readability particularly when running off of a low res monitor is a major plus.

I could have sworn you were not obsessive with fonts =p
Back to top
 

Sleep is like cocaine, for the brain.
nextgencowboy  
IP Logged
 
Nightcrawler
YaBB Administrator
*****
Offline


The Dark Angel of Romhacking

Posts: 3237
USA
Gender: male
Re: Nightcrawler's VWF
Reply #4 - Jan 21st, 2009 at 8:07am
 
Another early issue I'm seeing is speed. The more flexible I make it, the more overhead there is. It's more noticeable on the tile map based menus where sections are fully rendered before they are displayed. With main dialog, you can print letter by letter and it's fine. With menus, you don't really want to see the menu being printed out.

I'll have to see what I can do with this. It just may not be that useful for instances demanding fast performance. In those cases, a custom routine may be a better fit.


I'm not obsessive with fonts. It's the opposite. I don't care about them. I found one that looked OK and don't care enough to find any more. Though I may be forced to on the menus. A thin font may be necessary to fit everything on screen.
Back to top
 

ROMhacking.net - The central hub of the ROM hacking community.
WWW  
IP Logged
 
Next_Gen_Cowboy
Nobleman
***
Offline


I am what I am; nothing
more and nothing less

Posts: 113
Inside my own head.
Gender: male
Re: Nightcrawler's VWF
Reply #5 - Jan 21st, 2009 at 9:38am
 
Regardless I must say the fact that it works impresses me, if you can, keep me updated on the menus I want to see how this plays out.

Aside from the overhead is it working with all four fonts you want changed?

I am getting visions of Phantasy Star 3 text scrolling down and making my eyes bleed for eternity  Tongue

Back to top
 

Sleep is like cocaine, for the brain.
nextgencowboy  
IP Logged
 
Nightcrawler
YaBB Administrator
*****
Offline


The Dark Angel of Romhacking

Posts: 3237
USA
Gender: male
Re: Nightcrawler's VWF
Reply #6 - Jan 22nd, 2009 at 8:21am
 
Thanks. I will be updating along the way. Eventually I'll post some code to give a better idea of the interface. I've had to make some structural changes and rethink a few things for tile map fonts, so nothing to show until I re-establish the structure.

It works with the four text engines OK so far. It has a few kinks handling tilemap conrol codes though in instances where you want to print the current tile, then one additional tile with spillover knowing the game will the handle the control as normal and  set the tilemap position elsewhere for a fresh start on a new letter/tile. It seems easy enough, but it's been trickier than I thought, especially knowing the variety of different things that could potentially happen during control codes for tile mapped menu engines. Rather than try and handle all possible cases which is impossible, my mentality is it needs to be an independent enough system that it will work regardless of what game might do. Each time through variables are initialized (tilemap location, VRAM location etc.) and it works relative to what the actual values are and can control their update.

So.. my hope is whatever the game does outside of the system should be immaterial because it's initialized with the current instance and all information needed to do it's job each time it's called. It's for this reason the system is called once per character rather than say looping until a tile is finished etc. As you might imaging, the constant information exchange and gathering adds much overhead, but the result is hopefully an independent, reusable rendering system.

It's still very much WIP. Tenshi's 5 or 6 or more (I keep finding additional ones the further I dig into battles and menus, but at least they are similar) text engines are my first goal. If I meet that, I will see about fitting it into other games and see if it can meet it's true potential. That's getting a bit ahead though. Smiley
Back to top
 

ROMhacking.net - The central hub of the ROM hacking community.
WWW  
IP Logged
 
Nightcrawler
YaBB Administrator
*****
Offline


The Dark Angel of Romhacking

Posts: 3237
USA
Gender: male
Re: Nightcrawler's VWF
Reply #7 - Feb 12th, 2009 at 5:57pm
 
I've been back on the job lately and am happy to report that I was able to overcome the obstacles I was having from above! Some restructuring and additions to the VWF core were able to take care of those spillover and control code issues I was having. I also figured out why some of the other menus were crashing and fixed that problem.

Unfortunately, it's still slow. Now that I have it working correctly, I going to look into trying to speed it up a little bit. I will work on getting some text in there for some of the other menus and then I'll be able to make another update on TransCorp with some nice pictures.

After that it'll be time to look at the battle text engine/s and add my 5th supported VWF. So, things are starting to look pretty good as far as this project is concerned.  Smiley
Back to top
 

ROMhacking.net - The central hub of the ROM hacking community.
WWW  
IP Logged
 
Next_Gen_Cowboy
Nobleman
***
Offline


I am what I am; nothing
more and nothing less

Posts: 113
Inside my own head.
Gender: male
Re: Nightcrawler's VWF
Reply #8 - Feb 12th, 2009 at 6:41pm
 
That sounds simply fantastic, and I must say I am impressed with the speed. The number count seems to keep climbing. The implementation process sounds like its running smooth, which is kind of scaring me =p

Anything that goes this well is bound to cause massive spacial distortions, that is simply the way of things.

In all seriousness, in addition to being impressive it also sounds awesome.

Back to top
 

Sleep is like cocaine, for the brain.
nextgencowboy  
IP Logged
 
Nightcrawler
YaBB Administrator
*****
Offline


The Dark Angel of Romhacking

Posts: 3237
USA
Gender: male
Re: Nightcrawler's VWF
Reply #9 - Mar 9th, 2009 at 10:12am
 
Things got a bit delayed on the VWf. When I was going to make screenshots, I thought I should have the real text in the menus, so I shifted focus to dumping the rest of the sub menu text and getting that translated.

I got that back a week or so ago and tried putting it in. Unfortunately, as I expected, it doesn't fit with the current font. I'll need to come up with a thinner font to use on the menus. I don't know where I'm going to get one from. I hate font finding. That's why I haven't changed my font in years. Wink

I will probably ask for some help on RHDN to find something that might work, since hardly anybody reads this board anymore!

I also hit a bit of a holdup because some things on the menu such as the HP display and character names naturally use yet another text routine. I haven't decided what I'm going to do with those yet. It's getting ridiculous. I also think I may keep fixed width for numbers such as the HP display. I have to do some thinking.
Back to top
 

ROMhacking.net - The central hub of the ROM hacking community.
WWW  
IP Logged
 
Nightcrawler
YaBB Administrator
*****
Offline


The Dark Angel of Romhacking

Posts: 3237
USA
Gender: male
Re: Nightcrawler's VWF
Reply #10 - Nov 9th, 2009 at 11:01am
 
This project saw advancements these last few months. Tenshi had more text engines than I thought. We're up to 7 different routines supported (there's more on the battle menu I haven't begun to hack yet). 5 of them were all tilemap based menu printing routines.

I underestimated the vast possibilities of a tilemap menu printing routine. It's been difficult to support them all while retaining the flexibility level of game and routine independence. I'm still facing speed issues, however there were some optimizations I had overlooked before that will help.

Tenshi does much screen redraw. In fact when it's on the item screen for example, it sits in a loop and constantly refreshes the screen. This has made the scrolling item list for example show off how slow things are.

It has been beneficial to the project that Tenshi has so many routines. I've been able to continually improve and enhance the core VWF system. By the time I get to use it on other games, it should be able to do the job.

I think in the end, there are going to be certain situations and games where you still can't use this. There's just so many possibilities on how game engines work, ESPECIALLY when it comes to menus. However, I think the project is coming out successful thus far that you can set up a new VWF very quickly as is in most cases.

It's been an enlightening project so far. I've found interesting problems with the tilemap based fonts and the extra DMAing of data throws off rudimentary frame counters used for courser blinking and other rough timing. Tenshi for example increments what appears to be a frame counting variable every time it DMA the menu tilemap which it refreshes every frame. This is outside of NMI, so if I add any additional vblank waiting anywhere, it slows things down. For each time the game thinks one frame has passed, more have passed.

The easy and logical solution is to throw your DMA in with the games. However, that's game specific. I try to come up with ways to handle this with universal structure. In this case, I would have to adjust the frame counting variable at the defined place in the universal routine to update game specific variables. This is much more difficult because I actually need to figure out what it should be updated to rather than just throw my data in the existing original DMA routine and the game goes on as normal.

These kinds of issues have shined light on the practicality of my universal routine. In some cases, it's actually simpler and faster to do it game specific and would be undesirable to use my routine. The good thing is my routines are modular enough that I could choose to use only some of it and keep the rest game specific. So, some savings is still achieved.

Anyway, a general site update is coming in the next few weeks that will have several screen shots of the action!
Back to top
 

ROMhacking.net - The central hub of the ROM hacking community.
WWW  
IP Logged
 
nonme345
Peasant
*
Offline


The same from RHDN

Posts: 46
Re: Nightcrawler's VWF
Reply #11 - Dec 17th, 2009 at 12:17am
 
Nightcrawler, are you planning to release the source code for the universal routine? It might be interesting material for study, and such.

EDIT:

From the forums at RHDN.
Quote:
For those unaware, Nightcrawler has been working on a VWF library for use in SNES translations to basically give you the ability to drop a VWF in regardless of how the text engine is coded.
Back to top
« Last Edit: Dec 27th, 2009 at 12:12am by nonme345 »  
WWW  
IP Logged
 
Nightcrawler
YaBB Administrator
*****
Offline


The Dark Angel of Romhacking

Posts: 3237
USA
Gender: male
Re: Nightcrawler's VWF
Reply #12 - Jan 14th, 2010 at 8:50am
 
Sorry for the delay. I was unable to type for the past month. I'm back in limited capacity for now.

We'll see how it goes and how the system turns out. It'll be in development for quite some time. It's focused on Tenshi for now. Only after that will I start test casing other games.

If I find I've met my design goals and it's practical enough, I am considering cleaning it up with some documentation for public consumption. If nothing else, I would do a limited release to those interested whom ask for it.

Perhaps Terranigma would be a good first test case outside Tenshi No Uta? Smiley

Back to top
 

ROMhacking.net - The central hub of the ROM hacking community.
WWW  
IP Logged
 
Killa B
Peasant
*
Offline



Posts: 11
United States
Gender: male
Re: Nightcrawler's VWF
Reply #13 - Jan 24th, 2010 at 7:38am
 
Nightcrawler wrote on Jan 14th, 2010 at 8:50am:
Perhaps Terranigma would be a good first test case outside Tenshi No Uta? Smiley

This would be many kinds of awesome.
Back to top
 
WWW  
IP Logged
 
Nightcrawler
YaBB Administrator
*****
Offline


The Dark Angel of Romhacking

Posts: 3237
USA
Gender: male
Re: Nightcrawler's VWF
Reply #14 - Jan 25th, 2010 at 8:36am
 
Yeah. The VWF system application should be relatively easy. The bigger obstacle here will be appropriately formatting the text to use a VWF. I don't recall off hand whether that game pulls final text from RAM or ROM. If it pulls from RAM, you can easily stick in some an auto formatting code. However, if it's from ROM, the text will likely need to be dumped, formatted, and reinserted which is significantly more work.

I'll have to remember to take a peek at this game again and see what it does. I was hoping I could just slap the VWF in and add some auto formatting code. I would probably have less interest in the project if it were more involved than that.  Undecided
Back to top
 

ROMhacking.net - The central hub of the ROM hacking community.
WWW  
IP Logged
 
Pages: 1 2 
Send Topic Print
(Moderator: Nightcrawler)