News: 11 March 2016 - Forum Rules, Mobile Version
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia

Author Topic: DSVania Editor (v1.6)  (Read 12651 times)

LagoLunatic

  • Jr. Member
  • **
  • Posts: 51
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #80 on: March 29, 2017, 08:37:00 pm »
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?

It's supposed to just work, there's no extra steps. I can't even guess what the problem is since I've never had anything like that happen.

Alright, let's do this: Go add an entity to the drawbridge room, then go to file -> save to save the changes to the hard drive. Then take the file /ftc/overlay9_78 and upload it somewhere and send it to me. Then I'll look at it and hopefully be able to tell exactly what's going wrong with expanding it.

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. :P

You can do that in Tiled, but I'm going to add it to DSVEdit soon. I actually got entity and door dragging working a little while ago, but I didn't like that both this and panning the room are done with left-click-drag. I'll need to find a way to change panning to middle-click-drag like in Tiled or something.

If there's anything that needs a tutorial, let me know what it is. Most of it's pretty intuitive to me, since I'm the one that made the program, so I'm not sure what things need tutorials.

NecroCorey

  • Jr. Member
  • **
  • Posts: 12
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #81 on: March 30, 2017, 01:18:01 am »
Ok I grabbed an overlay for PoR and OoE since I've had it happen in all the roms I thought multiple ones would help more.

https://mega.nz/#!DF1QwSxT!qz4iny5g5KMdgXokSc30axHP1OZXb1PnaLMbjZEAROY


I didn't purposefully grab them both on overlay 78, it just happened that way when I chose a random area for OoE. I will also go ahead and log exactly what I do and what happens.

1. I go to Extract Rom.
2. I go to any map by clicking the map and going directly to the area.
3. I hit A to add a new entity, use the enemy dropdown list and see if I need any special settings like a certain overlay, or a certain variable (for example, Var B being 0000 for Fleamen)
4. Run the rom in desmume, when I reach the corresponding area, (in this case it is called the correct overlay I now know) the game will freeze.

Now here is where it gets weird. I believe when I add the entity I am somehow breaking the rom. Even if I remove the entity I added, I will still crash in the same overlay regardless.
I have to delete the folder I extracted, and extract a new one to try again to figure out what went wrong.
Anything but adding entities seems to work flawlessly for me. I can edit properties on anything I want like players, enemies, items, turning rooms into water ones by editing an entity already in a room for example as well. I was able to change the starting area in PoR and OoE with no problems as well.

In regards to anything tutorial related, I was under the impression that it was something I was doing wrong so I thought a tutorial may be in order. Honestly this tool is laughably easy to use if this is just a bug I'm having so a tutorial may not be needed.
If I had to suggest one, it would be later when there are more features. As it stands you're right it's very intuitive.
The only thing I don't know how to do that I've tried poking at so far is editing the map without it messing up the background pallet which I'm sure I could toy with long enough to figure out.

LagoLunatic

  • Jr. Member
  • **
  • Posts: 51
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #82 on: March 30, 2017, 12:21:31 pm »
Ok I grabbed an overlay for PoR and OoE since I've had it happen in all the roms I thought multiple ones would help more.

https://mega.nz/#!DF1QwSxT!qz4iny5g5KMdgXokSc30axHP1OZXb1PnaLMbjZEAROY

So, I looked at those two overlays, and there's nothing wrong with them. You added a skeleton to PoR and a mimic to OoE. The overlays were expanded correctly, so that can't be the problem.

But while I was thinking about it, I happened to remember seeing this a couple days ago, it's an old bug with Tinke where it wasn't updating the used rom size in the header after expanding the rom. When I saw that a few days ago I realized DSVEdit made the same mistake and figured I should probably fix it, but it's never actually caused a problem for me.

But I decided to try out an old version of desmume, and as it turns out, old versions of desmume care about that field in the header and will fail to load files placed past the end of the rom. Version 0.9.11 of desmume, which I use, just ignores that field and loads the file anyway, which is why I've never noticed this issue with expanding files before.

I'm going to have this fixed for the next version of DSVEdit, but for now upgrading your desmume should let you play the game with expanded files. It's really lucky I saw that Tinke once had the same bug or I might have never figured this out.

