• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
May 12, 2024, 02:02:02 pm

News:

Please use .png instead of .bmp when uploading unfinished sprites to the forum!


Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Choto

621
Help! / Re: How do ASM Tables work?
January 21, 2012, 01:12:39 pm
Quote from: Glain on January 21, 2012, 12:55:09 pm
Wait, it's 256 possible values for one integer or 8 flags (true/false values). If you treat each bit as a separate value (flag), there are 8 of them. If you treat the entire byte as one big value, there are 256 (2^8) different bit patterns for that one value (0-255). Basically, you can mix and match flags, whereas one value is just one value.

Say we have this in a byte: 01101011

Flag interpretation: There are 8 flags here; the second, third, fifth, seventh, and eighth are true (from the left).
Number interpretation: This entire byte is an integer and its value is 107.



Ah ok, so then one number can be both and integer or set of flags simultaneously, and the way it is interpreted depends on the code that is reading or writing to the address?
[/quote]


999 is probably just a cap they put in because they didn't want to display more than 3 digits for HP, damage, etc. It was just convenient for graphics. It's not limited by the variable size, as you say.
[/quote]

I should have worded this question a bit better. Do we know where in the code prevents units from increasing HP beyond the 999 cap, and where the code limits the display of 4 digits?

Also, I've seen the kanji table mentioned quite a bit. Does that just refer to the free unused space in Battle.bin, or is that space filled with kanji that we don't understand?
622
Recruitment / Re: FFT Patcher 0.479 ASM Hack Collection
January 21, 2012, 12:32:48 pm
Here are a couple more random ones that you may or may not have. I scoped about the first 20 pages of help. I actually came upon alot of helpful info in the process in the form of old posts. Here are the hacks:

[Weapon] formula fix - I believe this one let you use formula 01 without defaulting to the fist formula. Does this also work with formulas 02 and 03?

Fist formula uses naked PA - uses "original PA" instead of "Current Pa"

Formula 08 inflicts 100% status

No Bonus damage from having Spear equipped with Jump

No spillover JP

Recover 10% of MP each turn regardless of status - brand spankin new via Pride

Units start with 0 MP - Not sure if you kept this or not, the one you just did for rfh

I havent tested any of them, but I think most have been tested/used in the past

Edit: Added Glain's ASM hacks, I put Prides and FFMasters together but there are errors in them, so i'll figure them out and post them
623
Help! / Re: How do ASM Tables work?
January 21, 2012, 12:23:19 pm
Quote from: Glain on January 21, 2012, 11:40:48 am
1. No, that would go beyond the bounds of the byte. That is, you've read in a byte (8 bits), which is a list of bits (flags), like so:

00100110

Binary place value uses powers of two, starting from the right. The last digit is the ones digit (2^0=1=0x01), the next to last is the twos digit (2^1=2=0x02), then the next is the fours (2^2=4=0x04), etc, up to (2^7=128=0x80). That's all the space you have in one byte.

This value would be read in hex as 0x20 + 0x04 + 0x02 = 0x26; a bitwise AND operation on that value and either of 0x20,0x04,or 0x02 would result in a non-zero value, which would indicate the flag is set.

This isn't even an assembly trick; C/C++/C#/Java/VB/etc refuse to allocate any memory of less size than one byte... if you ask for a boolean (true/false) value, you get back an entire byte, so if you want true flags that only take up one bit, you have to do it this way even in high level code.



Ahh duh, I shoulda known that. Regardless, thanks for the explanation!

Quote from: Glain on January 21, 2012, 11:40:48 am
2. I don't believe the Zodiac value contains any flags; it's just a straight-up integer value, so it can only be one zodiac sign at once. I don't know why they counted up by tens; that's probably arbitrary. You could make different values mean different things but you'd have to hack the game to recognize that.



Hmm, interesting. So if you were to nuke the compatibility system, you'd be left with 255 free flags to use for some kind of function. Then what decides wether to use the address as a series of flags (0x01,0x02,0x04) rather than just straight integers? Obviously, you can use multiple values in a flag system and only one with an integer system, but i'm not seeing why.

