+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Screenshots
Pages: 1 ... 136 137 [138] 139 140 ... 164
Author Topic: Screenshots  (Read 67892 times)
justin3009
Guest
« Reply #2055 on: January 01, 2011, 02:29:39 pm »

:O!  That looks amazing!
rmco2003
Guest
« Reply #2056 on: January 01, 2011, 02:54:37 pm »

wow that's incredible... I've always wanted to play this game after getting addicted to the original SNES one.

Are you just translating it to Italian or will there be an English version too?
evo
Guest
« Reply #2057 on: January 01, 2011, 03:31:24 pm »

Maybe it could be translated in english when i will finish the hacking.
I really don't know if it's technically possible to make every part of the game use the VWF (maybe some parts HWF); I'm trying to but there are a lot of routines to rewrite and really little space in the rom (especially in the first bank that's where I really need it).
syntax error
Guest
« Reply #2058 on: January 02, 2011, 04:24:30 pm »

Ask in the coding subforum or get a few (GB)Z80 manuals for recoding some other routines.

Its a flexible 8-bit CPU.(sadly this is just a partially compatible Microcontroller)
evo
Guest
« Reply #2059 on: January 02, 2011, 07:16:25 pm »

Quote from: syntax error on January 02, 2011, 04:24:30 pm
Ask in the coding subforum or get a few (GB)Z80 manuals for recoding some other routines.
Its a flexible 8-bit CPU.(sadly this is just a partially compatible Microcontroller)

I know I already rewrote something like 4 different routines  Wink
But it seems that at Tri-Ace they like to insert a different routine for every kind of text displayed and there isn't a lot of space in the first bank. Maybe there won't be enough space to reinsert all the new vwf routines.
Also SOBS is GB compatible and don't use GBC double speed mode and when displaying a lot of text the vwf tend to be slow so i have to use some coding tricks and avoid to do a lot of bank switching and jumps if possible :crazy:
Kagemusha
Guest
« Reply #2060 on: January 03, 2011, 07:21:23 pm »

Universal VWF? One routine to end them all...er rule them all.

http://transcorp.parodius.com/forum/YaBB.pl?num=1228747326
« Last Edit: January 03, 2011, 07:42:17 pm by Pennywise »
Gemini
Guest
« Reply #2061 on: January 03, 2011, 08:19:22 pm »

Nintendo has already done something like that... with the DS. Of course, good thing that NC is working on it for the SNES, but if it's too slow not many people are going to use it, especially with scrolling lists. I tried a similar approach with some of my projects using tiled VWFs, and I miserably failed.
Nightcrawler
Guest
« Reply #2062 on: January 04, 2011, 09:35:30 am »

Tenshi No Uta was similar in nature, and why I started the universal routine to begin with. A different text engine was used for every different kind of text. Multiple text engines were used on the same screen! A single menu screen could use say 3 or 4 different text engines. A typical battle could see say 5 or 6 depending on what you do. After I implemented 2 or 3 VWFs and discovered how many more there were, I had enough! No sense rewriting the same basic code over and over. That's software design 101. It indicates a problem in your design!

What's even more interesting is Tenshi No Uta's lineage is Wolf Team, who did Tales of Phantasia and Star Ocean. Several of those guys went to Tri-Ace if I'm not mistaken. I imagine there's probably a loose connection of people between the two. Smiley

As far as practicality and speed on the SNES, mileage will vary. There are several text engine scenarios on the SNES (sprite text, straight tilemap text, dynamic draw text etc.) It's definitely fine for dialog where you typically print a character per frame. It's probably OK for anything where the screen is already drawn dynamically. It's generally OK for basic menu screens too if they are fairly static, or don't fill the entire screen with walls of text.

Where you run into issues is when the original font is fully stored in VRAM and text routine was a straight tilemap to that font. The entire screen is typically rendered in a single frame, refreshed each frame in that situation. That's where you really suffer, especially if the screen is completely filled with text such as a scrolling full screen item list. It can be difficult to VWF that situation properly, even when you do a specialized routine (not even possible in some cases if you don't have enough VRAM). Add in the overhead of the universal routine and I've found it very difficult to get acceptable speeds. The more flexible I make my routine, the more overhead it incurs. So, some balance must be struck. It will certainly not be ideal for all cases. It's just not possible.