The only thing I don't know how to do that I've tried poking at so far is editing the map without it messing up the background pallet which I'm sure I could toy with long enough to figure out.

What do you mean mess up the background palette? I've barely tested the map editor so there could definitely be some bugs there.

NecroCorey

  • Jr. Member
  • **
  • Posts: 12
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #83 on: March 30, 2017, 04:34:19 pm »
Everything works after upgrading to desmume 9.11 for me. I wasn't aware I was on outdated since the site I use had 9.10 as the latest version.

In regards to the pallet messing up when editing the map, I only saw it happen on OoE so I'll need to test it there again to see if I get the same issue, but it just looked like garbled graphics
when I entered the overlay of the edited map area and the map screen showed the image for an area with no map.
When I tried to edit PoR's map everything worked great so it was probably another 9.10 issue.

I just need to learn how to use tiled now and start making stuff.
Thanks for all the help, glad to see you invested in helping us scrubs.

For now I'll just be getting used to changing stuff before I try to get into making new stuff.

Esco

  • Full Member
  • ***
  • Posts: 119
  • Esco.... nuff said!
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #84 on: March 31, 2017, 11:18:30 pm »
Hi again, LagoLunatic. Do you have any plans to include a feature that will export the individual assembled frames of an enemy and/or the keyframes of the enemies that use puppet animations to a sheet?Versus just being able to view them? Right now I have to go thru each one, one at a time taking screenshots of each frame and then pasting and editing the images in paintshop pro to get the assembled frames and it is a very slow process.

EDIT: Nevermind! It looks like you already added this feature! Very well done!
« Last Edit: March 31, 2017, 11:24:05 pm by Esco »
Esco.... the original, Nuyorican, Latin Lover! And Creator of the Castlevania: Symphony of the Night hack!

The blog on the Castlevania: SOTN HACKED project: http://sotnhacked.wordpress.com/

DoctorGoat

  • Jr. Member
  • **
  • Posts: 11
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #85 on: April 01, 2017, 02:12:47 am »
Is there space to expand the souls/items/enemy data in any of the roms? I'd like to add a bunch, but that doesn't seem to be a current feature.

Also: could we import assets from the other games and use them, or would that cause a bunch of trouble? The rom could be expanded and it probably wouldn't cause any issues.

I'm kind of wanting to grab PoR and make a Shanoa/Soma team, and throw in a bunch of new maps to expand on PoR's map. It's a ridiculous idea, but your editor is completely blowing my mind right now and I think I can handle it.

edit: Do you use Ida Pro for any of this? I'm looking at how this stuff works, and... like, take Souls for example. The Imp soul is at 02206DC0 but... where?

IDA gives me:
RAM:02206DC0 dword_2206DC0   % 0x520                 ; DATA XREF: RAM:0209D1E4o

and the RAM address 0209D1E4 is an assembler psuedo instruction?
« Last Edit: April 01, 2017, 11:34:17 pm by DoctorGoat »

LagoLunatic

  • Jr. Member
  • **
  • Posts: 51
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #86 on: April 02, 2017, 12:15:13 pm »
Is there space to expand the souls/items/enemy data in any of the roms? I'd like to add a bunch, but that doesn't seem to be a current feature.


Let me break this down into two questions: Is there a way to add a lot of usable free space into the game's RAM? and Can you use all this free space to add new enemies/items/souls?

For the first question, I have good news. I found large amounts of free space in RAM for the three games a few weeks ago. But since it's completely unused, it will be necessary to add a new overlay to make use of this free space. I'm planning to include a feature in 1.5 that will let you easily add a new overlay, and will also apply an asm patch so that the new overlay actually gets loaded into memory. Once that's done, you can just manually modify the overlay file however you want, and it will be loaded into RAM correctly. This will be useful if you want to add new asm code but there's not enough room in the existing files for it.