Quote from: Glain on January 21, 2012, 11:40:48 am
3. Yes, probably. If you freed up that byte, you'd have space for 8 flags. You'd have to hack the game code to recognize their new purpose, though.



Seems like a great tradeoff, I wonder how painful adding/recoding would be. I heard SA was working on status effects... what exactly is he examining with them?

Quote from: Glain on January 21, 2012, 11:40:48 am
5. It depends on the size of the variable and whether it's treated as signed or unsigned. For the most part, we're dealing with unsigned bytes, so your maximum value is 255 (0xFF). If the number can be negative then the minimum value is -128 (0x80) and the maximum is 127 (0x7F).

For signed integers, we're using two's complement binary values.

Two bytes: Unsigned: Max = 65535 (0xFFFF); Signed: Max = 32767 (0x7FFF) Min= -32768 (0x8000).

Most values are unsigned. If you look through the list, you'll see certain values that have gaps of two, like 0x0A, 0x0C, etc, which correspond to ability IDs; ability IDs take up two bytes, thus why there's a gap of two between them.



This clarifies things quite well. Its tough thinking in hex/binary after 24 years of decimal. So then HP and max HP allocate for up to 65535 (Which makes sense for ??? monsters), and I'm sure this is answered somewhere in the archives, but where does the 999 cap come from?

Thanks much for your response Glain, you guys'll make an asm'er out of me yet.


624
Help! / Re: How do ASM Tables work?
January 21, 2012, 10:25:17 am
I have a couple more questions to add to this. I was checking out the formula hacking page to look at potential for expansion of status effects and a couple things popped up.

1. For values that go up in the format: 0x01, 0x02, 0x04, 0x08...etc, can values be extrapolated upward to include whatever the next value would be above 0x80, in order to create more flags?

2. I'm assuming blank flags are either not yet known, or not used. I'm sure its touchy ground to know FOR SURE if something is not used or not, but can these be used for additional flags barring any issues? ie: Zodiac sign

0x0009=

    * 0xF0 =
    * 0xE0 =
    * 0xD0 =
    * 0xC0 = Serpentarius (neutral to all signs)
    * 0xB0 = Pisces
    * 0xA0 = Aquarius
    * 0x90 = Capricorn
    * 0x80 = Sagittarius
    * 0x70 = Scorpio
    * 0x60 = Libra
    * 0x50 = Virgo
    * 0x40 = Leo
    * 0x30 = Cancer
    * 0x20 = Gemini
    * 0x10 = Taurus
    * 0x00 = Aries

Also, why do these values go up by 10 instead of 1? Can unused integers be used as additional flags? ie: 0x11-0x19

3. Immediately after the status lists are

0x005D Poison CT
0x005E Regen CT

Since most people prefer poison to be infinitely lasting, could 0x005D be used as another list of status effects? I'm assuming you would have to break whatever feature decrements poison CT each turn in order for this to work. 2 birds with one stone if its possible.

4. What table do the offsets from the beginning (In formula hacking) down to the temporary battle offset belong to? Are these values loaded from the SCUS "Permanant" (out of battle) stat table? Are these offsets also used to modify the out of battle stat table in order to mark changes? ie: Brave changes, broken/stolen equipment, etc.

5. For a given offset, what is the maximum value that can be assigned? Is this restricted simply by how the game uses the offset?
625
Help! / Re: How do ASM Tables work?
January 15, 2012, 02:38:20 pm
Thanks again for this response FDC, didn't make much sense the first time I read it but now its alot clearer. So the how do almascript and ARH use symbols and logic? How do you translate that to ASM language?

626
Help! / Re: Random Idea: Steal from Dead targets
January 14, 2012, 09:54:39 pm
I was thinking about this the other day, so i'm happy to see a thread about it ^_^

