News:

11 March 2016 - Forum Rules

Main Menu

Tales of Phantasia SNES (Enhancement) (Slow WIP)

Started by justin3009, September 06, 2011, 07:33:56 PM

Previous topic - Next topic

justin3009

#20
Agreed with Gemini.  The PSP sprites really don't mix with the current system.  Those were more of a deformed Tales of Eternia style with the regular PSX ones and it just didn't work.

I'm still questioning if I should import the PSX sprites or so now.  I might just leave it SNES to keep that old school feel but I'm not 100% sure.  I'm sure I'll import them once I figure out how to mess with the games palettes more since they're so extremely limited.

Edit: Heh, found out how battle animations are semi loaded and stored.  I found out that Cless's "Lightning Bolt" technique, the lightning bolt is literally a separate spell being loaded.  With that, I'm going through random spell animations.  There's a number of them that don't work or they seem broken.  I found one interesting thing though that could be used for Lilith's Thunder Sword if I ever hack her into the arena :3

Edit 2: Still working on that damned item menu.  The bug right now is that the second half of the item names are being repeated across the item menu, or it's just the quantity sometimes to.  I've had this in so many other projects but this game is the most difficult to fix it out of them ~_~

With that though, I fixed a bug that I had added for code for the Combo Counter.  I've found all the X/Y coordinate data in battle for when it appears as well.  Also, I've found where the minimum steps required before a battle start is and I've been trying to change that to be about 15 more steps in total.  It's kind of a hassle though as it's a portion of code that's copied to RAM and not a single value.  Though, I'm starting to label it out a bit.  The game might change how many steps for battle are required depending on what timeline you're in.  I'm not entirely sure yet, but I'm in the future in one savestate and it's 40, yet at the beginning of the game it's 50.

Edit 3: Fixed the menu bug -___-... The game is poorly optimized when it comes to removing an item name.  It literally has a string of STA's to remove them instead of a loop to do so.  I'm going to optimize this once I get home.

Edit 4: Thanks to Zarra yesterday, wrote a super short and quick loop that is MUCH better than what was originally there to remove item names.  That annihilated that bug.  Just about 20 minutes ago, I fixed the final item menu bug (As far as I can see) with scrolling, viewing equipment, shadows, item type, etc..  It all loads perfectly now.  The item list is now available to 255 items instead of 160 (Though that'd be 320 in the original due to having 2 items per row.  I could probably expand it to that but I don't think anyone would have more than 255)

Edit 5: Fixed a couple left over bugs from the item menu.  Didn't realize they existed.  But the item menu is now officially done finally.  In the midst of the doing that, I did the battle item menu as well.  It now loads 1 column of item names and loads correctly.  What I'm planning on doing next is redoing Cless's skill menu.  It'll load the regular menu like everyone else, same with the tech names.  It'll cause less lag when switching menus and it's pretty necessary for what I have planned.  So that'll be my next task.  Which, when I think about it, will be REALLY nice to have as that'll cut down a gigantic section of code that's not needed :3

September 15, 2011, 08:39:31 AM - (Auto Merged - Double Posts are not allowed before 7 days.)

I know that it'll either merge this post or double post it, but I thought this was interesting to post.

- See how many PC's are on the field?  Well apparently, with just a simple change of this:

$C0/45CC E0 91 6E    CPX #$6E91              A:6C91 X:6C91 Y:6B91 P:envmxdizc to E0 91 6F, it'll load 5 PC's on the field.  Lower it and it'll load 3 2 or even 1 PC.  Thought this was interesting
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

justin3009

#21
Just an update.

A LOT of progress has been happening lately.  I've bumped hordes of code around so Cless's statistics load up depending on what slot he's in, not based on what screen is appearing.  This also applies to other PC's as well.

I've updated the skill screen to reflect changes in the battle system for Cless, so now you use all directional buttons to use skills, not just B and Up B.  So now it's B, Up + B, Left/Right + B, Down + B.  If I really wanted, I could add the two more skills like in the PSX version and have "Select" be the button, but that's a different story.