But, as for adding new enemies/items/souls: This would be very difficult even with tons of free space. You can simply copy the whole item/soul/enemy list into the free space. But then you also have to modify all the code that uses it so it realizes there's a new item/enemy/soul.
You'd need to find any pointers to the item/soul/enemy lists in the code and change them to the point to where the new lists are.
DSVEdit also has code pointing to these lists, so you'd need to modify DSVEdit's code to point to the new lists if you want to be able to use DSVEdit to modify items/souls/enemies after adding a new one.
For items/souls, there might not even be space in the right part of the save file to keep track of which items/souls you own. I'll need to figure out the exact save file format to know.
Also for souls, the game is hardcoded to think that souls 00-34 are red, 35-58 are blue, 59-73 are yellow, and 74-7A are ability souls. So if you wanted to add a soul other than an ability soul, you'd need to find these values in the code, change them, and then shift all the souls after the new one you're adding down in the list. Also, soul 44 (Flying Humanoid) is hardcoded to act differently when an enemy drops it, so you'd need to find this in the code and change the soul ID to whatever the new ID of Flying Humanoid is. This type of thing is also true for items, it tells which items are which type by looking at the IDs, and a number of items have effects hardcoded to their IDs and you'd need to change every one of those every time you add a new item.
For enemies there are lists besides the main enemy DNA list you'd also need to repoint to free space and add a new entry.
And those are just the problems I can think of off the top of my head, I'm sure you'd run into some other issues in the process too.

Basically, I recommend replacing existing enemies/items/souls instead of adding new ones.

Also: could we import assets from the other games and use them, or would that cause a bunch of trouble? The rom could be expanded and it probably wouldn't cause any issues.

Expanding the rom is easy, DSVEdit does this automatically already. There's a bit of a bug with this as NecroCorey pointed out but that'll be fixed for the next version.

If you want to replace a sprite or gfx file with one from a different game, that should work fine. The asset file formats are the same between games (except for the file format for enemies that use a skeletal animation system, this was hardcoded in DoS/PoR but is a proper standalone file format in OoE).

If you wanted to add an asset file from a different game without replacing an existing one you'd run into problems like I described above with items/souls/enemies, though probably not as bad.

I'm kind of wanting to grab PoR and make a Shanoa/Soma team, and throw in a bunch of new maps to expand on PoR's map. It's a ridiculous idea, but your editor is completely blowing my mind right now and I think I can handle it.

If by maps you mean rooms, it probably wouldn't be hard to add a new room to a sector. You'd need some free space, but I think you'd just move the sector's room list to free space, change one pointer so the area knows where that sector now is, then add a new room after that in free space and point the sector to it.

Adding new areas/sectors/area maps would probably be more difficult, but I've never looked into so I'm not sure.

Good luck adding Soma and Shanoa to PoR! That's a really cool idea.

edit: Do you use Ida Pro for any of this? I'm looking at how this stuff works, and... like, take Souls for example. The Imp soul is at 02206DC0 but... where?

IDA gives me:
RAM:02206DC0 dword_2206DC0   % 0x520                 ; DATA XREF: RAM:0209D1E4o

and the RAM address 0209D1E4 is an assembler psuedo instruction?

I've never used Ida Pro.
0209D1E4 isn't an asm instruction, it's just a pointer to where the imp soul's data is located in RAM.

To view these things, you need to run the game in an emulator. If you want to view code you need no$gba debugger version. Then you can go to 02206DC0 and view the function for the imp soul.
If you want to view data desmume and no$gba debugger version both have memory viewers you can use. Go to 0209D1E4 and you can see the data for the imp soul. Then you can modify it in real time if you want to test out how changing values affects things without having to use DSVEdit and relaunch the game every time you make a change. I do this a lot when trying to figure out what unknowns do.

DoctorGoat

  • Jr. Member
  • **
  • Posts: 11
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #87 on: April 02, 2017, 01:06:38 pm »
Thank you. <3 I'm kind of thinking about switching to OoE because it seems like (with the open map pack) it'd be the most fun to make something from, and the Glyph system is probably easier to modify than the Souls.

You are doing an incredible job here and if half as many people made editors this impressive, romhacking would be leaps and bounds beyond where it is.

EDIT:

Could there be a universal Items/Spells/Monster/Weapons set of expansions for DSVedit? Like, these are fake addresses, but pretending there's a huge empty spot at 089910000 in all three, we'd have 089910000 for glyphs/souls, 089A1000 for items, 089B1000 for new monsters, etc.
« Last Edit: April 03, 2017, 01:22:14 am by DoctorGoat »

PachaWillWatchYa

  • Jr. Member
  • **
  • Posts: 49
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #88 on: April 03, 2017, 06:01:15 am »
Kudos LagoLumatic.
This seems like a well done editor, though i'm unable to try it out for myself at the time.
One question though, is it possible to edit Dawn of sorrow's crafting system?
Like, which soul do you need for the upgrade and which weapon you will get?

Edit:One more question, do you plan on implementing a way to edit 3d models or at least a way to remove them from certain scenes?
« Last Edit: April 03, 2017, 04:25:27 pm by PachaWillWatchYa »

Vanya

  • Hero Member
  • *****
  • Posts: 1128
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #89 on: April 03, 2017, 09:44:12 am »
Eagerly watching the development of this tool.
Makes me wonder what a CV1/SCV4/X68k remake would look like with PoR or DoS as a base.

LagoLunatic

  • Jr. Member
  • **
  • Posts: 51
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #90 on: April 08, 2017, 11:30:08 pm »
I've been making progress adding some new features to DSVEdit. Here's a sneak peek of something for 1.5: a test room feature!
http://i.imgur.com/14CA6Yy.gif
You press F7 in the editor and it launches the game, skips over the intro logos, title screen, and file select, and puts you in the room you want at the position your mouse cursor was at. It makes testing things in a certain room much faster than manually going there. And it loads your save file instead of starting a new game, so you have all your equipment and such.

Thank you. <3 I'm kind of thinking about switching to OoE because it seems like (with the open map pack) it'd be the most fun to make something from, and the Glyph system is probably easier to modify than the Souls.

You are doing an incredible job here and if half as many people made editors this impressive, romhacking would be leaps and bounds beyond where it is.

<3

EDIT:

Could there be a universal Items/Spells/Monster/Weapons set of expansions for DSVedit? Like, these are fake addresses, but pretending there's a huge empty spot at 089910000 in all three, we'd have 089910000 for glyphs/souls, 089A1000 for items, 089B1000 for new monsters, etc.

What does universal set of expansions mean?

If you're asking if DSVEdit could add new things automatically so you don't have to do all that stuff I described manually, then that can only happen once I know what changes need to be made to add new things. The hardest part isn't so much changing the game's code, but rather finding all the different code that needs to be changed since there's so much of it (at least, I think there is). If I ever get it working once manually then getting it working automatically shouldn't be that much harder.

Kudos LagoLumatic.
This seems like a well done editor, though i'm unable to try it out for myself at the time.
One question though, is it possible to edit Dawn of sorrow's crafting system?
Like, which soul do you need for the upgrade and which weapon you will get?

Edit:One more question, do you plan on implementing a way to edit 3d models or at least a way to remove them from certain scenes?

I'll add an editor for the weapon synth system at some point in the near future. It's a pretty simple format so I just need to make a UI for it. And it seems to support items that aren't weapons too, so that could be used for some interesting stuff.

DSVEdit isn't going to have a 3D modelling feature. But I think there might be some existing programs that can edit nsbmd models? You can find the 3D files in the /bm folder of the extracted files.

If you just want to get rid of the 3D backgrounds in some rooms all you have to do is delete the entity from the room.

theplottwist

  • Jr. Member
  • **
  • Posts: 5
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #91 on: April 10, 2017, 01:19:32 pm »
Hello LagoLunatic!

I saw on your new update that there is a sprite skeleton viewer. I also read here by Esco that it's possible to see the animation and save the frames.

Thing is: I can't locate the function at all. Every sprite I know uses puppet/skeleton animation has the button "view skeleton" grayed out. What gives? Here is an example:



What am I missing?

Esco

  • Full Member
  • ***
  • Posts: 119
  • Esco.... nuff said!
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #92 on: April 12, 2017, 04:11:29 am »
Hello LagoLunatic!

I saw on your new update that there is a sprite skeleton viewer. I also read here by Esco that it's possible to see the animation and save the frames.

Thing is: I can't locate the function at all. Every sprite I know uses puppet/skeleton animation has the button "view skeleton" grayed out. What gives? Here is an example:



What am I missing?

It only works for OOE.

BTW where do I know your screen name from? I'm sure I know you.

I see Abster is here too, of course.

Yes, I see you up there as well INCUBUS (Vanya). It's been a bit. How have you been?
Esco.... the original, Nuyorican, Latin Lover! And Creator of the Castlevania: Symphony of the Night hack!

The blog on the Castlevania: SOTN HACKED project: http://sotnhacked.wordpress.com/

NecroCorey

  • Jr. Member
  • **
  • Posts: 12
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #93 on: April 12, 2017, 12:57:43 pm »
It's weird seeing Esco. Haven't seen that name in like 12 years.

LagoLunatic

  • Jr. Member
  • **
  • Posts: 51
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #94 on: April 12, 2017, 02:24:13 pm »

I've got good news. Tadah!



Previously I said I wasn't going to add support for Aria of Sorrow because it would be too hard to support a game from a different console. But I've been looking into it more, and it took a while, but I managed to figure out the tile formats and write code to render rooms.
Once I did that, I realized that the other formats besides those are actually very similiar to DoS, with only minor changes, so they're not nearly as hard to get working as rooms. So far I've got entities, doors, enemies, items, maps, and sprites working.
Of course, support for AoS still has a long way to go before it's at the same level as the DSVanias, some rooms and sprites render incorrectly, a lot of rooms and sprites refuse to render at all, and there's countless other bugs. But I'm gonna work on fixing these.

---

By the way, I finalized and released my patches for DoS:
Touch screen: http://www.romhacking.net/hacks/3408/
Luck: http://www.romhacking.net/hacks/3407/

Anyone who wants to use them for their own hack can do so if they credit me.

Hello LagoLunatic!

I saw on your new update that there is a sprite skeleton viewer. I also read here by Esco that it's possible to see the animation and save the frames.

Thing is: I can't locate the function at all. Every sprite I know uses puppet/skeleton animation has the button "view skeleton" grayed out. What gives? Here is an example:

What am I missing?

As Esco said, the skeleton viewer only works for OoE. The skeleton format is way more complicated and hard to work with in DoS/PoR. I'm not actively trying to figure it out either.

If you want to save the sprite frames, that's in the sprite editor and works in all 3 games. It's the Export button next to the View Skeleton button.
You can't save the skeletal animation keyframes; I render those differently and can't export them easily like sprite frames.

Robpt1

  • Jr. Member
  • **
  • Posts: 13
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #95 on: April 12, 2017, 03:25:33 pm »
Nice job on AoS here's hoping u can do the same for CotM and HoD.

Maybe now it's possible to replace the palette, AoS and HoD, have the colors brightened up to make up for the GBAs dark screen, on an emulator looks kinda bad even with shaders.

justin3009

  • RHDN Patreon Supporter!
  • Hero Member
  • *****
  • Posts: 1492
  • Welp
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #96 on: April 12, 2017, 04:13:27 pm »
Take your time with adding support for AoS and bug fixing the other ones!  This is phenomenal work and you're allowing a whole new world of Castlevania hacking to happen.
'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.'

PachaWillWatchYa

  • Jr. Member
  • **
  • Posts: 49
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #97 on: April 12, 2017, 05:04:47 pm »
I finaly got a chance to try out your editor and it's as great as everyone says it is! :thumbsup:
One thing though, I tried to change the map layout, added new rooms in map editor and got nowhere.
The new rooms won't open, which makes sense since they haven't been "defined"(I don't know how else to explain it, though I'm probably wrong). Is it possible to "define" rooms within the editor?

Esco

  • Full Member
  • ***
  • Posts: 119
  • Esco.... nuff said!
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #98 on: April 12, 2017, 08:30:39 pm »
It's weird seeing Esco. Haven't seen that name in like 12 years.

Sorry but I don't know who you are.

I'm not here much. I used to post about a hack for Castlevania SOTN. But for the last few years I've actually been programming it from scratch (first in gamemaker, then I moved over to Unity which is still in development and very active).

I'm not big on forums in general. Too outdated for me vs alternative modes of communication.
Esco.... the original, Nuyorican, Latin Lover! And Creator of the Castlevania: Symphony of the Night hack!

The blog on the Castlevania: SOTN HACKED project: http://sotnhacked.wordpress.com/

theplottwist

  • Jr. Member
  • **
  • Posts: 5
    • View Profile
Re: DSVania Editor (v1.4)
« Reply #99 on: April 12, 2017, 09:28:06 pm »
It only works for OOE.

BTW where do I know your screen name from? I'm sure I know you.

From the Dungeon, dude  ;)

Also, thank you (and Lago) for explaining what sprites are supported. I was kinda lost there trying to figure it out.