I want to put it in my patch that at least steal armor requires the target to be dead.. It would make steal a little conditional so that you can't use it to completely debilitate something. Having conditional requirements for other steals also rewards the player for creating whatever situations the steal requires... which breaks some of the monotony of the game. I plan to take a look at this if I can get back to learning ASM'ing over the summer.
627
Recruitment / Re: FFT Patcher 0.479 ASM Hack Collection
January 13, 2012, 11:09:41 pm
Here is a hack that lets the dragon formulas (5A-5D) hit all monsters. They will not hit humans. Thanks again for the help Pride!
628
Help! / How do ASM Tables work?
November 30, 2011, 02:10:23 pm
Ok, so i've noticed various hacks use tables, and I know square has its own tables in the game, but i'm wondering how they work. I was looking at Xifanie's compressed table proposal thread which shed a little bit of light on things, but they seem like they range from simple to potentially mindboggling.

It seems as though they store static data to be referenced throughout the game (Weapon Proc/Crit chance). Or, In the ARH's case, they store different conditions to be checked against the current conditions of the unit and allow X ability to be used if the conditions are the same. I guess i'll list my questions

1. Can they store dynamic data, or have their data changed in game without overwriting the values that are initially entered?

2. What exactly is the pointer table? I'm assuming it functions like unit data pointers?

3. Do the categories vary in length based on the number of subcategories (Parameters?) held therein?

4. Are the rows simply the number of offset rows taken up by the table?

5. Is this also how the game stores all of the data of each job, skillset, item stats, etc.?

Now would initializing the table in game look something like this? I'm using a situation where one unit is attacking another, and how the game would load the new chance for a critical hit. This is just how I see it in my head...

...
Load item ID
Load item WP
etc.
...
Jump to table (Weapon crit chance hack)
Look up crit chance based on Item ID, store in some register
// Return from table with weapon Crit chance
...
Jump to critical hit routine
// Use weapon crit instead of game's default crit chance
....

Any clarification would be much appreciated. Thanks!
629
PSX FFT Hacking / Re: Formula Hack v0.37
November 28, 2011, 09:42:33 pm
Here is a quick conversion chart. It gives the decimal number you would enter in FFTPatcher to get the P evade and M evade listed. For those interested I included the upper and lower bits. Hopefully everything's correct.
630
PSX FFT Hacking / Re: RAD 3: 35 jobs.
November 23, 2011, 05:30:31 pm
Hey Pokeytax, I've been trying to get this to work for quite awhile and with limited success. I wind up getting either no sprite (just a shadow) or a blotchy sprite, or awhile back I was getting different sprites than I input. I downloaded the latest version just to be sure. I've also tried using both excel 2003 and openoffice 3.2.1. Does Rad work with these versions? Attached is the .xls edits I made, a .xml output from the output button, and just to make sure i'm not crazy, the formation sprite I'm trying to achieve. Right now its a generic female samurai in place of beowulf for no real reason...

I have the job being referenced set to 38 I believe... I've tried all the ones between about 37-3B. Any help would be appreciated but if you don't get to it for awhile no biggie. Thanks
631
Spriting / Re: Choto's sprite blunders
November 22, 2011, 11:05:25 am
ahhh K, it's been awhile. This is a sprite I finished up for Celdia. It was kinda hastily finished towards the end so it may have some imperfections, but with the spriter's approval i'd like to officially submit my first sprite :) The palettes after the first one were just kinda thrown together to get some more palettes in.

Also I'm having a pretty big issue with the portrait. I was just going to use the chemist's port, but through the whole process of rectifying the colors, the portrait is now choosing the wrong colors. I tried reimporting the original palette colors for the chemist's portrait but its still all whacky.
632
The Lounge / Re: Gone for the Week
November 19, 2011, 08:38:21 am
Hope you have a blast!
633
Requesting this be added to the "important links" list so it doesn't get lost in the mix. I think some of Glains utilities are in there already but in different threads.
634
Help! / Re: Lifefont and Manafont
November 08, 2011, 10:02:25 am
I'm assuming manafont and lifefont are move-HP UP and move-MP UP... i'm assuming those are WOTL names? I remember reading somewhere around here that one of those overrides the other. I can't say for sure nor do I remember the thread, but that may be why.
635
Spriting / Re: Virkum
November 06, 2011, 10:16:50 am
Well, I think with the bare arm, it looks a little "wimpy" compared to the non-bare arm. so that contrast of size is what throws me off personally. Also, the hood is a matter of opinion for me. If you like it, by all means use it. One thing though is that the color of the hood may not match the colors used in the body. Again, its up to you but not everybody is going to see it the same way as you. Everybody will have their opinions
636
Spriting / Re: Virkum
November 06, 2011, 08:07:26 am
I'm not a big fan of the bare arm personally, but I do like the overall concept. I love that hood that covers the eyes too, but I feel like rofel's hood might fit a little better on that body. Nice start though, keep messing with it and i'm sure it'll come together!
637
Well written Pokeytax, thanks for making a dummy-friendly ASM tutorial!
638
I'm fairly sure people have thought of this before, and not knowing how the ASM works I have no idea if its plausible or not but:

Could you call whatever routine loads a spellcast twice in one turn? That way both charge times would be tracked seperately and retain their mp costs, you just get to start charging them at the the same time. There would exist the natural penalty of the original mp cost. Again I have no clue if it would work, but maybe theres some way to have the first spell picked not cancel the act phase while disabling any commands other than magic skillsets.
639
Spriting / Re: Choto's sprite blunders
October 13, 2011, 09:08:15 am
Quote from: Kagebunji on October 13, 2011, 08:05:31 am
You seem to have screwed the resizing, but that isn't what's most important, soo...


Definetly did, I still can't find the correct way to resize in GG without doing the ol' click and move.. I also didn't rectify any of the palettes while swapping stuff, so I'm sure I lost a color or two on some of them. My plan was to get a concept then go back and do the full swaps with the correct palettes. I didn't know about Reis' robe though I'll definetly check that.

Quote from: Kagebunji on October 13, 2011, 08:05:31 am
Engineer, I definitly like this concept, Monk's body goes well with those legs. I can't see anything that should be changed other than hair, Monk is good, but not for another class, here is the portrait for an Engineer I found some time ago and thought I would keep it, since I like it.(look at the bottom of the post for it)


Ya I was gonna try to make the hair a little smaller, my abilities with custom hair are limited though, I'll give it a run at some point.

Quote from: Kagebunji on October 13, 2011, 08:05:31 am
Male Archon, seems like a basic headswap to me. Pants are blending in with the cape, since they use similiar solors, try some more contrast there.


This one i'm looking for a direction to go to make it a little more unique or different.. I'm not even too thrilled with the mediator hat.

Quote from: Kagebunji on October 13, 2011, 08:05:31 am
Male Warlock, like I said earlier, it's almost identical to the Arcanist Saigas made some time ago. Will try to find it and post here.


Thanks, I was interested about that when I heard about it.

Quote from: Kagebunji on October 13, 2011, 08:05:31 am
Female Valkyrie/Lancer, has potential but you need to change few things. Mainly the armor, it's bery basic(simple round shape), an it's flat, which makes look even worse. If you really want it to be a round armor, use Male Squire's(without changes). The helmet is changing on few frames(once you used male Lancer, other time you use Male Lancer), I advise that you decide on only one, lol. Overall I think it is a little flat in few places(armor, brown thing on her back, shoulder pad on some frames), maybe it is the fault of the contrast.


The main thing I wanted to accomplish with it was to get rid of the battle skirt... I never liked it. The female lancer's helm was always a little underwhelming, so I started to swap it with the male's helmet. Even though they're the same, it'll give her a little edgy look hopefully. I'll definetly try to clean up the armor and leather back..thing... Or maybe try some different armors.

I'll try to apply most of these changes when I get the time to. I really appreciate the feedback though, definetly helps alot, thanks!
640
Spriting / Re: Choto's sprite blunders
October 12, 2011, 06:50:06 pm
cool, that should be easy.. hopefully i'll get some time to finish it up sooner than later.

I see the resemblance. I feel like that sprite is so bland as is, I gotta think of something to add in..