I've swapped out the in-game font with another that's much thinner but still legible.  (I also found out that the game apparently directly adds shadows to the font on it's own,which was an interesting feature).  Fixed a horde of bugs I had created with my mess of code so they're out of the way.

Item Menu works 100% correctly.
Shop Menu works now as well.

Cless and Chester share tactics text, but the tactics text has been redone.  (Also removed Rambard's text and had him share with Arche as they literally had the same text just in different areas of the rom).

Removed HUGE amounts of code in the skill menu that wasn't needed anymore which made room to bump some of my custom code back into bank $C2.

Figured out how to have Cless load his battle sprites depending on what other character slot he's in.  Just really got to figure out how to make it work correctly since there's not enough room at all for Cless's data in bank C2.  (Probably will JSL it somewhere).

Removed the pause system for when you attack an enemy now, so the game flows much more smoothly and not stop and slow down every time you hit someone.  Most notably with Blade Storm (Akisazame).

Right now, I'm trying to reform the Tactics menu so it's much like the later versions so you can select 4 characters instead of 3.  I am having so much trouble trying to figure this out as it seems TOP's menu data is vastly different from anything I have ever messed with before.  It's going to take a long time before I actually understand what the heck is going on.

Edit: I might see if I can swap out TOP's menu engine with that of Chrono Trigger's, which is a lot more flexible than TOP's.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

syntax error

Do you think you can import  parts from Star Ocean easier?

justin3009

#23
I'm actually not sure about that.  I can try taking a look at Star Ocean's code but if I recall right, it's most likely very different from TOP's.  I'll have a look at Star Ocean real soon and see what type of system it deals with for drawing the menu.

Edit: Well that's great.  Star Ocean uses a system similar to Chrono Trigger's, well somewhat.  It has LDA and LDX's to dictate how tall and wide a box is.  While Tales of Phantasia's uses a cruddy system of each tile being read hard coded from the ROM (As far as I could see anyway).  I am definitely going to see if I can swap TOP's system out cause it's ridiculous and inefficient as hell.

Edit 2: Just giving a heads up on more details.  I think I figured out where the palettes are located in-game and how they're loaded.  I've known for awhile that each PC/NPC has a number to dictate the palette number they use (Which is rather strange considering this game technically has 3 palettes in total for every character in the damned game).  5 = Dhaos, his pendants and I think his orbs too.  6 = First set of NPC's.  7 = Second set of NPC's + EVERY PC.

What I'm planning to do is break off the original code to load a system similar to Chrono Trigger's.  Each palette will have a pointer.  Depending on the palette # that's being used, it'll load whatever pointer, load the palette and then store it.  Doing so will allow the use of the PSX sprites finally without any conflicting problems.  I'm going to see how Chrono Trigger's code is used so I can get a better idea of what to do, then I'll actually put this into play and see if it works.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

justin3009

Maybe I should make like, a small blog for this project or something to post updates at.  Anyhow, updates.

Changes
1. I've removed the spell pause for everything temporarily.
2. The screen no longer shakes when you attack with a regular attack.
3. Critical Hits now are slightly different in effect.  The screen will no longer flash.  Instead, the screen will shake, basically reversing the normal and critical effect without a flash.
4. I'm working on spell circle graphics placement on the PC who's casting.  With this, PC's will cast spells anywhere on the battle field and the screen will NOT scroll to where they are.  This allows the battles to be focused on the person in PC Slot 1.
5. I've updated the Magic Menu in Battle and in the Main Menu.  It's now two columns with two spells in each instead of 3 columns with 3.  It's more organized, all names fit, everything works.
6. Updated the "Form Menu" in Battle a little bit.  Arche's graphic was slightly updated in it, also you can move the PC's farther apart now.  The limit was 20 and E0.  Now it's 10 and F0.
7. Fixed a description fault of DeJap as well.  It stated "Fireball" launched '...three..' at the enemy when in reality it was only two that ever shot out.

And a horde of other junk was done.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

StorMyu

Quote from: justin3009 on October 09, 2011, 12:52:30 PM
1. I've removed the spell pause for everything temporarily.
4. I'm working on spell circle graphics placement on the PC who's casting.  With this, PC's will cast spells anywhere on the battle field and the screen will NOT scroll to where they are.  This allows the battles to be focused on the person in PC Slot 1.
YEAHHHH !!!!! I'm so looking forward to that ^^

Kajitani-Eizan

Quote from: justin3009 on October 09, 2011, 12:52:30 PM2. The screen no longer shakes when you attack with a regular attack.

aww :/ i thought that was kind of fun about the original.

but this sounds awesome, looking forward to seeing how it plays!

justin3009

It actually plays out nicely from what I've seen.  Makes battles flow much smoother.

I have a couple features planned for battle purposes that I'll get to work implementing very soon.  I think it'll help people who don't feel like using Spy Lens all the time.

Edit: I've also stumbled upon a horde of bugs that I somehow missed ._.  I'll fix them all soon enough.  I'm also still working on palettes.  I'm really confused as to why palettes on certain maps load 3 at max and loop continuously but others load 5 palettes and loop continuously.  Hopefully I'll find that so the palette limit won't be so strict.

Also, you can use a few skills on Pegasus now so it's not such a frikin hassle to battle anymore.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

andrewclunn


justin3009

- Updated the "Custom" screen a little.

1. Buttons are much smaller.  I'll probably have to redraw them as they're.. kinda ugly right now.

2. Sound is different.  Instead, when you press right or left, the text changes itself from Stereo to Mono or Surround.  Saved a bunch of code doing this.

3. View Foes was actually the "Battle" command.  It's still vague but not as vague as before.  What that command does is enable or disable the screen scrolling at the beginning of the battle to show the enemies you're fighting.  So I altered it a bit so it was a bit more clear.

4. Targeting: Removed Semi-Auto.  Basically worthless.  You can set whatever enemy you want in battle anyway so.. Having a half-auto was pretty pointless.  Pretty soon, I'll probably make this the "Manual Control" option in which you move your character wherever you want and do what you want without targeting automatically.

5. Voices: This was Event Voices and Battle Voices.  Event Voices was when the characters use skills.  Battle Voices was when they just attacked and got hurt.  Extremely pointless to split those two up.  So I made them into one giant command.  I also fixed numerous 'bugs' with the voices being disabled.  It didn't disable enemy voices, your victory voices, or Gremlin Lair's voice.  Voices off SHOULD MEAN voices off.  So that leaves a blank memory value for me to play with however I want.

6. Arte Names: This was actually the "Battle Voices" command but now it's something else entirely.  This allows Skill names to be displayed in battle at the top of the screen or not.  Works entirely for both enemies and PC's.

7. Combo Count command is now blank.  So now I have a extra option and an extra memory value to play with :3

And there's that update.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

FlamePurge

Do I spy the font I made for the Schala Project? :D
Check out and discuss my projects

justin3009

Yessir you do :3  Certainly saves up a lot of room for text.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

Neil

Quote from: justin3009 on October 21, 2011, 07:04:44 PM
3. View Foes was actually the "Battle" command.  It's still vague but not as vague as before.  What that command does is enable or disable the screen scrolling at the beginning of the battle to show the enemies you're fighting.  So I altered it a bit so it was a bit more clear.
May I suggest survey? As in survey the battlefield?

justin3009

Oh I like that much better.  I'll use that suggestion.  Thank you very much!
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

AQWBlaZer91

I had a decent look at the screenshots and by the look of it and what you've said is that you're going to make the combat more flexible. It's looking impressive so far and I'm probably be playing when I think it will be done in 2012.

FlamePurge

So Justin, do you have any plans for the 8x8 font? Dragonsbrethren made a pretty decent-looking one for ToP GBA. All it really does is give the original set of all-uppercase letters a lowercase set. Then again, there's a Finnish version that does basically the same thing...
Check out and discuss my projects

bradzx

Quote from: justin3009 on October 18, 2011, 09:38:48 PM
I think it'll help people who don't feel like using Spy Lens all the time.

I do use Spy Lens many times.  So hope you don't mind to keep that.  :)
Are you huge fan of Megaman Xtreme 2?   Then check this progress of Remastered version!

justin3009

Yeesh, been awhile since I posted in the topic on here.  I've been semi steadily working on Tales of Phantasia for awhile now and making changes here and there.

First off, I've updated the usable items in the item menu.
- Probably going to change this as there's too much blank space on the right of the screen.  Probably see if I can put at least two PC's on each side.

Second, I've fixed a MASSIVE amount of item bugs that I introduced.  Buying, Selling, Event Items, Chest items were all bugged to hell with the amount and how they worked.  That has been fixed finally.

Third, I fixed some items disappearing when de-equipping them (Introduced by me again).

Fourth, fixed a lingering item menu bug in which the icons at type to say what type they were wouldn't work.  (Introduced by me again).

Fifth, I've been studying the battle code a bit for the characters.  A majority of the characters use extremely similar code that take up large amounts of room.  So what I'm essentially going to do is have every PC, if possible, load the very similar code in one area so it'll save room everywhere.  By doing that, I should be able to squeeze in just enough room for Rambard as a PC.

Sixth, name menu got a overhaul!

- Original
- New

Seventh, been studying palettes a bit more.  I MIGHT be able to alter the palette routine a bit to load separate palettes for the PC's/NPC's all together.  Being PC's always load this palette while NPC's load another.  So what that would is always have 1 palette usage being used by the PC's, but if there needs to be a different one depending on the PC you are, it'll load another palette piece for them while leaving the NPC's at least 3-4 palettes to use.

Eighth, Cless now has his own battle code.  He can appear in other slots now but the game still plays like you're controlling him.  Not too much in appearance but it's a massive code save and it's allowing other PC's to be in control during battle.

Ninth, fixed a couple typos and introduced a lot more PS1 sprites into the game.

Tenth, skill menu!

- This is how it appears now, loading Mint's spells regularly.  Though the icons are temporarily missing because of new code I had to place in.  What's the big deal?

This: - Spell names are no longer hardcoded to load from a certain value and above.  Instead, it loads the spell # from a table and uses that accordingly to load spell names.  Similar code will be put in place for battle so any spell can be usable by anyone and can be altered.  Makes it a lot easier to customize.  I will say, this table code was the most frustrating thing EVER because I have like, 3 frikin separate tables loading throughout the code trying to shift between A/X/Y and storage everywhere.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

Shinrin

it's nice to see someone working on a game making it better by 1) adding new things, 2) redoing coding in the game and 3) just making things look nicer.
I  support Pandora's Box!
Released Hacks: FF6 Hard Challenge and Chrono Trigger Ingame loading
Coming Soon: Matsumi - Saga 1

Jorpho

Is Mint still going to uselessly try to cast the same spells over and over again if left to her own devices?  I hated that.

Also, are you fixing the random-chicken bug?  I don't think anyone ever really understood the problem there – something about how, if you have too many items in your inventory, an item might randomly change into a chicken.  It might have strictly been something triggered by the entrance to the lower levels of the Moira gallery that blows up your Holy bottles.  Does that ring a bell?
This signature is an illusion and is a trap devisut by Satan. Go ahead dauntlessly! Make rapid progres!