Author
Topic: DSVania Editor (v1.7.2) (Read 49974 times)

v1.4 is released! Tons of new features in this one, like a player editor, tileset editor, the sprite editor can now actually edit and save things, the Japanese versions are now all supported, and more.

Here's an example of what you can do. I used the sprite editor to make some enemies attack faster, and the player editor to change Shanoa's slide:http://i.imgur.com/ztTKQ3G.gif

I can't seem to extract the files from the Gallery of Labyrinth (Japanese PoR) rom. The program just hangs indefinitely, despite the fact that all the files have apparently been extracted into a local folder. Opening that same folder with DSVania 1.4 also freezes the program.

I played through the whole game including Julius mode with the IPS patch and found no issues

Thanks for testing. I also played it a bit, and it seems like certain weapons have trouble hitting the balore blocks, as if the hitboxes are messed up. Not sure what's up with this but I'm gonna try to see if I can make the balore blocks have bigger hitboxes or something to make it more convenient.

Speaking of patches, I also just made an asm patch to fix luck being bugged in DoS and not doing anything. It should bring it in line with how luck works in OoE, with 1 point of luck giving +0.1% drop chance.

If all you wanted was to replace the graphics of an enemy with ones from a different game it probably would be fairly easy, replacing the gfx, palettes, and sprite file should be pretty much all you'd have to do. Might need to make some changes to the sprite.

But replacing the AI too would be harder. You could copy the bytecode from one game to the other game as a start, but there's no way it would just work, you'd need to make a lot of modifications to the asm code for it to work. Namely you would need to look through every line to find all the places the AI calls a function outside of its own code, and then replace that so it instead calls whatever the equivalent function was in the game you're porting it to. The hardest part is finding these equivalent functions, there's no easy list of every function, so you'd need to look at other enemies who do similar things for reference and see what functions they call.

I can't seem to extract the files from the Gallery of Labyrinth (Japanese PoR) rom. The program just hangs indefinitely, despite the fact that all the files have apparently been extracted into a local folder. Opening that same folder with DSVania 1.4 also freezes the program.

Maybe I've just got a bad dump?

Hmm, apparently Gallery of Labyrinth has two different versions. The one I added support for was the second version (rev01), so maybe you have the original first version?

I think some weapons like the axe have the hitbox in the blade itself and not on the shaft/handle. The claymore has a wider hitbox for example. I also noticed something with the balore's blocks hitboxes, when trying to hit one directly in front of you it wont break.

Also, for OoE, can you make a patch for albus only to be able to go through walls, that way it wouldn't be necessary to use the touchpad

If all you wanted was to replace the graphics of an enemy with ones from a different game it probably would be fairly easy, replacing the gfx, palettes, and sprite file should be pretty much all you'd have to do. Might need to make some changes to the sprite.

But replacing the AI too would be harder. You could copy the bytecode from one game to the other game as a start, but there's no way it would just work, you'd need to make a lot of modifications to the asm code for it to work. Namely you would need to look through every line to find all the places the AI calls a function outside of its own code, and then replace that so it instead calls whatever the equivalent function was in the game you're porting it to. The hardest part is finding these equivalent functions, there's no easy list of every function, so you'd need to look at other enemies who do similar things for reference and see what functions they call.

Yeah, I know it wouldn't be as easy as just replacing their graphics, but many enemies are shared between the three games or appeared in at least two of them, like Forenus.

Thanks for testing. I also played it a bit, and it seems like certain weapons have trouble hitting the balore blocks, as if the hitboxes are messed up. Not sure what's up with this but I'm gonna try to see if I can make the balore blocks have bigger hitboxes or something to make it more convenient.

Speaking of patches, I also just made an asm patch to fix luck being bugged in DoS and not doing anything. It should bring it in line with how luck works in OoE, with 1 point of luck giving +0.1% drop chance.

I posted this before the website went down and the forum had a rollback: I tested your IPS patch and while the signature screen skip and automatic drawing seals worked perfectly, I couldn't hit the ice blocks after getting the ability. I tried with the default weapon I had at the moment (the first small sword you get after the first boss) and unequiped fists, and neither worked. Didn't occur to me to try other weapons. This was using Desmume btw, not real hardware. I was also testing our portraits hack at the same time, not sure if that makes any difference (I applied your IPS last).

I'll gladly test it again next time you share a revision, I'm looking forward to have this worked out to give the whole game another go.

Im doing a PoR romhack with the latest version (1.4). I was doing it with 1.3 and I could add entities to rooms with no problems.When I upgraded to 1.4 for the SICK sprite editor, suddenly I could not add any entities to any room at all, even though I can stilledit existing ones with no problems.

the log doesn't say anything at all, I just right-click at the room and nothing happens.

Is it a problem that came with 1.4 and will get a fix, or it has something to do with the fact that I extracted the rom with the 1.3version? Thanks in advance, YOU ARE MY HERO <3(edit: I realized you can add entities using the Edit menu LOL but still, It should be in your interest to know about this issue)

I think some weapons like the axe have the hitbox in the blade itself and not on the shaft/handle. The claymore has a wider hitbox for example. I also noticed something with the balore's blocks hitboxes, when trying to hit one directly in front of you it wont break.

Also, for OoE, can you make a patch for albus only to be able to go through walls, that way it wouldn't be necessary to use the touchpad

I used the sprite viewer to check the hitboxes for the axe, and you're right, it's only on the blade. But that doesn't explain it entirely, since the blade hitboxes are pretty big. Something interesting I noticed while looking at the hitboxes was that the axe sometimes has two hitboxes at once.

I wound up writing a script to display hitboxes in real time, look at this gif: http://i.imgur.com/jwKtjJA.gifI highlighted the first hitbox the axe has in red, the second one is white. Looking at that made the problem pretty clear: the whip code only checks the first hitbox, ignoring the second one. This is probably because the whip itself only has one hitbox, so the devs didn't need to make it check two.

To fix this I needed to get pretty tricky, but in the end I managed to get the code to check both hitboxes correctly.

For Albus: You mean making him able to use Paries? I don't know, he would need a button to activate Paries and I don't want to replace one of his existing attacks just for Paries. I don't think there's any way for him to just have Paries active 24/7 without a button either.

I posted this before the website went down and the forum had a rollback: I tested your IPS patch and while the signature screen skip and automatic drawing seals worked perfectly, I couldn't hit the ice blocks after getting the ability. I tried with the default weapon I had at the moment (the first small sword you get after the first boss) and unequiped fists, and neither worked. Didn't occur to me to try other weapons. This was using Desmume btw, not real hardware. I was also testing our portraits hack at the same time, not sure if that makes any difference (I applied your IPS last).

I'll gladly test it again next time you share a revision, I'm looking forward to have this worked out to give the whole game another go.

This turned out to be a different bug than with the axe. Weapons like the knuckles or the small stabbing swords only had one hitbox, but it was a small hitbox, so the way the whip code rounded the size of the hitbox it was only breaking blocks about at face level with Soma, even though the hitbox was actually tall enough to break blocks around chest level too. This was easier to fix, I basically just made it round the height of the hitbox up instead of down.

Here's a comparison gif for the axe and knife before/after I fixed these bugs: http://i.imgur.com/CcROfz6.gifShould be a lot easier to break those pesky blocks now.

Im doing a PoR romhack with the latest version (1.4). I was doing it with 1.3 and I could add entities to rooms with no problems.When I upgraded to 1.4 for the SICK sprite editor, suddenly I could not add any entities to any room at all, even though I can stilledit existing ones with no problems.

the log doesn't say anything at all, I just right-click at the room and nothing happens.

Is it a problem that came with 1.4 and will get a fix, or it has something to do with the fact that I extracted the rom with the 1.3version? Thanks in advance, YOU ARE MY HERO <3(edit: I realized you can add entities using the Edit menu LOL but still, It should be in your interest to know about this issue)

Thanks for the kind words!

I had to change the way to add entities, because right click -> add entity made it really easy to accidentally add entities when trying to edit an existing one and I was getting annoyed by it. The new way is to hover your mouse where you want to add the entity and press A on the keyboard.

Ok another question LagoLunatic, this tool pretty much has everything I feel I would need except one thing, voice and sound effect hacking, will we see the option to edit voices and sound effects in a future release?

I ask because I may want to do a hack where I replace a female character with a male one and it would be weird if that male character still had a female voice.

Ok another question LagoLunatic, this tool pretty much has everything I feel I would need except one thing, voice and sound effect hacking, will we see the option to edit voices and sound effects in a future release?

I ask because I may want to do a hack where I replace a female character with a male one and it would be weird if that male character still had a female voice.

DSVEdit isn't going to have any ability to edit sound data, but these games just use standard NDS formats, so any tool for NDS sound editing should work. Tinke lets you listen to and extract sound files and I think it lets you replace them with new ones too, though I haven't done that myself.

So I've been poking at doS with this tool since you first released it, and was looking to try and make a small PoR romhack just to really dig into it, and can't seem to actually get it to play.

I just added a couple entities to the first room (the drawbridge room) and it freezes before loading the intro cutscene with the dude at the beginning every time.I'm not really sure why this would be happening. I'll keep poking at PoR now since it's my favorite DSVania and was the one I wanted to make a hack for.

EDIT: Just an edit to say that changing anything with the rom entity related (adding new ones or editing current ones) will cause it to do this. May just be something that I'm messing up as a noob so any help would be great.

EDIT2: Another edit here to say that I must have just messed something up and didn't realize it. Editing entities works fine, but adding them still breaks the game. I'm assuming it's a pointer thing or an expansion thing since I know basically nothing about actual romhacking. Still looking for info on it, but I think it's just something I don't know how to do in the first place.

So I've been poking at doS with this tool since you first released it, and was looking to try and make a small PoR romhack just to really dig into it, and can't seem to actually get it to play.

I just added a couple entities to the first room (the drawbridge room) and it freezes before loading the intro cutscene with the dude at the beginning every time.I'm not really sure why this would be happening. I'll keep poking at PoR now since it's my favorite DSVania and was the one I wanted to make a hack for.

EDIT: Just an edit to say that changing anything with the rom entity related (adding new ones or editing current ones) will cause it to do this. May just be something that I'm messing up as a noob so any help would be great.

EDIT2: Another edit here to say that I must have just messed something up and didn't realize it. Editing entities works fine, but adding them still breaks the game. I'm assuming it's a pointer thing or an expansion thing since I know basically nothing about actual romhacking. Still looking for info on it, but I think it's just something I don't know how to do in the first place.

That's weird. I know that there are certain objects that can only be placed in a certain sector or the game will crash, the ones where the docs say "Requires sector overlay ##." Maybe you're trying to add one of those to the wrong sector? But the game would only crash when you enter the room with the object in it, it shouldn't be crashing in the first room of the game unless you edited that room.

Maybe try extracting the clean rom again in case there's something wrong with the files you have extracted currently.

So say if I only add a single skeleton to the room. As soon as the game is past the opening text crawl, it will crash. and it's actually done it on every rom I have so it's either an issue with the roms or something I'm not understand when adding entities.

If I just edit an existing entity it will work fine. I was able to turn enemies into other types of enemies, but adding will break it for me. If I have an unclean version, how would I check that?Though I don't think I'd end up with 3 different bad versions of separate games.Here's a screenshot of what I mean by just adding a skeleton.http://imgur.com/q0TNElb

So say if I only add a single skeleton to the room. As soon as the game is past the opening text crawl, it will crash. and it's actually done it on every rom I have so it's either an issue with the roms or something I'm not understand when adding entities.

If I just edit an existing entity it will work fine. I was able to turn enemies into other types of enemies, but adding will break it for me. If I have an unclean version, how would I check that?Though I don't think I'd end up with 3 different bad versions of separate games.Here's a screenshot of what I mean by just adding a skeleton.http://imgur.com/q0TNElb

Here are the SHA-1 hashes of the clean US versions of all 3 games:DoS: 47530FF87E608F88105A314FDF36DC385F8DEC94PoR: 382602E3615B2282EEAD584014125E71B5B0F033OoE: 1DE18711623861583082B786503BCE427F435822You can use this program to get the hashes.

If editing but not adding entities works, then it sounds like a problem expanding the sector overlay. In order to add new entities, DSVEdit needs free space to put them, so to do this it takes the sector-specific overlay (/ftc/overlay9_78 for the drawbridge room) and expands the size of it, then puts the entity list at the end of the overlay and repoints the entity list there.

Try this: Instead of adding entities to the drawbridge room, go a few rooms to the right into the room that has meat hidden in the wall and add an entity to that room. That room uses a different overlay than the first 3 rooms of the game. Then what happens when you start the game? Does it still crash in the first room? Or can you go through the first 3 rooms fine, and it only crashes after that?

Ok it looks like the hash from what you said, and my rom have are the same.

It just froze when I got past the drawbridge area, in the room with the meat.Is there a step to expanding the overlay that I'm not doing?

Also unrelated, but how difficult would it be to make the entities drag and drop? Like if I place it somewhere wrong on accident, to just click and drag it to the right spot. Just curious, not really asking for it to be a feature.

I'm sure eventually someone will end up making a how to use guide this to help us noobs.