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

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

Moderator: Moderators

NCDyson
.hacker
.hacker
Posts: 28
Joined: Mon Jul 01, 2013 2:17 pm

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

Postby NCDyson » Mon Sep 07, 2015 4:53 am

If you're getting a FILE NONE screen when trying to load the town npcs or enemies as party members, it's because of the virtual folders (categories) of the data.bin. If I'm right about how the code for the categories works, I think I can write a work around for it. if I could get to my computer long enough. every time I sit down lately, I get dragged back out of my chair for the rest of the day for something stupid. I haven't even gotten to set up my new computer...

If I ever get to take a vacation from work, I swear I'm going to run away, turn my phone off, lock myself in a motel room, and just spend an entire week coding.

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

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

Postby Xu Yuan » Mon Sep 07, 2015 9:56 am

NCDyson wrote:If you're getting a FILE NONE screen when trying to load the town npcs or enemies as party members, it's because of the virtual folders (categories) of the data.bin. If I'm right about how the code for the categories works, I think I can write a work around for it. if I could get to my computer long enough. every time I sit down lately, I get dragged back out of my chair for the rest of the day for something stupid. I haven't even gotten to set up my new computer...

If I ever get to take a vacation from work, I swear I'm going to run away, turn my phone off, lock myself in a motel room, and just spend an entire week coding.


Sounds like you have quite the busy life. I am pretty much the opposite for the moment. I have classes I need to attend every day, but that's it.

Now what you mentioned about a virtual folder is a very interesting idea. This would be my first thought on it. I do find it ironic though that some enemies have just as much, if not more animations then normal PC's. (also who wouldn't want to fly around as Skeith, haha!) It would make sense though since all files of a given type are sequential. I thought that was used just for clarity purposes. I'll try and see if I can't find the reference point then, since that may be the exact reason it won't load.
As you know Security,
Is Mortal's greatest enemy

NCDyson
.hacker
.hacker
Posts: 28
Joined: Mon Jul 01, 2013 2:17 pm

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

Postby NCDyson » Mon Sep 07, 2015 10:11 am

If the game uses the blank entry at the end of the categories file listing then that would mean that all you'd need to do is get fill the filename in the blank entry with anything, and it should run through to the next category. However, I believe that the categorie file lists are aligned to 0x10 in the elf/memory, so you might have to rebuild the entire set of lists. Implementing this into my data.bin unpacker/repacker would only take an extra if statement or two.

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

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

Postby Xu Yuan » Mon Sep 07, 2015 11:36 am

Hmm, that is an interesting theory. I did not know that there was a blank entry at the end of categories, hmm, here's a possibility I hadn't thought of but it may be better to bounce this off of you before trying it as it may be way off base. Could it be that the letter designator may have something to do with it? For instance changing all instance of cbu1 into ebu1, would that possibly in turn allow Mia for instance to be an enemy model?
As you know Security,
Is Mortal's greatest enemy

NCDyson
.hacker
.hacker
Posts: 28
Joined: Mon Jul 01, 2013 2:17 pm

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

Postby NCDyson » Tue Sep 08, 2015 2:56 am

I don't think so. I think the names are just letter-coded like that to make it easier for them to keep track of the files during development.

While the names of things are kind of important, I don't believe they're important in that way. I could be wrong though.

User avatar
Slip
.hacker
.hacker
Posts: 25
Joined: Thu Jul 23, 2015 11:09 am

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

Postby Slip » Wed Oct 14, 2015 7:09 am

Which debugger are you using NCDyson?

Edit Oct.15th: On another note. I took a look back at Xu's notes, and revisited his Dungeon Editing adventures. I noticed a rather... unusual way of decided which room to load into memory.

Image
In the above diagram of the map, the room "1" has been moved upwards 1 tile. Let's presume room "0" is where you start. If you go north to the door, and get transported, the game will crash. I believe this is due to the fact the player is Not in a room in that position, therefore the game cannot decide which room to load.

Ok, now let's say you're in Room #1. Going north will merely teleport you back a few feet where you were in the same room. This may be caused by the overlapping position of Room #1 and Room #2. Also, approaching this door, once you get into the overlapped position of both of the rooms, no room is rendered anymore (leaving a green background in the place of it.)

Ok, now let's say you're in Room #2. Going south will merely teleport you back a few feet, this may be because the room you're in is Prioritized over the other rooms when there is an overlapping problem.

A black screen will only appear if you're not in the room's model box (it's a cube that spans the size of the room in all X,Y,Z dimensions.)

If you do get a black screen from modification, it can crash your emulator, so be ready for annoying restarts.

Code: Select all

Xu's Notes

2065CD28 - Bursting Passed Over Aqua Field's Dungeon.
First Room's position.

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

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

Postby Xu Yuan » Fri Oct 16, 2015 7:16 am

Yeah, map editing is really strange, though note that when you leave a room and end up in the Green screen, or black void you can use a Fairy's Orb and the rooms suddenly appear. I have No idea why this is. I have a feeling it was used as a quick debug tool when they were testing out their Edit Dungeon program. Though that's odd, I never had the game crash while map editing, at least as I recall.
As you know Security,
Is Mortal's greatest enemy

User avatar
Slip
.hacker
.hacker
Posts: 25
Joined: Thu Jul 23, 2015 11:09 am

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

Postby Slip » Fri Oct 16, 2015 5:01 pm

Black Void means you are currently not within the boundaries of a room, so nothing should render even in the case of a fariy's orb. The green screen (Or dungeon fog of war that blurs the background of long dungeon halls) means you are within the boundaries of a rendered room. Some rooms will automatically fix upon getting within the boundaries. I believe the Fairy's Orb reads through the addresses of the dungeon, forcing it to go through a very similar process to the Loading Screen upon entering a dungeon. The emulator *can* crash if you leave it running for too long upon entering room in which your character doesn't even render (no resource found while loading / error.)

I've also began writing a small program for testing dungeon editing on a more "precise" level. It would appear that all rooms within dungeons are made up of tiles of a specific size, sort of like a tilemap, meaning they can be positioned very carefully to make connections.

I've also began looking at each room type (and documenting them via screenshots.) It's kind of annoying due to overlapping rooms causing problems with the fairy's orb (yes, even the fairy's orb cannot overcome an overlapped room.) So it'll take me some time to document *every* room type by number.

Also, it would appear that your note about room identifiers would be correct, except... it's the starting point of the very next room.

Code: Select all

01000000 - Believed to be the Actual room identifier. When nulled the game will load up the T hallway (despite the character beeing in the location of the first room, with bizarrely the two treasure chests floating at two different altitudes. I didn't even know dungeons had a z axis. Or? Maybe not?


Before Room 0 starts (according to your notes at: 0x2065CD28), there is a 4 byte integer that behaves exactly the same way that value above does.
These addresses are accessed many times: Read Condition: Enter Dungeon Scene (3000CF41)
Read Condition: Finish Loading Dungeon Scene (Once) (3022CA00)
Read Condition: Finish Loading Dungeon Scene (Once) (3022D943)
Read Condition: Enter New Room (Including Change Floors) (301696EF)

They're probably read during Fairy's Orbs as well, though I didn't watch for that.

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

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

Postby Xu Yuan » Sun Oct 18, 2015 10:50 am

What an interesting setup, yes Dungeon Editing was one of the main parts where I just threw up my hands and took my best guesses. I am glad to see that for the most part it seems to be accurate enough. Creating a program to make it all work and be put together seems much more efficient than looking at it in a basic manner..
As you know Security,
Is Mortal's greatest enemy

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

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

Postby Xu Yuan » Tue Jun 20, 2017 1:23 am

Well it has been a very long time without an update. I think I've basically hit all of the places I wanted to but my efforts didn't bear much fruit. No modder came around to create tools to open my work to the wider public... so if you want something done you have to do it yourself. The news of .hack//G.U. RECODE really inspired me to get back into .hack, so I wanted to ask around to see if maybe there was some GUI template that I could use to create my own editor and lo and behold there turned out to be one! It is called Nightmare, it was made for Fire Emblem, but it's such a convenient tool that can easily be molded towards anything. Unfortunately it does not lead PS2 ISO's but it will load the individual files that make up the ISOs. It would be a very short tutorial but all you would need in the end is WinRar and a hex editor (HxD preferably) so you can easily extract the necessary files and use the hex editor to insert the file with your changes.

http://imgur.com/yWqOzfV

http://imgur.com/v13TcsI

You will notice that the large portion missing is weapons... well weapons are based on class and unfortunately the editor has no way to tell what class you are before pulling up the Weapons menu so I will need to create six separate modules that will allow you to easily switch a character's weapon to whatever class you desire. That is probably the cleanest way to go about it. I'll hopefully have more updates soon with a usable beta for those that are interested.
As you know Security,
Is Mortal's greatest enemy

Cor'e =)
lurker
lurker
Posts: 1
Joined: Sun Nov 12, 2017 4:17 pm

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

Postby Cor'e =) » Sun Nov 12, 2017 4:28 pm

Hi all, the links to the saves are dead in the 1st post, please update or something, because i really want to start a game without kite being a Twin-Blade! I would prefer a PS2 Memory Card Save so i can import it to my PS2/PS3/PCSX2, i may be able to convert the other two types, i'm not sure, thanks in advance, really awesome work! Or if there's a way to edit a save file, i may be able to do that using HxD or something...


Return to “//Infection //Mutation”

Who is online

Users browsing this forum: No registered users

cron