I am experimenting with several ideas to do a better global job on all situations. Rather than a true universal routine, I can be more modular where you plug in the correct function calls from a library designed to work together for the situation you need. It's not as user friendly (all you do now is define a handful of starting variables and a few things like what values to drop out of the text rendering loop with), but more practical. Another idea is perhaps there should be three VWFs to rule them all, one for each major type (sprite, straight tilemap, dynamic). Then it could be optimized for each target reducing overhead greatly.

So, there's definitely plenty left to do. In the end, it may not be something very useful to others. As an end user, there's a balance between how much time you'd need to learn my system to use effectively versus time saved from not doing it yourself. You already need to be an intermediate hacker to figure out where this routine needs to go and configure it properly. If the learning curve continues upward and requires more of the user, and may deliver slow results, one might be more inclined to do it themselves. We'll see where this experiment goes. It will definitely be useful to me if nothing else. Smiley
syntax error
Guest
« Reply #2063 on: January 04, 2011, 11:29:01 am »

I suppose that the same complex routines exist in Tales of Phantasia:Narikiri Dungeon
Nightcrawler
Guest
« Reply #2064 on: January 04, 2011, 02:07:06 pm »

You know, the only logical reason I can think of why you would code a game like that would be a bunch of people were thrown in separate isolated rooms unable to communicate and told to code their small task. It's like the guy who needed to code the 'Gold XXX' display on the menu had absolutely no knowledge of any other text engine, routines, or even fonts. He made new everything from scratch just for that. Several others did the same.

That's a bit of an exaggeration, but that's really what it seems like must have occurred. Parallel tasking, little collaboration. There's just far too much duplicated efforts for any other reasonable explanation.
Gemini
Guest
« Reply #2065 on: January 04, 2011, 06:36:51 pm »

Some Saturn games do a similar thing, but instead of using different rendering engines they have several copies of the same stuff scattered around overlays. This is because they keep the main exe as a small loader while the rest of the modules are basically stand-alone pieces of code that communicate through global variables (might be an overlay limitation of GCC for the SH2 tool-chain). In that case a (more or less) generic VWF engine sure works for our purpose, that is practically what I did with Dracula X and Soul Hackers.
evo
Guest
« Reply #2066 on: January 05, 2011, 04:54:16 am »

Quote from: Pennywise on January 03, 2011, 07:21:23 pm
Universal VWF? One routine to end them all...er rule them all.

http://transcorp.parodius.com/forum/YaBB.pl?num=1228747326

I have already used a macro and defined some pretty generic routines, the problem is that this code is executed lots of times and I want it the fastest possible so I've had to define much of it as a macro to avoid the overhead of doing a lot of calls (and a lot of bank switching in some cases which add a lot of overhead imho).

To make things faster i've only jumped from the original routine to mine routine, i'll define some "bounds" (i think using the .org directive should block WLADX from overwriting) and overwrite the original routines as much as possible to get some more space. If there's enough space i'll try to do a little refactorization of the code and move things around to have even more space in the first bank (though that's where most of the code have to be to avoid doing more bank switching than necessary)
Zeemis
Guest
« Reply #2067 on: January 09, 2011, 04:15:58 pm »

Custom music to custom sprites, this is going to start out as an engine modification to FFVI using all FFIV characters. This screenshot is very alpha and some sprites need fixing to look better. Rosa looks distorted because she's been moved to a palette of her own through hex editing and I need to still work out some kinks. The menu's gradient has been hex edited to disable it so that it looks more true to the FFIV SNES theme and the FFIV DS theme, two themes a player can choose. Some characters aren't finished yet and still don their original sprites, such as Palom, Porum, Edge and Cid. I plan to dummy out Umaro completely so he won't be playable.
reyvgm
Guest
« Reply #2068 on: January 09, 2011, 07:35:51 pm »

UGAAAAAAAAAAAA!!! (*cries*)
Vanya
Guest
« Reply #2069 on: January 10, 2011, 01:35:24 am »

@Zeemis: They aren't easy to come by, but there's a Japanese cellphone version of FF4 that used some new and modified FF4tAY sprites that would be perfect for insertion into FF6. Some single sprites are posted at the FF Wikia page in each character's profile:



They have portraits to go with them but I think they're more or less the GBA ones. Also, Golbez, FuSoYa, and Tellah use the exact same FF4tAY sprites so you can get those easily. Oh, and Kain is just a recolor of Dark Kain from FF4tAY.
These may need some color reduction and will definitely need custom palettes.
Pages: 1 ... 136 137 [138] 139 140 ... 164  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC