Hacking .hack//Infection (How to make Skeith spawn anywhere)

Discuss the original .hack video games: Vol. 1 and 2

Moderator: Moderators

User avatar
TheSorrow
The Legendary Paladin
The Legendary Paladin
Posts: 6587
Joined: Sat Dec 09, 2006 9:47 pm
Location: The Edge of Madness
Contact:

Re: Hacking .hack//Infection (Creating custom monsters!)

Post by TheSorrow » Wed Aug 17, 2011 6:40 pm

Data Bugs (and Phases)' HP is going to be a bit more complex to figuring out than just memory location of specific bytes, at least based on the experiments i did with them back in the day D:
You see, the Death ability, when activates, automaticly reduces the enemy's HP to 10% (90% HP damage). If you hit a Data Bug enemy at the beginning of a battle (that is, no HP damage done before), it'll hit for about 32767 or so (forgot exact number but that one sounds spiffy for integers o3o)...and then, if you hit them again, it'll inflict about 28000 damage. I'll greatly respect your Math skills if you can tell me a number whose 90% equals 32000, and then whose result has a 90% of 28000 D: And if you keep damaging the Data Bugs, the "Death" damage will stop decreasing and become a constant of about 8000 or 6000, the HP bar will stop moving (and not even halfway through...sort of, looks a bit more than half), and the symbols will cycle in a specific pattern, but i think the 0# remain static.
I wouldn't say it's "infinite"...but rather, "never ending", or like if their HP is constantly resetted to a different value after certain amounts of damage, stopping entirely at a certain one D:

Also, there's something else.
You have found a value which is supposedly the amount of hits required to Protect Break a monster. However, at least with Data Bugs and Phases, that number isn't a constant. Let's say, if you hit a Data Bug or Phase 10 times to get it to Protect Break at first (it's more like 50+ for Phases, but it's just an example ~3~), then let it go back to normal, and then proceed it to hit it again, it'll only take 8 hits to get it into Protect Break again, and then you can go on until it only takes 2 or 1 hit to Protect Break it. I did enough experiments with several enemies to be 100% sure that it's not a constant indeed.
Also, not an experiment exactly but more like an anecdote, i remember that while fighting Goblins of my level and strength overall, it would take me a decent amount of hits to Protect Break them, and they'd be a bit less than half HP. Then, at higher levels than them, i would only hit them once and they'd be at 8HP left, and immediatly into Protect Break. That once led me to believe that the Protect Break condition was related to the remaining HP of the enemy, rather than the amount of hits.
...Unless it IS the amount of HP remaining, the one considered for the status, and the number you found is an HP amount and not an amount of hits.
But then we go back at how Data Bugs and Phases' HP is hardly a number by itself...
...
GAAAAAH DX
...
And i haven't even gotten to the fact that for several monsters, such like Outbreak's optional boss, the amount of hits to Protect Break must be either physical or magical, meaning that there should be a condition in one of those bytes or something.
.______________________.


Anyways, just sharing my tiny bits of knowledge in here o3o
You're still doing a damn awesome work, much more than me or anyone has ever done with this game 8DD With both funny and epic results. lol

Xu Yuan
Posts: 1201
Joined: Tue Feb 28, 2006 1:32 am
Location: Harald in the R:2!

Re: Hacking .hack//Infection (Creating custom monsters!)

Post by Xu Yuan » Wed Aug 17, 2011 7:28 pm

TheSorrow wrote:Data Bugs (and Phases)' HP is going to be a bit more complex to figuring out than just memory location of specific bytes, at least based on the experiments i did with them back in the day D:
You see, the Death ability, when activates, automaticly reduces the enemy's HP to 10% (90% HP damage). If you hit a Data Bug enemy at the beginning of a battle (that is, no HP damage done before), it'll hit for about 32767 or so (forgot exact number but that one sounds spiffy for integers o3o)...and then, if you hit them again, it'll inflict about 28000 damage. I'll greatly respect your Math skills if you can tell me a number whose 90% equals 32000, and then whose result has a 90% of 28000 D: And if you keep damaging the Data Bugs, the "Death" damage will stop decreasing and become a constant of about 8000 or 6000, the HP bar will stop moving (and not even halfway through...sort of, looks a bit more than half), and the symbols will cycle in a specific pattern, but i think the 0# remain static.
I wouldn't say it's "infinite"...but rather, "never ending", or like if their HP is constantly resetted to a different value after certain amounts of damage, stopping entirely at a certain one D:

Also, there's something else.
You have found a value which is supposedly the amount of hits required to Protect Break a monster. However, at least with Data Bugs and Phases, that number isn't a constant. Let's say, if you hit a Data Bug or Phase 10 times to get it to Protect Break at first (it's more like 50+ for Phases, but it's just an example ~3~), then let it go back to normal, and then proceed it to hit it again, it'll only take 8 hits to get it into Protect Break again, and then you can go on until it only takes 2 or 1 hit to Protect Break it. I did enough experiments with several enemies to be 100% sure that it's not a constant indeed.
Also, not an experiment exactly but more like an anecdote, i remember that while fighting Goblins of my level and strength overall, it would take me a decent amount of hits to Protect Break them, and they'd be a bit less than half HP. Then, at higher levels than them, i would only hit them once and they'd be at 8HP left, and immediatly into Protect Break. That once led me to believe that the Protect Break condition was related to the remaining HP of the enemy, rather than the amount of hits.
...Unless it IS the amount of HP remaining, the one considered for the status, and the number you found is an HP amount and not an amount of hits.
But then we go back at how Data Bugs and Phases' HP is hardly a number by itself...
...
GAAAAAH DX
...
And i haven't even gotten to the fact that for several monsters, such like Outbreak's optional boss, the amount of hits to Protect Break must be either physical or magical, meaning that there should be a condition in one of those bytes or something.
.______________________.


Anyways, just sharing my tiny bits of knowledge in here o3o
You're still doing a damn awesome work, much more than me or anyone has ever done with this game 8DD With both funny and epic results. lol
This was a highly informative post, though I looked for the thread you mentioned about Data Bugs along time ago I couldn't find it.

However I had at first thought that it was based on HP as well and there is no doubt to me that I'm missing something crucial such as based on Magic Hits or Physical hits bytes. Your mentioning of levels is intriguing as well, considering that I was Level 1 or 2 when testing it on a fellow Level 2 enemy under Swordmanoid.

I am certain however that it deals nothing with HP, to test this I maxed out a Swordmanoid's defense to where I was only dealing 1 damage to it, and still in 2 hits it broke ordinarily. I'm going to go out on a limb and say that Data Bug monsters likely have the FFFF amount of HP, which is 65,535 but that eventually would just stop, or reset internally, or some such... I only took a look at the phases which had blanks for their HP.

And... you're right. I just took a closer look at the Phases files and it ends after their Data Drain items. Their files don't contain the normal Protect Break bytes that other monsters have. This means that it is likely in another file all together, more or less untouchable since we don't know what it is which damages a phase, number of hits or damage incurred. Maybe I'll find it in a more boss specific file.

Let's take a look at normal Data Bugs then...


Once again, absolutely right. There's nothing in here about number hits needed as far as I can tell, that byte is left blank for them, but at least those extra bytes exist.


Looks like cracking Data Bugs and the phases will take a bit more work after all.

Thanks for alerting me to this.

Xu Yuan
Posts: 1201
Joined: Tue Feb 28, 2006 1:32 am
Location: Harald in the R:2!

Re: Hacking .hack//Infection (Creating custom monsters!)

Post by Xu Yuan » Wed Aug 17, 2011 10:06 pm

I have been on a relative roll tonight and found a lot of... well for most people, frankly pointless things, but this information definitely has worth down the line. Nothing about enemies or that sort, but I've decoded a lot of the NPC Table, and saw how things work and managed to fill out my original NPC List that was made when I was manually checking out each NPC with events.

Code: Select all

Follows the list of NPC's above.
NPCTbl

619460 - Each NPC is 70 Bytes (112) in size

NPC Data?
Weapon Shop

78 0C 6B 00 - Name Pointer
88 0C 6B 00 - ???
NPC Functionality
00 - PC Functions?
00 - Investigate
01 - Talk (inside the stats)
02 - Talk (at the bottom of stats, can also Talk/Trade/Gift)
---------------
08 - Talk (only the Talk command, which spits out garbage)
09 - As above, except it shows their HP/SP
-----
1F - Spits out text you can't close.
20 - Treats NPC as enemy, with HP, et al? (Can't take any of their HP it seems though)

21 - Shows their SP as well as their HP, but still treats them as a foe. Unused functionality of being able to see the enemies SP?
-----
2F - Game still seems to treat him as an enemy, but he only talks now.
30 - Same as 1F
31 - Same as 1F 
(Seems to repeat)



01 Shops/Chaos Gates/Treasure Chests?
(Seems to have a different subset from monsters)- Not True. Each byte seems to hold a different function. Enemies normally function under 20 00 00 00, so it's little surprise that would be the case here.

00 - Investigate
01 - Talk (Weapon Shop)
02 - Talk (Elf's Haven)
03 - Talk (Weapon Shop)
04 - Talk (Item Shop)
05 - Talk (Weapon Shop)
06 - Talk (Item Shop)
07 - Talk (Weapon Shop)
08 - Talk (Magic Shop)
09 - Talk (Weapon Shop)
0A - Talk (Magic Shop)
0B - Talk (Weapon Shop)
0C - Talk (Magic Shop)
0D - Talk (Weapon Shop)
0E - Talk (Magic Shop)
0F - Talk (Weapon Shop)
10 - Talk (Recorder)
11 - Talk (Weapon Shop)
12 - Talk (Elf's Haven) seems to repeat.
-----
1F - Talk (Weapon Shop)
20 - Investigate (Chaos Gate)
-----
40 - Investigate (Treasure Chest)
----------
60 - Investigate (Chaos Gate)
-------
80 - Investigate (Trapped Chest, without Fortune Wire)
-------
A0 - Investigate (Chaos Gate)
-------
C0 - Investigate (Blue Chest, fortune wired)
-------
---------------------------------------

00 - Destroy/Symbol Subset?

01 - Water Elemental Field?
02 - Invalid Field?
03 - Water Elemental Field?
04 - Symbol? (NOTHING!)
05 - Water Elemental Field?
06 - Invalid Field?
07 - Water Elemental Field?
08 - Data Drain Item 1?
(Seems to repeat the main 3 above)
----
0C - Symbol? (NOTHING!)
---
10 - Gott Treasure 
11 - Water Elemental Field?
12 - Symbol (NOTHING!)
------
18 - Data Drain Item 1
----
1C - Symbol (NOTHING!)
----
20 - Time it took to reach Gott Statue for Hero of Zeit
21 - Water Elemental Field?
----
30 - Gott Treasure
31 - Water Elemental Field
-----
40 - Monsieur/Grandpa
-----
50 - Gott Treasure
---
60 - Zeit Timing
----
70 - Gott Treasure
----
80 - Virus Core E. Skeith's Data Drain Item? 
----
90 - Gott Treasure
----
A0 - Zeit Timing
----
C0 - Monsieur/Grandpa
---
E0 - Zeit Timing
---

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

00 - Grunty Raising

01 - Feeding Baby Grunty
02 - Trading with a Grunty
03 - As above.
04 - Just talking.
05 - As above.
----
08 - Camera jumps to underneath the Mac Anu Bridge and the shopkeeper takes the role of Grunty Breeder.

09 - As above.
---
11 - Rinse and repeat, starting from Grunty Raising
-----------------------------------------\


00 00 00 00 - Possibly NPC Identification number?/Also it is the pointer for trades.

00 00 00 00 - ???
00 00 00 00 - ???
00 00 34 43 - ???
00 00 C8 42 - ???
20 19 63 00 - Help Text.
00 00 00 00 - ???
01 00 00 00 - ???
50 5A 50 00 - ???
01 00 00 00 - ???
D0 09 A6 00 - ???
90 F3 37 01 - ???
00 00 00 00 - ???
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
0B 00 00 00 - ???
98 0C 6B 00 - ???



Here are some pictures which came from the above... more fun things than useful by any stretch.

Image

Uploaded with ImageShack.us

Image

Uploaded with ImageShack.us

Image

Uploaded with ImageShack.us

Image

Uploaded with ImageShack.us




The GimmickTbl had some interesting matters, unfortunately I can't load the graphics of these because of the instant reset the data does when you reload an area. But I did manage to find some unused files that didn't make it into the final cut of the game.

Code: Select all

00 - Treasure Box
01 - Trapped Treasure Box
02 - Wooden Box
03 - Wooden Box (TRAP_W_BOX) Dummied Obj? When opened freezes the game.
04 - Barrel
05 - Barrel (TRAP_BARREL) Another Dummied Obj. Freezes game when broke.
06 - Virus Crystal
07 - Wooden Box 
08 - Barrel (OBJECT_01)
09 - Jar (OBJECT_02)
0A - Urn (OBJECT_03)
0B - Skeleton (OBJECT_04)
0C - Warrior's Body (OBJECT_05)
0D - Egg (OBJECT_06)
0E - Small Eggs (OBJECT_07)
0F - Magic Portal (Dummy obj? It doesn't do anything though.)
10 - Chaos Gate (Tsukasa's Power from SIGN doesn't work unfortunately.)
11 - Symbol 
12 - Symbol (Again?)
13 - _{_X_/__ (Does nothing it has no function, file name is "WARNING")
14 - Spring of Myst (FOUNTAIN)
15 - _______m (Internal filename of "ENTRANCE", does nothing.)
16 - Golden Egg (FOOD_00)
17 - Grunt Mints (FOOD_01)
18 - Twilight Onion (FOOD_02)
19 - Snaky Cactus (FOOD_03)
1A - Oh No Melon (FOOD_04)
1B - Cordyceps (FOOD_05)
1C - White Cherry (FOOD_06)
1D - Root Vegetable (FOOD_07)
1E - La Pumpkin (FOOD_08)
1F - Mushroom (FOOD_09)
20 - Mandragora (FOOD_0A)
21 - Piney Apple (FOOD_0B)
22 - Immature Egg (FOOD_0C)
23 - Bear Cat Egg (FOOD_0D)
24 - Invisible Egg (FOOD_0E)
25 - Bloody Egg (FOOD_0F)
26 - Treasure (Gott Treasure Earth)
27 - Treasure (Gott Treasure Water)
28 - Treasure (Gott Treasure Fire)
29 - Treasure (Gott Treasure Wood)
2A - Treasure (Gott Treasure Light)
2B - Treasure (Gott Treasure Dark)
2C - Zeit Statue (IDOL_TIME)
Next up is a SkillTbl that I'll be dissecting as the night goes on, this could either be nothing, or something relatively large.


EDIT: Turned out to be very little. Really it's just the names of the Skills, their SP costs and their targeting.

It did allow for this humorous outcome however...
Image

Uploaded with ImageShack.us


Image

Uploaded with ImageShack.us

Code: Select all

Data Drain - 
C0 21 6B 00 - Name Pointer
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 00 00 
00 00 FA 44
00 00 00 00 
E0 00 00 00  - Target Foes (Though if you set it to Target Anyone, you can Data Drain allies freely, and a Phase-esque effect happens when you hit your allies with Data Drain, I guess the Grace of the Bracelet holds true even ingame.)

0A 00 00 00  - SP Cost
02 00 00 00  
01 00 64 00

User avatar
TheSorrow
The Legendary Paladin
The Legendary Paladin
Posts: 6587
Joined: Sat Dec 09, 2006 9:47 pm
Location: The Edge of Madness
Contact:

Re: Hacking .hack//Infection (Creating custom monsters!)

Post by TheSorrow » Thu Aug 18, 2011 2:06 pm

Glad to have helped here, even if it was just something minor in comparison to all you've done by yourself!!! 8DDD

Yeah, i couldn't find my topic either ;( Not surprising though, it was like my very first post in here, or among my first 10 posts at least, and it barely had any posts because everyone was like "...Cool. *goes to next topic*", so yeah D:
I still have the pics i used in that post, but they don't really say much. Most of the important information posted in that topic is still in my head, though...and in the last post i made above XD
...And don't bother changing the numbers from my image URLs in hopes of finding more. You'll just find pics of the last anime convention i went to at the time, and my doggy D: lol

Anyways, one would expect, for enemies who can't be defeated in normal means, to either have infinite HP (either a static value, or constantly restored after every move), which would cause the Death ability to hit for the same amount all the time, or to have the highest HP and nothing happening if their HP were to reach 0, which would cause the Death ability to behave as normal (assuming a max HP of 65535, the first hit would be hitting for 58981, then the second for 5899, and so on), until reaching either 0 or 1, and the battle still going even if the Data Bug's HP as 0 at the time, like it didn't matter. But what we can tell about their HP behavior so far makes no sense for either of them, and makes you wonder just WTF they did, and why they decided to do whatever complex thing it is D:
I must also point out that, in one of my pics, the Data Bug is under the effects of Rig Seam, or whatever the HP Regen was o-O; Don't know if that was me trying to test stuff, or if the SandHillbuggy was really concerned about the loss of HP, but well, it seemed to heal him for 400HP each second, and i think that was a static value. Don't know if that can mean something relevant D:

The Protect Break condition seems like it's going to be another mystery for a while. I believe that it must be some sort of formula, closer to, let's say, Damage Calculation than to the chances of a monster dropping an item D: A formula that must take in consideration the amount of HP, amount of hits delivered, maybe level and maybe even a condition whether the monster is a normal one, Data Bug, Phase or pre-Data Drained (which would make the result a 0 or something) D:


And moving to your other posts...It's so full of LOL but epic findings as well o3o You pretty much can do whatever action you want at any moment, or so it seems, including to attack in Root Towns 8DDD And damn, that Weapon Shop really has ALOT of HP D: Must be to protect itself against robberies, i suppose. lol

And yay for receiving the effects of NOTHING!!! 8D And i thought this was something funny already XDD lol

And LOL, seems like Kite's bracelet wasn't working properly and he did that cartoon thingy of looking straight into the bracelet to see what what wrong .-. It's quite interesting though, proves that Kite's bracelet behaves just like the Phase's bracelet/Data Drain (or viceversa, whichever applies), having the very same effects if you were to point it out at one of your allies. Are there any animations though, like Kite pointing his bracelet at the poor victim, including himself, and the whole static thingy, or it just skips directly to the effects? And can you Data Drain objects/NPCs?

User avatar
hidora
Posts: 1084
Joined: Tue Jul 28, 2009 3:19 pm
Location: Manaus, AM, Brazil

Re: Hacking .hack//Infection (Creating custom monsters!)

Post by hidora » Thu Aug 18, 2011 3:10 pm

TheSorrow wrote:And damn, that Weapon Shop really has ALOT of HP D: Must be to protect itself against robberies, i suppose. lol
Reminds me of how back on the G/S/C days of pokemon, if you had a glitchy pokemon or the link cable was busted, you'd see giovanni and his purple kingler with 3 lines worth of HP xD


...and I want to attack the Item Completion Event NPC :v

Xu Yuan
Posts: 1201
Joined: Tue Feb 28, 2006 1:32 am
Location: Harald in the R:2!

Re: Hacking .hack//Infection (Creating custom monsters!)

Post by Xu Yuan » Thu Aug 18, 2011 3:23 pm

TheSorrow wrote:Glad to have helped here, even if it was just something minor in comparison to all you've done by yourself!!! 8DDD

Yeah, i couldn't find my topic either ;( Not surprising though, it was like my very first post in here, or among my first 10 posts at least, and it barely had any posts because everyone was like "...Cool. *goes to next topic*", so yeah D:
I still have the pics i used in that post, but they don't really say much. Most of the important information posted in that topic is still in my head, though...and in the last post i made above XD
...And don't bother changing the numbers from my image URLs in hopes of finding more. You'll just find pics of the last anime convention i went to at the time, and my doggy D: lol

Anyways, one would expect, for enemies who can't be defeated in normal means, to either have infinite HP (either a static value, or constantly restored after every move), which would cause the Death ability to hit for the same amount all the time, or to have the highest HP and nothing happening if their HP were to reach 0, which would cause the Death ability to behave as normal (assuming a max HP of 65535, the first hit would be hitting for 58981, then the second for 5899, and so on), until reaching either 0 or 1, and the battle still going even if the Data Bug's HP as 0 at the time, like it didn't matter. But what we can tell about their HP behavior so far makes no sense for either of them, and makes you wonder just WTF they did, and why they decided to do whatever complex thing it is D:
I must also point out that, in one of my pics, the Data Bug is under the effects of Rig Seam, or whatever the HP Regen was o-O; Don't know if that was me trying to test stuff, or if the SandHillbuggy was really concerned about the loss of HP, but well, it seemed to heal him for 400HP each second, and i think that was a static value. Don't know if that can mean something relevant D:
That may just be the answer... if we examine it in such a manner...

Rig Saem ordinarily restores... 2% of HP, so if 400 is really 2% of this fellow's HP that means...

1% - 200 x100 = 20,000 HP, which... makes no logical sense, considering the Death effect hurts for much more. And with that I guess we're back to square one.

The Protect Break condition seems like it's going to be another mystery for a while. I believe that it must be some sort of formula, closer to, let's say, Damage Calculation than to the chances of a monster dropping an item D: A formula that must take in consideration the amount of HP, amount of hits delivered, maybe level and maybe even a condition whether the monster is a normal one, Data Bug, Phase or pre-Data Drained (which would make the result a 0 or something) D:
I haven't looked at it in good detail yet. If I'm lucky it will just be an identifier byte and not get any more strange than that.

And moving to your other posts...It's so full of LOL but epic findings as well o3o You pretty much can do whatever action you want at any moment, or so it seems, including to attack in Root Towns 8DDD And damn, that Weapon Shop really has ALOT of HP D: Must be to protect itself against robberies, i suppose. lol

And yay for receiving the effects of NOTHING!!! 8D And i thought this was something funny already XDD lol
It's odd though. When I enable his HP and SP, you can see that it's a jarbled mess, but if I gift him a Phantom Blades from there and he equips them his HP and SP will drop to normal values of 69 and 59. (They're still both at 0, but that's neither here nor there) Unfortunately his HP never went down, so I don't think you can kill NPC's.

With what I've mapped at I could apparently turn certain enemies into Shopkeepers if so desired, which does seem like an interesting idea... Take away their battle functionality, turn them into some sort of merchant, unfortunately though it seems I'm stuck to shops that are on the server as my experiments with the Treasure Chestd have shown me. Eh well, I'll think of something.

Also I find that very strange, why is it there are global values for such things as treasure chests or breakable items, but not symbols? Instead being greeted with "NOTHING!" Hmm... now that I think on it, it may be because a skill is effectively being used and I guess only the Actual Symbols have that data, while the rest will spit out Skill 00, "NOTHING!"
And LOL, seems like Kite's bracelet wasn't working properly and he did that cartoon thingy of looking straight into the bracelet to see what what wrong .-. It's quite interesting though, proves that Kite's bracelet behaves just like the Phase's bracelet/Data Drain (or viceversa, whichever applies), having the very same effects if you were to point it out at one of your allies. Are there any animations though, like Kite pointing his bracelet at the poor victim, including himself, and the whole static thingy, or it just skips directly to the effects? And can you Data Drain objects/NPCs?
It is the Strangest thing. When Kite Data Drains himself it shows him Data Draining Skeith. When Kite Data Drains BlackRose (or any ally I would assume) it shows nothing being Data Drained in his animation. Why would the game take an exception to Kite? An odd matter, to be sure.


Also a bit of an update... I have managed to switch models in the most Basic sense and in theory I should have already been able to play as another Party Member that isn't Kite. But this game continues to surprise me with How exact Everything needs to be... if Kite's data isn't loaded the game has no camera focus or control. I can turn BlackRose into any party member I want now, but trying to do the same with Kite only ends in trouble more than anything else. I think I'm getting closer to my goal though.

Xu Yuan
Posts: 1201
Joined: Tue Feb 28, 2006 1:32 am
Location: Harald in the R:2!

Re: Hacking .hack//Infection (Playing as Party PC's!)

Post by Xu Yuan » Thu Aug 18, 2011 9:30 pm

And I have finally done it! The proof of concept is now here for all to see!

Image

Uploaded with ImageShack.us

This has been a long time coming but I finally cracked how the original quadrilogy uses models and thank the heavens it was simpler than I could have ever imagined, but the problem was I was looking in all of the wrong places.

This game is very strange in that filenames and ASCII actually do something more than represent text or a debuggers message. In this game ASCII actually has a function. Not until only a week ago did I realize that and it was a matter of realizing what that function was.

In the character's files there are pointers, one leads to their name and the other leads to their model's filename. As I knew very little about programming I didn't know how to follow pointers correctly, but then my other learnings from days gone by arose and I recalled that what I was viewing in Hex is actually reversed, for instance... The Bytes 00 76 38 00 should have been read as 00387600, which points to Kite's character model of ctu1body.

With today's venture I realized that the game must Always require Party Member 00 to be in your party or else the game ignores whoever appears and treats them as another NPC, even if placed over Kite's data and as I went on I feared it dealt something with his model as well.

I was thankfully wrong. The way of the matter is simple. Say you wanted to change Kite into Moonstone as I have in that picture...

Change 00 76 38 (that which points to ctu1body) to E0 76 38 (that which points to ctu3body)

I had done this so many times in the past but was always met with Kite being absent and now I know the reason... invalid animations.

206F0560 is where Kite's animations lies, but his differ greatly from the normal PC's only by placement. For whatever reason there are many repeats in his animation file, and his animation parts are spaced in a way the others are not.

This strongly hints that there were a lot more animations in mind for Kite early in production (this goes well with the idea of various action animations seen in the .hack//Prototype mentioned in Archives03)

All you have to do is replace them bit by bit with whatever the character's corresponding files list and there you have your own playable PC! Now I've so far only tried this with Moonstone, so I'm not entirely sure if the other characters will work, but I will update when I find out.

EDIT: It works for any PC at all! It's a literal dream come true for me!

Image

Uploaded with ImageShack.us

Image

Uploaded with ImageShack.us

EDIT: Just one problem... when you logout the game will reinitialize the animations and when you log back in nothing will be there and you can't move. This can easily be bypassed with codes, but I don't know of anyway to fix this except for finding what may reinitialize the Animations.


EDIT 2: Alright so not Everyone. It seems that Helba is very special case, her animation files look to be named the same as everyone else (well all wavemasters, anyhow) but trying to replace Kite or... anyone with her for that matter seems to cause the character to vanish. Heh, guess the Queen of the Dark has some specialty to her files.

Xu Yuan
Posts: 1201
Joined: Tue Feb 28, 2006 1:32 am
Location: Harald in the R:2!

Re: Hacking .hack//Infection (Playing as any Party PC!)

Post by Xu Yuan » Fri Aug 19, 2011 11:30 am

Hmm, so it seems as if most of the game's texts and files reset when you login and logout, thankfully most of the files I had dabbled in did not. Unfortunately Animation files appear to fall under this, Kite's in particular.

You see most of the other SPC's have an animation pointer that is unaffected by the reset that allows for quick and easy access that could be stored on a memory card. However Kite and Only Kite has no pointer to his animation files so despite what you put in his animations they will be reset upon a login/logout.

This is clearly a relic of unfulfilled plans, his animations as mentioned before have a lot of repeats and there are animation files later on for Kite that I am relatively sure are never even used by the game. I cannot fathom why the programmers didn't make a pointer to Kite's animations but there's very little I can do about that.

There is one thing I can do but it isolates a great number of people in doing this and that is to literally go into the ISO and change the initial data into whatever data I desire. However to release that change would require a patch. I guess I could make a patch for every character (with hopefully correct voice, portrait, stats, name, etc.) and put Kite in their place.

This would probably be a bit odd in events since no matter what I can't exactly switch Kite's dialogue with another characters. So in events the voice would be Kite. I'll do my best to replace voice where I can find it.

User avatar
TheSorrow
The Legendary Paladin
The Legendary Paladin
Posts: 6587
Joined: Sat Dec 09, 2006 9:47 pm
Location: The Edge of Madness
Contact:

Re: Hacking .hack//Infection (Playing as any Party PC!)

Post by TheSorrow » Fri Aug 19, 2011 12:19 pm

o3o...
...
So, is it time to squeal already?
Or not?
D:

Xu Yuan
Posts: 1201
Joined: Tue Feb 28, 2006 1:32 am
Location: Harald in the R:2!

Re: Hacking .hack//Infection (Playing as any Party PC!)

Post by Xu Yuan » Fri Aug 19, 2011 12:35 pm

Well, the method is sound. And with it being a patch rather than a memory card dealing means that maybe more people may enjoy it overall?

Of course do Patched games even work on the PS2? I'd need to do a little more research on that, I know it works fine on the emulator.

Though there are limitations and a fair amount of them. You apparently cannot replace PC's with NPC's or Monsters. The game only says "file = none" if you try to do so. (So playing as a SIGN character is out until I figure out more about the graphics in Data.bin)

Conversely you can't replace Monsters with PC's, even though in some case Monsters have even more animations than a PC (Valkyries come to mind) Also it seems you can't replace Monsters or PC's with Phases (well I guess that would be a given...), though to my great surprise Phases have very similar animations to various PC's


EDIT: Just one little problem when you start a new game...

Image

Uploaded with ImageShack.us

Yeah... but that's because this more or less proves that the game applies a palette to Kite to hide his true color. It should come as little surprise that it doesn't look good on any other character but him. Though it only lasts until after Hidden Forbidden Holy Ground events, than the PC in question will return to their normal character. (Though it's a mystery to me as to why the weapons colors are askewed.

Xu Yuan
Posts: 1201
Joined: Tue Feb 28, 2006 1:32 am
Location: Harald in the R:2!

Re: Hacking .hack//Infection (Playing as any Party PC!)

Post by Xu Yuan » Sat Aug 20, 2011 8:32 am

Well Project Gardenia (guess that will be my first patch) appears to be off to a good start. It took some time but I finally managed to switch Most voice files of Kite's with Gardenia's own. There's only one problem (and a bizarre problem at that) some of her actual attack skills with her spear spit out spell names like Juk Rom and PhaJuk Rom from what I've seen thus far. But this is adequate to me for now, as far as I can tell everything else seems to be on the dot.

Next is to find where pictures are stored and exchange Kite's for well... Gardenia.

emptyazureskies
Posts: 214
Joined: Tue Apr 15, 2008 2:00 pm

Re: Hacking .hack//Infection (Playing as any Party PC!)

Post by emptyazureskies » Sun Aug 21, 2011 2:30 am

so theoritically you could keep working and make a game version of another birth (blackrose as main character) after like 7 years...

Xu Yuan
Posts: 1201
Joined: Tue Feb 28, 2006 1:32 am
Location: Harald in the R:2!

Re: Hacking .hack//Infection (Playing as any Party PC!)

Post by Xu Yuan » Sun Aug 21, 2011 6:46 am

Heh, yes you could. The problems with that however would be the lack of any model for Chimney, Nova being a normal PC also presents difficulty.

Though Wendee Lee has done an absolute ton of voice work so finding appropriate voice clips would be... well it would admittedly be difficult, but likely not impossible but I somewhat doubt she'd be open to a charity case, though you never know.

However making a .hack mod of Another Birth actually sounds like it would be rather fun.

Any ideas that could be put forward I'll listen to and try to incorporate what I can.

User avatar
TheSorrow
The Legendary Paladin
The Legendary Paladin
Posts: 6587
Joined: Sat Dec 09, 2006 9:47 pm
Location: The Edge of Madness
Contact:

Re: Hacking .hack//Infection (Playing as any Party PC!)

Post by TheSorrow » Sun Aug 21, 2011 2:28 pm

So, you're working on such a patch already? Replacing and changing everything that's needed to make Gardenia the main character and be 100% functional down to voice clips and animations?

Sweet o3o Good luck with that!!

And an Another Birth mod sounds very awesome as well...It would take alot of time though, and it would be a much bigger job than just testing out codes and see what you can or can't do. It would be very great to see, and maybe something to do once you've done enough experiments and figured out the stuff required to work on it...and if you're still motivated and with enough time to work on it by then, of course :3

User avatar
hidora
Posts: 1084
Joined: Tue Jul 28, 2009 3:19 pm
Location: Manaus, AM, Brazil

Re: Hacking .hack//Infection (Playing as any Party PC!)

Post by hidora » Sun Aug 21, 2011 3:59 pm

Another Birth mod would be epic win =D


Btw, what emulator/plugins are you using? I tried running Infection on pcsx2 0.9.6 with default plugins and it crashes before I can even log in for Orca tutorial D:
(not asking for links, of course, just the names if you use any specific plugins =X).

Xu Yuan
Posts: 1201
Joined: Tue Feb 28, 2006 1:32 am
Location: Harald in the R:2!

Re: Hacking .hack//Infection (Playing as any Party PC!)

Post by Xu Yuan » Sun Aug 21, 2011 5:53 pm

TheSorrow wrote:So, you're working on such a patch already? Replacing and changing everything that's needed to make Gardenia the main character and be 100% functional down to voice clips and animations?

Sweet o3o Good luck with that!!

And an Another Birth mod sounds very awesome as well...It would take alot of time though, and it would be a much bigger job than just testing out codes and see what you can or can't do. It would be very great to see, and maybe something to do once you've done enough experiments and figured out the stuff required to work on it...and if you're still motivated and with enough time to work on it by then, of course :3
It would have to be after the intro events, I would have to ask people to have a save after the Holy Ground events, otherwise the "mask veil" they put over Kite to make his model appear Green, looks absolutely horrendous on any other character, (apparently it was so bad on Gardenia that Imageshack deemed the picture a violation of services) unless I can figure out what causes it for myself.

However there are some things I can't change. One is clearly the FMV cutscenes, no way I'm going to go through the effort of remaking each one with the appropriate "character", if I could find out how to disable the majority of them I might be able to work something out.

For events... disabling the sound for them shouldn't be too difficult, I know where all of that is stored. And it would make it so I could put my own lines to have the various characters react to the situation rather than using Kite's base events.

A simple "play as" Patch is pretty much done though. All of Gardenia's animations work fine and all of the game systems treat her as Kite, so no strange problems that would appear. If I could locate why her base attack skills still use incorrect voice clips I could consider it finished.

However... what am I to do for her normal joining event? Maybe have Kite the target of the fanclub? That will take a little bit of thinking on how that is done.
hidora wrote:Another Birth mod would be epic win =D


Btw, what emulator/plugins are you using? I tried running Infection on pcsx2 0.9.6 with default plugins and it crashes before I can even log in for Orca tutorial D:
(not asking for links, of course, just the names if you use any specific plugins =X).
Hmm, I'm using 0.9.8 myself. I heard that the newer version (this one) is more reliable.

In any case the plugins I use are...

Video - DirectD39 Hardware
Sound - No Sound - (At 15-45 FPS, the music is more bound to give nightmares than anything else)
Controller - Lilypad svn 0.10
Dev9NullDriver - ?

That should be everything I use. I also recall having a lot of trouble getting this all to run at the start.

Before I can get started with an //Another Birth mod, I would need to figure out how to switch the given lists of telling party skills and skills. I clearly couldn't let BlackRose have a Data Drain menu, but if I could switch that normal menu to the party menu Kite should be able to use it. Though I have to wonder if the AI will use Data Drain, even if ordered, hmm...

emptyazureskies
Posts: 214
Joined: Tue Apr 15, 2008 2:00 pm

Re: Hacking .hack//Infection (Playing as any Party PC!)

Post by emptyazureskies » Sun Aug 21, 2011 7:03 pm

well i think if u use sanjuro and somehow apply nova as a skin to overlay.... chimney would have to be created from scratch over natsume.... and you could have a couple people from here do the voicework for whatever characters necessary....

Xu Yuan
Posts: 1201
Joined: Tue Feb 28, 2006 1:32 am
Location: Harald in the R:2!

Re: Hacking .hack//Infection (Playing as any Party PC!)

Post by Xu Yuan » Mon Aug 22, 2011 1:18 am

The problem with that however is that Natsume and BlackRose bond to a significant extent in the books, Sanjuro and her battle together in one event, but that could easily be replaced. ( I can't recall off the top of my head if Sanjuro and her do anything else over the course of the books) Moonstone might be able to be cut and replaced with Chimney.

As for voice work.... that would be Way off, heh. I still can't even recall how to listen to these voice files, though I did know at one point.

emptyazureskies
Posts: 214
Joined: Tue Apr 15, 2008 2:00 pm

Re: Hacking .hack//Infection (Playing as any Party PC!)

Post by emptyazureskies » Mon Aug 22, 2011 12:47 pm

hm... if thats the case is there a way to copy the characters? to make like 2 sanjuro then turning one to nova and same with moonstone or natsume and chimney? the reason i said natsume is her and kite are the closest looking to chimney so it should be easier(hypothetically)

Xu Yuan
Posts: 1201
Joined: Tue Feb 28, 2006 1:32 am
Location: Harald in the R:2!

Re: Hacking .hack//Infection (Playing as any Party PC!)

Post by Xu Yuan » Mon Aug 22, 2011 1:51 pm

emptyazureskies wrote:hm... if thats the case is there a way to copy the characters? to make like 2 sanjuro then turning one to nova and same with moonstone or natsume and chimney? the reason i said natsume is her and kite are the closest looking to chimney so it should be easier(hypothetically)
To my knowledge .hack//Infection only supports 18 Party Members, including Kite. Though there are references to three unused Party Members, they don't seem to have any stats or any way to put them together, but its clear these three unused party member slots is what they used to make Tsukasa,Subaru, and Sora in Quarantine. What I was considering was perhaps researching //Fragment a little down the line, see if the data is similar, and if so, to see if any of that data can be imported into Infection. One thing I would love to see in the original quadrilogy is the live action menus that Fragment had, but I have to doubt the possibility of that.

I should probably reread the other three novels and see who else shows up.

Post Reply