Romhacking.net

Romhacking => Personal Projects => Topic started by: LagoLunatic on February 25, 2017, 06:50:08 pm

Title: DSVania Editor (v1.8.1)
Post by: LagoLunatic on February 25, 2017, 06:50:08 pm
Hey everyone. I've been working on hacking the DS Castlevania games for a while, and I just released the first version of my editor for them: DSVania Editor (http://www.romhacking.net/utilities/1271/)

You can find the latest version here:
https://github.com/LagoLunatic/DSVEdit/releases/latest
If the program isn't launching for you make sure you have the latest version, and also make sure the path you put the program in doesn't have any unicode characters in it, only normal ASCII characters work.

And here's the source code of the program: https://github.com/LagoLunatic/DSVEdit

If you've got questions or anything, feel free to post them here.

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

Changes in v1.8.1 (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.8.1):

Changes in v1.8.0 (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.8.0):

Changes in old versions:
Spoiler:

Changes in v1.7.2 (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.7.2):
  • Added a UI for applying ARMIPS patches from within DSVEdit.
  • Fixed several crashes that could occur in the player state animations editor.
  • Documented more player state animation names.
  • The GFX editor now exports images in RGBA color mode instead of indexed color mode.
  • Fixed some space in several PoR sector overlays being treated as free space despite being used by specific special objects at runtime.

Changes in v1.7 (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.7.0):
  • Added complete support for Harmony of Dissonance.
  • Added a door editor UI so you can edit, add, and remove doors without going through Tiled.
  • Fixed a bug where the free space overlay added by DSVEdit could occupy the same space in memory as certain assets under certain conditions which would cause the game to crash. This change moves where the overlay is loaded in memory, so if you put any custom ASM in the free space overlay with a previous version of DSVEdit, you will need to update the address of free space in your ASM patches and reapply them in order for them to work correctly. The exact addresses you need to change are explained in a popup when you open your project with DSVEdit 1.7.
  • DS games: Added a player state animations editor. This lets you change which animation each player uses for each state.
  • The text editor now splits text into multiple categories to make finding the text you want to edit easier.
  • DoS: Added a magic seal editor.
  • If you change a game file while DSVEdit is open, DSVEdit will now attempt to reload the file automatically, without needing to manually close and reopen DSVEdit. This is useful if you want to e.g. apply an ARMIPS patch quickly.
  • You can now specify which save file slot to use for Build and Test in the settings (e.g. if you want to test on an alternate game mode).
  • The map editor now shows the current number of tiles used and the max allowed number of tiles.
  • You can now increase the height of maps in PoR and OoE. This requires free space. (You still can't increase the total number of tiles on each map).
  • The GFX editor for the DS games can now edit GFX not in individual files, such as parts of the UI.
  • Renamed Byte 5 in the entity editor to Unique ID.
  • Fixed a crash when adding a new layer to a room.
  • Fixed a bug when importing sprites from darkFunction. DSVEdit would import unanimated frames twice, causing the sprite file to become exponentially larger every time you imported it, which could eventually cause the game to crash or the sprite to be invisible ingame.
  • The transparent melee weapon trails in OoE now display correctly in the sprite editor and can be edited properly.
  • AoS: Fixed entities sometimes being reordered incorrectly, which could cause them to not load in properly.
  • AoS: Fixed the item editor mislabeling Strength as "Constitution", Constitution as "Intelligence", and Intelligence as "Mind".
  • AoS: Implemented changing which palette is used by item icons.
  • AoS: Fixed the tileset editor crashing when saving changes.
  • AoS: Boss sprites now display.
  • AoS: Fixed special layers such as the starry sky background in Chaotic Realm not displaying.
  • AoS: Fixed the music editor incorrectly saving music indexes for all sectors except the first.
  • AoS: The room properties editor can now edit the room's LCD control field.
  • AoS: The tileset editor now displays GFX pointers, palette list pointers, and palette indexes correctly.
  • AoS: Documented how enemy soul/item drop chances work.

Changes in v1.6 (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.6.0):
  • Aria of Sorrow support is now complete and on par with the DSVanias. Specifically:
  • AoS: The tileset editor now supports AoS.
  • AoS: The GFX editor now supports AoS.
  • AoS: The music editor now supports AoS.
  • AoS: The text editor can now save modified text.
  • AoS: Adding new entities, layers, and doors to a room now works.
  • AoS: 256 color layers are now supported.
  • AoS: Added boss rush.
  • AoS: Added Julius's skills to the item editor.
  • AoS: Some rooms that previously looked buggy now render correctly.
  • Added a room properties editor. This lets you change the tileset used by the room as well as the room's position on the map.
  • Added a shop editor.
  • The sprite editor now supports exporting sprites to an external program called darkFunction Editor (http://darkfunction.com/editor/) and reimporting them. This allows for much easier sprite editing than with the sprite editor itself.
  • Added a warp room editing mode to the map editor. (Only necessary for DoS/AoS - PoR/OoE detect the position of warp rooms automatically based on the map.)
  • Added collision editing support to the tileset editor.
  • Improved the tileset editor's UI so that you can select multiple tiles at once (https://i.imgur.com/U28g7lw.gifv) instead of editing tiles one-by-one.
  • The GFX editor now supports working with multiple GFX files at once so you can export and import several at a time instead of one-by-one.
  • The GFX editor now has the ability to edit palettes directly within the editor, in addition to exporting and importing from an external program.
  • Added an "Open in GFX Editor" button to the sprite editor, so that you don't need to manually copy paste pointers between the two.
  • DSVEdit's docs now include RAM maps for all four games (https://github.com/LagoLunatic/DSVEdit/tree/master/docs) (and a ROM map for AoS).
  • Added a 64-bit version of DSVEdit. If the regular 32-bit version doesn't launch for you, try the 64-bit version.
  • Fixed a bug when adding new layers where free space could be used twice.
  • Fixed "Add Overlay" in PoR placing the new overlay overlapping sprite data during Whip's Memory fight.
  • Lots of other bug fixes and additions to the documentation.

Changes in v1.5 (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.5.0):
  • Added beta support for Aria of Sorrow. Not all tools support AoS yet, and some of the ones that do have bugs.
  • Added a test room feature. Press F7 to launch the game, loading your first save file, and placing you directly into the room you had open in DSVEdit.
  • Added a feature to add a new overlay file to the game. Once added, this overlay acts as a very large amount of free space you can use for whatever you want, such as custom ASM code.
  • Added a free space manager so DSVEdit now reuses space when adding entities or expanding layers. Previous versions of DSVEdit wasted space every time you added an entity or expanded a layer, but 1.5 now keeps track of that space so it can use it again later on.
  • Added a special object editor.
  • Added a weapon synth editor for DoS.
  • Added RAM map documentation for PoR (https://github.com/LagoLunatic/DSVEdit/blob/master/docs/PoR%20RAM%20Map.txt).
  • Added ASM function documentation (https://github.com/LagoLunatic/DSVEdit/tree/master/docs/asm) for all four games.
  • You can now move entities and doors around within DSVEdit by dragging them. Hold Ctrl to disable 16px grid alignment.
  • Panning the room is now done with middle click or spacebar instead of left click.
  • The sprite editor can now add and remove frames and parts.
  • The layers editor can now edit more layer attributes.
  • Improved text formatting.
  • Fixed ROM being expanded incorrectly, which could cause the game to crash on real hardware and certain emulators.
  • Fixed a bug where newly added map tiles in DoS wouldn't display ingame.
  • Fixed a bug where newly added map tiles in PoR/OoE sometimes wouldn't display ingame if you changed the width of a row on the map.
  • Fixed a bug where the emulator specified in the settings wouldn't be used correctly.
  • Fixed a bug where the GFX editor would import 256 color palettes incorrectly.
  • Fixed various editor crashes.
  • Documented more attributes and variables.

Changes in v1.4 (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.4.0):
  • Added complete support for the Japanese versions of all three games. Japanese text is also now displayed correctly.
  • Added a player character editor.
  • Added a tileset editor.
  • The sprite editor can now edit and save certain things, such as parts and animation speed.
  • The item editor can now edit extra skill data like max projectiles on screen or SP needed to master.
  • The text editor now supports more text commands, such as changing text color.
  • The GFX editor now supports 1-dimensional graphics mode.
  • Added a button to the entity editor to delete the entity from the room.
  • Added an Export button to the sprite editor that saves all of the sprite's frames to the hard drive.
  • Fixed a bug with the map editor where newly added tiles in PoR/OoE wouldn't show up ingame.
  • The sprite skeleton viewer now supports playing skeletal animations.
  • Documented many more attributes and variables for enemies, special objects, and items.

Changes in v1.3 (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.3.0):
  • Added a GFX/palette editor.
  • Added a music editor.
  • (WIP) Added support for the Japanese version of OoE.
  • Documented more item/enemy attributes.

Changes in v1.2 (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.2):
  • Added an item pool editor for OoE's randomly generated chests.
  • Added right click -> Add Entity shortcut.
  • Added more sprites to sprite viewer.
  • Show animation frame delays in sprite viewer.
  • Do not allow expanding sector overlays past the end of the RAM region they're allowed in to prevent data being overwritten.
  • Documented more enemies and special objects.

Title: Re: DSVania Editor
Post by: Sinis on February 25, 2017, 07:01:45 pm
This is...interesting.  I'm gonna have to rethink one project now that I had planned for Circle of the Moon lol.
Title: Re: DSVania Editor
Post by: MathUser2929 on February 26, 2017, 08:56:51 am
You should add a link to the full version on the project page. Cause some poeple don't visit the forum. It's too bad it's over 30 MB so it can't be hosted on this site itself.

Did you talk about this editor somewhere else? It's weird that such a comprehensive editor would come out without having any feedback from people.
Title: Re: DSVania Editor
Post by: azoreseuropa on February 26, 2017, 10:27:14 am
Hey everyone. I've been working on hacking the DS Castlevania games for a while, and I just released the first version of my editor for them:
DSVania Editor (http://www.romhacking.net/utilities/1271/)

And here's the source code of the program: https://github.com/LagoLunatic/DSVEdit

If the version I uploaded to romhacking.net doesn't run for you, try this updated version instead:
https://github.com/LagoLunatic/DSVEdit/releases/download/v1.0/DSVania_Editor_1.0_full.zip

If you've got questions or anything, feel free to post them here.

Neat however you should have European version as well for more friendly also.
Title: Re: DSVania Editor
Post by: LagoLunatic on February 26, 2017, 01:08:37 pm
You should add a link to the full version on the project page. Cause some poeple don't visit the forum. It's too bad it's over 30 MB so it can't be hosted on this site itself.

Just submitted an update to the project page.

Did you talk about this editor somewhere else? It's weird that such a comprehensive editor would come out without having any feedback from people.

Nope. I don't think there are any sites specific to Castlevania romhacking like some series have. I've just been working on it solo.

Neat however you should have European version as well for more friendly also.

I might be able to add support for other versions at some point in the future. Not going to be easy though, since data is all shifted around in RAM in the different versions. And my program needs over 100 pointers for each game, so if I add support for the European and Japanese versions of all three games I'll need to re-find over 600 pointers.
Title: Re: DSVania Editor
Post by: Eternal248 on February 26, 2017, 09:25:49 pm
Great work! I haven't posted on here for a while, but this was a great find. Thank you for creating this wonderful tool. At the moment, can objects only be replaced, or is there some way to add them and add enemies that I'm missing? Thanks again!
Title: Re: DSVania Editor
Post by: LagoLunatic on February 27, 2017, 12:43:16 am
Great work! I haven't posted on here for a while, but this was a great find. Thank you for creating this wonderful tool. At the moment, can objects only be replaced, or is there some way to add them and add enemies that I'm missing? Thanks again!

I'm glad you like it!

Yes, there's a way to add new entities to a room - if you open the room in Tiled, you can duplicate an entity already in the room, then import from Tiled. But I think for the next version I'll add a simpler way to add entities that you can do from in DSVEdit, like right click -> add entity or something.
Title: Re: DSVania Editor
Post by: theplottwist on February 27, 2017, 05:31:14 am
Hello! First of all, your program is incredible and has already given me a lot of fun.

Now, I want to report one thing: Some people have expressed that the program is not working on their machines. This MIGHT have to do with the fact that your program, on startup, locks if the path for the executable has an accent anywhere.

For instance, when I first unpacked the program on my Desktop and tried starting the program, this error came up:

(http://i.imgur.com/pPUfFBl.png)

I then moved the program's folder to C:/, and sure enough, it started with no issues.

Then I put it inside a folder which letter had an accent. BOOM, suddenly it was not starting up anymore. Basically, english has no accents, so if your file path is in english, you're good.
Title: Re: DSVania Editor
Post by: spiffy on February 27, 2017, 06:27:37 am
This program is everything I could have ever dreamed of. Thanks, LagoLunatic!  :thumbsup:

Using this tool, I've been working on a set of patches for all three of the DS Castlevania games that aim to clear up some slightly iffy translations/spellings (very much like Almagest/Radagast's fixes for Aria of Sorrow - in fact, many spellings/translations are pretty much copied wholesale), maintain consistent terminology (where appropriate AND possible), and to to fix any nasty typos and formatting errors within the text.

I'm just about finished, but the only thing I'm having trouble with at the moment is fixing the two remaining typos in Portrait of Ruin: 'Richiter Mode' on the File Select screen and 'Charotte Aulin' on the Equip screen (https://tcrf.net/Castlevania:_Portrait_of_Ruin#Typos (https://tcrf.net/Castlevania:_Portrait_of_Ruin#Typos)).

I've thoroughly looked through all the viewable text and sprites, but I can't seem to locate the appropriate data (maybe its located somewhere else?).
Title: Re: DSVania Editor
Post by: LagoLunatic on February 27, 2017, 09:53:26 am
This program is everything I could have ever dreamed of. Thanks, LagoLunatic!  :thumbsup:

Using this tool, I've been working on a set of patches for all three of the DS Castlevania games that aim to clear up some slightly iffy translations/spellings (very much like Almagest/Radagast's fixes for Aria of Sorrow - in fact, many spellings/translations are pretty much copied wholesale), maintain consistent terminology (where appropriate AND possible), and to to fix any nasty typos and formatting errors within the text.

I'm just about finished, but the only thing I'm having trouble with at the moment is fixing the two remaining typos in Portrait of Ruin: 'Richiter Mode' on the File Select screen and 'Charotte Aulin' on the Equip screen (https://tcrf.net/Castlevania:_Portrait_of_Ruin#Typos (https://tcrf.net/Castlevania:_Portrait_of_Ruin#Typos)).

I've thoroughly looked through all the viewable text and sprites, but I can't seem to locate the appropriate data (maybe its located somewhere else?).

I managed to find them, they're stored as graphics instead of text.
Richiter is in /sc/f_seleob1.dat and Charotte is in /sc/f_equipob0.dat.
DSVEdit can't edit graphics but you can edit them with a generic editor like Tile Molester. For /sc/f_seleob1.dat set Mode: 2-dimensional and Codec: 4bpp linear reverse order. For /sc/f_equipob0.dat set Mode: 1-dimensional and Codec: 4bpp linear reverse order.
Title: Re: DSVania Editor
Post by: NecroCorey on February 27, 2017, 02:15:39 pm
I'm glad you like it!

Yes, there's a way to add new entities to a room - if you open the room in Tiled, you can duplicate an entity already in the room, then import from Tiled. But I think for the next version I'll add a simpler way to add entities that you can do from in DSVEdit, like right click -> add entity or something.
I popped in to ask if you had plans to make entities easier and you had already decided to do so. You're a legend.
Title: Re: DSVania Editor
Post by: Eternal248 on February 27, 2017, 07:33:14 pm
Question. I just made a basic edit to test things out. In this case, adding some Zombies to one of the first rooms in PoR. I selected Build, but nothing is happening. I just get a Waiting screen that never progresses. What am I doing wrong?

EDIT: Reopening the editor seemed to work. Such cool stuff!
Title: Re: DSVania Editor
Post by: spiffy on February 28, 2017, 01:56:48 am
I managed to find them, they're stored as graphics instead of text.
Richiter is in /sc/f_seleob1.dat and Charotte is in /sc/f_equipob0.dat.
DSVEdit can't edit graphics but you can edit them with a generic editor like Tile Molester. For /sc/f_seleob1.dat set Mode: 2-dimensional and Codec: 4bpp linear reverse order. For /sc/f_equipob0.dat set Mode: 1-dimensional and Codec: 4bpp linear reverse order.

Those tips you gave for locating the graphics in Tile Molester were a lifesaver (probably never would have found them otherwise)! Both typos are now fixed.

Those patches should be coming soon once I've done a bit of play-testing.
Title: Re: DSVania Editor
Post by: LagoLunatic on February 28, 2017, 05:22:28 pm
I just released version 1.2 (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.2). It adds an easier way of adding entities to a room, an editor for the item pools used by OoE's random chests, and fixes some bugs.

Then I put it inside a folder which letter had an accent. BOOM, suddenly it was not starting up anymore. Basically, english has no accents, so if your file path is in english, you're good.

Thanks for letting me know. I don't think there's any way for me to fix that but I mentioned it in the readme so hopefully that will help anyone having that problem.
Title: Re: DSVania Editor
Post by: DarkPrinceAlucard on February 28, 2017, 05:49:09 pm
Another issue I have been running into is with the item editor, anytime I change something within it and hit the apply button the whole thing just freezes up on me.

The game in question is Castlevania Dawn of Sorrow.
Title: Re: DSVania Editor
Post by: Abster on February 28, 2017, 06:17:36 pm
I love these 3 games and am quite interested in playing around with this...
Title: Re: DSVania Editor
Post by: LagoLunatic on February 28, 2017, 06:48:20 pm
Another issue I have been running into is with the item editor, anytime I change something within it and hit the apply button the whole thing just freezes up on me.

The game in question is Castlevania Dawn of Sorrow.

Looks like I made a mistake when adding bitfields to the item editor and never noticed it. I uploaded a hotfix for that bug:
https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.2.1
Title: Re: DSVania Editor
Post by: ShadowOne333 on February 28, 2017, 07:50:10 pm
Impressive utility!
Thank you for making this!

One thing I wanted to ask is if this tool has sprite editing support, and if so how deep into sprites does it go?
I ask because I have a project regarding both Dawn of Sorrow and Portrait of Ruin on the works:
http://www.romhacking.net/forum/index.php/topic,22445.0.html

I basically am editing all of the portraits in both games to give them a proper Kojima like art style instead of anime, and if your tool has support for editing the portraits and HUDs then it might make my life a lot easier haha.
Title: Re: DSVania Editor
Post by: DarkPrinceAlucard on February 28, 2017, 08:01:59 pm
Impressive utility!
Thank you for making this!

One thing I wanted to ask is if this tool has sprite editing support, and if so how deep into sprites does it go?
I ask because I have a project regarding both Dawn of Sorrow and Portrait of Ruin on the works:
http://www.romhacking.net/forum/index.php/topic,22445.0.html

I basically am editing all of the portraits in both games to give them a proper Kojima like art style instead of anime, and if your tool has support for editing the portraits and HUDs then it might make my life a lot easier haha.

I've been playing around with the tool all day and I have to say I have not seen anything related to editing the sprites, in fact in the readme file it makes it clear that the sprites are only for viewing purposes.

Pretty much as it is right now this tool would be helpful for sprite ripping and getting game assets rather than actually editing the sprites ingame itself.
Title: Re: DSVania Editor
Post by: MathUser2929 on February 28, 2017, 10:51:51 pm
Just so you know, theres a thread for this at CV Dungeon.

http://castlevaniadungeon.net/forums/index.php?topic=9047
Title: Re: DSVania Editor
Post by: Esco on March 01, 2017, 02:42:33 am
Well, it's not often that I say this but: I'm impressed. VERY impressed. This is an amazing piece of work.  :thumbsup: You have perfect timing with it too: I am about to start setting up the animations/hitboxes for a LOT of the enemies in my Castlevania: SOTN engine. This will actually make it a lot faster to do for the SOTN enemies that appear in any of the 3 DS-vanias.

I do have one question, though: when I try to use the sprite editor for Portrait of ruin the app freezes and in the dos box for the exe I see this:
Error: NoMethodError: undefined method 'lines' for nil:NilClass

This is followed by a bunch more lines after (I have included a screenshot with this post). The app itself is frozen but if I hit enter in the dos box it closes them both. However, the sprite editors works fine for both OOE or DOS. Is this still WIP and currently broken with POR or is there currently a fix for it? I am using windows 7 64 bit edition

(http://i143.photobucket.com/albums/r160/Esco1979/error_zps8sf9eom4.jpg).
Title: Re: DSVania Editor
Post by: LagoLunatic on March 01, 2017, 10:07:57 am
Impressive utility!
Thank you for making this!

One thing I wanted to ask is if this tool has sprite editing support, and if so how deep into sprites does it go?
I ask because I have a project regarding both Dawn of Sorrow and Portrait of Ruin on the works:
http://www.romhacking.net/forum/index.php/topic,22445.0.html

I basically am editing all of the portraits in both games to give them a proper Kojima like art style instead of anime, and if your tool has support for editing the portraits and HUDs then it might make my life a lot easier haha.

Right now DSVEdit doesn't have anything that could help you. It can view most sprites in the game, but not those portraits (since they're just static images, not moving sprites). It can't edit any graphics. And I don't know where the portrait's palettes are specifically.

That said, those could change at some point. It might be possible for me to write a tool that exports graphics to png, then after they've been modified re-imports them in the format the game needs.

I do have one question, though: when I try to use the sprite editor for Portrait of ruin the app freezes and in the dos box for the exe I see this:
Error: NoMethodError: undefined method 'lines' for nil:NilClass

This is followed by a bunch more lines after (I have included a screenshot with this post). The app itself is frozen but if I hit enter in the dos box it closes them both. However, the sprite editors works fine for both OOE or DOS. Is this still WIP and currently broken with POR or is there currently a fix for it? I am using windows 7 64 bit edition

Oops. The sprite viewer worked fine in PoR, but I made a small tweak to object names in the sprite viewer and forgot to test it with PoR. Here's a patch:
https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.2.2
Title: Re: DSVania Editor
Post by: ShadowOne333 on March 01, 2017, 11:50:15 am
Right now DSVEdit doesn't have anything that could help you. It can view most sprites in the game, but not those portraits (since they're just static images, not moving sprites). It can't edit any graphics. And I don't know where the portrait's palettes are specifically.

That said, those could change at some point. It might be possible for me to write a tool that exports graphics to png, then after they've been modified re-imports them in the format the game needs.
The thread I linked in my post has most of the information you need.
Exact address of each portrait sprite, palette address, how to view them, what bpp they are, etc.
In case you need the info, it's there. :)
All of this for both DoS and PoR too, we didn't touch Order of Ecclesia because that one already had Kojima artstyle for the portraits.
DarkSamus was the one who did all that work.
Title: Re: DSVania Editor
Post by: Esco on March 01, 2017, 11:19:43 pm
Oops. The sprite viewer worked fine in PoR, but I made a small tweak to object names in the sprite viewer and forgot to test it with PoR. Here's a patch:
https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.2.2

Thanks it works fine now. Are you planning on eventually enabling skeletons in POR & DOS like you did in OOE? I have to say that I'm AMAZED you were actually able to get the keyframes to show up along with the actual bones for even one of the games. The code for it gets pretty damn messy in SOTN, so I can only imagine what the code is like in these games. That's seriously impressive.
Title: Re: DSVania Editor
Post by: LagoLunatic on March 02, 2017, 12:23:25 pm
Thanks it works fine now. Are you planning on eventually enabling skeletons in POR & DOS like you did in OOE? I have to say that I'm AMAZED you were actually able to get the keyframes to show up along with the actual bones for even one of the games. The code for it gets pretty damn messy in SOTN, so I can only imagine what the code is like in these games. That's seriously impressive.

Thanks! Yeah, it was hard figuring out the skeleton format, the code is so complicated I just opted to change things at random and see what it affected in game, only reading the code for certain things. If you're curious about it here are my notes on the skeleton format:
https://github.com/LagoLunatic/DSVEdit/blob/master/docs/formats/Skeleton%20File%20Format.txt

For DoS and PoR the skeletons were compiled differently I think, so rather than them having their own files they're all hardcoded into overlay files for each enemy. It might just be impossible to parse these depending on how hardcoded it is. But it's too soon to say for sure, some of the sprite files are hardcoded and I found a way to display those.

The thread I linked in my post has most of the information you need.
Exact address of each portrait sprite, palette address, how to view them, what bpp they are, etc.
In case you need the info, it's there. :)
All of this for both DoS and PoR too, we didn't touch Order of Ecclesia because that one already had Kojima artstyle for the portraits.
DarkSamus was the one who did all that work.

Well good news, I managed to get a gfx editor working!

(http://i.imgur.com/i0JTxv1.png)

It's not done yet but it should be in the next version.

You need to know the filename and palette pointer to export it, and then you can edit the gfx and palette separately and reimport them. Note that my program needs RAM palette pointers to work, but thanks to the ROM pointers DarkSamus posted I managed to find the game's list of palettes for each portrait.

By the way, in your thread you said you were interested in removing the magic seals from bosses? I've got a patch that makes it act like julius mode (ends instantly without needing the touchscreen) if you want, though I've barely tested it at all.
Title: Re: DSVania Editor
Post by: ShadowOne333 on March 02, 2017, 12:51:23 pm
Well good news, I managed to get a gfx editor working!

(http://i.imgur.com/i0JTxv1.png)

It's not done yet but it should be in the next version.

You need to know the filename and palette pointer to export it, and then you can edit the gfx and palette separately and reimport them. Note that my program needs RAM palette pointers to work, but thanks to the ROM pointers DarkSamus posted I managed to find the game's list of palettes for each portrait.

By the way, in your thread you said you were interested in removing the magic seals from bosses? I've got a patch that makes it act like julius mode (ends instantly without needing the touchscreen) if you want, though I've barely tested it at all.

Oh wow, that's wonderful!
Is it me or did you manage to increase the size of the portraits a bit?
I don't remember them being that big :P

I would be interested in giving it a try once it is finished, hopefully that will make importing the portraits easier for the project. :D

Oh and yeah, the idea did come out to hopefully have a patch available which makes the main game act as Julius Mode, in which you do not even have to touch the screen to make it draw the seal and beat the boss.
It'd be awesome if you managed to achieve that!
Title: Re: DSVania Editor
Post by: JohannGralog on March 02, 2017, 04:07:24 pm
Kojima artstyle for the portraits.
Not quite, but at least less jarring than the anime-style portraits.
By the way, in your thread you said you were interested in removing the magic seals from bosses? I've got a patch that makes it act like julius mode (ends instantly without needing the touchscreen) if you want, though I've barely tested it at all.
That would really improve Dawn of Sorrow a lot.
I would be interested in giving it a try once it is finished, hopefully that will make importing the portraits easier for the project. :D
If the palette editing is straight-forward, some portraits could benefit from that as well. Yoko, Celia, perhaps Julius too.
Title: Re: DSVania Editor
Post by: DarkPrinceAlucard on March 02, 2017, 05:30:00 pm
Hello I have another question, is there a chance in the future that we will see this tool expanded to including music hacking as well? I really only want to switch some of the tracks around such as adding Bloody Tears to the maingame of DOS since it only appears in Julius Mode.
Title: Re: DSVania Editor
Post by: LagoLunatic on March 02, 2017, 07:15:17 pm
Hello I have another question, is there a chance in the future that we will see this tool expanded to including music hacking as well? I really only want to switch some of the tracks around such as adding Bloody Tears to the maingame of DOS since it only appears in Julius Mode.

Yes I'm going to add a way to edit the song that plays in each area. I know where that data is in OoE and PoR but still need to find it for DoS.
Title: Re: DSVania Editor
Post by: Eternal248 on March 02, 2017, 10:36:43 pm
A few questions- is it yet known how to edit an enemy's attack speed? I think increasing the movement/attack speed of certain bosses could lead to some fun, frantic boss fights. Also, more of a general community question, has anyone figured out which Unknown spell/soul Attack Power is yet? I haven't messed with them yet and didn't know if anyone's tinkered with them yet.
Title: Re: DSVania Editor
Post by: MathUser2929 on March 02, 2017, 10:45:58 pm
Thanks! Yeah, it was hard figuring out the skeleton format, the code is so complicated I just opted to change things at random and see what it affected in game, only reading the code for certain things. If you're curious about it here are my notes on the skeleton format:
https://github.com/LagoLunatic/DSVEdit/blob/master/docs/formats/Skeleton%20File%20Format.txt

For DoS and PoR the skeletons were compiled differently I think, so rather than them having their own files they're all hardcoded into overlay files for each enemy. It might just be impossible to parse these depending on how hardcoded it is. But it's too soon to say for sure, some of the sprite files are hardcoded and I found a way to display those.

Well good news, I managed to get a gfx editor working!

(http://i.imgur.com/i0JTxv1.png)

It's not done yet but it should be in the next version.

You need to know the filename and palette pointer to export it, and then you can edit the gfx and palette separately and reimport them. Note that my program needs RAM palette pointers to work, but thanks to the ROM pointers DarkSamus posted I managed to find the game's list of palettes for each portrait.

By the way, in your thread you said you were interested in removing the magic seals from bosses? I've got a patch that makes it act like julius mode (ends instantly without needing the touchscreen) if you want, though I've barely tested it at all.

I'd like that patch. Who is it by? What regions are supported?
Title: Re: DSVania Editor
Post by: LagoLunatic on March 02, 2017, 11:18:27 pm
A few questions- is it yet known how to edit an enemy's attack speed? I think increasing the movement/attack speed of certain bosses could lead to some fun, frantic boss fights. Also, more of a general community question, has anyone figured out which Unknown spell/soul Attack Power is yet? I haven't messed with them yet and didn't know if anyone's tinkered with them yet.

One thing you could do to make enemies attack faster is reduce the the enemy sprite's attack animation frame delays. e.g. Half delay -> attacks twice as fast.
But the sprite viewer can't save any changes yet so the only way to do that right now is using a hex editor. And there tend to be a lot of frame delays so it could get tedious.

I found soul/skill attack power a couple days ago, if you're using the latest version it should show up.

I'd like that patch. Who is it by? What regions are supported?

It's by me, USA only. The armips patch is here:
https://github.com/LagoLunatic/DSVEdit/blob/master/asm/dos_skip_drawing_seals.asm
But after testing it for just a minute I noticed a bug where if you use the practice seals menu the game will softlock. So it still needs some work.

March 05, 2017, 01:47:14 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Just released v1.3 (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.3.0), with a gfx editor and a music editor. Get it while it's hot!

@ShadowOne333
Here's the list of palette pointers you need to edit the portraits.
For dos:
Code: [Select]
/sc/f_fsoma0.dat 022C64D8
/sc/f_fsoma1.dat 022C64D8
/sc/f_fsoma2.dat 022C64D8
/sc/f_fsoma3.dat 022C64D8
/sc/f_fsoma4.dat 022C64FC
/sc/f_fsoma5.dat 022C64FC
/sc/f_fsoma6.dat 022C6520
/sc/f_fmina0.dat 022C6544
/sc/f_fmina1.dat 022C6544
/sc/f_fmina2.dat 022C6544
/sc/f_fmina3.dat 022C65B0
/sc/f_fmina4.dat 022C6568
/sc/f_fmina5.dat 022C658C
/sc/f_farik0.dat 022C65D4
/sc/f_farik1.dat 022C661C
/sc/f_farik2.dat 022C65F8
/sc/f_fyoko0.dat 022C6688
/sc/f_fyoko1.dat 022C6688
/sc/f_fyoko2.dat 022C6688
/sc/f_fyoko3.dat 022C6688
/sc/f_fyoko4.dat 022C6688
/sc/f_fjuli0.dat 022C6640
/sc/f_fjuli1.dat 022C6640
/sc/f_fjuli2.dat 022C6664
/sc/f_fhume0.dat 022C66AC
/sc/f_fhume1.dat 022C66AC
/sc/f_fhume2.dat 022C66AC
/sc/f_fseri0.dat 022C66D0
/sc/f_fseri1.dat 022C66D0
/sc/f_fseri2.dat 022C66D0
/sc/f_fseri3.dat 022C66D0
/sc/f_fdari0.dat 022C66F4
/sc/f_fdari1.dat 022C66F4
/sc/f_fdari2.dat 022C66F4
/sc/f_fdari3.dat 022C66F4
/sc/f_fdomi0.dat 022C6718
/sc/f_fdomi1.dat 022C6718
/sc/f_fdomi2.dat 022C6718
/sc/f_fdomi3.dat 022C673C
/sc/f_fsoma7.dat 022C64D8
/sc/f_fsoma8.dat 022C64D8

For por:
All of them use 022C5860
Title: Re: DSVania Editor (v1.3)
Post by: Robpt1 on March 05, 2017, 03:42:11 pm
Wow amazing tool, are you planning to support the GBAvanias and SOTN sometime ?
Title: Re: DSVania Editor (v1.3)
Post by: LagoLunatic on March 05, 2017, 06:30:52 pm
Wow amazing tool, are you planning to support the GBAvanias and SOTN sometime ?

No, it seems like the dsvania and gbavania game engines are similar at their core but the difference in the consoles would make it hard to support them, and I'd need to find the locations of everything all over again for those games too.
Title: Re: DSVania Editor
Post by: Esco on March 05, 2017, 10:58:46 pm
Thanks! Yeah, it was hard figuring out the skeleton format, the code is so complicated I just opted to change things at random and see what it affected in game, only reading the code for certain things. If you're curious about it here are my notes on the skeleton format:
https://github.com/LagoLunatic/DSVEdit/blob/master/docs/formats/Skeleton%20File%20Format.txt

For DoS and PoR the skeletons were compiled differently I think, so rather than them having their own files they're all hardcoded into overlay files for each enemy. It might just be impossible to parse these depending on how hardcoded it is. But it's too soon to say for sure, some of the sprite files are hardcoded and I found a way to display those.

Good god, looking at that file just gave me flashbacks! I swear I think I have some SERIOUS PTSD going from my time hacking Symphony of the Night for the PSX! Lol.

That's pretty much how I learned about SOTN: a lot of data corrupting, changing values for pointers in RAM, and a lot of liquor and praying.  :banghead:
Title: Re: DSVania Editor
Post by: acediez on March 07, 2017, 05:50:34 pm
(http://i.imgur.com/i0JTxv1.png)

By the way, we're done with the portraits hack (http://www.romhacking.net/forum/index.php/topic,22445.msg331463.html#msg331463), ShadowOne333 just submitted it to the site.

Now I'm very looking forward to what other hacks you guys can come up with. I heard there's a chance you can completely remove the seals at the end of boss battles? If so, I'll be saving my playthrough with the new portraits until that's done!  ;D
Title: Re: DSVania Editor (v1.3)
Post by: DarkPrinceAlucard on March 07, 2017, 10:12:56 pm
Hey LagLunatic I have 1 more question, is there a method to use this tool to get the palette address for the main character sprites?

The method I used to get palettes for other games for some reason does not work with the DS vanias since even when I get all 16 colors for the palette it for some reason does not find it within HxD, its very weird and I wanted to know if there was a for sure way of getting those palettes so I can do sprite hacks for OOE,DOS,or POR.
Title: Re: DSVania Editor (v1.3)
Post by: LagoLunatic on March 07, 2017, 10:32:30 pm
Hey LagLunatic I have 1 more question, is there a method to use this tool to get the palette address for the main character sprites?

The method I used to get palettes for other games for some reason does not work with the DS vanias since even when I get all 16 colors for the palette it for some reason does not find it within HxD, its very weird and I wanted to know if there was a for sure way of getting those palettes so I can do sprite hacks for OOE,DOS,or POR.

The sprite editor knows where the player palettes are. Open it up, go to the "Other" tab and find the player, then in the upper right corner of the sprite editor it shows the palette RAM pointer. And then the GFX editor can help you edit the palette if you give it that pointer.
Title: Re: DSVania Editor (v1.3)
Post by: DarkPrinceAlucard on March 08, 2017, 12:50:22 am
The sprite editor knows where the player palettes are. Open it up, go to the "Other" tab and find the player, then in the upper right corner of the sprite editor it shows the palette RAM pointer. And then the GFX editor can help you edit the palette if you give it that pointer.

Ok maybe I'm doing something wrong, everytime I copy and paste the palette pointer address within the gfx editor and click view it says  "couldn't find file path", I even pasted the pointer for the GFXs and everytime I paste the address within their respective fields I still get the can't find file path error.

EDIT, nevermind, I found that you have to paste the actual file destination within the GFX box and not the gfx pointer numbers, its working now. ;D

EDIT 2

Yep just tested it and now I'm able to import sprites!

This tool really has opened the door for DSvania hacking for me, I'm definitely moving on the those once I finish up my Aria of Sorrow hack, look who just appeared within Order of Ecclessia. :happy:

(http://i.imgur.com/vnQtdUT.png)
Title: Re: DSVania Editor (v1.3)
Post by: Robpt1 on March 08, 2017, 11:45:26 am
In your DSvania editor folder there are some asm files, how do i patch them into the game ?
Title: Re: DSVania Editor (v1.3)
Post by: MathUser2929 on March 08, 2017, 11:48:25 am
By the way, we're done with the portraits hack (http://www.romhacking.net/forum/index.php/topic,22445.msg331463.html#msg331463), ShadowOne333 just submitted it to the site.

Now I'm very looking forward to what other hacks you guys can come up with. I heard there's a chance you can completely remove the seals at the end of boss battles? If so, I'll be saving my playthrough with the new portraits until that's done!  ;D

There's already patches for that on the main site. You just have to do the first line then it autocompletes.
Title: Re: DSVania Editor (v1.3)
Post by: LagoLunatic on March 08, 2017, 01:54:57 pm
In your DSvania editor folder there are some asm files, how do i patch them into the game ?

Those are ARMIPS (https://github.com/Kingcom/armips) patch files. I'm planning to include a UI in DSVEdit to patch them at some point.

If you want to do it manually right now, here's how:

Just be aware that most of my asm patches are still buggy and poorly tested. The only two that I'm pretty sure are bug-free are "por_allow_changing_starting_room.asm" (which DSVEdit already applies automatically) and "ooe_nonlinear.asm" (which you might want to just download this hack (http://www.romhacking.net/hacks/3337/) for, since the hack has more changes on top of the asm code).
Title: Re: DSVania Editor (v1.3)
Post by: Robpt1 on March 08, 2017, 04:06:11 pm
Those are ARMIPS (https://github.com/Kingcom/armips) patch files. I'm planning to include a UI in DSVEdit to patch them at some point.

If you want to do it manually right now, here's how:
  • Download ARMIPS
  • Open the folder full of extracted game files
  • Put armips.exe and the asm file you want to apply in the that folder
  • Open a command prompt and type in: armips.exe name_of_asm_file.asm
  • After patching the files you can open the folder up in DSVEdit and build a ROM

Just be aware that most of my asm patches are still buggy and poorly tested. The only two that I'm pretty sure are bug-free are "por_allow_changing_starting_room.asm" (which DSVEdit already applies automatically) and "ooe_nonlinear.asm" (which you might want to just download this hack (http://www.romhacking.net/hacks/3337/) for, since the hack has more changes on top of the asm code).

I managed to patch it with the no seal drawing thanks, if i find any bugs ill post them here. This finally made DoS playable for me. Oh and is it possible to create a patch to smash those ice blocks like in julius mode ?
Title: Re: DSVania Editor (v1.3)
Post by: gaiamegu64 on March 08, 2017, 04:51:05 pm
Is there anyway this can work on Windows XP64? Cause this thing wont work on my computer.
Title: Re: DSVania Editor (v1.3)
Post by: Dev Anj on March 08, 2017, 09:30:10 pm
Congratulations on getting this released! This is quite a powerful tool and I'm sure will help the modding scene for the 3 DS Castlevania games greatly.

Just a few questions though. I've noticed while mucking about with it in a Portrait of Ruin ROM that the enemies physical defenses are displayed but not their magical defenses. Will they be listed at some point? I would also like it if you would be able to find where the values for spell charge timers and the values for the stat boost subweapons and spells are stored, it would immensely help with the mod I'm making for it.

Thanks again very much for such a powerful tool!
Title: Re: DSVania Editor (v1.3)
Post by: LagoLunatic on March 09, 2017, 01:44:50 am
Oh and is it possible to create a patch to smash those ice blocks like in julius mode ?

That's a nice idea! I think I managed to get it working, test it out if you want to.
https://github.com/LagoLunatic/DSVEdit/blob/master/asm/dos_melee_balore_blocks.asm

Is there anyway this can work on Windows XP64? Cause this thing wont work on my computer.

Are you sure there's no special characters in the path you have the program in? It only works if the path is all normal ascii characters.

If that's not it, then I need to know what the error message is to try to help.

Congratulations on getting this released! This is quite a powerful tool and I'm sure will help the modding scene for the 3 DS Castlevania games greatly.

Just a few questions though. I've noticed while mucking about with it in a Portrait of Ruin ROM that the enemies physical defenses are displayed but not their magical defenses. Will they be listed at some point? I would also like it if you would be able to find where the values for spell charge timers and the values for the stat boost subweapons and spells are stored, it would immensely help with the mod I'm making for it.

Thanks again very much for such a powerful tool!

Thanks, I'm interested to see what you can make with it. :)

Magic defenses: It looks like it's Unknown 3. I'll update the name for the next version, and the ones for OoE too.

Spell charge timers: I found the list containing these and other interesting skill data as well, it's at 020E3B14. I'll add an editor for these at some point.

Stat boosts: The amount these boost by is hardcoded, it's always 0x0F for all of them, multiplied by 2 if fully charged, divided by 2 if ALL Boost.
If you want to change that 0x0F to something else it's the byte at 021EF088, or in terms of files it's at offset 21128 within file overlay9_0. This will affect all 6 boost spells.
Title: Re: DSVania Editor (v1.3)
Post by: JohannGralog on March 09, 2017, 03:52:19 am
That's a nice idea! I think I managed to get it working, test it out if you want to.
https://github.com/LagoLunatic/DSVEdit/blob/master/asm/dos_melee_balore_blocks.asm
Is it still tied to the Balore soul?
Title: Re: DSVania Editor (v1.3)
Post by: theplottwist on March 09, 2017, 09:18:24 am
Hey LagoLunatic, it's me again!

I have a question that might not have an easy answer: Could you please tell me the GFX file path of the title screen logos for the three games along with their palette pointers?

This could prove extremelly useful for translation hacks. Thank you in advance!

EDIT: I DID manage to locate the graphic files (they're generally a variation of "f_tlog"), but no luck with palettes :(
Title: Re: DSVania Editor (v1.3)
Post by: Robpt1 on March 09, 2017, 10:33:53 am
Aw man thanks, i will test out the ice block patch as well, the less annoying gimmicks the game has the better.
Title: Re: DSVania Editor (v1.3)
Post by: LagoLunatic on March 09, 2017, 10:49:59 am
Is it still tied to the Balore soul?

No but that would make sense so the soul isn't completely useless.

I updated the patch to check for the balore soul.
https://github.com/LagoLunatic/DSVEdit/blob/master/asm/dos_melee_balore_blocks.asm
Title: Re: DSVania Editor (v1.3)
Post by: Robpt1 on March 09, 2017, 11:31:32 am
No but that would make sense so the soul isn't completely useless.

I updated the patch to check for the balore soul.
https://github.com/LagoLunatic/DSVEdit/blob/master/asm/dos_melee_balore_blocks.asm

I tested it out it works, but you're gonna need an overhead attack weapon like a greatsword, axe or mace to get through them. Alucard and Yoko can't break them in Julius mode
Title: Re: DSVania Editor (v1.3)
Post by: JohannGralog on March 09, 2017, 12:04:22 pm
No but that would make sense so the soul isn't completely useless.

I updated the patch to check for the balore soul.
https://github.com/LagoLunatic/DSVEdit/blob/master/asm/dos_melee_balore_blocks.asm
Awesome.

For the not-drawing-seals bug, in case you haven’t considered it: how feasible is it to just remove that option from the menu?

With ice blocks and seals, that only leaves the "Sign your name" thing and the Demon Guesthouse puzzle for touchscreen gimmicks, right? Or am I forgetting anything?
Title: Re: DSVania Editor (v1.3)
Post by: LagoLunatic on March 09, 2017, 01:02:39 pm
I tested it out it works, but you're gonna need an overhead attack weapon like a greatsword, axe or mace to get through them. Alucard and Yoko can't break them in Julius mode

For Yoko, it seems she doesn't use a weapon and her melee attacks are part of her player sprite, I'm not sure it's possible to make her break balore blocks.

But for Alucard I fixed it easy, patch is updated.

Awesome.

For the not-drawing-seals bug, in case you haven’t considered it: how feasible is it to just remove that option from the menu?

With ice blocks and seals, that only leaves the "Sign your name" thing and the Demon Guesthouse puzzle for touchscreen gimmicks, right? Or am I forgetting anything?

Not-drawing-seals bug: You mean the softlock in the practice seal menu? I updated the patch a couple days ago so it just draws the seal for you (since removing the option from the menu would probably be complicated).

Name signing: Actually made a patch for that a few weeks ago. It just skips that screen entirely and immediately starts a new game.
https://github.com/LagoLunatic/DSVEdit/blob/master/asm/dos_skip_name_signing.asm

The sliding puzzle in demon guest house doesn't require the touch screen, you can use the dpad and A button too.

I'm pretty sure that covers everything that forces you to use the touchscreen. But I plan to play through the game with these patches on to check for bugs so I'll find out then if we forgot anything.
Title: Re: DSVania Editor (v1.3)
Post by: Robpt1 on March 09, 2017, 01:06:50 pm
You could make the ice blocks breakable with bullet soul and magic attacks, would probably work for Yoko and make it less of a chore.

There is one more "harmless" gimmick, the enemy names don't show up on the bottom screen like in the other castlevanias, don't know if it possible to do add it though
Title: Re: DSVania Editor (v1.3)
Post by: JohannGralog on March 09, 2017, 01:32:24 pm
I'm pretty sure that covers everything that forces you to use the touchscreen. But I plan to play through the game with these patches on to check for bugs so I'll find out then if we forgot anything.
Thank you for this.  :)
Title: Re: DSVania Editor (v1.3)
Post by: ShadowOne333 on March 09, 2017, 02:56:30 pm
@LagoLunatic, will you be releasing the Skip Drawing Seals + Break Ice Blocks w/Weapon + Name Skip patch separately?
Sounds like that sort of patch for DoS will make it so that we can avoid the touchscreen BS the DS had completely. :P
Hey that's a new nickname:
BS DS = Official term for touchscreen-forced gimmicks in games.

I ask because I wanted to give the full patch (Auto-Seals + Break Ice Blocks w/Weapon + Name Skip) a try this weekend.
And if you are okay with it, include it into the Portraits hack as an optional patch. (With proper credit of course)
Title: Re: DSVania Editor (v1.3)
Post by: LagoLunatic on March 09, 2017, 09:25:45 pm
@LagoLunatic, will you be releasing the Skip Drawing Seals + Break Ice Blocks w/Weapon + Name Skip patch separately?
Sounds like that sort of patch for DoS will make it so that we can avoid the touchscreen BS the DS had completely. :P
Hey that's a new nickname:
BS DS = Official term for touchscreen-forced gimmicks in games.

I ask because I wanted to give the full patch (Auto-Seals + Break Ice Blocks w/Weapon + Name Skip) a try this weekend.
And if you are okay with it, include it into the Portraits hack as an optional patch. (With proper credit of course)

Yes I'm going to submit it to RHDN once I think it's ready.

Here's an ips patch with the three patches so far combined for anyone who wants to help test.
https://www.dropbox.com/s/my4h885jt84f222/dos_no_forced_touch_screen.ips?dl=0

And sure, once it's done you can feel free to include it in your portrait hack.
Title: Re: DSVania Editor (v1.3)
Post by: Dev Anj on March 09, 2017, 09:47:06 pm
Man, you really are great! How did you figure out so fast what all these addresses and stuff mean though? Did you have to painstakingly hunt down the variables in the ROM or do you have the ROM extract its files and code into a more convenient readable format(before this editor came out anyway!)?
Title: Re: DSVania Editor (v1.3)
Post by: LagoLunatic on March 09, 2017, 10:41:46 pm
Man, you really are great! How did you figure out so fast what all these addresses and stuff mean though? Did you have to painstakingly hunt down the variables in the ROM or do you have the ROM extract its files and code into a more convenient readable format(before this editor came out anyway!)?

When I first started hacking these games a year ago I basically knew nothing about how to rom hack, so what I did back then was just changing random parts of the rom file (using this program (http://corruptedbytes.com/the-vinesauce-rom-corruptor/)) and seeing what it affected, eventually narrowing it down to the part of the rom that had stuff I wanted to edit. This was a very slow, painful process that I don't recommend to anyone, but it's what got me into hacking.

I gradually figured out better methods though, and nowadays what I do when I want to find something usually boils down to three steps:
1. Use DeSmuMe's RAM search feature to find certain variables in ram. For example if I wanted to find the player's STR I could search for numbers equal to the player's current STR, then equip different gear and search again for the new value, etc, until I've narrowed it down to just a couple values.
2. Once I know where a variable is in RAM I use No$gba Debugger to set a breakpoint on that address. This lets me find the code that writes/reads that variable, and then I can read the code to find out what it does. Usually this lets me find the location of a list of useful data without too much trouble.
3. Then I just play around with the data in the list to see what changing it at random affects, documenting what all the different values do. Once I've figured out a good chunk of it I can write a program that reads and edits this list.
Title: Re: DSVania Editor (v1.3)
Post by: Robpt1 on March 20, 2017, 12:29:28 pm
I played through the whole game including Julius mode with the IPS patch and found no issues
Title: Re: DSVania Editor (v1.4)
Post by: LagoLunatic on March 20, 2017, 05:06:19 pm
v1.4 is released! (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.4.0) 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
Title: Re: DSVania Editor (v1.4)
Post by: Abster on March 21, 2017, 01:41:53 am
I wonder how easy it would be to port monsters between the 3 games?
Title: Re: DSVania Editor (v1.4)
Post by: NecroCorey on March 21, 2017, 02:10:58 am
Looks super dope. Keep up the great work man.
Title: Re: DSVania Editor (v1.4)
Post by: spiffy on March 21, 2017, 07:41:59 am
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?
Title: Re: DSVania Editor (v1.4)
Post by: LagoLunatic on March 21, 2017, 05:06:05 pm
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 (https://github.com/LagoLunatic/DSVEdit/blob/master/asm/dos_fix_luck.asm) 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 wonder how easy it would be to port monsters between the 3 games?

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.

Looks super dope. Keep up the great work man.

Thanks!

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 (http://tasvideos.org/ListOfIdeas/NDS.html) 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?
Title: Re: DSVania Editor (v1.4)
Post by: Robpt1 on March 21, 2017, 05:26:56 pm
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
Title: Re: DSVania Editor (v1.4)
Post by: Abster on March 22, 2017, 01:03:24 am
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.
Title: Re: DSVania Editor (v1.4)
Post by: spiffy on March 22, 2017, 04:06:07 am
Quote
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?

Ah, that was the problem. Cheers.
Title: Re: DSVania Editor (v1.4)
Post by: acediez on March 22, 2017, 07:04:08 pm
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 (https://github.com/LagoLunatic/DSVEdit/blob/master/asm/dos_fix_luck.asm) 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.
Title: Re: DSVania Editor (v1.4)
Post by: StarStalker on March 23, 2017, 08:20:22 pm
So, I downloaded the tool and DAMN I am LOVING IT!

Here's the thing:

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 still
edit 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.3
version? 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)
Title: Re: DSVania Editor (v1.4)
Post by: randomperson35 on March 24, 2017, 06:32:44 am
Is it possible to switch a main character's behavior from one game to the other?
i want to use Jonathan's base code in OoE for a hack of mine.
Title: Re: DSVania Editor (v1.4)
Post by: LagoLunatic on March 24, 2017, 11:35:24 am
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.gif
I 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.gif
Should be a lot easier to break those pesky blocks now.

Updated patch link: https://www.dropbox.com/s/vp3rum7xvwpref5/dos_no_forced_touch_v2.ips?dl=0
Oh, and this IPS patch also includes the fix to luck, though I'll probably make that a separate patch when I release it.

So, I downloaded the tool and DAMN I am LOVING IT!

Here's the thing:

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 still
edit 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.3
version? 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.
Title: Re: DSVania Editor (v1.4)
Post by: acediez on March 24, 2017, 02:36:01 pm
I tried it immediately and now it works perfectly! Thanks! This is all I could've asked for!  :beer:
Title: Re: DSVania Editor (v1.4)
Post by: DarkPrinceAlucard on March 24, 2017, 05:57:51 pm
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.
Title: Re: DSVania Editor (v1.4)
Post by: LagoLunatic on March 24, 2017, 06:33:54 pm
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 (https://github.com/pleonex/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.
Title: Re: DSVania Editor (v1.4)
Post by: NecroCorey on March 29, 2017, 01:54:59 am
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.
Title: Re: DSVania Editor (v1.4)
Post by: LagoLunatic on March 29, 2017, 11:23:39 am
Is it possible to switch a main character's behavior from one game to the other?
i want to use Jonathan's base code in OoE for a hack of mine.

What do you mean by behavior/base code?

If you want Shanoa to be able to do an up+L superjump, or walk faster, or something like that, then you can edit those in the player editor.

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.

Also, you're using the latest version of DSVEdit, right?
Title: Re: DSVania Editor (v1.4)
Post by: NecroCorey on March 29, 2017, 12:32:55 pm
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
Title: Re: DSVania Editor (v1.4)
Post by: LagoLunatic on March 29, 2017, 01:32:28 pm
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: 47530FF87E608F88105A314FDF36DC385F8DEC94
PoR: 382602E3615B2282EEAD584014125E71B5B0F033
OoE: 1DE18711623861583082B786503BCE427F435822
You can use this program (http://www.romhacking.net/utilities/1002/) 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?
Title: Re: DSVania Editor (v1.4)
Post by: NecroCorey on March 29, 2017, 08:04:12 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?

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
Title: Re: DSVania Editor (v1.4)
Post by: LagoLunatic 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.
Title: Re: DSVania Editor (v1.4)
Post by: NecroCorey 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.
Title: Re: DSVania Editor (v1.4)
Post by: LagoLunatic 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 (https://github.com/pleonex/tinke/issues/16) 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.
Title: Re: DSVania Editor (v1.4)
Post by: NecroCorey 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.
Title: Re: DSVania Editor (v1.4)
Post by: Esco 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!
Title: Re: DSVania Editor (v1.4)
Post by: DoctorGoat 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?
Title: Re: DSVania Editor (v1.4)
Post by: LagoLunatic 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.
Title: Re: DSVania Editor (v1.4)
Post by: DoctorGoat 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.
Title: Re: DSVania Editor (v1.4)
Post by: PachaWillWatchYa 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?
Title: Re: DSVania Editor (v1.4)
Post by: Vanya 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.
Title: Re: DSVania Editor (v1.4)
Post by: LagoLunatic 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.
Title: Re: DSVania Editor (v1.4)
Post by: theplottwist 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:

(http://i.imgur.com/3CBbdKj.png)

What am I missing?
Title: Re: DSVania Editor (v1.4)
Post by: Esco 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:

(http://i.imgur.com/3CBbdKj.png)

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?
Title: Re: DSVania Editor (v1.4)
Post by: NecroCorey on April 12, 2017, 12:57:43 pm
It's weird seeing Esco. Haven't seen that name in like 12 years.
Title: Re: DSVania Editor (v1.4)
Post by: LagoLunatic on April 12, 2017, 02:24:13 pm

I've got good news. Tadah!

(http://i.imgur.com/Ww5auR2.png)

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.
Title: Re: DSVania Editor (v1.4)
Post by: Robpt1 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.
Title: Re: DSVania Editor (v1.4)
Post by: justin3009 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.
Title: Re: DSVania Editor (v1.4)
Post by: PachaWillWatchYa 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?
Title: Re: DSVania Editor (v1.4)
Post by: Esco 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.
Title: Re: DSVania Editor (v1.4)
Post by: theplottwist 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.
Title: Re: DSVania Editor (v1.4)
Post by: Esco on April 15, 2017, 08:06:19 pm
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.

Oh yeah.... you are that Scumbag Mario Santos. Thanks for the reminder.  :o

..... lol. Just kidding about that scumbag bit man.  8) How have you been?
Title: Re: DSVania Editor (v1.4)
Post by: Vanya on April 16, 2017, 12:27:29 am
Geez. The gang's all hear. :P
This is Inccubus, BTW.
Title: Re: DSVania Editor (v1.4)
Post by: ShadowOne333 on April 16, 2017, 02:24:29 am
Hey LagoLunatic,I wanted to drop by and mention this:
http://www.romhacking.net/reviews/2804/#review

The bug explained in the Review for the No Forced Touchscreen hack of DoS also happens to me.
I experienced it with the first Long Sword you get.
When you stumble upon the very first Ice block room and attempt to attack without the soul to shatter them, the game soft locks in place.
Title: Re: DSVania Editor (v1.4)
Post by: LagoLunatic on April 16, 2017, 11:24:16 am
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?

I noticed a week ago that there are a couple bugs with the map editor where if you placed new tiles they wouldn't show up in game sometimes.
I fixed the bug for DoS. But for PoR/OoE it's going to be more complicated to fix, and fixing it is going to add a new requirement that you can't change the height of maps in PoR/OoE, in addition to not changing the number of tiles in each.

By "define" rooms, are you talking about adding entirely new rooms? Or moving where an existing one is on the map?
Adding new rooms to a sector isn't currently a feature, but at some point in the future it might be.
You can move an existing room's position on the map by opening it in Tiled, and in the room's "custom properties" you'll see map_x and map_y. Eventually I will make an actual GUI within DSVEdit to reposition a room on the map though.

Hey LagoLunatic,I wanted to drop by and mention this:
http://www.romhacking.net/reviews/2804/#review

The bug explained in the Review for the No Forced Touchscreen hack of DoS also happens to me.
I experienced it with the first Long Sword you get.
When you stumble upon the very first Ice block room and attempt to attack without the soul to shatter them, the game soft locks in place.

Thanks for letting me know. But even knowing the exact weapon and room now, I can't reproduce this crash. (http://i.imgur.com/0Sz4Lxx.gif)

What are you playing on? Exact emulator & version, or a real NDS, etc?
Title: Re: DSVania Editor (v1.4)
Post by: PachaWillWatchYa on April 16, 2017, 11:54:36 am
I meant adding new rooms but moving existing ones to new places is enough for time being.
But when I moved the room, to select it I needed to select it's original map tile.
Is this one of the bugs you fixed?
Title: Re: DSVania Editor (v1.4)
Post by: ShadowOne333 on April 16, 2017, 12:07:41 pm
Thanks for letting me know. But even knowing the exact weapon and room now, I can't reproduce this crash. (http://i.imgur.com/0Sz4Lxx.gif)

What are you playing on? Exact emulator & version, or a real NDS, etc?
Thanks for the reply.
This is the exact room Im talking about:
(http://i68.tinypic.com/1z39j6a.jpg)

In that image the game is already locked upp in place.

This is what I did:
Started a new file, defeated the first boss and then went straight ahead to Wizardry Lab.

Upon getting there, I simply walk around and right when I am about to attack the ice blocks, the game locks.

I am doing this in a New 3DS through a Blue Gateway Card (R4 clone)
I even redownloaded a new rom and repatched it to be sure.

All of this was done WITHOUT the Balore soul yet, so maybe thats something worth noting since I notice you turn it on/off, while I still havent even got the soul yet from a fresh file. (It takes like 10 or so mins to get there right from the start)

Let me know if you need more details.
Title: Re: DSVania Editor (v1.4)
Post by: LagoLunatic on April 16, 2017, 03:41:10 pm
I meant adding new rooms but moving existing ones to new places is enough for time being.
But when I moved the room, to select it I needed to select it's original map tile.
Is this one of the bugs you fixed?

Right, DSVEdit 1.4 can't correctly add new map tiles. You can replace existing ones but any new ones you add don't show up in game. You'll have to wait for 1.5 to add new ones.

Thanks for the reply.
This is the exact room Im talking about:

In that image the game is already locked upp in place.

This is what I did:
Started a new file, defeated the first boss and then went straight ahead to Wizardry Lab.

Upon getting there, I simply walk around and right when I am about to attack the ice blocks, the game locks.

I am doing this in a New 3DS through a Blue Gateway Card (R4 clone)
I even redownloaded a new rom and repatched it to be sure.

All of this was done WITHOUT the Balore soul yet, so maybe thats something worth noting since I notice you turn it on/off, while I still havent even got the soul yet from a fresh file. (It takes like 10 or so mins to get there right from the start)

Let me know if you need more details.

I see, maybe it's something with the 3DS...? The only real hardware I've tested it on is an old DS phat.

I don't think it could be affected by you not owning the Balore soul yet, my patch doesn't check that. It only checks whether it's equipped or not.

Well, I can't really test this since I don't own a 3DS (only a DS phat and DS lite). And I have no solid idea why this bug would occur either.

But I tried some stuff and made a couple test patches:
Patch A: https://www.dropbox.com/s/nfvor8ovbs3ng5x/patch_a.ips?dl=0
Patch B: https://www.dropbox.com/s/5fi91cxznjp2vo6/patch_b.xdelta?dl=0
Patch A has most of the features removed, it just breaks balore blocks when you hit them with a melee weapon, but it doesn't care if you have balore's soul, it doesn't fix the hitboxes, etc.
Patch B has all the features of the completed patch, but it uses the free space overlay feature from DSVEdit 1.5.

Could you please test these and tell me if either one works for you? If the second one does then I can use that as the fixed patch.
Title: Re: DSVania Editor (v1.4)
Post by: ShadowOne333 on April 16, 2017, 06:40:18 pm
I see, maybe it's something with the 3DS...? The only real hardware I've tested it on is an old DS phat.

I don't think it could be affected by you not owning the Balore soul yet, my patch doesn't check that. It only checks whether it's equipped or not.

Well, I can't really test this since I don't own a 3DS (only a DS phat and DS lite). And I have no solid idea why this bug would occur either.

But I tried some stuff and made a couple test patches:
Patch A: https://www.dropbox.com/s/nfvor8ovbs3ng5x/patch_a.ips?dl=0
Patch B: https://www.dropbox.com/s/5fi91cxznjp2vo6/patch_b.xdelta?dl=0
Patch A has most of the features removed, it just breaks balore blocks when you hit them with a melee weapon, but it doesn't care if you have balore's soul, it doesn't fix the hitboxes, etc.
Patch B has all the features of the completed patch, but it uses the free space overlay feature from DSVEdit 1.5.

Could you please test these and tell me if either one works for you? If the second one does then I can use that as the fixed patch.
I doubt the 3DS has something to do with it, since all 3DSs supposedly have the same hardware as a normal DS to be able to run DS games natively.

As for your patches, I decided to take a new clean ROM once again, but this time I didn't trim any of them, since I remembered I trimmed the previous ROM and I wanted to test if trimming it changed something with the patch.
With that said, here are the results:


So Patch A should be the one to go for to narrow down the bug regarding the game lockup when attempting to attack without the Balore soul in a room with ice blocks.
Another thing worth mentioning, is that it doesn't matter what kind of weapon you use, the result is the same.
I tried using the Knife, Claymore and the Sword in the same room but they all froze the game up, so at least we can discard weapon variety as something that could affect the patch.

Let me know if you need any more debugging from my part.
Title: Re: DSVania Editor (v1.4)
Post by: Esco on April 19, 2017, 02:48:48 pm
Geez. The gang's all hear. :P
This is Inccubus, BTW.

You must have missed this comment:  8)

Yes, I see you up there as well INCUBUS (Vanya). It's been a bit. How have you been?
Title: Re: DSVania Editor (v1.4)
Post by: Vanya on April 19, 2017, 11:48:39 pm
Yes, I did miss that.
Things are good. Still digging your work on SotN.
Working on a little Sudoku game for PC myself.
And a few things I'm helping other people with.
Title: Re: DSVania Editor (v1.4)
Post by: LagoLunatic on April 20, 2017, 06:08:34 pm
I doubt the 3DS has something to do with it, since all 3DSs supposedly have the same hardware as a normal DS to be able to run DS games natively.

As for your patches, I decided to take a new clean ROM once again, but this time I didn't trim any of them, since I remembered I trimmed the previous ROM and I wanted to test if trimming it changed something with the patch.
With that said, here are the results:

  • Original patch (Untrimmed): The game froze at the same spot, so at least we now know trimming the ROM doesn't have any downsides in terms of the patch
  • Patch B: The game froze at the same spot with this one sadly.
  • Patch A: This one worked. I was able to attack and brake the ice blocks blocking down the first room in the Wizardry Lab, even though I don't have Balore's soul but that's normal according to your post.

So Patch A should be the one to go for to narrow down the bug regarding the game lockup when attempting to attack without the Balore soul in a room with ice blocks.
Another thing worth mentioning, is that it doesn't matter what kind of weapon you use, the result is the same.
I tried using the Knife, Claymore and the Sword in the same room but they all froze the game up, so at least we can discard weapon variety as something that could affect the patch.

Let me know if you need any more debugging from my part.

Thanks. I'm surprised patch A was the one that worked, I figured that one would still crash when I gave it to you. But that really helps.

Alright, after testing more thoroughly on real hardware I was able to reproduce it. It seems to only occur for weapons that have two hitboxes, like axes, great swords, short sword, etc.

I'm pretty sure I figured out the bug. I made a mistake that overwrote a certain variable. This was fine in an earlier version of the patch before I fixed the hitboxes since the variable wasn't needed anymore in that case. But after making it check the second hitbox, this variable is needed in the code that checks the hitbox. Furthermore, this variable was a pointer, but was being overwritten with something that's not a pointer. I guess emulators don't care about non-pointers being treated like pointers, but real hardware crashes.

But I don't know why it crashed with the knife for you. Knife only has one hitbox and it worked fine for me.

Can you test this patch to see if it works for you?
https://www.dropbox.com/s/g6yzqvtcxpl5bca/dos_no_required_touch_screen_v1.1.ips?dl=0
I recommend testing multiple weapons to be sure, especially knife.
Title: Re: DSVania Editor (v1.4)
Post by: DoctorGoat on April 21, 2017, 03:40:16 pm
Hrm. As of right now, none of the ARMIPS-related stuff works for me, and the current git can't be built because dsvrandom stuff is currently in .gitignore.

I did install the VS++ 2015 redists like the error messages said, though.

Code: [Select]
E, [2017-04-21T15:39:56.024116 #16652] ERROR -- : wrong number of arguments (given 1, expected 2) (ArgumentError)
C:/games/nds/editor/dsvlib/sprite.rb:499:in `initialize'
C:/games/nds/editor/dsvedit/sprite_editor_dialog.rb:843:in `new'
C:/games/nds/editor/dsvedit/sprite_editor_dialog.rb:843:in `add_animation'
C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/qtbindings-4.8.6.3-x64-mingw32/lib/Qt/qtruby4.rb:479:in `qt_metacall'
C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/qtbindings-4.8.6.3-x64-mingw32/lib/Qt/qtruby4.rb:479:in `method_missing'
C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/qtbindings-4.8.6.3-x64-mingw32/lib/Qt/qtruby4.rb:479:in `exec'

Code: [Select]
E, [2017-04-21T15:40:26.068011 #9760] ERROR -- : Armips call failed (try installing the Visual C++ Redistributable for Visual Studio 2015) (RuntimeError)
C:/games/nds/editor/dsvlib/game.rb:403:in `apply_armips_patch'
C:/games/nds/editor/dsvlib/game.rb:445:in `add_new_overlay'
C:/games/nds/editor/dsvedit/main_window.rb:712:in `add_new_overlay'
C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/qtbindings-4.8.6.3-x64-mingw32/lib/Qt/qtruby4.rb:479:in `qt_metacall'
C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/qtbindings-4.8.6.3-x64-mingw32/lib/Qt/qtruby4.rb:479:in `method_missing'
C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/qtbindings-4.8.6.3-x64-mingw32/lib/Qt/qtruby4.rb:479:in `exec'
Title: Re: DSVania Editor (v1.4)
Post by: ShadowOne333 on April 21, 2017, 05:42:54 pm
Thanks. I'm surprised patch A was the one that worked, I figured that one would still crash when I gave it to you. But that really helps.

Alright, after testing more thoroughly on real hardware I was able to reproduce it. It seems to only occur for weapons that have two hitboxes, like axes, great swords, short sword, etc.

I'm pretty sure I figured out the bug. I made a mistake that overwrote a certain variable. This was fine in an earlier version of the patch before I fixed the hitboxes since the variable wasn't needed anymore in that case. But after making it check the second hitbox, this variable is needed in the code that checks the hitbox. Furthermore, this variable was a pointer, but was being overwritten with something that's not a pointer. I guess emulators don't care about non-pointers being treated like pointers, but real hardware crashes.

But I don't know why it crashed with the knife for you. Knife only has one hitbox and it worked fine for me.

Can you test this patch to see if it works for you?
https://www.dropbox.com/s/g6yzqvtcxpl5bca/dos_no_required_touch_screen_v1.1.ips?dl=0
I recommend testing multiple weapons to be sure, especially knife.

I think I might have confused the Knife with the Short Sword, sorry.
Tried out the new patch, that one seems to work okay!

Just to be sure, I tried out a cheat code to enable all weapons and tested most of them in the same room, and they work as they should :)
No crashing this time, they just do nothing to the ice blocks as expected.
I think this one is it! I will continue with the game up to Balore and try it again just to be sure everything works just fine.

Thank you!
Title: Re: DSVania Editor (v1.4)
Post by: Esco on April 21, 2017, 09:08:28 pm
Yes, I did miss that.
Things are good. Still digging your work on SotN.
Working on a little Sudoku game for PC myself.
And a few things I'm helping other people with.

Glad to hear it and thanks. :) I'm actually working on finishing Alucard's grab then pushing/pulling of objects (similar to MOF) as we speak. I want to finish doing some more stuff for him in the next month or two and then release another demo vid on my blog.
Title: Re: DSVania Editor (v1.4)
Post by: DoctorGoat on April 22, 2017, 05:40:58 am
You work fast, LagoLunatic! I wish I could stick to something like this.

So, right now to get build_ui to work I'm having to comment out line 7 and 33 of the Rakefile. That results in everything I need.

But in case it's of interest, for build_installers, I have to change line 45 to the following:
Code: [Select]
  system "ocra dsvedit.rb --output DSVEdit.exe --no-lzma --chdir-first --icon ./images/dsvedit_icon.ico"because I'm using ocra 1.3.8 and ocra seems to work best this way. The ISS doesn't compile with the following error message:
Code: [Select]
ERROR: InnoSetup installer creation failed: undefined method `encode' for #<Ocra::Pathname:0x000000040d58f0 @path="src/dsvedit.rb">
but... I hate installers anyway.
And... the EXE that results from it is 422MB. That seems wrong.
Line 46 has to be commented out because the dsvrandom files are still missing.

I haven't tested build_releases because all I'm after is the editor itself.

The armips crash was like this:
 [2017-04-22T05:45:24.135109 #20544] ERROR -- : No such file or directory - ./armips/armips.exe "asm/por_load_new_overlay.asm" (Errno::ENOENT)
which... is true, armips isn't included right now.

I'm having fun watching this project develop and playing with no$gba to try to figure out AI.
Title: Re: DSVania Editor (v1.4)
Post by: LagoLunatic on April 22, 2017, 07:00:52 pm
You work fast, LagoLunatic! I wish I could stick to something like this.

So, right now to get build_ui to work I'm having to comment out line 7 and 33 of the Rakefile. That results in everything I need.

But in case it's of interest, for build_installers, I have to change line 45 to the following:
Code: [Select]
  system "ocra dsvedit.rb --output DSVEdit.exe --no-lzma --chdir-first --icon ./images/dsvedit_icon.ico"because I'm using ocra 1.3.8 and ocra seems to work best this way. The ISS doesn't compile with the following error message:
Code: [Select]
ERROR: InnoSetup installer creation failed: undefined method `encode' for #<Ocra::Pathname:0x000000040d58f0 @path="src/dsvedit.rb">
but... I hate installers anyway.
And... the EXE that results from it is 422MB. That seems wrong.
Line 46 has to be commented out because the dsvrandom files are still missing.

I haven't tested build_releases because all I'm after is the editor itself.

Yeah, build_installers and build_releases might have issues for people besides me because of the specific setup I have going on, but those are just for me anyway, you don't need to build the executables to run it from source. I'll add a check to build_ui so it doesn't crash though.

As you've noticed the non-installer output of ocra is really bad. Not only is it 400MB but if you try to boot it up it takes more than 20 seconds to extract all the files zipped up inside the exe to a temporary folder before running it. Not just the first time, it takes 20+ seconds to boot up every single time. This is why I use the installer version, and then instead of distributing the installer I just install it myself, and zip the contents up and distribute the zip instead. Even then, the filesize winds up being large. Something tells me ruby wasn't really designed for being 'compiled' into an executable, but oh well.

The armips crash was like this:
 [2017-04-22T05:45:24.135109 #20544] ERROR -- : No such file or directory - ./armips/armips.exe "asm/por_load_new_overlay.asm" (Errno::ENOENT)
which... is true, armips isn't included right now.

I'm having fun watching this project develop and playing with no$gba to try to figure out AI.

Oh, that's a simpler problem than I thought. armips isn't included in the github source code, but it is actually in the release builds of DSVEdit. You can just copy the "armips" folder from DSVEdit 1.4 into your source directory and it should work. Of course you can also build armips yourself and put it in that folder and it will run.
Title: Re: DSVania Editor (v1.4)
Post by: MathUser2929 on April 23, 2017, 09:35:40 am
Wow, AOS support, I hope you keep going and get HOD and COTM. I know HOD should be straightened out so each castle looks unique. I always get the two confused. Never should have opened them both up at the same time.
Title: Re: DSVania Editor (v1.4)
Post by: DoctorGoat on April 24, 2017, 04:35:04 pm
Extremely optional feature request: Could you write something that'll dump item/AI/weapon/soul/etc offsets along with the name of what they're associated with? Like, example line for AoS:
Wood_Golem_Soul,0x080322E8

I'm messing with Ida again and it'd be really good if I could rig up a script to take that output and autotag functions. Here's what wood golem looks like with just that manually picked out: http://i.imgur.com/unEbgRG.png

GBA seems to be the only system where it correctly loads things, though. Messing with the DS games requires a running emulator. :(
Title: Re: DSVania Editor (v1.4)
Post by: theplottwist on April 25, 2017, 03:20:05 am
Oh yeah.... you are that Scumbag Mario Santos. Thanks for the reminder.  :o

..... lol. Just kidding about that scumbag bit man.  8) How have you been?

Doing fine. Working a lot to push some great stuff forwards :)
Title: Re: DSVania Editor (v1.4)
Post by: DoctorGoat on April 25, 2017, 07:02:02 pm
There's a definite off-by-one error in the blue souls for Aria of Sorrow.
Title: Re: DSVania Editor (v1.5)
Post by: LagoLunatic on April 27, 2017, 07:16:17 pm
1.5 is complete! (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.5.0) Huge update this time.

One new feature is that 1.5 keeps track of cleared space from when you add a new entity or expand a layer (since it moves the data elsewhere) and reuses that space later. So it should be much harder to hit the cap for sector overlay sizes now, which is good if you want to make a bunch of big rooms or add a lot of entities.

For AoS support, the major features such as editing rooms, items, enemies, etc should mostly all work. But if you try to add a new entity or change the size of a layer it will crash. And the smaller editors don't support AoS at all yet.

Extremely optional feature request: Could you write something that'll dump item/AI/weapon/soul/etc offsets along with the name of what they're associated with? Like, example line for AoS:
Wood_Golem_Soul,0x080322E8

I'm messing with Ida again and it'd be really good if I could rig up a script to take that output and autotag functions. Here's what wood golem looks like with just that manually picked out: http://i.imgur.com/unEbgRG.png

GBA seems to be the only system where it correctly loads things, though. Messing with the DS games requires a running emulator. :(

Looking at your screenshot of Ida, that seemed like something super useful to me too. I looked into and found out No$GBA supports symbol files too. So I made ones for all 4 games:
https://github.com/LagoLunatic/DSVEdit/tree/master/docs/asm
In addition to the enemy/object/skill code I dumped, I also put in functions I know about from manually looking through ASM code, and documented what I know about them.
For No$GBA to use one of these files, it has to be in the directory where the ROM is and have the same name as the ROM but a .sym extension. Like "built_rom_aos.sym".

Wow, AOS support, I hope you keep going and get HOD and COTM. I know HOD should be straightened out so each castle looks unique. I always get the two confused. Never should have opened them both up at the same time.

After AoS support is complete I'll look into HoD. I think it will be doable, though there do seem to be some differences compared to AoS.
CotM seemed pretty drastically different from the brief look I gave it, but I'm not sure yet.
Title: Re: DSVania Editor (v1.5)
Post by: DoctorGoat on April 28, 2017, 09:12:44 pm
Julius souls are stored at 0xE1ED8 and have a length of 0x10. I'm probably going to swap them over over some bad Soma souls when I finish up this project I'm working on.

I haven't messed with the DS games in a bit since the GBA randomizer has some popularity and the project I'm working on will make that even better.
Title: Re: DSVania Editor (v1.5)
Post by: MoonBeautySabata on May 03, 2017, 08:52:29 pm
AOS Support :thumbsup:
Title: Re: DSVania Editor (v1.5)
Post by: DarkPrinceAlucard on May 06, 2017, 04:52:34 pm


After AoS support is complete I'll look into HoD. I think it will be doable, though there do seem to be some differences compared to AoS.
CotM seemed pretty drastically different from the brief look I gave it, but I'm not sure yet.

Well that is probably because CoTM was not made by IGA and his team so that game will definitely have a different sort of code than the ones you have been working on, that being said I myself personally would MUCH rather see support for CoTM rather than HOD considering I feel its the stronger of the two, just my two cents, GREAT update by the way I'm LOVING this tool.
Title: Re: DSVania Editor (v1.5)
Post by: FeRcHuLeS on May 23, 2017, 10:05:21 am
Does this support windows XP?? I can't manage to run it got a message about ruby.exe & msvcrt.dll
Title: Re: DSVania Editor (v1.5)
Post by: LagoLunatic on May 23, 2017, 11:31:38 am
Does this support windows XP?? I can't manage to run it got a message about ruby.exe & msvcrt.dll

I'm not sure since I don't own windows XP, but I think I've read that Ruby 2 doesn't work on XP.
So let's go with no, DSVEdit doesn't support XP.
Title: Re: DSVania Editor (v1.5)
Post by: PachaWillWatchYa on May 29, 2017, 12:32:03 pm
So, how's the progress on Harmony of Dissonance and Circle of the Moon?
Title: Re: DSVania Editor (v1.5)
Post by: LagoLunatic on May 29, 2017, 04:59:43 pm
So, how's the progress on Harmony of Dissonance and Circle of the Moon?

No progress on those, I'm not starting HoD until AoS support is complete since AoS still has a number of things I don't understand and just ignored to get the editor mostly working.
Based on what DarkPrinceAlucard said CotM will probably be so different that support for it won't be possible at all.

I've been making progress on AoS though, I got the GFX editor and tileset editor working, you can add new entities and layers and change the size of layers, and right now I'm trying to figure out how those star backgrounds in chaotic realm and rotating gears in clock tower work.

I've also added a couple new tools for all the games:
(http://i.imgur.com/le4HVDP.png) (http://i.imgur.com/c0zBK5p.png)

But mostly I've been focusing on another project, separate from DSVEdit, which I think I can release pretty soon.
Title: Re: DSVania Editor (v1.5)
Post by: justin3009 on May 29, 2017, 07:54:38 pm
Keep up the good work with whatever project you do!  I'm quite fascinated by all this already.  Take your time and do what works best for you.
Title: Re: DSVania Editor (v1.5)
Post by: Tsukiyomaru0 on May 31, 2017, 01:36:44 am
I'm really looking forward to that Aria of Sorrow support.
Title: Re: DSVania Editor (v1.5)
Post by: Robpt1 on June 16, 2017, 09:55:28 pm
I'm trying to fix the typos on portrait of ruin ("Richiter", "Charotte"), using DSVania 1.5, but the strings don't show up on the text editor or anywhere else.

BTW is it possible to make Albus in OOE go through walls like Shanoa with the paries glyph? So it's not necessary to use the touchpad
Title: Re: DSVania Editor (v1.5)
Post by: LagoLunatic on June 17, 2017, 03:29:48 pm
I'm trying to fix the typos on portrait of ruin ("Richiter", "Charotte"), using DSVania 1.5, but the strings don't show up on the text editor or anywhere else.

They're actually images, so you need to use the gfx editor to edit them.
Richiter is in /sc/f_seleob1.dat with palette 022C5110.
Charotte is in /sc/f_equipob0.dat with palette 022C2C5C, and you need to check the one dimensional mode checkbox.

BTW is it possible to make Albus in OOE go through walls like Shanoa with the paries glyph? So it's not necessary to use the touchpad

No, that's not really possible. The code for going in walls is all in the paries skill code itself, meaning you need to have paries equipped and use it to go in walls. In Albus mode he has his gun Agartha equipped as his back glyph, so if you gave him paries instead he wouldn't be able to shoot his gun. Also it'd be weird that you activate paries with Y instead of R, because of the way Albus's controls are laid out.

Besides, I think using the touch screen to warp around with Albus is fun, unlike the arbitrary and frustrating magic seals in DoS, so even if it is somehow possible I'm not planning on making that patch.
Title: Re: DSVania Editor (v1.5)
Post by: Robpt1 on June 18, 2017, 01:33:34 pm
Thanks for the help, shame that you can't make that patch for OOE.

Here is a BPS patch for POR, since i couldn't get IPS to work:

https://mega.nz/#!tVhliArK!1U3HUjLqMTFy27BbR0oGYV1TP6g6vWXkLxCuFo1D-D0

June 20, 2017, 09:09:48 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
I'm try to remedy Albus' mandatory touchscreen teleport, by removing collision from tiles then placing a movement blocker inside a wall, then putting a entity hider, so that only albus can get through.

But i can't find the collision editor anywhere.
Title: Re: DSVania Editor (v1.5)
Post by: LagoLunatic on June 22, 2017, 04:39:35 pm
Thanks for the help, shame that you can't make that patch for OOE.

Here is a BPS patch for POR, since i couldn't get IPS to work:

https://mega.nz/#!tVhliArK!1U3HUjLqMTFy27BbR0oGYV1TP6g6vWXkLxCuFo1D-D0

June 20, 2017, 09:09:48 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
I'm try to remedy Albus' mandatory touchscreen teleport, by removing collision from tiles then placing a movement blocker inside a wall, then putting a entity hider, so that only albus can get through.

But i can't find the collision editor anywhere.

Good job with the typo fix, I tested it and it worked fine.

For editing the collision tileset, 1.5 doesn't have that ability. But coincidentally, I coded that just recently, and it'll be in 1.6:
(https://i.imgur.com/qtBc732.png)

Sorry for the delayed response btw, RHDN doesn't seem to send me notifications anymore.
Title: Re: DSVania Editor (v1.5)
Post by: Gentlemaner on June 24, 2017, 01:58:57 am
LagoLunatic !!Thanks for your  DSVania Editor,I hack the CV HoD,find change Monster ID,change the Monster LZ77 Data address。

for example:change the Skeleton ID,together change the Skeleton LZ77 Data address。

I am a Chinese hacker,but My English evel in general.


LagoLunatic!!非常感谢你编修了 DSVania Editor 这个修改器,我在修改恶魔城白夜协奏曲(Castlevania: Harmony of Dissonance),发现修改怪物ID后,必须还要
修改对应怪物的LZ77地址,如果只修改了怪物ID,而没有修改对应怪物的LZ77地址,GBA显存地址0600000,会载入原来的怪物tiles数据。
Title: Re: DSVania Editor (v1.5)
Post by: LagoLunatic on June 24, 2017, 10:06:54 am
LagoLunatic !!Thanks for your  DSVania Editor,I hack the CV HoD,find change Monster ID,change the Monster LZ77 Data address。

for example:change the Skeleton ID,together change the Skeleton LZ77 Data address。

I am a Chinese hacker,but My English evel in general.


LagoLunatic!!非常感谢你编修了 DSVania Editor 这个修改器,我在修改恶魔城白夜协奏曲(Castlevania: Harmony of Dissonance),发现修改怪物ID后,必须还要
修改对应怪物的LZ77地址,如果只修改了怪物ID,而没有修改对应怪物的LZ77地址,GBA显存地址0600000,会载入原来的怪物tiles数据。

So when replacing enemies in Harmony of Dissonance, you have to change not just the enemy ID, but also a pointer to some LZ77-compressed data?
Thanks for the info! I haven't started hacking HoD yet, but that sounds like it will be helpful to know when I do.
Title: Re: DSVania Editor (v1.5)
Post by: randomperson35 on August 10, 2017, 10:28:54 pm
http://darkfunction.com/editor/

Check this sprite editor tool, maybe it will come in handy.
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on September 06, 2017, 09:35:18 pm
DSVEdit 1.6 is finally released! (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.6.0) I haven't posted here for a while, so here's a bit of an overview of what I was working on:

I made lots of progress with AoS support: I fixed bugs in how sprite animations and rooms are displayed (https://i.imgur.com/F4i2Nlh.png), I got weapon and soul sprites to show up correctly, I implemented text encoding, added boss rush, got the music editor working, etc. AoS support should now be about the same as the DSVanias now, but let me know if you find any bugs. Note that the player editor can't support AoS since player's are hardcoded in AoS.

I've also improved the UI of the tileset editor, so rather than needing to tediously modify each tile one-by-one, you can right click and drag to select many tiles at once, use left click to draw those on the tileset, flip or edit your selection, etc. Here's a quick example: https://i.imgur.com/U28g7lw.gifv

I also added a way to easily choose which tileset to use for a given room:
(https://i.imgur.com/vA1lnM2.png)

I improved the GFX editor so that you can work with multiple files at once, exporting them all and importing them all simultaneously. And if you try to import an image that has colors that don't match the current palette, you're given the option to automatically convert that image to use the correct palette, so you don't need to manually do that. I also added a palette editor built into the GFX editor so you can edit the palette without needing to export to an external image editor.
(https://i.imgur.com/2NkWLSN.png)


http://darkfunction.com/editor/

Check this sprite editor tool, maybe it will come in handy.

Thanks for this suggestion! Turns out this program was exactly what I needed to get sprite editing working, it has a much better UI than what I can write when it comes to something this complex.
I wrote an exporter and importer for darkFunction's formats, so now you can just select a sprite in DSVEdit's sprite editor, export it, open in darkFunction and edit it, then import it back into DSVEdit with the sprite editor.
darkFunction has some limitations, like how it doesn't support palettes, only supports a single image, and doesn't have built in support for hitboxes, but I managed to get around these limitations to fully support sprite editing.

Now you can not only modify animations, but also add new frames and animations and parts and hitboxes, so you can effectively make entirely new sprites now.
The readme now includes basic instructions on how to use it to edit sprites. If anyone has issues with it let me know.

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

For now, I'm gonna go back to focusing on my DSVania Randomizer (http://www.romhacking.net/forum/index.php?topic=24449.0) and adding new options to it.
At some point I'll see about adding Harmony of Dissonance support to DSVEdit, but I suspect it'll be a while before that happens.
Title: Re: DSVania Editor (v1.6)
Post by: Thirteen 1355 on September 08, 2017, 11:41:03 am
Would it be possible to connect OoE areas with this?  :woot!:
Title: Re: DSVania Editor (v1.6)
Post by: Sinis on September 08, 2017, 01:07:35 pm
I still haven't tried this yet due to waiting for the editor to evolve more.  Shame that there won't be any CotM support.  Been eyeing that game for years now to do something with it.  I'll continue to dream  :P


Keep up the good work on this :)
Title: Re: DSVania Editor (v1.6)
Post by: Sephirous on September 08, 2017, 02:19:55 pm
I'm still hoping for Bloodlines and Dracula X Snes support.

I know that is a completely different ball game but the day I get to fill in The Dracula Battle with those pits of death in Dracula X will be quite the accomplishment.
Title: Re: DSVania Editor (v1.6)
Post by: Thirteen 1355 on September 08, 2017, 02:27:21 pm
Just play Rondo of Blood  :P
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on September 09, 2017, 11:51:45 am
Would it be possible to connect OoE areas with this?  :woot!:

Directly connecting a door in one area to a door in another?
Unfortunately it doesn't seem OoE's engine supports that. I tried it and the game just crashed. While the crash bug is fixable, the way the game loads tilesets assumes doors only take you within the same area, which would be harder to fix. And the map on the top screen won't automatically change when you go through the door, either.

(https://i.imgur.com/NQxSSef.png)
Title: Re: DSVania Editor (v1.6)
Post by: Vanya on September 09, 2017, 09:40:46 pm
I'm still hoping for Bloodlines and Dracula X Snes support.

I know that is a completely different ball game but the day I get to fill in The Dracula Battle with those pits of death in Dracula X will be quite the accomplishment.

Why not use the editor to create new versions of those games for DS? That's what I'm going to do for a CV1 remake based on one of the supported games.
Title: Re: DSVania Editor (v1.6)
Post by: ShadowOne333 on September 09, 2017, 09:44:37 pm
Why not use the editor to create new versions of those games for DS? That's what I'm going to do for a CV1 remake based on one of the supported games.
AoS?  :D
Haha.
That sounds really neat tho!
Title: Re: DSVania Editor (v1.6)
Post by: Robpt1 on September 13, 2017, 02:41:49 pm
Glad to see you're still working on this, did 1.6 add a collision editor ?

And also, is it possible to create a patch to skip the name signing in POR ?
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on September 13, 2017, 08:06:41 pm
Glad to see you're still working on this, did 1.6 add a collision editor ?

Yep, the tileset editor now allows editing collision as well. I linked a gif of it in action if you want to see how it works: https://i.imgur.com/U28g7lw.gifv

And also, is it possible to create a patch to skip the name signing in POR ?

That's something I've been meaning to get around to. Turns out it's pretty straightforward, here is the ARMIPS patch for it:
https://github.com/LagoLunatic/DSVEdit/blob/master/asm/por_skip_emblem_drawing.asm
Title: Re: DSVania Editor (v1.6)
Post by: Robpt1 on September 15, 2017, 11:26:31 am
Thank you for the name skipping patch, i made an ips patch if anyone wants it (for US version only):

https://mega.nz/#!RrZB0YqY!xW7_bERATcxUlBYjJ2DdGDym7G5eboWHeiMBa6bJB3s

You should upload it to romhacking.net
Title: Re: DSVania Editor (v1.6)
Post by: Vanya on October 06, 2017, 12:32:55 pm
Great work on it so far, Lago! This is a great editor.

I've been playing around with PoR for a little bit.
I have a couple of questions.
1) How do I go about making a room bigger exactly?
2) Can a door/exit in one area lead to a room in a completely different area? For example a door or normal exit that goes from the Entrance area of Dracula's Castle to the City of Haze?
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on October 06, 2017, 01:04:15 pm
1) How do I go about making a room bigger exactly?

Go to Edit -> Edit Layers and change the Width and Height fields to the new size of the room you want, in terms of number of screens wide/tall.
The first layer in the room is always the collision layer, so changing that first one is enough for the physical size of the room to change. But you may also want to change the background and foreground layers to fit the new size. To do that just scroll through the list of layers and change the Width/Height for each of them individually.

2) Can a door/exit in one area lead to a room in a completely different area? For example a door or normal exit that goes from the Entrance area of Dracula's Castle to the City of Haze?

Nope, the engine doesn't support doors that go to different areas. I listed the bugs with it in this post (http://www.romhacking.net/forum/index.php?topic=23678.msg343508#msg343508) (for OoE, but the same applies to PoR).

Alternatively, you could of course use portraits to go between areas in PoR. And not just to the first room of each area, the portrait's Var A and Var B let you set the destination to any room in the game.
Title: Re: DSVania Editor (v1.6)
Post by: Vanya on October 07, 2017, 07:43:18 am
Wow, I can't believe I missed the width and height fields! :P
Thanks for the info. I figured the door/exit thing would be the case.
Next question then; would it be easier to hack the portals to work like doors or the doors to work like portals? ;)
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on October 08, 2017, 03:41:57 pm
Wow, I can't believe I missed the width and height fields! :P
Thanks for the info. I figured the door/exit thing would be the case.
Next question then; would it be easier to hack the portals to work like doors or the doors to work like portals? ;)

I tried modifying the way doors work to fix the bugs with going between areas. Since I'm more familiar with OoE's code I did it in OoE instead of PoR.
The first couple things were easy once I found the relevant code: The crash is because despite the sector overlay loading code calculating what the right area index should be it just uses the area index the player is currently in instead, so I just changed one line of code to use the right one. For the map on the top screen, I wrote some code to check if the area index is different during a door transition and if the player has the top screen set to the map display, and if so tell the top screen to reload itself.

The real problem is the tileset loading done in transition rooms. There's tons of bugs with it since transition rooms seem to have been coded entirely around the concept of them only leading within the same area. I fixed some of these bugs (for all the super technical details, here's (https://github.com/LagoLunatic/DSVEdit/blob/master/asm/ooe_allow_inter-area_doors.asm) the current state of my code for the patch, with comments explaining everything). In some cases it seems to work correctly, but in many others it fails to load the new tileset at all, or will just randomly crash, and I can't reproduce the crashes consistently. So I'll have to give up on this for now, since I'm out of ideas as to what the problem is.

As for the other idea: I doubt getting portraits to work like doors would be very easy, since portraits have lots of other stuff going on besides just transporting you somewhere. It might be easier to just code a new object from scratch (in PoR objects 07-15 are unused) which is the size of a screen and when the player collides with it it teleports them to a different room. The hard part would probably be reproducing the exact way doors work, e.g. if you touch the top of a door you come out at the top of the screen in the next room, etc. And also figuring out exactly how hitboxes need to be initialized for this, since you don't want them to trigger when hit by an enemy, or the player's weapon, or the partner character, only the controlled player should trigger it.
Title: Re: DSVania Editor (v1.6)
Post by: Vanya on October 09, 2017, 02:00:05 pm
Interesting stuff. I'm going to sit down with that document later.

Making a new object is probably the best way to go.

Edit: I read over the patch for the doors in OoE. Your solutions are pretty much what I would have thought to do. Sound logic.

Edit2: I just had a thought. Would it help at all to look at the warp points? They essentially do the same exact thing as portraits, except they transition between sectors similarly to doors. What I want is a door that functions like a portrait, so the inverse of the warp points.
Title: Re: DSVania Editor (v1.6)
Post by: Robpt1 on October 09, 2017, 09:09:12 pm
Dawn of sorrow doesn't display the monster names on the bottom right screen when you hit them, is it possible to add it ?
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on October 11, 2017, 02:37:47 am
Interesting stuff. I'm going to sit down with that document later.

Making a new object is probably the best way to go.

Edit: I read over the patch for the doors in OoE. Your solutions are pretty much what I would have thought to do. Sound logic.

Edit2: I just had a thought. Would it help at all to look at the warp points? They essentially do the same exact thing as portraits, except they transition between sectors similarly to doors. What I want is a door that functions like a portrait, so the inverse of the warp points.

I looked into how portraits, warp points, and magical tickets teleport the player. They all do it the same way, calling one function to set the destination area index/sector index/room index/x pos/y pos, then calling a second to trigger the actual room transition. This second function does all the hard stuff like loading tilesets and updating the map. So it should be pretty easy to just call these two functions to get a transition working, compared to trying to modify the door code to do it.

There's a bit of an issue with making a "fake door" entity though: Entities only have Var A and Var B to work with in the level editor, but we need to be able to specify the area index, sector index, room index, x pos, and y pos for each fake door individually.
So to get around this limitation we can cram those five values into two variables like this:
Var A: AASS
Var B: RRXY
Where AA means area index, SS means sector index, RR means room index, X means the x pos in screens, and Y means the y pos in screens.
This does have one minor limitation compared to real doors, which is that doors let you specify the x/y offset position in pixels, but this only lets you specify it in multiples of the screen size. But the DSVanias only ever need to use multiples of the screen size for door destinations anyway, so no real loss here.

So now this should be codable, but in ASM it'd probably be kinda tedious to write all the conditions and math and stuff. So I decided to try out something I had been looking into recently, which is using devkitPro to compile C code into ARM ASM. Figuring out all the compiler settings and such at first was quite a pain, but after that, it worked out really well.

Here's the finished code for it: https://github.com/LagoLunatic/DSVania_C_Hacking
This file (https://github.com/LagoLunatic/DSVania_C_Hacking/blob/master/por_interarea_doors/main.c) specifically has the logic for the new door object.

To compile this, first use DSVEdit to add a free space overlay to your PoR project so there's room to put the code (Tools -> Add Overlay).
Then in por_interarea_doors/main.asm change PROJECT_DIR to point to where your project folder is.
Install devkitPro and in por_interarea_doors/build.bat make sure DEVKITARM points to the right path where you installed it. Then just run build.bat and it should all compile, link, and assemble correctly.
(Note that you need to reopen the project in DSVEdit for DSVEdit to notice the changes.)

Then just add a new entity to the room, specifically special object 07 ("Unused") and then set the var A/B appropriately. Voila!

(https://i.imgur.com/ofXF5gx.gif)

Dawn of sorrow doesn't display the monster names on the bottom right screen when you hit them, is it possible to add it ?

I looked into it. There's no easy function here, doing this is really complicated and requires calling a bunch of functions to create an OAM sprite, but I did somehow manage to figure out what functions to call with what arguments, so I got the basic text display working: https://i.imgur.com/5j9O04h.gifv

It's far from complete: It doesn't have the fancy icon behind the text, the text never disappears, and the OAM slot I chose to use for it could be used for something else, I just chose one that looked unused at random. These would also likely be fairly complicated to fix.

The source code for this is also in that repository I linked, inside the dos_enemy_name_popup folder, if anyone wants to look into it. The instructions for compiling it are the same as above.
Title: Re: DSVania Editor (v1.6)
Post by: Robpt1 on October 11, 2017, 10:04:24 am
I had a feeling it wouldn't be simple, but the fact that you still managed to find a way to do it even if it's not complete is amazing. Thank You
Title: Re: DSVania Editor (v1.6)
Post by: Vanya on October 11, 2017, 10:22:06 am
I looked into how portraits, warp points, and magical tickets teleport the player. They all do it the same way, calling one function to set the destination area index/sector index/room index/x pos/y pos, then calling a second to trigger the actual room transition. This second function does all the hard stuff like loading tilesets and updating the map. So it should be pretty easy to just call these two functions to get a transition working, compared to trying to modify the door code to do it.

There's a bit of an issue with making a "fake door" entity though: Entities only have Var A and Var B to work with in the level editor, but we need to be able to specify the area index, sector index, room index, x pos, and y pos for each fake door individually.
So to get around this limitation we can cram those five values into two variables like this:
Var A: AASS
Var B: RRXY
Where AA means area index, SS means sector index, RR means room index, X means the x pos in screens, and Y means the y pos in screens.
This does have one minor limitation compared to real doors, which is that doors let you specify the x/y offset position in pixels, but this only lets you specify it in multiples of the screen size. But the DSVanias only ever need to use multiples of the screen size for door destinations anyway, so no real loss here.

So now this should be codable, but in ASM it'd probably be kinda tedious to write all the conditions and math and stuff. So I decided to try out something I had been looking into recently, which is using devkitPro to compile C code into ARM ASM. Figuring out all the compiler settings and such at first was quite a pain, but after that, it worked out really well.

Here's the finished code for it: https://github.com/LagoLunatic/DSVania_C_Hacking
This file (https://github.com/LagoLunatic/DSVania_C_Hacking/blob/master/por_interarea_doors/main.c) specifically has the logic for the new door object.

To compile this, first use DSVEdit to add a free space overlay to your PoR project so there's room to put the code (Tools -> Add Overlay).
Then in por_interarea_doors/main.asm change PROJECT_DIR to point to where your project folder is.
Install devkitPro and in por_interarea_doors/build.bat make sure DEVKITARM points to the right path where you installed it. Then just run build.bat and it should all compile, link, and assemble correctly.
(Note that you need to reopen the project in DSVEdit for DSVEdit to notice the changes.)

Then just add a new entity to the room, specifically special object 07 ("Unused") and then set the var A/B appropriately. Voila!

Awesome! This should makes things much easier for me.
I really appreciate all your work. :)
Title: Re: DSVania Editor (v1.6)
Post by: azoreseuropa on October 11, 2017, 11:04:08 am
Quote
It is currently compatible with the US and Japanese versions of the DS games, and the US version of Aria of Sorrow.

What about the Europe vesions ?
Title: Re: DSVania Editor (v1.6)
Post by: shadow501 on October 11, 2017, 03:38:50 pm
What about PSX Castle Vania Symphony of the Night for sprite enemies  editor ?



Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on October 12, 2017, 01:12:16 am
I had a feeling it wouldn't be simple, but the fact that you still managed to find a way to do it even if it's not complete is amazing. Thank You
Awesome! This should makes things much easier for me.
I really appreciate all your work. :)

No problem!

What about the Europe vesions ?

I don't think I'm gonna add support for any more versions, it's enough work maintaining the existing ones, and I'm not aware of any version differences with the European versions that would make doing it that interesting. Somebody else could do it if they want to of course.

What about PSX Castle Vania Symphony of the Night for sprite enemies  editor ?

I found address sprite Warg with Warg Fire, If you like check.

Warg 40F7-1C80:address 04B67160
Warg Fire 74C9-1C80:address 04B670EC

I'm not currently planning to support SotN since I assume it would be a totally different engine from the dsvanias so it'd take a ton of work to reverse engineer everything in the entire engine again. But eventually when I have the time I'll learn how PSX hacking works and check to see if it uses the same engine despite being on a different console, if it does I'll probably be able to support it.
Title: Re: DSVania Editor (v1.6)
Post by: Vanya on October 12, 2017, 09:08:15 am
Esco may have some insight into the PSX stuff or maybe even notes.
He did trudge through SotN's engine extensively before he decided to just remake the game from scratch.

Earlier in the thread it was asked if it was possible to port enemies and bosses from one game to another.
Just to get a bit of a better idea of how much work would have to go into it, how different is the coding between the NDS games?

Also, how difficult would it be to convert a normal enemy into a boss or is that even realistic to consider?
Title: Re: DSVania Editor (v1.6)
Post by: azoreseuropa on October 12, 2017, 10:09:25 am

I don't think I'm gonna add support for any more versions, it's enough work maintaining the existing ones, and I'm not aware of any version differences with the European versions that would make doing it that interesting. Somebody else could do it if they want to of course.


I understand. I thank you. :)
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on October 12, 2017, 10:00:56 pm
Esco may have some insight into the PSX stuff or maybe even notes.
He did trudge through SotN's engine extensively before he decided to just remake the game from scratch.

Thanks, I'll keep that in mind when I get there.

Earlier in the thread it was asked if it was possible to port enemies and bosses from one game to another.
Just to get a bit of a better idea of how much work would have to go into it, how different is the coding between the NDS games?

If we're just talking about enemy-specific code, it's not any different in my experience. For a given enemy shared between multiple games the code looks almost identical. There could be minor differences but I'm not aware of them.

I imagine the majority of the work for porting enemies between games would be figuring out every single function that enemy calls in the source game, and then finding all the equivalent functions in the destination game so that you can replace those function calls.

Some things to note:
No$GBA's "Disassemble to File" feature (under Utility) is very useful for this, not only because it saves you from having to manually type the asm code, but because if you have it set up so that No$GBA uses the right symbol files (https://github.com/LagoLunatic/DSVEdit/tree/master/docs/asm), then the disassembled output file also uses those function names in place of the pointer to the function. So if the symbol files had all relevant functions for both games, the ASM No$GBA spits out would already have all function names ready to be used in the other game.
In reality my symbol files only have a handful of the functions used by enemies, so a lot more would need to be found and added to them to get this working. But once somebody found every function used by one enemy, then it should be a lot easier for other enemies after that since a lot of these functions are shared by many enemies (e.g. EnemyCheckStatusEffects, this seems to be called by every single enemy, even ones that aren't weak to any status effects in the base game).

Also, it wouldn't be enough to port just the Create and Update functions for the enemy, even though those are the only ones shown in DSVEdit. Each enemy has several other functions that seem unique to it, like a callback function for when it takes damage from the player, a callback for when it hits the player, and if the enemy creates any projectiles the projectile also has a Create and Update function, etc. These extra functions aren't listed in the enemy DNA, you'd only find these while you're reading through the enemy's Create/Update functions.

Also, how difficult would it be to convert a normal enemy into a boss or is that even realistic to consider?

I think that wouldn't be that hard. Giant Skeleton in OoE is already both a boss and a common enemy at the same time (controlled by var A). Things that would be necessary:

Boss doors: Shouldn't need any special coding. I think they just work even with common enemies in the room based off Nest of Evil/Large Cavern.

Boss staying dead permanently: Would require a boss death flag. Thankfully this won't require you to find free space in the save file, the bitfield of boss death flags has plenty of unused bits and any one can be chosen. Then when the boss is created you read that bit, and if it's set you just delete the entity and return, or if it's not set you continue on with the normal create code. Then when the boss dies you set that flag.
For reference, in PoR, Dragon Zombie is a common enemy that uses a boss death flag to stay permanently dead when you kill it.

Spawning a full-heal orb: I don't know the specifics, but it seems to involve calling a function to create the orb when the boss dies.

Changing the music: When the boss is created it calls a function to change the music to boss music. Then when it dies it seems to call a function to mute the music. The reason it comes back when you leave the room is because the engine will actively play whatever the correct BGM for that sector is whenever you enter a room if it's not already playing, so no need to worry about that.
Title: Re: DSVania Editor (v1.6)
Post by: Vanya on October 13, 2017, 10:07:33 am
Cool! Thank a lot for that info. :)

EDIT: It worked like a charm. I did notice some things you might want to know about.
At first I left it in the upper right corner of the departing room and when I entered the game locked up.
Then I moved to the other side of the room and it worked fine. However, the destination room (with a teleporter; area 07, sector 00, room 01) was all white when I entered and it took a while for the white to fade out and give me back control.

Then I changed the destination to another room (0D) and it locked up again when I appeared in the floor. Another time I fell down through the floor and when I tried jumping into the room it seemed to work fine.

Are there specific ways I'm supposed to place the special objects?

EDIT2: Is there an easy way to change the number of doors in a room that I am missing?
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on October 16, 2017, 10:38:44 pm
EDIT: It worked like a charm. I did notice some things you might want to know about.
At first I left it in the upper right corner of the departing room and when I entered the game locked up.
Then I moved to the other side of the room and it worked fine. However, the destination room (with a teleporter; area 07, sector 00, room 01) was all white when I entered and it took a while for the white to fade out and give me back control.

Then I changed the destination to another room (0D) and it locked up again when I appeared in the floor. Another time I fell down through the floor and when I tried jumping into the room it seemed to work fine.

Are there specific ways I'm supposed to place the special objects?

You need to place the fake doors outside the bounds of the room similar to real doors.
The exact pixel positioning of it doesn't matter because I round down the position in the creation code. For example:
(https://i.imgur.com/hEVRRPv.png)
If you place the fake door anywhere inside the real door I show in that screenshot, it will have the exact same bounding box as the real door (and the fake door takes precedence, so you don't even need to delete the real door if you don't want to, though leaving it there will make it hard to click the fake door).

The fake door code I wrote does have a softlock bug: If the player is already inside the fake door on the same frame that they enter the room, then the fake door triggers a transition out of the room instantly while the previous transition into the room is still going on. This softlocks the game since the engine can't handle two transitions at once. I left this bug in since I believe it can only happen when the fake door is placed incorrectly, but it's probably fixable by detecting if there's currently a transition going on and not triggering a new one yet if so.

White screen when going into a warp room: This seems to be the warp point's fault, when you enter the room via a non-real-door transition it assumes you warped there via a warp point so it turns the screen white so it can fade it out. But I don't know why it took so long for it to fade out for you, when I tried it it happened instantly. Where specifically did you place the fake door that lead there?

Appearing in the floor of room 0D: Do you mean you appeared in the right wall of that room? If so that's normal when you go left, since you'll wind up on the right of the destination room and there's a solid wall there in this case, so you'd need to modify the level design of that room to make a hole in the right wall.

Falling through the floor: What room was that in?

EDIT2: Is there an easy way to change the number of doors in a room that I am missing?

There's not a super easy way since I haven't added the ability to edit doors into DSVEdit itself yet, but you can do it in Tiled. Right click on an existing door and select "Duplicate Object", then place the dupe door wherever and edit it however you want. When you import it back into the game, DSVEdit detects you want a new door and adds it.
Or to delete an existing door right click one and select "Remove Object".
Title: Re: DSVania Editor (v1.6)
Post by: Vanya on October 17, 2017, 10:30:10 am
Cool. Everything worked much better now that I placed the objects correctly.

The falling through the floor and getting stuck in the floor. Both happened in Area 07 Sector 01 Room 0D.
I should mention that when I got stuck in the floor it also softlocked.
It might just be because of the difference in elevation. It worked more or less fine when I jumped.

Edit: Out of curiosity, what is preventing the area maps from being expandable?
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on October 18, 2017, 12:05:10 am
Edit: Out of curiosity, what is preventing the area maps from being expandable?

Depending on what you mean by expand:

Increasing the total number of map tiles on a given map in PoR/OoE:
Maps in PoR/OoE only store actual map tiles that exist, not blank tiles. (DoS and AoS store blank tiles, so you can add more map tiles all you want in those games, since what you're actually doing is replacing a blank tile with a non-blank tile which is easy.)
This means that in order to increase the total number of tiles on a map, the map data would need to be relocated to free space, such as in the free space overlay.
That alone wouldn't be super hard, the actual hard part is the save file. The save file needs to store whether you've explored each map tile or not. So in order to make room for this data too, you'd need free space in the save file. I haven't started trying to figure out PoR and OoE's save file format yet, so I don't know if that's even possible. But I do partially understand DoS's save file format and save loading code, and that makes me think that expanding the save file would be very complex, since I assume quite a lot of code would have to be changed to accommodate the different size and format.
A different option that might be more doable would be to always keep the total number of map tiles in the whole game the same, but let DSVEdit shift that number between areas. So if one area has 100 map tiles, and a second area has 50 map tiles, this would let you change it so the first area has 140 tiles and the second has 10 tiles, so you have expanded the first area's map without needing to change the save file format. This should work since I believe all the areas store their map-exploration data right after each other in RAM. But if that's not true in the save file then it wouldn't work.

Increasing the height of a map in PoR/OoE while keeping the total number of map tiles the same:
The map system in PoR/OoE has some kind of performance optimization where every map has a list of how many map tiles are in each row of the map. This list is required for the map to display correctly. So to increase the height of the map you need to add new entries to this list. This requires relocating the list to free space. Compared to the above problem this one is much easier, I just need to code the logic into DSVEdit to properly handle relocating this to free space when the user change the map height is all.
Title: Re: DSVania Editor (v1.6)
Post by: Vanya on October 18, 2017, 11:36:43 am
OK, I figured that would be the case. For my project in particular I don't actually expect to have any issues.

Option 2 for managing the total number of map tiles would be a great compromise.
Being able to do something with the unused area in PoR would be nice, too.

Regardless, I have a suggestion for the map editor.
It would really help out if we at least had a count of the current number of map tiles used along with the maximum for the current map.
Title: Re: DSVania Editor (v1.6)
Post by: DarkPrinceAlucard on October 18, 2017, 06:32:25 pm
Hello LagoLunatic I have a question regarding sprite hacking.

First off let me start by saying I LOVE this tool, its really making my DS vania hacking so much easier especially within the character swapping and palette hacking department.

But one issue I'm still having is addressing some of the sprite hacking issues I'm having, my problem is that with the DSvania games most of them have their characters sprites mostly intact for the most part but then there are some of the sprites (namely running ones) that have the sprites not so put together with the torso being seperated from the head and the legs being located somewhere else entirely, I currently use both DSvania editor alongside Tile Molester where I use DSvania to pinpoint sprites and get the palettes so I can load them within Tile Molester to edit it and yet recently I have had more trouble handling those kinds of sprites since the positioning can be a bit off once I replace them within Tile Molester since the legs/torso may be positioned a bit off, I've noticed that when you export the frames as PNG that all the sprites are correctly put together and I find it would be much easier if I could edit those sprites and reinsert them back into the game, my question is would there be a way to export the sprites fully intact and edit them with new sprites and insert them back ingame using DSvania?
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on October 19, 2017, 03:06:54 pm
Regardless, I have a suggestion for the map editor.
It would really help out if we at least had a count of the current number of map tiles used along with the maximum for the current map.

Done, I added a counter of used/max number of tiles in the corner.

Hello LagoLunatic I have a question regarding sprite hacking.

First off let me start by saying I LOVE this tool, its really making my DS vania hacking so much easier especially within the character swapping and palette hacking department.

But one issue I'm still having is addressing some of the sprite hacking issues I'm having, my problem is that with the DSvania games most of them have their characters sprites mostly intact for the most part but then there are some of the sprites (namely running ones) that have the sprites not so put together with the torso being seperated from the head and the legs being located somewhere else entirely, I currently use both DSvania editor alongside Tile Molester where I use DSvania to pinpoint sprites and get the palettes so I can load them within Tile Molester to edit it and yet recently I have had more trouble handling those kinds of sprites since the positioning can be a bit off once I replace them within Tile Molester since the legs/torso may be positioned a bit off, I've noticed that when you export the frames as PNG that all the sprites are correctly put together and I find it would be much easier if I could edit those sprites and reinsert them back into the game, my question is would there be a way to export the sprites fully intact and edit them with new sprites and insert them back ingame using DSvania?

Unfortunately that idea is impossible. To explain why I need to explain the way the sprite system works in the dsvanias:
In a modern PC game, the devs would just store each animation frame separately like the ones DSVEdit can export, since filesize isn't much of an issue on PC. But on DS they need to save space, so the devs cut the sprites up into several parts, and some of these parts are used by many many different frames of animation. Some of the torso parts for a player might be used in several different animations, for example.
DSVEdit's Sprite Editor lets you view and edit the way these parts are arranged into animations.
The problem is that when you click "Export frames as PNG", DSVEdit assembles them all into completed images, meaning the sprite data of how parts are arranged and which are used more than once is completely lost. So once you do that the data can't be imported back, it's lossy. That button is intended for things other than romhacking, for example the person who asked me to add it is making a castlevania fangame on PC.

But I have a different suggestion I think might solve your issue. Try using the "Export to darkFunction (http://darkfunction.com/editor/)" button added to the sprite editor in v1.6. This lets you edit the way the parts of the sprite are arranged in an external program called darkFunction Editor, so if the legs and torso look off after you edited them you can just drag them so they're lined up right in darkFunction, then import them back into the game in the sprite editor.
Title: Re: DSVania Editor (v1.6)
Post by: Vanya on October 19, 2017, 05:32:40 pm
Coolio! :)
I feel like I had some more suggestions, but I don't remember. :P

Looking at what I'd like to accomplish with PoR, I'm pretty sure I'm going to have to delve into porting some enemies over from OoE and DoS.
Not really looking forward to that.
And I'm thinking I'm going to have to add a few new things from scratch, too.
Title: Re: DSVania Editor (v1.6)
Post by: Dev Anj on October 19, 2017, 09:15:10 pm
Looking at what I'd like to accomplish with PoR, I'm pretty sure I'm going to have to delve into porting some enemies over from OoE and DoS.

Interesting. What are you planning to do for PoR? I've been planning a mechanics/systems overhaul mod for it, which of course requires learning assembly to understand how the game functions work.
Title: Re: DSVania Editor (v1.6)
Post by: Vanya on October 20, 2017, 12:26:11 am
A remake of Castlevania 1 incorporating level layouts from CV1 NES, CV1 MSX, CV1 SNES, and CV1 X68k.
There are a few enemies not present in PoR that are in OoE and DoS.
I'll need a few new bosses that will need to be basically from scratch.
And I have no idea how I'm going to handle stairs.
If I want to be really ambitious I could try to add the whip swinging thing from SCV4, but I shouldn't get ahead of myself.
I have a long way to go before I can do half the stuff I'd like to.
And I have other stuff I have to get finished first.
At least I know building the levels will be easy.
Title: Re: DSVania Editor (v1.6)
Post by: ambrose007 on November 04, 2017, 05:35:34 pm
Does anybody know where I can find basic tutorial on how to use the editor?
Title: Re: DSVania Editor (v1.6)
Post by: Vanya on November 05, 2017, 01:00:46 pm
The read me has a good amount of information, but aside from that I don' think anyone has made a tutorial.
Title: Re: DSVania Editor (v1.6)
Post by: PachaWillWatchYa on November 05, 2017, 01:03:17 pm
What format do opening animations use, and how could I edit them?
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 05, 2017, 09:29:17 pm

I have some good news, I started implementing Harmony of Dissonance support and it's going smoother than I expected:

(https://i.imgur.com/VZdywlr.png)

In just a few days I've gotten the most important things working, including tiles, entities, doors, enemies, items, and maps.
There are quite a few weird quirks to HoD though. One being that entities don't load their own graphics automatically like the other 4 games, instead the room is responsible for having a list of all the entity graphics for that room. So DSVEdit will need to update this list whenever entities are edited.
It also uses full width text for everything, so DSVEdit will need to convert between that and normal text or it will be annoying to edit text.
Also, sprite animations and hitboxes are stored separately in HoD, so I'm not sure yet if it's possible to display/edit those. But individual frames of animation are the same as normal.
So I've still got some problems to work out, but hopefully I'll be able to release HoD support relatively soon.

What format do opening animations use, and how could I edit them?

PoR and OoE's opening videos are located at /mv/vamp.vx. They use a video codec called Actimagine Video Codec. But I don't believe there are any programs available that can either view or edit these.
This page has some information on the format: https://wiki.multimedia.cx/index.php/Actimagine_Video_Codec

DoS's is located at /mv/cvop.dmd. I have no idea what this format is, I can't find any information on it based on the file extension or magic bytes.
Title: Re: DSVania Editor (v1.6)
Post by: Sinis on November 05, 2017, 10:08:50 pm

I have some good news, I started implementing Harmony of Dissonance support and it's going smoother than I expected:



Recently took up an interest in doing HoD in the future so this is good news to me.  Like what I stated before and sadly will be a broken record from my part, still hoping for any future support for CotM :)

Keep up the awesome work on this :)
Title: Re: DSVania Editor (v1.6)
Post by: ikusatatsu_ushiromiya on November 08, 2017, 08:06:31 am
I already made sereval hacks of Metroidvania before.But with the help of DSVania Editor,I successfully made my best hack of Castlevania AoS:
http://www.romhacking.net/hacks/3696/
I wanted to build my own castle long before.Now I realized it!!
Thank you very much!!


Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on November 15, 2017, 07:36:31 am
What you made was a real blessing lunatic, thanks for this great work, but i have a few questions.
Is there a way to put OoE and Dos
Background music into por?
And also, a few subweapons from Jonathan which i want to use with Richter, use Jonathan's voice itself making the use of it with Richter weird, can i disable Jonathan's voice for the sub?
And one last thing, i can actually add a jumpkick to Richter, but he uses the Chuck Norris spin kick instead of his actual jumpkick included in this game, is there a way to point his jumpkick animation to the jumpkick?
And please keep it up, awesome work!
P.S.
I found out what unknown 6 in por's character editor does, it fully plays the double jump animation even if not fully executed (was made for charlotte's witch broom riding, so she's still riding it while falling).
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 16, 2017, 05:30:04 pm
Progress update on HoD:
It seems HoD has a feature not in the other games: room states. When a certain event flag is set, a room can choose to swap itself out for a totally different state. This can allow a room to change the tiles, entities, doors, everything inside it. I got these different states displaying now so you can edit each of them:
(https://i.imgur.com/NSrLDjH.png)
I've also gotten more standard features like the tileset editor, music editor, map editor, shop editor, text editor, and adding new entities working.

In the process of supporting HoD I also fixed a few bugs in AoS support, like the chaotic realm backgrounds not displaying at all, the music editor saving the music indexes incorrectly, and the tileset editor crashing when saving changes.

By the way, I've added a door editor UI to DSVEdit so you don't need to use Tiled for that, and it also lets you visually position where in the destination room the door places you by dragging around an orange rectangle, rather than needing to do hexadecimal math:
(https://i.imgur.com/dl30oL3.png)

I already made sereval hacks of Metroidvania before.But with the help of DSVania Editor,I successfully made my best hack of Castlevania AoS:
http://www.romhacking.net/hacks/3696/
I wanted to build my own castle long before.Now I realized it!!
Thank you very much!!

You're welcome! I'm glad you like it and were able to make a hack with it!

What you made was a real blessing lunatic, thanks for this great work, but i have a few questions.
Is there a way to put OoE and Dos
Background music into por?

I've tried replacing the music like that a couple times before. The only program I can find that replaces music files in the SDAT file is Tinke, but when you do so, the song you replaced just winds up sounding like silence.
VGMTrans is capable of extracting music files and converting them to MIDI successfully, but it can't import anything back in.
Maybe I'm just using these programs wrong? I dunno.


And also, a few subweapons from Jonathan which i want to use with Richter, use Jonathan's voice itself making the use of it with Richter weird, can i disable Jonathan's voice for the sub?

Unfortunately voices are hardcoded for most skills.
You'll need to go into the asm code of each skill you want Richter to use and find the line that calls PlaySfxAtPos (function 0204D5FC) to play Jonathan's voice, and make an armips patch to modify all these.
If you want to remove the voice regardless of who is using it you can just nop that call out. If you want Jonathan to still use his voice but not Richter, you could make a custom function that plays the voice if you're Jonathan but does nothing if you're Richter (or plays Richter's voice), and then replace each skill's PlaySfxAtPos call with a call to this new function instead.


And one last thing, i can actually add a jumpkick to Richter, but he uses the Chuck Norris spin kick instead of his actual jumpkick included in this game, is there a way to point his jumpkick animation to the jumpkick?

Yes, I found how to edit that a while ago, but DSVEdit doesn't have a UI to edit it yet so you'll need to use a hex editor.
First, if you have DSVEdit open, either close it or save your changes.
Then open up the file /ftc/overlay9_0 in your project directory with a hex editor. Jump to offset 50583, which has which animation Richter should use when jumpkicking straight down. The byte right after it at 50584 has the diagonal one.
By default they both are 0F, which you can see is the chuck norris spin kick if you look at Richter in the sprite editor. You can change both of them to 11, which is that jumpkick animation not used in the game. Save the file and build the rom, and now Richter should use that animation when jumpkicking. That animation already has the hitboxes set up correctly so it damages enemies too.

However, you'll notice there is one problem with using this animation:
(https://i.imgur.com/50kRmXX.gif)
Richter puts his leg back in instead of keeping it extended the whole time. I guess they didn't fully set up the animation.
To fix this, we need to edit the animation itself. To do this you need to export Richter's sprite to an external program called darkFunction Editor (http://darkfunction.com/editor/), edit the animation, and import it back ingame.

Open DSVEdit's sprite editor, select Richter in the Other tab, and press "Export to darkFunction". In darkFunction, find where you have DSVEdit on your hard drive, and open up the file: /darkfunction_sprites/p_0s_ric/p_0s_ric.anim
Select animation 11 and you'll see it has three frames/cells: Richter with his leg in, then with his leg extended, then back in. Select the third one and press the red minus key to delete it.
Save the file, and back in DSVEdit press "Import from darkFunction". That's it, Richter should now keep his leg extended the whole time he's jumpkicking:
(https://i.imgur.com/FrilaAg.gif)

And please keep it up, awesome work!
P.S.
I found out what unknown 6 in por's character editor does, it fully plays the double jump animation even if not fully executed (was made for charlotte's witch broom riding, so she's still riding it while falling).

Thanks! I couldn't figure out what that one was.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on November 16, 2017, 06:57:24 pm
Thanks, now that you've shown me to point animations, i can make a LOT with Richter, i could cry for happiness.
Also i want to mention that something weird happened to my shop in por...
I made a lot consumables buyable, for example caviar, foie gras and so on, after that i noticed that i removed quest stuff, so i resetted the hack.
After that, going to the shop, i found still all consumables buyable PLUS all standard stuff.
The shop has now more items as possible in my game because of the save, so theoretically, is it possible to ADD stuff to the shop instead of just replacing them?
If you want to check it out i could try to upload my save file somewhere, so you can check it out by yourself if you're not believing me, but it was very surprising.
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 16, 2017, 10:10:40 pm
Thanks, now that you've shown me to point animations, i can make a LOT with Richter, i could cry for happiness.
Also i want to mention that something weird happened to my shop in por...
I made a lot consumables buyable, for example caviar, foie gras and so on, after that i noticed that i removed quest stuff, so i resetted the hack.
After that, going to the shop, i found still all consumables buyable PLUS all standard stuff.
The shop has now more items as possible in my game because of the save, so theoretically, is it possible to ADD stuff to the shop instead of just replacing them?
If you want to check it out i could try to upload my save file somewhere, so you can check it out by yourself if you're not believing me, but it was very surprising.

Oh right, for some reason the shop actually stores which items are unlocked in your save file. I have no idea why they coded it like this, seems pretty unnecessary since they could just rely on checking which shop pools you have unlocked when entering the shop.

It should be possible to add new items to the shop. It will require me to code logic to repoint each shop pool to free space so there's room for new items, and that free space will probably have to be in the free space overlay added via Tools -> Add Overlay. It's a low priority but I'll definitely do it at some point.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on November 17, 2017, 01:18:16 am
Thanks you're my hero.
Sorry to bother again lunatic, but the equipment's special effects, like the sage ring's mp restoration boost, is it also hardcoded?
Also, Jonathan and Charlotte are the only characters that are blinking very annoyingly after switching, can this be turned off somehow? Or is it just a palette that changes very quick like fake Trevor's whip?
I would like to get rid of this blinking.
Thanks in advance.
Title: Re: DSVania Editor (v1.6)
Post by: ikusatatsu_ushiromiya on November 17, 2017, 09:17:19 am
I found a bug: When I change the room size in DoS, the game will freeze. In AoS, there is no problem. I try to build another castle in DoS, just like what I did in AoS.
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 17, 2017, 11:31:10 am
Thanks you're my hero.
Sorry to bother again lunatic, but the equipment's special effects, like the sage ring's mp restoration boost, is it also hardcoded?

Yes, those are hardcoded.

Also, Jonathan and Charlotte are the only characters that are blinking very annoyingly after switching, can this be turned off somehow? Or is it just a palette that changes very quick like fake Trevor's whip?
I would like to get rid of this blinking.
Thanks in advance.

It is a palette that changes quickly, but somewhat surprisingly it's not hardcoded. Apparently "Palette unknown 1" in the player editor is whether to use blinking for each player, and you can just change it to 0 instead of 1.

There is one side effect of doing this which is that Charlotte's outline is now green instead of black. But you can change the palette easily, just select Charlotte in the sprite editor and click "Open in GFX Editor". Then click on the second color from the left and you can change the color to black.

I found a bug: When I change the room size in DoS, the game will freeze. In AoS, there is no problem. I try to build another castle in DoS, just like what I did in AoS.

Specifically which room did you change the size of? I tried making a couple rooms bigger but they worked fine with no crash.

Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on November 17, 2017, 01:15:02 pm
Thanks, for the help with the palette lunatic, and with everything else, thanks to you i was able to manage myself to everything except the background music thing (not that bad) and the sub voice thing (working on it,even though i know nothing about asm), but here is the ultimate task.
It's always been my dream to play Charlotte in por like in hd, use spells while in mid air(possible now) and don't have to wait for your spell charge, and here is what i want to ask you,
The first bar can be set to 0 frames til release, but there is still that other bar, i want Charlotte to be able, even as my partner to use her spells at full charge.
Please, help me with that.
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 17, 2017, 03:43:19 pm
Thanks, for the help with the palette lunatic, and with everything else, thanks to you i was able to manage myself to everything except the background music thing (not that bad) and the sub voice thing (working on it,even though i know nothing about asm), but here is the ultimate task.
It's always been my dream to play Charlotte in por like in hd, use spells while in mid air(possible now) and don't have to wait for your spell charge, and here is what i want to ask you,
The first bar can be set to 0 frames til release, but there is still that other bar, i want Charlotte to be able, even as my partner to use her spells at full charge.
Please, help me with that.

This is easy to do with asm, since all spells share code that sets the same base multiplier (1x) and then when fully charged they all get the same amount added to that (+1, for 2x). (This multiplier is what doubles their damage, as well as the size and number of certain projectiles.)
So if we change the base multiplier to 2x, and reduce the amount added to 0, then both half charged and fully charged spells will behave fully charged.

Here's the patch: https://github.com/LagoLunatic/DSVEdit/blob/master/asm/por_spells_always_fully_charged.asm

To apply this patch to your hack:
* Download ARMIPS: https://buildbot.orphis.net/armips/
* Open your project folder
* Copy armips.exe and the asm file I linked into that folder
* Open a command prompt in that folder and type in: armips.exe por_spells_always_fully_charged.asm
That applies the patch to your project.

Random side note: If you wanted to, you could change the base multiplier to 2x, but keep the amount added at the 1 instead of 0, which would give spells a 3x multiplier when fully charged. If you do this they'll do triple damage, and many spells will look visually larger or have more projectiles than would normally be allowed in the game. Like these for example:
(https://i.imgur.com/PQPyTmH.png)
Pretty OP, but cool looking.

---

Also, for the subweapon voices: Here is an example asm patch that removes Jonathan's voice when using Ricochet Rock:
Code: [Select]
.nds
.relativeinclude on
.erroronwarning on

.open "ftc/overlay9_0", 021CDF60h

.org 0x02210060 ; Where Ricochet Rock's code calls PlaySfxAtPos for Jonathan's voice.
  nop ; Remove it

.close

The exact process of making this asm patch is as follows:
Pick a subweapon, and first find where its code starts by looking at it in the item editor. Ricochet Rock's code starts at 0220FCB8.
Then, using No$GBA Debugger Version (http://problemkaputt.de/gba.htm), open the built_rom_por.nds made by DSVEdit.
Go to address 0220FCB8. Then start scrolling down looking for places where the code says "bl PlaySfxAtPos". This is where the subweapon is playing a sound effect, but there will probably be more than one since subweapons usually make more sounds than just the voice. So try replacing these lines with "nop", and then use the subweapon. If it got rid of Jonathan's voice, you found the right place! If not, try again until you find the correct one. For Ricochet Rock, the correct line to remove is 02210060:
(https://i.imgur.com/VK5ZnJX.png)

So once you know where the code you have to change is, you can add these two lines to your asm patch:
Code: [Select]
.org 0x02210060
  nop
Repeat that for every subweapon and they should no longer play a voice.

Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on November 17, 2017, 04:15:34 pm
Can i also mute the change character voice clip with this somehow? My hack focuses on playing with the character's of your choice in storymode, so it's weird if Jonathan let's Maria take the lead but calls Charlotte.
And thanks. You made a dream come true and made around 90% of my hack right now, seriously thanks.
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 17, 2017, 05:23:06 pm
Can i also mute the change character voice clip with this somehow? My hack focuses on playing with the character's of your choice in storymode, so it's weird if Jonathan let's Maria take the lead but calls Charlotte.
And thanks. You made a dream come true and made around 90% of my hack right now, seriously thanks.

It appears that the character switching voice lines are not hardcoded. Surprisingly, there's actually a whole list of which voice to play when switching from each character to each other character, like Jonathan->Jonathan, Jonathan->Charlotte, Jonathan->Stella, etc, for 49 different possible combinations.

To change the Jonathan->Charlotte one, go to 5027E inside /ftc/overlay9_0. Change C9 05 to 00 00 to remove the voice.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on November 17, 2017, 05:55:55 pm
And what would i have to set to 0 i f i want to remove Charlotte's voiceclip as well?
And also, believe me it's pretty hard for me to ask that after asking that much, but do you have other patch formats for me, maybe?
It doesn't seem to be working on my laptop.T.T It says some kind of data is missing and armips wouldn't launch.
Again a Thousand thanks
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 17, 2017, 06:18:15 pm
And what would i have to set to 0 i f i want to remove Charlotte's voiceclip as well?

That one's at 5028A.

And also, believe me it's pretty hard for me to ask that after asking that much, but do you have other patch formats for me, maybe?
It doesn't seem to be working on my laptop.T.T It says some kind of data is missing and armips wouldn't launch.
Again a Thousand thanks


Here's an IPS patch for the spell charge thing: https://www.dropbox.com/s/kqj573bfi24f8rm/overlay9_0.ips?dl=0
But you're going to need armips to make your own patch to modify subweapon voices.

What is the error you get with armips?

I suspect your computer can run armips, since DSVEdit runs it a lot, like any time you do Build and Test, or Set as starting room, so unless those features crash DSVEdit for you armips is working.
Maybe your computer can only run the 64bit version of armips? If you go into DSVEdit/armips there's a armips64.exe you can try and see if that works instead of the armips.exe you downloaded (which is 32bit).
Title: Re: DSVania Editor (v1.6)
Post by: ikusatatsu_ushiromiya on November 18, 2017, 03:49:07 am
The first room in the lost village, when I change the size from 2X1 to 3X1.
Then when I attack in this room, the game crash.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on November 18, 2017, 06:34:04 am
No, the 64 bit version say's from the start i need to use 32 bit.
But once i try to open the exe with the asm patch you gave me, it says that "api-ms-win-crt-runtime-l1-1-0.dll" is missing, so the program cannot start.
The only sub voice things that are bothering me are, jonathans cross, javelin and riccochet rock.
I want them to be like the shuriken, the shuriken play's only jonathan's voice if used by jonathan, if you use it with richter, no voice will play,
Is it impossible to do with just hex?
And thanks again with the other stuff, worked everything  :)
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 18, 2017, 11:51:17 am
The first room in the lost village, when I change the size from 2X1 to 3X1.
Then when I attack in this room, the game crash.

Nope, I still don't get the crash:
(https://i.imgur.com/TFMOu1W.gif)

Can you send me an IPS patch of your hack so I can look into the cause of the crash?

No, the 64 bit version say's from the start i need to use 32 bit.
But once i try to open the exe with the asm patch you gave me, it says that "api-ms-win-crt-runtime-l1-1-0.dll" is missing, so the program cannot start.
The only sub voice things that are bothering me are, jonathans cross, javelin and riccochet rock.
I want them to be like the shuriken, the shuriken play's only jonathan's voice if used by jonathan, if you use it with richter, no voice will play,
Is it impossible to do with just hex?
And thanks again with the other stuff, worked everything  :)

Google says you need this windows update if you're missing that dll: https://support.microsoft.com/en-us/help/2999226/update-for-universal-c-runtime-in-windows

Using a hex editor to change asm code is possible but it's a pain so I don't recommend it. What you would need to do is change the code in No$GBA, see what No$GBA changed the bytecode to by going to the same address in No$GBA's memory view, calculate the offset of that address within the file (overlay9_0), and manually copy over the bytecode into a hex editor one byte at a time.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on November 18, 2017, 01:24:36 pm
How do i calculate the offset of that address for overlay 9?
I tried following your example with the ricochet rock, and everything worked perfectly so far, but i don't know how to find it's address for overlay 9.
Please help one more time :-[.
And if not too much explanation is needed, can i raise the lentgh of the ricochet rock's path?
In sotn it bounced off pretty often, but in por it bounces only one time off from a wall and disappears then...
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 18, 2017, 02:21:30 pm
How do i calculate the offset of that address for overlay 9?
I tried following your example with the ricochet rock, and everything worked perfectly so far, but i don't know how to find it's address for overlay 9.
Please help one more time :-[.

I have the locations that overlays are loaded into RAM documented here: https://github.com/LagoLunatic/DSVEdit/blob/master/docs/lists/PoR%20Overlays.txt
Overlay 0 is loaded at 021CDF60 in RAM, so if you take an address inside overlay 0 and subtract 021CDF60 from it you get the offset in the file (e.g. 02210060 - 021CDF60 = 42100).

And if not too much explanation is needed, can i raise the lentgh of the ricochet rock's path?
In sotn it bounced off pretty often, but in por it bounces only one time off from a wall and disappeared then...

The duration in frames it lasts is at 0220FD14 (this is also in overlay 0, so subtract 021CDF60 to get the offset, 41DB4).
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on November 18, 2017, 04:24:03 pm
Thanks, now i could REALLY handle everything, and yet another thing...
Do you know how to point Richter's
Subweapon shortcuts?
I want to replace Richter's cross with Jonathan's and his grand cross with the ricochet rock.
Thanks, in advance.
Title: Re: DSVania Editor (v1.6)
Post by: ikusatatsu_ushiromiya on November 18, 2017, 11:27:19 pm
I think I found the reason. I use a save data which has out of the castle many times. When I start a new game, there is no problem.
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 19, 2017, 02:07:15 pm
Thanks, now i could REALLY handle everything, and yet another thing...
Do you know how to point Richter's
Subweapon shortcuts?
I want to replace Richter's cross with Jonathan's and his grand cross with the ricochet rock.
Thanks, in advance.

Coincidentally I found the quickswap subweapons lists recently, Richter's is at 0221E2CC.
You may be interested in my PoR RAM map where I list all these various things I find: https://github.com/LagoLunatic/DSVEdit/blob/master/docs/PoR%20RAM%20Map.txt

I think I found the reason. I use a save data which has out of the castle many times. When I start a new game, there is no problem.

Ah, the memory corruption glitch. Yeah, that can have some strange side effects.

Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on November 19, 2017, 02:43:43 pm
A question about wind's quest's,
Master the holy power wants me to master the cross, holy water and bible. It it possible to make both Richter's and Jonathan's holy water count?
It's no problem if not, i can work around this, I'm just curious.
And can i add sprites?
I want to add Richter's straight down jumpkick, and maybe jumpkicks for Charlotte too.
Thanks in advance.
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 20, 2017, 12:57:24 pm
A question about wind's quest's,
Master the holy power wants me to master the cross, holy water and bible. It it possible to make both Richter's and Jonathan's holy water count?
It's no problem if not, i can work around this, I'm just curious.

Not easily. The function that checks that is at 020415B0 if you want to try it.

And can i add sprites?
I want to add Richter's straight down jumpkick, and maybe jumpkicks for Charlotte too.
Thanks in advance.

Yes you can add new animations and frames with darkfunction.
But you can't add new GFX pages, so when using the GFX editor you'll need to add the new sprites in blank unused spots on the existing GFX pages.
If there's enough room for that, it'll be easy.
But if there's not enough room you'll need to get clever and break the sprite up into multiple pieces spread out over different blank spots. Then when using darkfunction you'll need to piece these together into one solid image.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on November 20, 2017, 03:26:13 pm
Thanks, I'll look what i can do.
Umm... I guess you noticed that i plan to make it a lot like harmony of despair, so is it possible to change the magus ring's effect to not have such a high mp restoration?
That the mp restoration is just as double high as the sage ring's
Effect, so it's not such a strong effect that makes tonics useless?
And if yes, can i also somehow remove the magus ring flag, so you can collect one at every playthrough like you were able in DoS?
Thanks in advance :)
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 20, 2017, 04:16:34 pm
Thanks, I'll look what i can do.
Umm... I guess you noticed that i plan to make it a lot like harmony of despair, so is it possible to change the magus ring's effect to not have such a high mp restoration?
That the mp restoration is just as double high as the sage ring's
Effect, so it's not such a strong effect that makes tonics useless?
And if yes, can i also somehow remove the magus ring flag, so you can collect one at every playthrough like you were able in DoS?
Thanks in advance :)

If you want to make so many asm modifications, why not learn asm? All these things are possible, it's just a matter of reading through the code and finding where to make changes.
Here's a list of ARM asm instructions: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0068b/CIHEDHIF.html
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on November 20, 2017, 05:08:29 pm
Because i tried it already, but I'm too dumb for that, also I'm way better with hex.
So I'll just try it like i did it with the voice mute thing.
Somehow...
It may be annoying, but it's way easier for me like that.
If it's not working, I'm gonna try it once again with asm.
Sorry for bothering you all the time :-\
Title: Re: DSVania Editor (v1.6)
Post by: SinWorld on November 21, 2017, 01:36:32 pm
US DoS ROM has deleted voice clips. tried using JP ROM's sound file but no change because its; sounddata.DAT is exactly the same as the US'. Help please. Thank you.
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 22, 2017, 02:37:29 pm
US DoS ROM has deleted voice clips. tried using JP ROM's sound file but no change because its; sounddata.DAT is exactly the same as the US'. Help please. Thank you.

The way they removed some of the japanese voices was not by deleting them from sounddata.dat. They changed the code to no longer play the sfx for them. In order to add them back you'd need to examine the asm code of the japanese version to locate all the different places they call a function to play a sound effect which don't exist in the US version, then write asm code to add each call back to the US versions.
Title: Re: DSVania Editor (v1.6)
Post by: Vanya on November 23, 2017, 03:08:11 am
When creating new animations for an entity, such as an enemy, I'd need to add code for it to use the new animation, correct?
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 23, 2017, 03:48:43 am
When creating new animations for an entity, such as an enemy, I'd need to add code for it to use the new animation, correct?

Correct. Generally when an entity switches state it calls a function to set its animation.

For PoR, here are the functions for setting the animation:
Code: [Select]
02010DD4 SetSpriteAnim
  ; r0 - Entity+78
  ; r1 - Anim index to set
  ; Stores the anim index to entity+7C.
02010DC4 SetSpriteAnimAndProperties
  ; r0 - Entity+78
  ; r1 - Anim index to set
  ; r2 - Anim properties bitfield
  ; Stores the properties bitfield to entity+80, then calls SetSpriteAnim.
0200E8A4 SetSpriteAnimSafe
  ; r0 - Entity
  ; r1 - Anim index to set
  ; Checks the entity's sprite to be sure r1 is a valid animation index for this sprite. If it's not valid, use anim 0 instead.
  ; Then calls SetSpriteAnim to set the anim.
0200E894 SetSpriteAnimAndPropertiesSafe
  ; r0 - Entity
  ; r1 - Anim index to set
  ; r2 - Anim properties bitfield
  ; Stores the properties bitfield to entity+80, then calls SetSpriteAnimSafe.

And the animation properties bits I know about are:
Code: [Select]
  01 - ?
  02 - Do not loop animation
  04 - Play animation in reverse
  08 - Do not animate, just freeze on whatever the current keyframe is
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on November 23, 2017, 10:50:20 am
Two things:
First i thought about making the magus ring a hidden entity that only appears after all missions are completed so you can collect it once a playthrough, but i wasn't able to find a flag at your ram map maybe i missed it?
Please tell me if you found it.
And also i added a jumpkick sprite to Richter now, but he seems to be invisible, only his hitboxes are seen, how can i make the sprite visible?
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 23, 2017, 12:10:48 pm
Two things:
First i thought about making the magus ring a hidden entity that only appears after all missions are completed so you can collect it once a playthrough, but i wasn't able to find a flag at your ram map maybe i missed it?
Please tell me if you found it.

Entity hiders don't let you check any flag in RAM. They only let you check the specific flags mentioned in the entity hider docs (boss death flag, misc flag, event flag, currently in middle of a boss fight, game mode). Whether the player has completed all quests isn't one of those so unfortunately you can't use entity hiders for this, though it was a good idea.

Only way to do it is asm, the code to spawn an all-quests-complete pickup needs to be modified so it doesn't check if you have any of the item already. The code that spawns an all-quests-complete pickup starts at 021DD95C. If you change the line that checks how many of the item you have to be "mov r0, 0" it will trick the code into thinking you have 0 of the item regardless of how many you actually have.

And also i added a jumpkick sprite to Richter now, but he seems to be invisible, only his hitboxes are seen, how can i make the sprite visible?

I dunno, I've never had that problem. When I add a new animation to Richter in darkfunction I can immediately use it as his jumpkick animation no problem. Does this gif help? (https://i.imgur.com/mkWa5B3.gif) (Not shown in gif: you need to add 2 hitboxes instead of 1 if you want the jumpkick to damage enemies.)
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on November 23, 2017, 02:59:33 pm
I made it exactly the same way as you did, maybe it's because the sprite was added or so?
I'll send you my spritesheet next time if you want, and try it by yourself.
I also made it with 2 hitboxes as you said.
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 23, 2017, 03:44:00 pm
I made it exactly the same way as you did, maybe it's because the sprite was added or so?
I'll send you my spritesheet next time if you want, and try it by yourself.
I also made it with 2 hitboxes as you said.

Okay, send the spritesheet and I'll take a look, also send the darkfunction files (.anim and .sprites)
Title: Re: DSVania Editor (v1.6)
Post by: DarkPrinceAlucard on November 23, 2017, 06:33:34 pm
I'm currently having trouble editing collision and was wondering if you could help Lagolunatic, for some reason everytime I edit the tile collision within the editor for Aria of Sorrow it just crashes as soon as a hit the apply button, No error messages or nothing it just crashes and none of my changes are saved, any ideas on why its doing this?
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 23, 2017, 08:58:03 pm
I'm currently having trouble editing collision and was wondering if you could help Lagolunatic, for some reason everytime I edit the tile collision within the editor for Aria of Sorrow it just crashes as soon as a hit the apply button, No error messages or nothing it just crashes and none of my changes are saved, any ideas on why its doing this?

I just noticed that recently myself, it's going to be fixed in 1.7.
Title: Re: DSVania Editor (v1.6)
Post by: DarkPrinceAlucard on November 23, 2017, 09:12:07 pm
I just noticed that recently myself, it's going to be fixed in 1.7.

Ok great to hear, in the meantime I guess I will go back to my DS vania hacks for the time being, speaking of which I have 1 more question, I think you may have answered this before but I was wondering if there is a way to add a new room next to a existing one?

Like for instance at the beginning of Dawn of Sorrow there is a blockade there that once you remove it lets you go out of the map, I was wondering if it would be possible to put a new room there and if so how would you go about doing it?

I've tried importing it within Tiled and then resizing the map to give enough room to add but while it looks correctly in Tiled it then becomes a jumbled mess once I reimport it to DSvania so I'm guessing that is not the way to go?
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 23, 2017, 09:19:37 pm
Ok great to hear, in the meantime I guess I will go back to my DS vania hacks for the time being, speaking of which I have 1 more question, I think you may have answered this before but I was wondering if there is a way to add a new room next to a existing one?

Like for instance at the beginning of Dawn of Sorrow there is a blockade there that once you remove it lets you go out of the map, I was wondering if it would be possible to put a new room there and if so how would you go about doing it?

I've tried importing it within Tiled and then resizing the map to give enough room to add but while it looks correctly in Tiled it then becomes a jumbled mess once I reimport it to DSvania so I'm guessing that is not the way to go?

To resize a room go to Edit -> Edit Layers in DSVEdit and change the width and height fields of each layer you want to resize.

You can't add new rooms currently. That might be a feature at some point in the future.

Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on November 24, 2017, 10:37:29 am
https://www.dropbox.com/s/8igfuuazw8a5wsl/p_0s_ric.zip?dl=0

Here are the sprites, you may see the jump kick sprite under a backflip one.
OK WAIT!
I have it now i forgit to import the gfx, that's why he wasn't there.
My bad, sorry
Everyone can use the jumpkick how they want, have fun :)

November 24, 2017, 07:33:46 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Sorry lunatic, me again, i got Dracula x chronicles sprites from someone which look amazing, but now Richter gets fully invisible except for when turning around or being hit.
I imported gfx and dark function sprites/animations, i made everything in the video you showed me, but he isn't there...
Any clue what's happening?
But the sprites are visible in dsvania
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 25, 2017, 12:53:34 pm
https://www.dropbox.com/s/8igfuuazw8a5wsl/p_0s_ric.zip?dl=0

Here are the sprites, you may see the jump kick sprite under a backflip one.
OK WAIT!
I have it now i forgit to import the gfx, that's why he wasn't there.
My bad, sorry
Everyone can use the jumpkick how they want, have fun :)

November 24, 2017, 07:33:46 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Sorry lunatic, me again, i got Dracula x chronicles sprites from someone which look amazing, but now Richter gets fully invisible except for when turning around or being hit.
I imported gfx and dark function sprites/animations, i made everything in the video you showed me, but he isn't there...
Any clue what's happening?
But the sprites are visible in dsvania

Hmm, I just tried exporting and importing Richter's sprite from darkFunction over and over, and after doing this a few times I got the same bug you got where he's invisible ingame. Seems there's still bugs in the darkFunction importer I need to fix.

For now if you replace the /so/p_0s_ric.dat file with one from a completely clean project, it should fix this. Then just redo the stuff you did in darkFunction, but make sure you get it right in one go so you don't need to import more than once.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on November 25, 2017, 01:15:04 pm
Thanks, i wouldn't have been able to figure this out.
Title: Re: DSVania Editor (v1.6)
Post by: DarkPrinceAlucard on November 26, 2017, 04:01:05 am
I have another question regarding Aria of Sorrow, one thing I noticed is that it does not list the name of the gfx file path within the Tileset Editor so I have no way of viewing and editing the palettes of the stages within Aria of Sorrow since I can not provide the GFX exact path like I can with the DSvania games, is this currently reserved for a update or is there a way to actually view and edit the palettes for the stage backgrounds in Aria?
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 26, 2017, 04:14:04 pm
I have another question regarding Aria of Sorrow, one thing I noticed is that it does not list the name of the gfx file path within the Tileset Editor so I have no way of viewing and editing the palettes of the stages within Aria of Sorrow since I can not provide the GFX exact path like I can with the DSvania games, is this currently reserved for a update or is there a way to actually view and edit the palettes for the stage backgrounds in Aria?

I hadn't gotten those displaying correctly until now since they're much more complicated in AoS than the DS games, where each room GFX page can map to different chunks from different GFX files. There can also be multiple palette lists and the palette indexes currently displayed in the tileset editor can be incorrect.

Now I think I've gotten those all to display, so it will be in the next update.
(https://i.imgur.com/vewTQdA.png)
Title: Re: DSVania Editor (v1.6)
Post by: Vanya on November 27, 2017, 12:26:21 am
I have a semi-silly question that I probably already know the answer to, but is there any way in PoR to implement anything even remotely similar to the classic stairs without having to just straight up create new objects from scratch?
I'm guessing probably not.

Second question, any ideas on what might be the best way to create stairs?
Making it in the same way as in the classic games could be the simplest way.
It would require 4 stairs objects and at least one free RAM for an "on stairs" flag.
Hopefully the collision code would play nice and cause problems when walking up through solid platforms.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on November 27, 2017, 10:52:40 am
Hello lunatic, you remember the dxc Richter sprites i told you about?
Well, he has longer arms meaning that i had to adjust the vampire killer's whip animations for him.
The whipping animation looks perfect now except for that blue laser, it seems to have it's own pointing, do i have to live with it or can i point it somehow to the new point of the whip's tip without a lot of coding?
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 27, 2017, 07:09:14 pm
I have a semi-silly question that I probably already know the answer to, but is there any way in PoR to implement anything even remotely similar to the classic stairs without having to just straight up create new objects from scratch?
I'm guessing probably not.

Second question, any ideas on what might be the best way to create stairs?
Making it in the same way as in the classic games could be the simplest way.
It would require 4 stairs objects and at least one free RAM for an "on stairs" flag.
Hopefully the collision code would play nice and cause problems when walking up through solid platforms.

I'm not entirely sure how you could code that properly, but you may need to create a new player state bit (in the player entity's bitfield of player states) and write player code to handle the new state (so the player doesn't fall through the stairs, and so they use the right animation). The stairs object would keep this bit set as long as you're climbing the stairs.
I haven't figured out much player code so far since it's very long and complex, so I'm not sure specifically how you would need to modify that.

Actually, I just remembered that's there's also SetEntityCollision. This is what moving platforms and enemies like Catoblepas use so the player can stand on them. But you can't rotate the hitbox to get a sloped entity.
But maybe you could create an invisible platform with SetEntityCollision that is always underneath the player X-wise, but moves up and down along the path you want the stairs to take so that as the player walks left/right the platform moves them up/down. This would probably be much easier than trying to modify player code.

I got the basics of this working:
(https://i.imgur.com/M00g7kb.gif)
You activate the stairs by pressing up at the entity (object 08). The stairs automatically turn off if you get off them or if you reach a jumpthrough platform at the top.
This is still very incomplete, as you can't go down at the top of the stairs, the stairs are hardcoded to face left, and holding up doesn't make you walk up the stairs, you need to hold left. But it should be possible to get it working this way.
Here's the code: https://github.com/LagoLunatic/DSVania_C_Hacking/tree/master/por_stairs

Note that you can't walk up through solid platforms, only jumpthrough platforms. To walk through solid ones I figure you'd need to find a way to turn off collision checking for the player while they're on the stairs, but I don't know of a way to do that.

Hello lunatic, you remember the dxc Richter sprites i told you about?
Well, he has longer arms meaning that i had to adjust the vampire killer's whip animations for him.
The whipping animation looks perfect now except for that blue laser, it seems to have it's own pointing, do i have to live with it or can i point it somehow to the new point of the whip's tip without a lot of coding?

I found the function that updates the whip dangling, it's 021DBF9C.
021DBFF0 and 021DBFEC are where it hardcodes the X and Y offset respectively of Richter's hand, in pixels.
Title: Re: DSVania Editor (v1.6)
Post by: Vanya on November 28, 2017, 02:53:47 pm
<Utter Awesomeness>

Holy crap, dude! That's brilliant!
You just saved me a ton of time trying to figure this out. You are a scholar and gentleman. I salute you.

I'm going to take this ans run with it as far as I can.
I don't think I'll bother with trying to get this idea to work with solid blocks.
The pass-through platforms are good enough and I always thought being able to drop down from around stairs made sense since there's literally a huge hole in the floor around them.

To begin with I'm thinking it best to make 3 more variants of this for objects 9, A, and B.
This way I won't have to complicate things with trying to avoid hard-coding.
Object 9 will simply be inverted horizontally so you move up-and-right or down-and-left instead.
Object A will trigger by pressing down instead of up, be inverted vertically so you move down-and-left or up-and-right, and the check for pass-through platforms would be expanded to include solid ground as well so it resets if you reach the ground at the bottom of the stairs.
And finally, object B would combine all the changes from object 9 and object A.

Anyway, thanks again!


Edit: Come to think of it, this might be a much better approach to creating CV stairs in a fan game project, too.
Title: Re: DSVania Editor (v1.6)
Post by: DarkPrinceAlucard on November 28, 2017, 03:31:40 pm
I thought I read somewhere that its was possible to add or edit where doors lead to using the tool, my question is how do I go about doing that and if it where possible to add new doors?
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 29, 2017, 12:45:48 am
Holy crap, dude! That's brilliant!
You just saved me a ton of time trying to figure this out. You are a scholar and gentleman. I salute you.

I'm going to take this ans run with it as far as I can.
I don't think I'll bother with trying to get this idea to work with solid blocks.
The pass-through platforms are good enough and I always thought being able to drop down from around stairs made sense since there's literally a huge hole in the floor around them.

To begin with I'm thinking it best to make 3 more variants of this for objects 9, A, and B.
This way I won't have to complicate things with trying to avoid hard-coding.
Object 9 will simply be inverted horizontally so you move up-and-right or down-and-left instead.
Object A will trigger by pressing down instead of up, be inverted vertically so you move down-and-left or up-and-right, and the check for pass-through platforms would be expanded to include solid ground as well so it resets if you reach the ground at the bottom of the stairs.
And finally, object B would combine all the changes from object 9 and object A.

Anyway, thanks again!


Edit: Come to think of it, this might be a much better approach to creating CV stairs in a fan game project, too.

I'm glad you like it!

I just noticed that I somehow managed to delete some parentheses while committing it (whoops), so if you were wondering why the platform teleports offscreen when you get on it, that's fixed now.

Also, as an alternative to creating multiple objects and duplicating some code you could use var A and B - so var A = 0/1 means the bottom/top part of the stairs, while var B = 0/1 means a left/right facing staircase. But I doubt you'll run out of objects any time soon considering how many unused ones PoR has so either way works.

I thought I read somewhere that its was possible to add or edit where doors lead to using the tool, my question is how do I go about doing that and if it where possible to add new doors?

In the next version of DSVEdit there's going to be a door editor built in, but for the current version you need to go through Tiled.
Select the "Doors" layer in Tiled and click on a door, and you can change the destination room, as well as the dest_x/dest_y to put you in the destination room. To add a new door, right click on an existing door and select "Duplicate object", then edit the new door.

Title: Re: DSVania Editor (v1.6)
Post by: DarkPrinceAlucard on November 29, 2017, 01:01:47 am


In the next version of DSVEdit there's going to be a door editor built in, but for the current version you need to go through Tiled.
Select the "Doors" layer in Tiled and click on a door, and you can change the destination room, as well as the dest_x/dest_y to put you in the destination room. To add a new door, right click on an existing door and select "Duplicate object", then edit the new door.

Ok I tried and have made my changes but once I'm done adding the new door in Tiled it does not reflect the changes (new door) after I've imported it back into DSvania.
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 29, 2017, 01:06:53 am
Ok I tried and have made my changes but once I'm done adding the new door in Tiled it does not reflect the changes (new door) after I've imported it back into DSvania.

Huh, that's weird. Are you sure you saved within Tiled after adding the door?
Also, check to make sure you don't just have two doors right on top of each other at the same position.
Title: Re: DSVania Editor (v1.6)
Post by: DarkPrinceAlucard on November 29, 2017, 01:19:17 am
Huh, that's weird. Are you sure you saved within Tiled after adding the door?
Also, check to make sure you don't just have two doors right on top of each other at the same position.

Ok I figured it out, I just had to change the name of the door afterwards to door, before it was still named copy door when I tried to import it so I guess the editor did not register it under the wrong name lol, thanks dude this tool is going to put some of my previous hacks over the top.
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on November 29, 2017, 01:28:55 am
Ok I figured it out, I just had to change the name of the door afterwards to door, before it was still named copy door when I tried to import it so I guess the editor did not register it under the wrong name lol, thanks dude this tool is going to put some of my previous hacks over the top.

You're not supposed to duplicate the layer named "Doors" - you just duplicate an individual door (which has no name, it's one of those purple rectangles), and keep all the doors all on the one "Doors" layer. If you duplicate the entire layer and rename it, that doubles the number of doors in the room, which you may not want.
Title: Re: DSVania Editor (v1.6)
Post by: DarkPrinceAlucard on November 29, 2017, 02:01:12 am
You're not supposed to duplicate the layer named "Doors" - you just duplicate an individual door (which has no name, it's one of those purple rectangles), and keep all the doors all on the one "Doors" layer. If you duplicate the entire layer and rename it, that doubles the number of doors in the room, which you may not want.

I only duplicated the one door and then changed it destination to where it leads to, and yea I wanted 2 separate doors in 1 room.
Title: Re: DSVania Editor (v1.6)
Post by: Vanya on November 29, 2017, 07:21:35 pm
I was thinking about how the stairs will behave if I make them go up through the floor, but then it occurred to me that if I place a ramp on top of the pass-through platform, the player should just be able to walk up to an upper floor as normal without having to worry about adding any transition code or wierd object placements.
Title: Re: DSVania Editor (v1.6)
Post by: ikusatatsu_ushiromiya on December 03, 2017, 12:20:28 pm
I had a new hack project with your Editor:
http://www.romhacking.net/forum/index.php?topic=25338.0

I want to make a converse castle in AoS, just like the one in SoTN.
In fact first I want to add this castle to game, but the room can't be added.
So than I only can change the original castle to converse castle.


December 03, 2017, 12:25:03 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
I only duplicated the one door and then changed it destination to where it leads to, and yea I wanted 2 separate doors in 1 room.
Copy a door than remove it, you will find two doors.
Title: Re: DSVania Editor (v1.6)
Post by: Eternal248 on December 06, 2017, 10:38:45 pm
It's been a hot minute since I've been able to mod, but I'm glad to see this project is still going strong! I know what I'll be messing around with this Christmas. Question though, and I apologize if it's already been asked- do you intend to do anything with SotN any time soon? From what I've heard, it's a bit of a complex nut to crack.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on December 07, 2017, 04:46:15 am
Hey lunatic, do you remember me?
I'm still working in the dxc richter and i had to start over again, and now an issue appears that appeared pretty often and i want to know what i'm doing wrong...
However, sometimes when i try to import from darkfunction dsvania say's: Failed to render sprite.
Original image width is too small!
I really don't want to start over again because it starts to driving me into despair, please help me.
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on December 07, 2017, 04:09:30 pm
It's been a hot minute since I've been able to mod, but I'm glad to see this project is still going strong! I know what I'll be messing around with this Christmas. Question though, and I apologize if it's already been asked- do you intend to do anything with SotN any time soon? From what I've heard, it's a bit of a complex nut to crack.

I'm somewhat interested in SotN, but it's definitely complex so I'm not yet sure if I'll be able to make an editor for it. I recently read through Nyxojaele's detailed zone documentation (https://www.romhacking.net/documents/528/), and editing tiles seems pretty easy with all that information.

Entities are a different matter though.
For one, any time you change which entities are in a room, an editor would need to update the room's entity gfx list so the new entities have properly loaded graphics.
This appears to work similarly to how HoD does it, and although it took longer than expected I'm currently almost done getting this working in HoD, so it may be possible to do the same thing for SotN.

The biggest problem would be changing which entities are in each zone. Zones in SotN are their own separate things, each zone file has all the gfx and code for all the entities in that zone. So if you tried to add a skeleton to a zone that didn't originally have any skeletons it wouldn't work. (The DS games have a similar limitation, but only for a few specific objects like events, not every single enemy and object like SotN.)
In order to get around this an editor would need to search through all the other zone files to find the entity you want to add, then copy its gfx and code to the zone file you're adding it to. But while this presumably would work for gfx, copying the code over can't be that easy and it would probably just crash the game. So I imagine this will be very difficult or impossible to do.

Hey lunatic, do you remember me?
I'm still working in the dxc richter and i had to start over again, and now an issue appears that appeared pretty often and i want to know what i'm doing wrong...
However, sometimes when i try to import from darkfunction dsvania say's: Failed to render sprite.
Original image width is too small!
I really don't want to start over again because it starts to driving me into despair, please help me.

I think I have an idea of what happened - you probably put a part over the edge of a gfx page. Even though it shows up as one huge image in darkfunction, the gfx are actually a bunch of 128x128 images. It seems that putting a part over the edge (so it's on top of multiple gfx pages at the same time) causes some errors when I crop the part out for displaying it. I've fixed this for the next version. Also, I'm going to add a border in between each gfx page so it's visually clear that they should be separated and not have parts on top of the borders. Thanks for the report.

As far as not starting over again: Simply use darkfunction to fix whatever part is over the edge.
Then select Richter and "Import from darkFunction" as normal - you might get a couple of different error messages in the process, but you can just click OK on those and then it should import Richter correctly so you won't get the error anymore in the future.
Title: Re: DSVania Editor (v1.6)
Post by: Eternal248 on December 07, 2017, 04:57:28 pm
Hmm, that's interesting. I'm not too surprised it's like that though. Thanks for the info! Also, does this mean that you're working on adding a HoD editor (and maybe CotM down the line?) ;)
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on December 07, 2017, 05:39:00 pm
Thanks lunatic, you saved me a LOT of time and about music inserting...
I have a theory there, vgmtrans shows the music data in hex, so if you copy a music track in hex and paste it into the other game you COULD try to re point it.
I would try to do that but i forgot how to re point.
And like i said still just a theory...
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on December 07, 2017, 10:18:52 pm
Hmm, that's interesting. I'm not too surprised it's like that though. Thanks for the info! Also, does this mean that you're working on adding a HoD editor (and maybe CotM down the line?) ;)

Yup I'm currently adding support for HoD, it will be in 1.7.
CotM though was made by a different team and seems to use a different engine, so I doubt DSVEdit could support it. Someone would need to make an editor entirely from scratch for it.

Thanks lunatic, you saved me a LOT of time and about music inserting...
I have a theory there, vgmtrans shows the music data in hex, so if you copy a music track in hex and paste it into the other game you COULD try to re point it.
I would try to do that but i forgot how to re point.
And like i said still just a theory...

I think it would be possible, although very tedious and complicated, the replace music with a hex editor.
As far as I know, you would need to replace a SSEQ file, a SBNK file, and multiple SWAV files for each song you want to replace. You would also need to make manual changes to some of the files to work in the new game.
If you want to try, I found this documentation on the DS's sound formats: http://www.feshrine.net/hacking/doc/nds-sdat.php
Also, each of those files you replace would need to be the same size or smaller than what the original file was, of course. If any are bigger it's not possible.
Title: Re: DSVania Editor (v1.6)
Post by: Eternal248 on December 07, 2017, 10:39:27 pm
That's exciting! Thank you so much for your hard work on these. I know it's probably rather time consuming.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on December 08, 2017, 02:31:14 am
Thanks, maybe I'll try it someday.
So just another question here, do you know if it's possible to change Richter's shadow's when tackling, kicking or slidejumping?
There are too many shadows and they are definitely too close to each other, i wouldn't edit it right now anyway since I'm busy with the sprites and animations but i want to know for the future.
Thanks in advance :)
P.s. Uuuuh...
I made a big mistake i guess...
The magus ring asm thing wich was supposed to let me pick up one each playthrough.
It did not appear once, not even the first time so i can't get one anymore.
Have i set the wrong value to 0?
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on December 09, 2017, 12:34:50 pm
P.s. Uuuuh...
I made a big mistake i guess...
The magus ring asm thing wich was supposed to let me pick up one each playthrough.
It did not appear once, not even the first time so i can't get one anymore.
Have i set the wrong value to 0?

It should work if you changed the line which was originally "bl GetOwnedItemNum" to be "mov r0, 0h" so it thinks you have 0 of the item when spawning it. I dunno what you did but if it was something else it could result in the item not appearing at all. You'll need to revert that change by checking what the line originally was in a clean rom.
Title: Re: DSVania Editor (v1.6)
Post by: SinWorld on December 09, 2017, 01:14:23 pm
Just wanted to say thank you for all the hard work you are doing,  LagoLunatic.
:) :thumbsup: ;D
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on December 11, 2017, 05:11:31 am
Hey lunatic,
I made lots of mistakes again :D
I don't have hitbox 10 anymore, which is pretty often used.
How can i create own hitboxes?
I need to recreate it.
Thanks again.
And yes SinWorld is right, your work really IS Awesome!
P.s.
Sorry, never mind that, i'll use a default sprite data and make it right this time.
But still...
I wonder why it dissapeared...
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on December 12, 2017, 12:07:39 pm
Hey lunatic,
I made lots of mistakes again :D
I don't have hitbox 10 anymore, which is pretty often used.
How can i create own hitboxes?
I need to recreate it.
Thanks again.
And yes SinWorld is right, your work really IS Awesome!
P.s.
Sorry, never mind that, i'll use a default sprite data and make it right this time.
But still...
I wonder why it dissapeared...

That's weird, I'm not sure why it disappeared. But for future reference making a new hitbox can be done by:
* First make a new visual part by double clicking a sprite like normal
* Drag the edges to resize it to be the size you want the hitbox
* Drag it down to the huge pink region at the bottom
* In the panel on the left, rename this part so its name starts with "hitbox" (lowercase) so DSVEdit knows it's a hitbox.

If you're adding multiple hitboxes make sure they all have unique names like "hitbox new 1" "hitbox new 2" or whatever, you'll get conflicts if hitboxes have duplicate names.
Also, if a hitbox is unused DSVEdit will ignore it and not import it. So make sure it's used at least once in the .anim file before importing.
Come to think of it I should add this info to the readme.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on December 12, 2017, 11:55:01 pm
Thanks lunatic, and i know how it disappeared XD.
I used one of the hitboxes down there to cover a new sprite of Richter XD.
Well i've got another question here, if i want to make all consumables auto consumed when touching them like the hp/mp up items, would this as well need asm?
And the records, i just want to change the displayed music, for example bloodlines bequathed instead of in search of the secret spell, how can i do that?
And if you don't know, please be so kind and tell me once you find out.
thanks that you keep helping me that much :laugh:
P.s.
Just a question aside, if i make the boss doors like the one in the nest of evil (so that the boss respawns after leaving and reentering the portrait) would it cause story softlocks?
And if i make bosses drop items would they do so?
Because i tried it already with the sandworm and cheated 9999 luck to try it out but no matter how much i killed it wouldn't drop an item so the question.
P.s.
Screw the idea with the auto use of items, sorry :<
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on December 13, 2017, 02:06:10 pm
Thanks lunatic, and i know how it disappeared XD.
I used one of the hitboxes down there to cover a new sprite of Richter XD.
Well i've got another question here, if i want to make all consumables auto consumed when touching them like the hp/mp up items, would this as well need asm?
And the records, i just want to change the displayed music, for example bloodlines bequathed instead of in search of the secret spell, how can i do that?
And if you don't know, please be so kind and tell me once you find out.
thanks that you keep helping me that much :laugh:
P.s.
Just a question aside, if i make the boss doors like the one in the nest of evil (so that the boss respawns after leaving and reentering the portrait) would it cause story softlocks?
And if i make bosses drop items would they do so?
Because i tried it already with the sandworm and cheated 9999 luck to try it out but no matter how much i killed it wouldn't drop an item so the question.
P.s.
Screw the idea with the auto use of items, sorry :<

So you want to change the music playing in Forgotten City from In Search of the Secret Spell to Bloodlines Bequeathed? Most background music you can change in DSVEdit's music editor. But it seems it can only edit the above ground music (Sandfall), and they hardcoded the underground song to be In Search of the Secret Spell.

Changing boss doors won't make bosses themselves respawn, it will only make the boss doors respawn, trapping the player in an empty room.
If you change the boss's code you could probably make them respawn, but as you suspect it would cause story softlocks for many bosses. The 4 bosses before Brauner need to be dead for Brauner's portrait to unlock for example.

An enemy will drop items if it's coded to drop items. Some enemies that didn't originally drop items are coded to drop them, like Skeleton Tree. I don't know if Sand Worm is coded to drop items or not, but even if it is they would spawn at the bottom of the screen and be impossible to grab. I dunno about bosses, you'll have to test it and find out.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on December 13, 2017, 08:48:03 pm
Lunatic, something horrible happened today :'(...
I was finally done with Richter, but as i inserted the gfx files and the darkfunction sprites, it became even worse than last time, he is now completely invisible and you even get stuck after you use the whip...
And if you may think it's because of the changes to my rom, it's not because i also tried it in a clean rom with the same result.
Was it too much for the frogram, all at once or? :-\
If i could contact you private somehow, i would send you the files personally because the sprites weren't made by me and i can't share them all around...
Please help me here, it's very important for me!
And about the music...
You misunderstood me, i wanted to know how to change the music that the music records are playing.
I'm relying on you now, please don't let me down :thumbsup:
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on December 13, 2017, 09:09:01 pm
Lunatic, something horrible happened today :'(...
I was finally done with Richter, but as i inserted the gfx files and the darkfunction sprites, it became even worse than last time, he is now completely invisible and you even get stuck after you use the whip...
And if you may think it's because of the changes to my rom, it's not because i also tried it in a clean rom with the same result.
Was it too much for the frogram, all at once or? :-\
If i could contact you private somehow, i would send you the files personally because the sprites weren't made by me and i can't share them all around...
Please help me here, it's very important for me!

If Richter is becoming invisible again, isn't that the bug we talked about before? If you want to fix it without starting over you will need to delete all the erroneously added "unanimated frames" in darkfunction to get the size of the sprite file down.
I can tell you the unanimated frames Richter originally had are numbered B5-D2. You don't want to delete those since Richter needs them, but if you delete all the other unanimated frames in darkfunction except B5-D2 and then import, it should fix it.

That bug will be fixed for 1.7 which will be released soon, so you may want to hold off on making more sprite edits until then so it doesn't keep adding unanimated frames you will need to delete.

If you need to contact me privately this site has a private message feature.

And about the music...
You misunderstood me, i wanted to know how to change the music that the music records are playing.
I'm relying on you now, please don't let me down :thumbsup:

You can't change what song a record plays, that's hardcoded based off the item ID.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on December 13, 2017, 09:40:31 pm
Thank's that's a relief.
And another question here, can i add items instead of changing?
It should be possible but would take a lot of programming right?
And Charlotte's spells scrolls that you are collecting, where can i edit it?
I want it to be blue like in hd,
And yes i found its sprite in a gfx file but how can i change it's palette?
Sidenote, i actually don't plan to release my hack but you are helping me that much, do you want it once I'm done?
I'd really like to show you the results once I'm done. :laugh:
Title: Re: DSVania Editor (v1.6)
Post by: Dev Anj on December 13, 2017, 11:00:00 pm
Thank's that's a relief.
And another question here, can i add items instead of changing?
It should be possible but would take a lot of programming right?
And Charlotte's spells scrolls that you are collecting, where can i edit it?
I want it to be blue like in hd,
And yes i found its sprite in a gfx file but how can i change it's palette?
Sidenote, i actually don't plan to release my hack but you are helping me that much, do you want it once I'm done?
I'd really like to show you the results once I'm done. :laugh:

You can't add items because the no. of items is based on hardcoded lists in game, and raising this size can lead to complications as the items can overwrite other parts of the RAM if you're not careful. So I would say it's possible, but very tricky.

For Charlotte's spell scrolls, GIMP is your friend.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on December 13, 2017, 11:13:15 pm
Thanks for clarifying the item stuff, but what exactly do i have to do with GIMP?
I mean, if you go to edit items and say click on a potion you can choose the icon and new palette and then insert it, but since i can't choose the scroll anywhere to select the palette I'm asking you now what you mean by GIMP?
And thanks for the reply :)
Title: Re: DSVania Editor (v1.6)
Post by: Dev Anj on December 13, 2017, 11:32:49 pm
GIMP is a free, powerful image editor you can get from here: https://www.gimp.org/ . Download it and lookup how to edit palettes with it.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on December 13, 2017, 11:38:34 pm
Wait there is a misunderstanding here sorry :huh:, i don't want to edit the palette, i want to give it an already existing one but just another one,it uses palette 2 but i want palette 0 for it.
But thanks anyway  :)
P.s.
Lunatic i'm certain now that i want to learn asm since i need it that much and i can't bother you all the time, but there is one problem...
As you gave me instructions like i have to remove "Playsfxatpos" i wasn't able to see it, i could change it because i knew the exact adress but the no$gba debugger i use isn't showing these informations.
Is it because of the version i'm using or because of some kind of setting?
I really want to learn it now but it get's hard without seeing these commands.
And did you list anywhere which animations are played at which conditions like with the richter jumpkick,something like the ram map you made?
I want to give all whips alternate animations which look the same as richters whip so jonathan and richter can use them but it shows individual whip animations for each character, so i need to know where i can set which animations are taken for each characters.
Well IF i can set it individually for both jonathan and richter.
Thanks again.
P.s.
At your ram map the adress for the missions, there are bits that affect the conditions to complete the missions.
To clarify it, i guess it determines if you have accepted the mission or not, since some missions can only be completed after you accepted them by talking to wind.
It was bit 04,2
Or so i'm not that good in this stuff, hope that helped somehow.
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on December 14, 2017, 01:33:17 pm
Lunatic i'm certain now that i want to learn asm since i need it that much and i can't bother you all the time, but there is one problem...
As you gave me instructions like i have to remove "Playsfxatpos" i wasn't able to see it, i could change it because i knew the exact adress but the no$gba debugger i use isn't showing these informations.
Is it because of the version i'm using or because of some kind of setting?
I really want to learn it now but it get's hard without seeing these commands.

I think it's a setting. Trying pressing the Tab key in no$gba, that toggles on/off showing symbol names like "PlaySfxAtPos".

Also, the symbol file is automatically copied by DSVEdit when you build the rom. So if you open a rom that wasn't made by DSVEdit, you will need to copy the symbol file manually. To do this, copy the file ./docs/asm/PoR Functions.txt (https://github.com/LagoLunatic/DSVEdit/blob/master/docs/asm/PoR%20Functions.txt) to the same folder as the rom you're opening, and rename it to have the same name as the rom but a .sym extension. e.g. if you're opening "PoR.nds", you need to have "PoR.sym" in the same folder in order to see the symbol names in no$gba.
Title: Re: DSVania Editor (v1.6)
Post by: felipechalreo on December 14, 2017, 01:41:50 pm
This looks impressive. I'm doing some research on Harmony of Dissonance. Do you know how to change drop rates?
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on December 14, 2017, 09:25:55 pm
This looks impressive. I'm doing some research on Harmony of Dissonance. Do you know how to change drop rates?

Yup, it's part of the enemy DNA. The chance is out of 0x400, so 0x40 is a 1/16 chance for example.
(https://i.imgur.com/bjr51Gl.png)

Speaking of which, HoD support is almost done and I think I can release DSVEdit 1.7 soon. Just need to finish the last of getting entity editing working properly, and try to get editing shop prices working.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on December 15, 2017, 08:24:04 am
Hey lunatic, i have a great idea,
If i want to give whip animations a 3rd animation which looks exactly like richter's whip, and i want only richter to use them, do i have to change the setting in richter like we did with the jumpkick? Or do the whip's have their own setting, when which animations are played?
I want that both richter and jonathan have seperate whipping animations, for the same whip.
Hmmm... Also i hope that richter's whip will also fit in the sheet of the normal whips.
Anyway, thanks in advance :)
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on December 15, 2017, 12:42:17 pm
Hey lunatic, i have a great idea,
If i want to give whip animations a 3rd animation which looks exactly like richter's whip, and i want only richter to use them, do i have to change the setting in richter like we did with the jumpkick? Or do the whip's have their own setting, when which animations are played?
I want that both richter and jonathan have seperate whipping animations, for the same whip.
Hmmm... Also i hope that richter's whip will also fit in the sheet of the normal whips.
Anyway, thanks in advance :)

You need special coding if you want a weapon to use any animation besides 00.
And it doesn't look like there's any room to fit both whip animations on a single GFX sheet.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on December 15, 2017, 12:46:45 pm
Those are bad news...
But thanks anyway.
Only one more thing about that,
If i give richter's vampire killer a diagonal whipping animation, and set it to 01 (of course) would it automatically use this animation or does it need special coding as well?
You see, the dxc richter sprites includes a diagonal whipping animation so i wanted to add at least that.
And thanks again :)
Title: Re: DSVania Editor (v1.6)
Post by: felipechalreo on December 15, 2017, 05:08:53 pm
That would be great... I am trying to understand how drops works in the game, just out of curiosity.

Could you post the HoD Enemy DNA format? I was wondering if is possible to fix luck in the other games as well. I just saw that you made the Castlevania: Dawn of Sorrow Fixed Luck patch.
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on December 16, 2017, 04:26:31 pm
That would be great... I am trying to understand how drops works in the game, just out of curiosity.

Could you post the HoD Enemy DNA format? I was wondering if is possible to fix luck in the other games as well. I just saw that you made the Castlevania: Dawn of Sorrow Fixed Luck patch.

Here's the format: https://github.com/LagoLunatic/DSVEdit/blob/master/docs/formats/HoD%20Enemy%20DNA%20Format.txt

The function enemies call to drop stuff when they die is 080313A0. From what I can tell from looking at this function it doesn't even read the player's luck at all, so the only things that affect the drop chance are the base chance and whether the player has the rare ring on (or the heart choker, for hearts).
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on December 18, 2017, 07:04:41 am
Say lunatic...
Did you see my questions about the palette of charlottes spells scrolls and the diagonal whipping?
It's ok if you don't know, i'm grateful for your help everytime, i just wanna know if you saw this  :-\
And since i'm already here, thanks for that great tool and your help, i can't await the next update :laugh:
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on December 18, 2017, 02:55:28 pm
Say lunatic...
Did you see my questions about the palette of charlottes spells scrolls and the diagonal whipping?
It's ok if you don't know, i'm grateful for your help everytime, i just wanna know if you saw this  :-\
And since i'm already here, thanks for that great tool and your help, i can't await the next update :laugh:

Yup I saw them, but I don't know anything more about how to do those than you do. Good luck though! I'd be interested to know where the code you need to modify for those is if you find it.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on December 18, 2017, 02:58:29 pm
Phew, thanks i thought you just oversaw them XD.
Thanks i'll try!

December 22, 2017, 04:05:05 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Hey lunatic, i have a question again.
I want that the special playable character in my por zero from the megaman zero series is, and i have the perfect palette so he doesn't even need weapons like the old axe armor but...
1st. The spritesheet is too small
2nd i don't want hundrets of Zero's running around dracula's castle since the player and enemy use the same sheet.
Can i make tha program load a completely new sprite and animation file individually for the old axe armor player?
I guess vanya was adding an enemy once so shouldn't a player be possible as well?
Thanks in advance :)
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on December 23, 2017, 02:19:54 am
Phew, thanks i thought you just oversaw them XD.
Thanks i'll try!

December 22, 2017, 04:05:05 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Hey lunatic, i have a question again.
I want that the special playable character in my por zero from the megaman zero series is, and i have the perfect palette so he doesn't even need weapons like the old axe armor but...
1st. The spritesheet is too small
2nd i don't want hundrets of Zero's running around dracula's castle since the player and enemy use the same sheet.
Can i make tha program load a completely new sprite and animation file individually for the old axe armor player?
I guess vanya was adding an enemy once so shouldn't a player be possible as well?
Thanks in advance :)

Adding new things is impossible for most types of things. You need to replace an existing thing with your new thing instead, whether it be a new enemy, item, sprite, etc.
Title: Re: DSVania Editor (v1.6)
Post by: Vanya on December 23, 2017, 07:37:39 am
When I get around to messing with enemies, I was always planning to replace existing resources.
My concerns were more about possibly porting enemies from some of the other games to cut down on some of the work, but they were always intended to be replacements.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on December 23, 2017, 08:20:53 am
Thanks vanya, i was really confused when lunatic said that i can't add stuff.
And one more thing,
If i want to replace someones sheet with the one of zero,
Does it have to be an enemy's sheet?
Since the old axe armor uses the sheet as enemy and as player.
And also, does Zero's sheet have to be as big as the one i removed or does it not even matter?
Because i would then make a really big one like richter's so i can just add stuff when needed.
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on December 23, 2017, 01:24:10 pm
Thanks vanya, i was really confused when lunatic said that i can't add stuff.
And one more thing,
If i want to replace someones sheet with the one of zero,
Does it have to be an enemy's sheet?
Since the old axe armor uses the sheet as enemy and as player.
And also, does Zero's sheet have to be as big as the one i removed or does it not even matter?
Because i would then make a really big one like richter's so i can just add stuff when needed.

The old axe armor enemy and player use separate sprite/palette/gfx, so if you replace the player one it won't affect the enemy.

You can't add new GFX pages. Old axe armor currently has 1 GFX page, so you need to fit every one of zero's sprites onto that single 128x128 sheet. If 128x128 pixels isn't enough you need to replace a player that has more than 1 GFX page, like Maria for example has 5, Richter has 0x17, etc.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on December 23, 2017, 01:27:44 pm
That's bad :'(
My only option then is 8 bit simon...
Thanks anyway

December 23, 2017, 02:18:50 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
WAIT!
Can't i mix unused gfx files?
I mean use the old axe armor's gfx file and a few unused ones from richter?
Or would it cause problems with the palette?
Because i'm almost sure i saw something using two files at once....
Title: Re: DSVania Editor (v1.6)
Post by: Eternal248 on December 26, 2017, 10:52:10 pm
Hey team, quick question- if I wanted to make enemies and their attacks faster, how would I go about doing that? I vaguely recall it being discussed before but I can't remember what the solution was.

Thanks!
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on December 26, 2017, 11:59:18 pm

December 23, 2017, 02:18:50 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
WAIT!
Can't i mix unused gfx files?
I mean use the old axe armor's gfx file and a few unused ones from richter?
Or would it cause problems with the palette?
Because i'm almost sure i saw something using two files at once....

I'm not sure, it might work. You could try making your own GFX list from scratch and then assigning that to old axe armor in the player editor. But then there's also the "GFX asset index" field... not sure how that works, but it might require the GFX assets to be sequential, in which case mix and matching various GFX pages would be impossible.

Hey team, quick question- if I wanted to make enemies and their attacks faster, how would I go about doing that? I vaguely recall it being discussed before but I can't remember what the solution was.

Thanks!

In the sprite editor, select the enemy you want and find its attack animation. Then go through each keyframe in the animation one by one (by slowly dragging the slider next to the play button). For each keyframe, modify the "Frame delay" field. If you want the enemy to attack twice as fast, halve the number in that field for each keyframe, so 08 -> 04, 13 -> 09, etc.

Note that making the animation faster will make most enemies attack faster, but walking/flying speed is a different thing altogether, you'd need to modify the enemy AI to change movement speed.
Title: Re: DSVania Editor (v1.6)
Post by: Eternal248 on December 27, 2017, 05:56:12 pm
Thanks for the info! I appreciate it.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on January 08, 2018, 01:09:15 pm
I tried now killing three bosses with charlotte while having the heart brooch equipped to look if they have programming to drop items, because if enemies do, they drop at leat a heart.
Sadly, no boss yet dropped a heart, so i guess they are not programmed to drop something.
If i want to make them drop something, is it just an enable and disable thing?
Or does it require hardcoding and stuff?
Thanks in advance :)
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on January 08, 2018, 01:11:03 pm
I tried now killing three bosses with charlotte while having the heart brooch equipped to look if they have programming to drop items, because if enemies do, they drop at leat a heart.
Sadly, no boss yet dropped a heart, so i guess they are not programmed to drop something.
If i want to make them drop something, is it just an enable and disable thing?
Or does it require hardcoding and stuff?
Thanks in advance :)

Yes, all items with special effects like that are hardcoded.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on January 08, 2018, 01:13:18 pm
Wait XD, misunderstanding again.
Not the heart brooch, i mean if i want bosses to drop items.
You explained me the special effect stuff already, and thanks again for that.
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on January 08, 2018, 01:30:32 pm
Wait XD, misunderstanding again.
Not the heart brooch, i mean if i want bosses to drop items.
You explained me the special effect stuff already, and thanks again for that.

Every enemy has unique code for when it dies - most regular enemies just call a generic enemy death function that does several things like checking for item drops, but I'm pretty sure bosses all have special death code since they have to spawn boss orbs, set their specific boss death flag, etc.
I doubt any of the bosses are coded to check for drops when they die (though it's a possibility, you'd need to check every boss to be sure). You would probably need to add a new line of code that calls EnemyCheckDrops to the boss's death code in order for them to drop items. Not sure if anything else would be necessary.
Title: Re: DSVania Editor (v1.6)
Post by: MaverickZero on January 08, 2018, 01:35:26 pm
Now i understand :o, thanks again!
Title: Re: DSVania Editor (v1.6)
Post by: Gentlemaner on January 12, 2018, 08:16:58 am
Hello,LagoLunatic!

Castlevania - Aria of Sorrow (U)

JULIUS SKILLS Grand Cross pointer is 08034f49,I debug it,find the data.

JULIUS SKILLS[Axe,Cross,Holy Water,Grand Cross] Use anim pointer and gfx pointeris:

Hex:00252b4c——00252cdf

I hope that this data will help you!!
Title: Re: DSVania Editor (v1.7)
Post by: LagoLunatic on January 12, 2018, 10:36:50 pm
DSVEdit 1.7 is complete! (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.7.0) This includes complete Harmony of Dissonance support, tons of bugfixes, and a few new features (like a door editor (https://i.imgur.com/8UbuFBt.png) and a magic seal editor (https://i.imgur.com/2p7sK6t.gif)).

Note for anyone who has been using the free space overlay for custom ASM - there was a bug with where it was positioned in RAM in previous versions, and game assets could overwrite parts of it and cause the game to crash. To fix this the free space overlay has to be moved. DSVEdit 1.7 will move the overlay automatically, but you need to reapply any of your custom ASM patches manually if they use that overlay, after you update the address of the overlay in those patches. The new address you should use is given in a popup when you load your project in DSVEdit 1.7.
Title: Re: DSVania Editor (v1.7)
Post by: Vanya on January 13, 2018, 03:22:32 am
Awesome! I can't wait to try this out. I've been putting this off for a while waiting for this update and really just having no time to *take* care of other projects and RL. :P
Title: Re: DSVania Editor (v1.7)
Post by: MaverickZero on January 13, 2018, 05:17:30 am
Same here, i'm so excited to try this out :crazy:
Title: Re: DSVania Editor (v1.7)
Post by: Eternal248 on January 13, 2018, 12:59:28 pm
Great work! I'm excited to try out the HoD features. That being said, I tried extracting the HoD files, and it just sits there at the Extracting Files from ROM screen. I've left it running for over 10 minutes now before having to close out the editor via Task Manager. Is there something I should be doing differently to get them to extract?

Thanks!
Title: Re: DSVania Editor (v1.7)
Post by: LagoLunatic on January 13, 2018, 01:46:30 pm
Great work! I'm excited to try out the HoD features. That being said, I tried extracting the HoD files, and it just sits there at the Extracting Files from ROM screen. I've left it running for over 10 minutes now before having to close out the editor via Task Manager. Is there something I should be doing differently to get them to extract?

Thanks!

Hmm, apparently if the rom extractor runs into an error it fails to display that error anywhere.
The only guess I have as to what the error is would be that it's the wrong rom. For example maybe you tried it on the EU version of HoD instead of the US version.
The right rom should have these hashes:
MD5: ea589465486d15e91ba94165c8024b55
SHA-1: b90da0d9be0b3a0893cd9e2c399056bcf9579e21

But if the rom is correct then the error must be something else. I fixed the error not displaying in update 1.7.1 (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.7.0), so try that out so we can see what's going wrong.
Title: Re: DSVania Editor (v1.7)
Post by: Eternal248 on January 13, 2018, 01:58:13 pm
You were right on the money. Turns out it was an EUR ROM. Thank you!
Title: Re: DSVania Editor (v1.7)
Post by: Vanya on January 15, 2018, 12:06:21 am
Right now when I want to add custom ASM to my project I have to create an overlay and then patch my code into that, right?
Any plans to add a gui for that to make it more user-friendly and less time spent outside the editor?
Title: Re: DSVania Editor (v1.7)
Post by: LagoLunatic on January 15, 2018, 12:55:26 am
Right now when I want to add custom ASM to my project I have to create an overlay and then patch my code into that, right?
Any plans to add a gui for that to make it more user-friendly and less time spent outside the editor?

Yep, I'm planning to add a UI to apply armips patches so you don't need to run it via the command line.
Title: Re: DSVania Editor (v1.7)
Post by: Vanya on January 16, 2018, 03:18:33 am
Oh thank god! I'm a bad computer nerd for saying so, but I hate having to use the command line for anything other than using obscure maintenance programs to diagnose issues on my machine.
Title: Re: DSVania Editor (v1.7)
Post by: MaverickZero on January 22, 2018, 08:18:43 am
Hey lunatic, i'm doing my best to not to ask you always when i need help but i really don't know what to do now :-\...
Do you remember the dracula x chronicles Richter i'm working on?
I'm halfway through, and while editing the whipping animations i have following issue...

(http://www.romhacking.net/scratchpad/11339/)

(http://www.romhacking.net/scratchpad/11340/)

As you may see, i was able to change the whip animations to fit for richter's new animation, and i also have set up the x and y coordinates of his hand for the dangling, but his whipping while crouching is a big problem...
I'm no programmer, and everything i do focuses actually on graphics aand respriting, but is it actually somehow possible to make it fit without screwing the other whipping animations for that?
And...
I wanted to give richter diagonal whipping exactly like you showed me to give him jumpkicks,  but it's impossible to find the animation he uses for that to change it into the new animation, because he always uses the animation you are in, at the moment you are diagonal whipping :huh:.
Like i said, i'm no programmer but i will start from now on to mess a bit around with all the unknowns of portrait of ruin, i hope i can help you somehow then :P.
Thanks in advance :D
Title: Re: DSVania Editor (v1.7)
Post by: LagoLunatic on January 22, 2018, 11:18:04 am
Hey lunatic, i'm doing my best to not to ask you always when i need help but i really don't know what to do now :-\...
Do you remember the dracula x chronicles Richter i'm working on?
I'm halfway through, and while editing the whipping animations i have following issue...

(http://www.romhacking.net/scratchpad/11339/)

(http://www.romhacking.net/scratchpad/11340/)

As you may see, i was able to change the whip animations to fit for richter's new animation, and i also have set up the x and y coordinates of his hand for the dangling, but his whipping while crouching is a big problem...
I'm no programmer, and everything i do focuses actually on graphics aand respriting, but is it actually somehow possible to make it fit without screwing the other whipping animations for that?

I can't see those images, you need to upload them to a site like https://imgur.com/ for other people to be able to see them.

I assume you need to change the height the whip is dangling at? The WhipDangleUpdate function specifies an x/y offset I mentioned earlier, but it seems like if you're crouching it adds 0x10 to the y offset so it gets moved down. So if you just want to change the Y offset when crouching, that 0x10 is at 021DC00C. But note this 0x10 also affects Jonathan's hand when he dangles a whip when crouching.

And...
I wanted to give richter diagonal whipping exactly like you showed me to give him jumpkicks,  but it's impossible to find the animation he uses for that to change it into the new animation, because he always uses the animation you are in, at the moment you are diagonal whipping :huh:.
Like i said, i'm no programmer but i will start from now on to mess a bit around with all the unknowns of portrait of ruin, i hope i can help you somehow then :P.
Thanks in advance :D

DSVEdit 1.7 has a player state animations editor now, so changing animations like we did for the jumpkicks is much easier now. Use the new editor to find which state is for Jonathan to whip diagonally, since he has a diagonal whip animation. Then go to that state for Richter and set an animation.

It seems like the whipping diagonal state is state 3F. Richter just has FF set for that, which explains why his animation wasn't changing when whipping diagonally - an invalid animation index such as FF will be ignored by the game engine and the player will just keep playing the same animation.
Title: Re: DSVania Editor (v1.7)
Post by: MaverickZero on January 22, 2018, 11:39:56 am
https://m.imgur.com/a/KKCvw
Here are the pictures, but the problem is that the whole whipping is too grounded, not only the dangling.
And thanks again for this quick reply, and i also wanted to say that it was an great update!
It's a lot easier now to work with dark function, and now that i know that it has an state animations editor, i will make big use of it, thanks and awesome work! :beer:
Title: Re: DSVania Editor (v1.7)
Post by: LagoLunatic on January 22, 2018, 11:54:49 am
https://m.imgur.com/a/KKCvw
Here are the pictures, but the problem is that the whole whipping is too grounded, not only the dangling.
And thanks again for this quick reply, and i also wanted to say that it was an great update!
It's a lot easier now to work with dark function, and now that i know that it has an state animations editor, i will make big use of it, thanks and awesome work! :beer:

You should be able to edit the whip sprite with darkfunction too, it's in the Weapons tab of the sprite editor. Just make sure you have the right one since there's 3 different weapons named Vampire Killer.
Title: Re: DSVania Editor (v1.7)
Post by: MaverickZero on January 22, 2018, 12:04:50 pm
Well, sadly not...
I did edit it already so it fits, but it's too low for him when crouching for some reason.
If i would edit it to fit,the animation would be too high being played then when whipping while in mid air or when standing.
Hmm...
Please tell me if you find somewhere where the whip animation is loaded when crouching, and if you know how to edit, except for that, i'm finally done and this is the last thing left.
It would be horrible to screw the project just because of that animation  :-\
Title: Re: DSVania Editor (v1.7)
Post by: LagoLunatic on January 22, 2018, 12:53:27 pm
Well, sadly not...
I did edit it already so it fits, but it's too low for him when crouching for some reason.
If i would edit it to fit,the animation would be too high being played then when whipping while in mid air or when standing.
Hmm...
Please tell me if you find somewhere where the whip animation is loaded when crouching, and if you know how to edit, except for that, i'm finally done and this is the last thing left.
It would be horrible to screw the project just because of that animation  :-\

Ah, I see. It seems like there is conveniently a value for how much to offset each type of weapon downwards, in list 0221F020.
The whip's is at 0221F060. If you change both that offset and the hardcoded offset for whip dangling I found before it should look correct.
Title: Re: DSVania Editor (v1.7)
Post by: MaverickZero on January 22, 2018, 12:56:19 pm
Wow i don't know what to say...
Thanks :'(
Seriously thanks, i can finally finish it! :crazy:

January 22, 2018, 02:31:47 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Well, i gave richter now diagonal whipping animations as well as the whip, but it isn't playing because the whip isn't programmed to do so XD.
Anyway, it works.
The whip is now properly swung, the first swimging frames are still a few pixels away but this is the fault of the sprite, so never mind that, those are anyway only seen for 1 frame each.
I'll soon send you the patch, i'd be glad if you would try it out, also i have found out some animations in the state animation editor.

0F:smashing head when superjumping
10:Backflip(Richter only)
12:landing from a short falling distance
18: using skill in mid air
1A: releasing spell
19: charging spell
1C: getting ready for dual crush
21: martial arts kick (for both jonathan and richter)
Dsvania just crashed on richter...
The rest comes on another day :thumbsup:
Title: Re: DSVania Editor (v1.7)
Post by: LagoLunatic on January 22, 2018, 03:49:35 pm
Well, i gave richter now diagonal whipping animations as well as the whip, but it isn't playing because the whip isn't programmed to do so XD.

Not sure if you've done it yet, but another thing you need to do to enable it for Richter's whip is checking the "Can whip diagonally" swing modifier for his whip in the item editor.

Anyway, it works.
The whip is now properly swung, the first swimging frames are still a few pixels away but this is the fault of the sprite, so never mind that, those are anyway only seen for 1 frame each.
I'll soon send you the patch, i'd be glad if you would try it out, also i have found out some animations in the state animation editor.

Sure, I'd be happy to try it!

0F:smashing head when superjumping
10:Backflip(Richter only)
12:landing from a short falling distance
18: using skill in mid air
1A: releasing spell
19: charging spell
1C: getting ready for dual crush
21: martial arts kick (for both jonathan and richter)
Dsvania just crashed on richter...
The rest comes on another day :thumbsup:

Thanks, I'll add those to the editor! I also found some more. And the crash is a memory leak with how it's rendering the animations, this will be fixed for the next version, but for now you can probably avoid it by not leaving the state animation editor up for more than a minute or so.
Title: Re: DSVania Editor (v1.7)
Post by: MaverickZero on January 22, 2018, 03:54:29 pm
Yeah i enabled richter already to whip diagonally, i tried that on one of jonathans whips, but that has minor priority for me since Richter was never able to do that anyway.
And i'm only waiting for the response from the maker of the dxc sprites, then i'll send you an ups patch with a list of the changes i made so far and
Thanks again, i thought i was doomed as the problem with the crouching whipping showed up :laugh:

January 23, 2018, 03:35:51 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Ok, i was silly again :P, i did't had to enable only Richter to whip diagonally, also the whip had an option which was disabled.
Now he can whip diagonally.
And about the crash on the state animation editor, it happens always on animatiom 35 on Richter, maybe because of some kind of coding, since it uses the first frame of animation 36 but doesn't animate it?
You may want to take a look at it. :beer:
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on January 27, 2018, 09:24:03 pm
Just released DSVEdit 1.7.2 (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.7.2). It mostly just fixes bugs and crashes, but also adds a UI for applying ARMIPS patches.
Title: Re: DSVania Editor (v1.7.2)
Post by: Vanya on January 28, 2018, 12:02:47 am
Sick! Now I can get down to business! :D
Title: Re: DSVania Editor (v1.7.2)
Post by: SinWorld on January 28, 2018, 06:26:07 am
LagoLunatic, is it possible to do some hack for DoS involving soul levels? That is, on the soul selection screen, you can change the levels of the souls. Ex. If i have 7 Persephone souls i can increase/decrease the soul's level between 1-7 anytime without having to use Yoko's soul release system? Thanks.
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on January 28, 2018, 11:00:53 am
LagoLunatic, is it possible to do some hack for DoS involving soul levels? That is, on the soul selection screen, you can change the levels of the souls. Ex. If i have 7 Persephone souls i can increase/decrease the soul's level between 1-7 anytime without having to use Yoko's soul release system? Thanks.

You mean, add a new UI menu to let you change the number of souls you own on the fly? Sorry but I don't know how to hack the menus in these games. I've looked into it a few times and it's pretty complicated. I might be able to make very minor tweaks to existing menus but not add whole new ones.
Title: Re: DSVania Editor (v1.7.2)
Post by: DarkPrinceAlucard on January 30, 2018, 02:55:45 am
@Lagolunatic hey I have a quick question, me and my friend have been trying to build a new story for Dawn of Sorrow that requires the removal or replacement of the event where Arikado gives you Mina's Talisman and instead have it handed to your during the prologue of the game in the city, is there a way we can possibly do that using the tool?
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on January 30, 2018, 03:03:09 am
@Lagolunatic hey I have a quick question, me and my friend have been trying to build a new story for Dawn of Sorrow that requires the removal or replacement of the event where Arikado gives you Mina's Talisman and instead have it handed to your during the prologue of the game in the city, is there a way we can possibly do that using the tool?

You can remove the event where he gives you the talisman - simply delete the event entity in that room.

But modifying the prologue event can't be done with DSVEdit. What events do is determined by their code, so you'd need to modify the ASM code of that event's update function to change that. The best you could do with DSVEdit would be to place the talisman on the floor of the prologue room so the player spawns on top of it when the event starts.
Title: Re: DSVania Editor (v1.7.2)
Post by: Vanya on January 30, 2018, 03:35:55 am
If I wanted to add new items and equipment to PoR, would I need to relocate the existing lists of items and their properties to the expanded space?
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on January 30, 2018, 11:52:14 am
If I wanted to add new items and equipment to PoR, would I need to relocate the existing lists of items and their properties to the expanded space?

Yes, you would need to at least relocate the relevant item lists, the entire text list (because you need to add a name and description), and the list of which items the player currently owns in the save file.

But the hard part isn't relocating those lists, it's that you'd need to modify all the code in the game that references item IDs, text IDs, item list pointers, the text list pointer, etc. A few examples:
* There are several functions that take an item ID and return the item type that item belongs to or something similar. You have to find all these functions and modify the ID comparisons in there to still be accurate after you've shifted every item ID down.
* Every item with a hardcoded effect (e.g. magus ring, sorceress's crest) has a hardcoded check somewhere in the code to see if you have that item ID equipped. You have to modify the ID for each item if you shifted it down the list.
* Everything in the game that uses text references the text by its text ID. So if you add a new name and description and shift everything down, you would need to modify every function in the game that uses text - even something as simple as a colon on the pause screen has a text ID that would need to be updated (0x516). Or an alternate way would be to relocate the text IDs of the entire item name and description list to the end of the text list, so the first item name ID is 0x749 instead of 0x00C. That way you'd only need to update all the code that references item name/descriptions, instead of all text.

Overall I'd assume you would need to find like 50-100 different pieces of code and modify them. It would be extremely time consuming to find all the code since you can't just set a simple breakpoint for most of it, but once it's all found it would be possible to automate relocating the lists and modifying the code at least.
Title: Re: DSVania Editor (v1.7.2)
Post by: ShadowOne333 on January 30, 2018, 12:20:41 pm
Wow, this has come a long way since the last time I lurked here :O
I'm glad to see things are going great and that now Aria of Sorrow and Harmony of Dissonance are also supported in the newest versions of DSVania :D

Btw, DSVania is now somewhat short of what this amazing app does now :P
Have you thought about rebranding it? Not that I'm complaining about the name, I like it, I'm just curious if it has crossed your mind :P
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on January 30, 2018, 06:17:42 pm
Wow, this has come a long way since the last time I lurked here :O
I'm glad to see things are going great and that now Aria of Sorrow and Harmony of Dissonance are also supported in the newest versions of DSVania :D

Btw, DSVania is now somewhat short of what this amazing app does now :P
Have you thought about rebranding it? Not that I'm complaining about the name, I like it, I'm just curious if it has crossed your mind :P

Yeah, I did think about that, but I don't know what else I would call it.
"HandheldVania Editor" wouldn't be accurate since there are handheld castlevania games not supported by it, and it doesn't exactly roll off the tongue.
I don't think there's any way to cleverly work all 5 game names into a single name, or their abbreviations (HoD AoS DoS PoR OoE put in an anagram solver is... DROPHEADS or RHAPSODES, and they don't even use all the letters).

But mostly I'm just used to this name now after the time I've spent working on it and I assume other people are used to it too, so I figure I'll just leave well enough alone.
Title: Re: DSVania Editor (v1.7.2)
Post by: Vanya on January 31, 2018, 12:51:38 am
That's pretty much what I thought.
Title: Re: DSVania Editor (v1.7.2)
Post by: Sara-chan on January 31, 2018, 04:59:52 am
My thoughts on the issue are that perhaps renaming the editor with some sort of musical term could be appropriate to Castlevania, but not sure...
Title: Re: DSVania Editor (v1.7.2)
Post by: SinWorld on January 31, 2018, 05:21:23 am
"LAGOSvania Editor" (read Lago's vania editor)
or LAGOSVeditor
Title: Re: DSVania Editor (v1.7.2)
Post by: Sephirous on February 05, 2018, 02:44:22 pm
I have been messing around with the editor and it is awesome.

I do have a suggestion, Unless I missed the option. I think it would be cool to implement a start-up editor in the games. The ability to edit the New Game Stats you start with.
Title: Re: DSVania Editor (v1.7.2)
Post by: Vanya on February 05, 2018, 02:50:28 pm
That is a good idea.
Maybe the ability to edit starting equipment, too if that isn't already there as well.
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on February 05, 2018, 07:19:25 pm
I have been messing around with the editor and it is awesome.

I do have a suggestion, Unless I missed the option. I think it would be cool to implement a start-up editor in the games. The ability to edit the New Game Stats you start with.

That's a good idea. Should be pretty straightforward since I found the base stats for several of the games already.

That is a good idea.
Maybe the ability to edit starting equipment, too if that isn't already there as well.

The items you start with are hardcoded by a function so there would be limitations to this. Changing just the item IDs is doable but not increasing/decreasing the number of different items you start with. And because those item IDs are hardcoded, there's limits to what the IDs can be - IDs 0-0xFF work, but from 0x100+ only IDs that are a multiple of 4 would work.
To get around those someone would need to manually modify the ASM to do exactly what they want. For my randomizer I just opted to physically put items in the starting room on top of the player since it's easier to automate.
Title: Re: DSVania Editor (v1.7.2)
Post by: Vanya on February 06, 2018, 06:01:57 am
Does putting those items in the starting room trigger the any messages about acquiring the items?
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on February 06, 2018, 12:37:54 pm
Does putting those items in the starting room trigger the any messages about acquiring the items?

Yes it does. And they don't equip automatically. And soul candles/glyphs don't get picked up automatically so the player still needs to manually get those.
Works for a randomizer but it's not exactly the most elegant solution if your hack has a story and you want it to look like the player had the items beforehand.
Title: Re: DSVania Editor (v1.7.2)
Post by: MaverickZero on February 06, 2018, 01:16:28 pm
hey lunatic, i'm back again with some new ideas wich need some help again.
First, about richter's quick weapon slots, i added a javelin and have put back the grand cross but as i wanted to export the sprite file, it said that this is hard coded...
any way to add new parts for those two skills?
and about the animation where the animation editor crashes on richter (i have 1.7.2 now, it doesn't crash anymore, thanks)
it is actually being hit from the front.
it automatically takes only the first frame from richter being hit from behind, but it isn't playing the full animation, but i want it to fully play it out for the dracula x chronicles aesthetics.
can i remove the programming of that somehow?
and now a really big thing...
some animations are being taken for more moves at once for some reason wich is kinda bad, because for examle, when i want richter to bounce off an enemy from a slidejump with a backflip, it also turns the double jump into the backflip.
this was also the case as i wanted to edit some moves, from jonathan for richter.
any way to separate the animations?  :huh:
Thanks in advance :)
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on February 06, 2018, 01:39:00 pm
hey lunatic, i'm back again with some new ideas wich need some help again.
First, about richter's quick weapon slots, i added a javelin and have put back the grand cross but as i wanted to export the sprite file, it said that this is hard coded...
any way to add new parts for those two skills?

The javelin and grand cross sprites are not hardcoded. I can export them. I have no idea why it would tell you they're hardcoded, maybe just try it again?

and about the animation where the animation editor crashes on richter (i have 1.7.2 now, it doesn't crash anymore, thanks)
it is actually being hit from the front.
it automatically takes only the first frame from richter being hit from behind, but it isn't playing the full animation, but i want it to fully play it out for the dracula x chronicles aesthetics.
can i remove the programming of that somehow?

When I give Richter an animation for the "Taking damage in air from the front" and "Taking damage in air from behind" states he correctly plays the animation I gave him. It doesn't freeze on the first frame for me.

and now a really big thing...
some animations are being taken for more moves at once for some reason wich is kinda bad, because for examle, when i want richter to bounce off an enemy from a slidejump with a backflip, it also turns the double jump into the backflip.
this was also the case as i wanted to edit some moves, from jonathan for richter.
any way to separate the animations?  :huh:
Thanks in advance :)

022062E4 is the code that changes the animation state to D when double jumping.
02203100 is the one that also sets it to D, but for bouncing after a slidejump instead. So if you change this to some other animation state it will play that animation instead of the double jump one.
Title: Re: DSVania Editor (v1.7.2)
Post by: MaverickZero on February 06, 2018, 06:26:20 pm
again a misunderstanding here, oh dear i really have to learn to express myself better...
first thanks with the last thing, i'll try it soon.
and now, i'm not talking about the sub weapon sprite files, i mean only the subweapon icons, wich are shown on the top left, i added a mini javelin and the grand cross, but the sprite file of the subweapon icons is hardcoded, where also the STAY and MASTER icons are located.
and the being hit thing.
the animation works perfectly in the air, yes.
but what i mean is while standing, being hit from the front.
and it's not really like a freeze of a frame, it's like only the first one is showed, it's hard to explain :-\...
and this is also the case when being hot from the front while crouching.
thanks again for the help :)
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on February 06, 2018, 06:47:34 pm
again a misunderstanding here, oh dear i really have to learn to express myself better...
first thanks with the last thing, i'll try it soon.
and now, i'm not talking about the sub weapon sprite files, i mean only the subweapon icons, wich are shown on the top left, i added a mini javelin and the grand cross, but the sprite file of the subweapon icons is hardcoded, where also the STAY and MASTER icons are located.

Ooh, you tried to export the common sprite with the icons in it. Yeah, that sprite is hardcoded so you can't edit it with darkfunction.
You don't actually need to though, do you? You can use the GFX editor to change the icon. Like let's say you're replacing Richter's knife with the javelin. Use the GFX editor to edit f_com07_palette_022B7660-01.png and replace the knife icon there with a javelin icon. Then even without editing the sprite it will automatically use the javelin icon since it's in the same spot as where the knife used to be.

Unless what you're saying is you want to add more subweapons for Richter to use without deleting an existing one. That won't work then.

and the being hit thing.
the animation works perfectly in the air, yes.
but what i mean is while standing, being hit from the front.
and it's not really like a freeze of a frame, it's like only the first one is showed, it's hard to explain :-\...
and this is also the case when being hot from the front while crouching.
thanks again for the help :)

I tried changing the "Taking damage while standing/walking" and the "Taking damage while crouching" animations and they both play for me just fine.
If you don't know how to explain what the problem is you could record a gif.
Title: Re: DSVania Editor (v1.7.2)
Post by: MaverickZero on February 07, 2018, 08:38:21 am
yeah i actually thought about adding those instead of replacing, because i think i saw somewhere in your ram map that you were actually able to determine how many subweapons are in the quick slots, but it's not that bad at all, i just thought it might be more handy.
and now to the animation problem.
i found out by myself what it was, first, sorry that i run everytime to you i fell over, seriously :P.
the thing was actually that he used animation no.27 as the being hit from the front, wich had no animation or sprites at all.
for some reason it just took the first sprite from animation 28 and didn't even play it fully.
that might even were the cause of the crash of dsvania.
well,in the end i gave it also the animation no.28 and now everything plays perfectly.
thanks for the help again :)

February 07, 2018, 03:55:44 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
well, i hope i don't get annoying now but, do you know how to change the power of the martial arts?
i know that richter's roundhouse kick deals strengh x1, his slide jump deals strengh x1/2 but i want his slide jump to deal the same damage as the roundhouse kick.
any idea how this is determined and how to change?
thanks for everytjing again, your work and knowledge about programming is awesome! :thumbsup:
Title: Re: DSVania Editor (v1.7.2)
Post by: Vanya on February 07, 2018, 05:31:27 pm
Let me chime in and say that the code associated with the slide jump should have a bit of ASM that divides by 2. That would have to be cleared out.
Title: Re: DSVania Editor (v1.7.2)
Post by: MaverickZero on February 07, 2018, 06:35:34 pm
hmm...
so actually, all i would have to do is remove the line that divides
the strenght value?
everything left now is then to find the adress of the programming i guess.
i guess it's more clear for me now, thanks vanya :laugh:

February 07, 2018, 06:51:05 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
oh no wait!
i completely confused something!
the rounhouse kick deals x2
and the slide jump x1
this is actually how the damage is dealt.
so, i would have then to add a multiplication line?
sorry for the confusion i brought :huh:
Title: Re: DSVania Editor (v1.7.2)
Post by: Vanya on February 08, 2018, 08:34:07 pm
Possibly, yes. It depends how things are handled.
You'd have to get a clearer look at the actual code in order to really decide what to do.
Title: Re: DSVania Editor (v1.7.2)
Post by: vergil2012 on February 11, 2018, 05:42:47 am
Do you plan on adding support for the European versions of these DS and GBA games? Just asking.

Nevermind, I read your post about the pointers here:
https://www.romhacking.net/forum/index.php?topic=23678.msg330906#msg330906

Sorry.

Title: Re: DSVania Editor (v1.7.2)
Post by: DarkPrinceAlucard on February 12, 2018, 03:12:07 am
Hey Lagolunatic got another question, I'm having a hard to trying to fix a issue I'm having with Order of Ecclesia where i really want to replace Shanoa with a male character but I'm unable to figure out how to get a male voice to load instead of a female one, I've tried tools like vgmtrans,DS Sound Studios, and of course your DSvania tool but can not fine the voices for characters within the first two tool and in yours I'm unable to swap Shanoa's for say Albus's which would be better than nothing at this point, and tips?
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on February 12, 2018, 03:38:46 am
Hey Lagolunatic got another question, I'm having a hard to trying to fix a issue I'm having with Order of Ecclesia where i really want to replace Shanoa with a male character but I'm unable to figure out how to get a male voice to load instead of a female one, I've tried tools like vgmtrans,DS Sound Studios, and of course your DSvania tool but can not fine the voices for characters within the first two tool and in yours I'm unable to swap Shanoa's for say Albus's which would be better than nothing at this point, and tips?

It looks like there's a list of Shanoa's voice SFX indexes starting at 020EF27C. For example if you change the first byte there from 23 to 9B, then one of Shanoa's voices that can randomly play when she's swinging a melee weapon turns into one of Albus's voice lines instead. I assume if you change all of those in that list to appropriate SFX indexes for Albus then all of Shanoa's voices will be replaced. You'll need to figure out the exact values you need to change them to, I don't know other Albus voice indexes besides 9B.
Also I think you only need to change every 4th byte, the "00 00 44" part seems like it should be left alone.
Title: Re: DSVania Editor (v1.7.2)
Post by: DarkPrinceAlucard on February 12, 2018, 10:06:15 pm
It looks like there's a list of Shanoa's voice SFX indexes starting at 020EF27C. For example if you change the first byte there from 23 to 9B, then one of Shanoa's voices that can randomly play when she's swinging a melee weapon turns into one of Albus's voice lines instead. I assume if you change all of those in that list to appropriate SFX indexes for Albus then all of Shanoa's voices will be replaced. You'll need to figure out the exact values you need to change them to, I don't know other Albus voice indexes besides 9B.
Also I think you only need to change every 4th byte, the "00 00 44" part seems like it should be left alone.

Ok what tool what i use to change the byte?

A Hex editor or some other tool?
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on February 13, 2018, 12:53:42 am
Ok what tool what i use to change the byte?

A Hex editor or some other tool?

Yep you would use a hex editor to edit ftc/arm9.bin.

Also I realized that Albus's voice SFX indexes are near there too, starting at 020EF33C. So it might be that all you have to do is copy paste Albus's over top of Shanoa's and it would work.
Title: Re: DSVania Editor (v1.7.2)
Post by: DarkPrinceAlucard on February 13, 2018, 01:12:21 am
Yep you would use a hex editor to edit ftc/arm9.bin.

Also I realized that Albus's voice SFX indexes are near there too, starting at 020EF33C. So it might be that all you have to do is copy paste Albus's over top of Shanoa's and it would work.

Ok so what to a search for within the hex editor?

I'm using HxD and whenever I try to search for 020EF27C within the arm9 bin I get nothing, am I missing something when you say it starts with 020EF27C?

Am I right in assuming 020EF27C is the offset I should search for or is it the hexadecimal?
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on February 13, 2018, 01:14:25 am
Ok so what to a search for within the hex editor?

I'm using HxD and whenever I try to search for 020EF27C within the arm9 bin I get nothing, am I missing something when you say it starts with 020EF27C?

Am I right in assuming 020EF27C is the offset I should search for or is it the hexadecimal?

Neither, 020EF27C is the RAM address. Since arm9.bin is loaded into RAM at 02000000 you subtract that from the address to get the offset within the file. So in your hex editor press ctrl+g and put in EF27C.
Title: Re: DSVania Editor (v1.7.2)
Post by: DarkPrinceAlucard on February 13, 2018, 01:32:12 am
Neither, 020EF27C is the RAM address. Since arm9.bin is loaded into RAM at 02000000 you subtract that from the address to get the offset within the file. So in your hex editor press ctrl+g and put in EF27C.

Well I got it to work and figured out some of Albus's different voices bytes to use, but it kinda backfired on me since they all involved him shouting about his different shot attacks which was not what I was looking for, I was mostly just trying to get some male groans and moans.
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on February 13, 2018, 01:40:55 am
Well I got it to work and figured out some of Albus's different voices bytes to use, but it kinda backfired on me since they all involved him shouting about his different shot attacks which was not what I was looking for, I was mostly just trying to get some male groans and moans.

Albus seems to have a few generic grunts too, like 78, 79, 7C.
Title: Re: DSVania Editor (v1.7.2)
Post by: DarkPrinceAlucard on February 13, 2018, 01:48:12 am
Albus seems to have a few generic grunts too, like 78, 79, 7C.

Ok MUCH better lol, it lines up perfectly with a male character attacking, thanks for the help dude. :beer:
Title: Re: DSVania Editor (v1.7.2)
Post by: DarkPrinceAlucard on March 10, 2018, 04:17:16 am
@Lagolunatic me again and I have a few more questions to ask regarding Portrait of Ruin and Dawn of Sorrow.

1. Where is the Nebula whip located? I'm trying to move it a bit down to line up with a hack I'm making and while the other whips where easy to find for some reason the Nebula one does not seem to be.

2. Can you let me know where the voices are located for Johnathan, Richter, Maria, and Charlotte is? I need to move around some voices kinda like what you helped me out with through pms, getting a small list of sound values and locations would be helpful.

3. This one is regarding Dawn of Sorrow, I'm having a weird issue with replacing Soma with Alucard using the editor, you see I replaced all of Soma's values with Alucard's within the player editor and while it does put Alucard in Soma's game there is for some reason very messed up attack animations, I used the exact same method for my portrait of Ruin hack with replacing Johnathan with Richter and it turned out fine with the correct atttack animation but for some odd reason this exact same method does not work for Soma in DOS, any ideas?
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on March 11, 2018, 01:29:26 pm
@Lagolunatic me again and I have a few more questions to ask regarding Portrait of Ruin and Dawn of Sorrow.

1. Where is the Nebula whip located? I'm trying to move it a bit down to line up with a hack I'm making and while the other whips where easy to find for some reason the Nebula one does not seem to be.

The backswing of the nebula seems to be the same as the other whips, but the offset of the player's hand for its special homing effect is hardcoded by function 02216F08.
Here's where the offsets are located:
02216F14 hardcodes the player's hand Y offset relative to their position.
02216F28 hardcodes the additional hand Y offset for when the player is crouching.
02216F20 hardcodes the player's hand X offset relative to their position.

2. Can you let me know where the voices are located for Johnathan, Richter, Maria, and Charlotte is? I need to move around some voices kinda like what you helped me out with through pms, getting a small list of sound values and locations would be helpful.

Okay, I found the voice SFX locations for PoR. They're spread out across more lists than in OoE. Not sure if this covers everything but it seems to cover most things. (Oh, and for dual crushes, you can edit the voices those use in the item editor, Var A/Var B.)
Spoiler:
0221E3A0-0221E3C7 - List of pointers to voice SFX indexes for grunts while swinging each weapon.
  The index in this list is the weapon's Swing Anim.
  If the entry is 0, no grunt voices are played while swinging this weapon.
  Otherwhise the entry is a pointer to a list of four voice SFX indexes, each entry in the list is a halfword.
  Which of those four is used is randomly selected.
  There's also a random 50% chance no voice will be played when swinging a weapon regardless.
  If the randomly selected SFX index is 0000, it uses a player-dependent voice from list 0221E768 instead.


0221E768-0221E7F3 - List of voice SFX indexes for each player.
  Entry length 0x14, the index is the player character index.
  00,2: SFX index for attacking (random 1).
  02,2: SFX index for attacking (random 2).
  04,2: SFX index for attacking (random 3).
  06,2: SFX index for attacking (random 4).
  08,2: SFX index for taking damage (random 1).
  0A,2: SFX index for taking damage (random 2).
  0C,2: SFX index for taking damage in the air and getting knocked back.
  0E,2: SFX index for dying.
  10,2:
  12,2:


0221E1DC-0221E23D - List of which voice SFX index to play when switching from one character to another.
  Halfwords.
  If an entry is 0, then it just plays no sound instead.
  The index in this list is the character you're switching from times 7, plus the character you're switching to.
  In other words, every combination of one character switching to another is accounted for (7*7 possibilities).

3. This one is regarding Dawn of Sorrow, I'm having a weird issue with replacing Soma with Alucard using the editor, you see I replaced all of Soma's values with Alucard's within the player editor and while it does put Alucard in Soma's game there is for some reason very messed up attack animations, I used the exact same method for my portrait of Ruin hack with replacing Johnathan with Richter and it turned out fine with the correct atttack animation but for some odd reason this exact same method does not work for Soma in DOS, any ideas?

The reason the attack animations are messed up is because Soma has multiple different attack animations depending on the weapon, so when you give Soma Alucard's sprite it still tries to use the attack animation indexes Soma should be using.
Not sure how you don't have the issue in PoR, when I replace Jonathan with Richter I get super messed up attack animations just like in DoS.

I've written a couple armips patches for DoS and PoR to change Soma/Jonathan's code to use their sprite's default attack animations instead of the weapon-dependent ones:
https://github.com/LagoLunatic/DSVEdit/blob/master/asm/dos_fix_alt_character_swing_anims.asm
https://github.com/LagoLunatic/DSVEdit/blob/master/asm/por_fix_alt_character_swing_anims.asm
Title: Re: DSVania Editor (v1.7.2)
Post by: DarkPrinceAlucard on March 11, 2018, 05:30:48 pm


The reason the attack animations are messed up is because Soma has multiple different attack animations depending on the weapon, so when you give Soma Alucard's sprite it still tries to use the attack animation indexes Soma should be using.
Not sure how you don't have the issue in PoR, when I replace Jonathan with Richter I get super messed up attack animations just like in DoS.

I've written a couple armips patches for DoS and PoR to change Soma/Jonathan's code to use their sprite's default attack animations instead of the weapon-dependent ones:
https://github.com/LagoLunatic/DSVEdit/blob/master/asm/dos_fix_alt_character_swing_anims.asm
https://github.com/LagoLunatic/DSVEdit/blob/master/asm/por_fix_alt_character_swing_anims.asm

Yea I figured that was the reason why the animations where messed up but I was confused because like I said earlier it works fine with replacing Richter to Johnathan, Its weird that you said the same thing happens with you when doing this because I promise the method worked just fine with me, I'm even going to be posting a gameplay video pretty soon which features my hack which I made over the top of Richter since his sprites are a lot less than Johnathan's, replacing all the values to Richter just automatically uses his default whip swing for all the weapons which just does not happen with Soma, but I guess I will check out those armips to fix my issue instead, and thanks a lot for all the other poitners and addresses that will make my hacking much easier. ;D
Title: Re: DSVania Editor (v1.7.2)
Post by: MaverickZero on March 26, 2018, 02:20:21 pm
hey i'm back, and right now i'm trying to work on the music part of the vania game.
Thanks to DarkPrinceAlucard i can change background music with ds soundstudio (awesome tool by the way), but i also want to edit soundeffects wich can be done with tinke.
and i want to bring the holy damage sound effect from dos into por.
I found it in por but i wasn't able to find it in dos since a few sound effects have japanese names or are just numbers that can't be played.
if anyone knows where that sound effect is or if anyone knows a better tool please tell me.
thanks in advance.
Title: Re: DSVania Editor (v1.7.2)
Post by: Tsukiyomaru0 on March 29, 2018, 09:52:57 pm
in Aria of Sorrow I can't edit the tileset (crashes when clicking OK or Apply) and can't import the GFX of a tileset in the GFX Editor (didn't try exporting and importing without editing the GFX file)

Also, could you add a dummy Soma Cruz to better help us align sprites in the Sprites Editor? It is very awkward to find the placement of each sprite without a lot of trial & error. Why I want to do that?

To make
(https://i.imgur.com/7wJo7Vt.gif)
Katana weapons
(https://i.imgur.com/Hnbf9iD.gif)
Much better
(https://i.imgur.com/875IiIU.gif)
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on March 30, 2018, 01:23:47 pm
in Aria of Sorrow I can't edit the tileset (crashes when clicking OK or Apply)

Works fine for me. Are you using an old version? That previously was a bug that was fixed a couple months ago.

and can't import the GFX of a tileset in the GFX Editor (didn't try exporting and importing without editing the GFX file)

What do you mean by "can't"? What error message do you get?
Title: Re: DSVania Editor (v1.7.2)
Post by: Tsukiyomaru0 on March 30, 2018, 03:54:34 pm
Works fine for me. Are you using an old version? That previously was a bug that was fixed a couple months ago.

What do you mean by "can't"? What error message do you get?
Happens on 1.7.2 as well. It hangs the program until Windows is sure it is deader than dead. No error code nor anything.
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on March 30, 2018, 03:56:30 pm
Happens on 1.7.2 as well. It hangs the program until Windows is sure it is deader than dead. No error code nor anything.

You're gonna need to give me some information so I can reproduce the crash. What room are you editing the tileset for? What changes did you make to this tileset?

And what is the issue with the GFX editor you mentioned in your last post?
Title: Re: DSVania Editor (v1.7.2)
Post by: Tsukiyomaru0 on March 30, 2018, 04:03:45 pm
You're gonna need to give me some information so I can reproduce the crash. What room are you editing the tileset for? What changes did you make to this tileset?

And what is the issue with the GFX editor you mentioned in your last post?
Area 00 (Dracula's Castle)
Sector 01 (Chapel)
Room 04 (08511C54)
Wanted to remove the wild pixel in the blocks on top and bottom (which were supposed to be dark)
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on March 30, 2018, 04:23:32 pm
Area 00 (Dracula's Castle)
Sector 01 (Chapel)
Room 04 (08511C54)
Wanted to remove the wild pixel in the blocks on top and bottom (which were supposed to be dark)

Oh I think I get it. It didn't actually crash, it's just taking a long time to save the tileset because DSVEdit needs to recompress all the data before saving it, which is pretty slow. Come to think of it, it does look kind of misleading since I never added a progress dialog for it or anything, but it should be working. Just wait a minute or two.
Title: Re: DSVania Editor (v1.7.2)
Post by: Tsukiyomaru0 on March 30, 2018, 04:31:21 pm
Oh, so not an actual hang just a "This is going to take long" thing?

Anyhow, onto the other matter... Is it possible to implement a visual aid to positioning weapon/skill animations (such as Soma's attack frames translucent behind the weapon) and a zoom slider for those who want to be more precise in selecting the sprite, adjusting the hitbox and positions?
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on March 30, 2018, 04:37:30 pm
Anyhow, onto the other matter... Is it possible to implement a visual aid to positioning weapon/skill animations (such as Soma's attack frames translucent behind the weapon) and a zoom slider for those who want to be more precise in selecting the sprite, adjusting the hitbox and positions?

DSVEdit's built in sprite editor is really bad. I'm not gonna put any more effort into it, since it's better to just use the darkFunction export/import to edit sprites. darkFunction's UI is much more complete, it has zooming and visual aids for positioning already.
The problem is that my sprite exporter/importer currently doesn't support AoS and HoD, only the DS games. I'll get that working at some point though.
Title: Re: DSVania Editor (v1.7.2)
Post by: Tsukiyomaru0 on March 30, 2018, 05:41:49 pm
darkFunction? What is that?
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on March 30, 2018, 06:03:01 pm
darkFunction? What is that?

It's an external program that can edit sprites. http://www.darkfunction.com/editor/
In DSVEdit's sprite editor you click "export to darkFunction", then edit the sprite in darkFunction, then in DSVEdit's sprite editor you click "import from darkFunction".
Like how Tiled is used for editing rooms.
Title: Re: DSVania Editor (v1.7.2)
Post by: DarkPrinceAlucard on March 31, 2018, 04:15:42 am
Just a quick question, is DSvania going to every get weapons/item icons editing support?

I was browsing through editing existing sprites with the sprite editor and could not find the weapon icons or item icons, namely I really need to edit some of the whip icons to go alongside some new whips I'm adding to the game, as of now I can only just swap existing whip icons but it would be much better if I could edit/add them myself over the existing ones.
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on March 31, 2018, 11:46:46 am
Just a quick question, is DSvania going to every get weapons/item icons editing support?

I was browsing through editing existing sprites with the sprite editor and could not find the weapon icons or item icons, namely I really need to edit some of the whip icons to go alongside some new whips I'm adding to the game, as of now I can only just swap existing whip icons but it would be much better if I could edit/add them myself over the existing ones.

That ability already exists. Icons aren't listed in the sprite editor because they're not sprites, but they still have GFX and palettes you can edit.

Open the item editor and click the "Icon" field for the weapon you want to edit. Then in that popup you can see the "File" and "Palette ptr" fields. Copy paste those fields into the GFX editor. Then you can export that page of icons as a png, edit it, and import as normal.
You can even add a new icon if you want instead of replacing one, just find a blank square on the grid of icons and put your new icon there. Then back in the item editor remember to set that new icon as the icon for the weapon.
Title: Re: DSVania Editor (v1.7.2)
Post by: MaverickZero on April 18, 2018, 03:19:28 pm
hey people it's me again, i had a little break from my hack but now i'm at full motivation on it again.
And this time i want to change richter's english voice into the one he has in dracula x chronicles.
I have his voice clips and i was using tinke but then things started to go wrong somehow,
i imported them and as i wanted to save it, the program gave an error message, and since then i'm unable to open the sdat file:/.
I deinstalled the program and reinstalled, but still the same results,it won't open the sdat anymore, i also tried a vanilla sdat file, it wouldn't open any anymore.
So my question is if anyone knows another program to edit sdat files to import wav files or if someone has a clue what to do  :huh:.
thanks in advance :)
Title: Re: DSVania Editor (v1.7.2)
Post by: Thirteen 1355 on May 09, 2018, 03:52:20 pm
I have a question on the Fixed Luck hack from Dawn of Sorrow. Whenever I equip the Ghost Dancers Soul, the counter for Luck doesn't seem to increase, yet, as long as I hover the cursor over the Soul, it shows that Luck will increase when you equip it (even when it's already equipped, my Luck stays on 27 and it says it will increase to 41 once you equip it). I added a link to a video showing the issue:
https://youtu.be/82T0K5NdDbM

I was suspecting this is a bug in your hack, so I decided to ask for information on this.
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on May 09, 2018, 04:00:23 pm
I have a question on the Fixed Luck hack from Dawn of Sorrow. Whenever I equip the Ghost Dancers Soul, the counter for Luck doesn't seem to increase, yet, as long as I hover the cursor over the Soul, it shows that Luck will increase when you equip it (even when it's already equipped, my Luck stays on 27 and it says it will increase to 41 once you equip it).

I was suspecting this is a bug in your hack, so I decided to ask for information on this.

That's not related to my hack, it works that way in the vanilla game.
The stats on the lower screen only show Soma's natural stats + his item stats, without bonus stats added in. But if you look at the top screen you should see "LCK 27 +14", which indicates that you are getting a 14 LCK bonus from ghost dancer. This applies to all bonus stats, not just LCK.
Title: Re: DSVania Editor (v1.7.2)
Post by: Thirteen 1355 on May 13, 2018, 06:38:32 am
Ah, thanks for the info.
Just nearly 100%ed this game (100% map, 100% souls except Hell fire, all final forms of all weapon types). I decided to add in Soul Vessels (like the Doppleganger one in the Garden) for the three bosses whose Souls you have to sacrifice in order to synthesize certain weapons (Gergoth, Death and Abaddon). I noticed that if you already have the souls, the Vessels won't appear, until you lose the souls by using them for synthesis, so I placed them before the boss chambers.

My question is, will obtaining the Boss Souls from these Vessels before fighting the respective bosses prevent the bosses from dropping their Souls?

Another question I have is, I want to make the Alucard Sword an obtainable item. I was wondering about the pickup 'flags'. Does every item have its own unique flag? What flag should I give a newly placed pickup?
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on May 13, 2018, 02:39:34 pm
Ah, thanks for the info.
Just nearly 100%ed this game (100% map, 100% souls except Hell fire, all final forms of all weapon types). I decided to add in Soul Vessels (like the Doppleganger one in the Garden) for the three bosses whose Souls you have to sacrifice in order to synthesize certain weapons (Gergoth, Death and Abaddon). I noticed that if you already have the souls, the Vessels won't appear, until you lose the souls by using them for synthesis, so I placed them before the boss chambers.

My question is, will obtaining the Boss Souls from these Vessels before fighting the respective bosses prevent the bosses from dropping their Souls?

Nope, the disappearing early thing is specific to soul candles. Unlike most items soul candles don't have pickup flags to keep track of whether you got them or not, so they just check if you own the soul inside them or not.
Bosses on the other hand always drop their soul when killed, and the boss itself doesn't disappear until its boss death flag is set.

Another question I have is, I want to make the Alucard Sword an obtainable item. I was wondering about the pickup 'flags'. Does every item have its own unique flag? What flag should I give a newly placed pickup?

The pickup flags need to be unique throughout the whole game. If you give two pickups the same flag, then picking up one will make the other disappear too.
Fun fact: The developers actually made this mistake in PoR. They gave two MP max ups the same pickup flag, so it's actually impossible to get all MP max ups in one playthrough. They did the same for a potion + an antivenom, though those are less important than MP max ups.

For what flag you should give the pickup, flags 00-7F are valid in DoS, but most of those are used. Flags 7A through 7F I'm pretty confident aren't used anywhere.
There are a few more besides those that aren't used anywhere I know about, but because their numbers aren't at the end they seem like they may be used somewhere (or were used at one point in development at least): 01, 09, 14, 1B, 1C, 1D, 24, 4E, 52
Title: Re: DSVania Editor (v1.7.2)
Post by: Thirteen 1355 on May 13, 2018, 05:38:51 pm
Thanks a lot for the detailed answer! I should have known about the flags being unique (have messed around with them in other games). With all this info, putting in the Alucard Sword (and maybe Hellfire too, since I never liked playing the game all over again for three boss Souls/one final Soul) should be a piece of cake.

I'm hoping to do some more significant edits in the future. Might also take a look at Ecclesia, love that game.
Title: Re: DSVania Editor (v1.7.2)
Post by: randomperson35 on May 15, 2018, 09:37:56 pm
hello, it's me again.
http://www.mediafire.com/file/ix6kfl2f5pp8541/dulahan_HoD.rar

This is Dulahan from Castlevania Harmony of Despair(same one as PoR), the thing that interest me most is the .jnt2 file it has.
I'm wondering if it's possible to convert it for OoE since it has a similar file and also for other enemies like it.
Title: Re: DSVania Editor (v1.7.2)
Post by: Aceearly1993 on May 22, 2018, 12:38:44 am
Hi,
I went into troubles trying to restore Richter's double jump → air dive kick motion, the animation works but the weird thing is that Richter's leg didn't always extend to full length, like in Harmony of Despair, the leg will retreat after falling from a fixed height. I don't know if it's because the air dive kick itself is not polished enough, or if it's other reason behind this. I want both the two frames point to air dive kick graphic, but I checked the editor and it seems the pointers can't be changed. 
And thanks for your great work. A great addition and awesome tool to better explore the secrets in the DS Castlevania series.
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on May 30, 2018, 01:22:31 pm
hello, it's me again.
http://www.mediafire.com/file/ix6kfl2f5pp8541/dulahan_HoD.rar

This is Dulahan from Castlevania Harmony of Despair(same one as PoR), the thing that interest me most is the .jnt2 file it has.
I'm wondering if it's possible to convert it for OoE since it has a similar file and also for other enemies like it.

The format definitely does look similar to OoE's. Judging by the name .jnt2 instead of .jnt I assume it's slightly different in some way. It might be possible to convert files like that to OoE's format somehow. I'm too busy to look into that but if you figure it out I would be interested in hearing how you did it.

Hi,
I went into troubles trying to restore Richter's double jump → air dive kick motion, the animation works but the weird thing is that Richter's leg didn't always extend to full length, like in Harmony of Despair, the leg will retreat after falling from a fixed height. I don't know if it's because the air dive kick itself is not polished enough, or if it's other reason behind this. I want both the two frames point to air dive kick graphic, but I checked the editor and it seems the pointers can't be changed. 
And thanks for your great work. A great addition and awesome tool to better explore the secrets in the DS Castlevania series.

You need to fix the jumpkick animation itself using darkFunction.
Someone earlier in this thread did the same thing with getting Richter to jumpkick, you can read that if you need help with it.
I'm not sure what you mean with "the pointers can't be changed". Editing pointers should not be necessary when editing sprites.
Title: Re: DSVania Editor (v1.6)
Post by: SinWorld on May 30, 2018, 05:12:23 pm
about dawn of sorrow

The way they removed some of the japanese voices was not by deleting them from sounddata.dat. They changed the code to no longer play the sfx for them. In order to add them back you'd need to examine the asm code of the japanese version to locate all the different places they call a function to play a sound effect which don't exist in the US version, then write asm code to add each call back to the US versions.


I'm new to rom editing, can you please give me pointers on where(which files to edit)and how to start(what software to use)?
Thank you.
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on May 30, 2018, 05:23:14 pm
about dawn of sorrow
 

I'm new to rom editing, can you please give me pointers on where(which files to edit)and how to start(what software to use)?
Thank you.

For software, no$gba debugger version allows you to view and modify the game's code while it's running: https://problemkaputt.de/gba.htm
Once you've figured out what changes to make, ARMIPS allows you to write an ASM patch to apply it to the game's files more permanently than no$gba allows: https://github.com/Kingcom/armips

I can't tell you the pointers because I don't know where the exact code is either. That's the work that needs to be done - finding what to modify and then modifying it. If I knew the pointers then half the work would be done already.
Actually, I don't even know what the list of voices missing from the US version of DoS is, so I wouldn't know where to look for them anyway.

If you're new to rom hacking you're probably going to find this very difficult as a first project. ASM is complicated to read and edit compared to regular programming languages, even if you're only making a single simple change. Getting all the voices to play properly would probably require making dozens of more complicated changes.

I can't help you with anything specific since I've never added missing voices into these games either. Only thing I can tell you are that some things that might be useful for you are in my docs: https://github.com/LagoLunatic/DSVEdit/tree/master/docs
Title: Re: DSVania Editor (v1.7.2)
Post by: Aceearly1993 on May 31, 2018, 09:16:01 am
You need to fix the jumpkick animation itself using darkFunction.
Someone earlier in this thread did the same thing with getting Richter to jumpkick, you can read that if you need help with it.
I'm not sure what you mean with "the pointers can't be changed". Editing pointers should not be necessary when editing sprites.

Thanks a lot. I'll check the darkFunction program and get used to it first

EDIT: Successfully edited the air dive kick animation... No matter I fixed leg retreat problem or not, the original hitbox rendition of Richter air dive kick just sucks. But having a cool air dive kick move is still better than nothing.
Title: Re: DSVania Editor (v1.7.2)
Post by: MaverickZero on June 03, 2018, 04:25:30 pm
Aceearly1993

i made a straight jump kick animation for richter, it should be around the part where lunatic helped me with the same problem.
I also uploaded it, so use it if you want to.
Btw it is Richter's jumpkick from harmony of despair.
Title: Re: DSVania Editor (v1.6)
Post by: AlterL on June 04, 2018, 06:11:08 am
For software, no$gba debugger version allows you to view and modify the game's code while it's running: https://problemkaputt.de/gba.htm
Once you've figured out what changes to make, ARMIPS allows you to write an ASM patch to apply it to the game's files more permanently than no$gba allows: https://github.com/Kingcom/armips

I can't tell you the pointers because I don't know where the exact code is either. That's the work that needs to be done - finding what to modify and then modifying it. If I knew the pointers then half the work would be done already.
Actually, I don't even know what the list of voices missing from the US version of DoS is, so I wouldn't know where to look for them anyway.

If you're new to rom hacking you're probably going to find this very difficult as a first project. ASM is complicated to read and edit compared to regular programming languages, even if you're only making a single simple change. Getting all the voices to play properly would probably require making dozens of more complicated changes.

I can't help you with anything specific since I've never added missing voices into these games either. Only thing I can tell you are that some things that might be useful for you are in my docs: https://github.com/LagoLunatic/DSVEdit/tree/master/docs

Hey Lago Lunatic nice to meet you, I downloaded your editor and have been having fun with it ever since with Castlevania Order of Ecclesia (thanks to you I was finally able to give Shanoa her black hair in her sprites) but one thing I haven't been able to archive is to make a whip glyph, I tried taking the sprites from Portrait but while the animation seems go just fine the texture itself doesn't seem to change, could you gide me in order to compleate this mod please???
Title: Re: DSVania Editor (v1.7.2)
Post by: Aceearly1993 on June 04, 2018, 08:12:02 pm
Aceearly1993

i made a straight jump kick animation for richter, it should be around the part where lunatic helped me with the same problem.
I also uploaded it, so use it if you want to.
Btw it is Richter's jumpkick from harmony of despair.

Thanks a lot, is the straight jump kick sprite ripped directly from Harmony of Despair game file? Looks naturally without problem when I mixed your animation properties file into the PoR game.
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on June 07, 2018, 08:24:19 pm
Hey Lago Lunatic nice to meet you, I downloaded your editor and have been having fun with it ever since with Castlevania Order of Ecclesia (thanks to you I was finally able to give Shanoa her black hair in her sprites) but one thing I haven't been able to archive is to make a whip glyph, I tried taking the sprites from Portrait but while the animation seems go just fine the texture itself doesn't seem to change, could you gide me in order to compleate this mod please???

If you're talking about the whip dangling around I can't help you. That's not an animation but has special engine code to handle it, which was probably removed in OoE.
Title: Re: DSVania Editor (v1.7.2)
Post by: MaverickZero on June 08, 2018, 06:24:51 am
Thanks a lot, is the straight jump kick sprite ripped directly from Harmony of Despair game file? Looks naturally without problem when I mixed your animation properties file into the PoR game.

no it isn't, i tried to find a rip of it to insert it but i wasnt able to, all i did was taking an unclear picture of it and try to recreate it as accurate as possible.
But thanks, it flatters me that you think it's straight from harnony of despair.
Title: Re: DSVania Editor (v1.6)
Post by: RobertGray on June 12, 2018, 09:59:10 pm
Hello there, everyone.



Boy, this site sure has been useful to me in finding cool ROM hacks. The DSvania Editor is a truly awesome tool. I was able to make some hacks for POR and OOE. However, all I have done is to add more enemies, and more abilities for player characters using the Player Editor. What I really want to do now is to edit backgrounds. I have tried adding the tall trees from Ruvas Forest into the Castle Entrance hall. Since the background behind the windows shows only a boring gray sky, I thought I would spruce it up by adding a forest background to it. However, when I attempt to use both Tiled and the editor for it the trees always turn into jumbled copies of the hallway sprites.


Please excuse my complete noobness. I really would love to make the castle look more interesting in the game and to add a couple more forests into the game (I just love forest stages). I just have no idea how to add things to the background (like the example above). Please forgive me if this question has already been answered and if I am being inconvenient at all. I would appreciate it if anyone could please give me some clear instructions in what to do or to know what exactly am I doing wrong. Also, I am really not well-versed in coding language at all, so please excuse my ignorance. The only reason I was able to get as far as I did with the Editor is because of a simple drag and drop.



Hey Lago Lunatic nice to meet you, I downloaded your editor and have been having fun with it ever since with Castlevania Order of Ecclesia (thanks to you I was finally able to give Shanoa her black hair in her sprites) but one thing I haven't been able to archive is to make a whip glyph, I tried taking the sprites from Portrait but while the animation seems go just fine the texture itself doesn't seem to change, could you gide me in order to compleate this mod please???


That's awesome that you were able to give Shanoa her black hair. I tried to do the same, but failed. Also, a whip glyph sounds awesome. Iga should have given her one in the game.


Also, I would love to know how to import and export both monsters and background sprites between each DSvania (like putting Slogra in OOE, and the library from OOE into POR). Is there a place where these instructions are at, so I can go there and read them?



Again, please forgive any inconvenience that my requests and ignorance may cause. If it is of no inconvenience to you, then I would appreciate your help. Thank you.
Title: Re: DSVania Editor (v1.7.2)
Post by: bogaabogaa on June 14, 2018, 12:26:44 pm
Importing/Exporting graphics is done with the GFX editor and you can view the pointers in the Tileset editor. I am not using the editor so please don't hang me if you forget to mention something.

(https://i.imgur.com/OOQbpra.png)


Also we did open a Castlevania Rom Center discord. It is not very populated but I think it could be a good place to ask questions and get involved.
https://discord.gg/eXDzAyg (https://discord.gg/eXDzAyg)
Title: Re: DSVania Editor (v1.6)
Post by: LagoLunatic on June 14, 2018, 01:04:37 pm
Boy, this site sure has been useful to me in finding cool ROM hacks. The DSvania Editor is a truly awesome tool. I was able to make some hacks for POR and OOE.

Thanks, I'm glad you're enjoying it!

However, all I have done is to add more enemies, and more abilities for player characters using the Player Editor. What I really want to do now is to edit backgrounds. I have tried adding the tall trees from Ruvas Forest into the Castle Entrance hall. Since the background behind the windows shows only a boring gray sky, I thought I would spruce it up by adding a forest background to it. However, when I attempt to use both Tiled and the editor for it the trees always turn into jumbled copies of the hallway sprites.


Please excuse my complete noobness. I really would love to make the castle look more interesting in the game and to add a couple more forests into the game (I just love forest stages). I just have no idea how to add things to the background (like the example above). Please forgive me if this question has already been answered and if I am being inconvenient at all. I would appreciate it if anyone could please give me some clear instructions in what to do or to know what exactly am I doing wrong. Also, I am really not well-versed in coding language at all, so please excuse my ignorance. The only reason I was able to get as far as I did with the Editor is because of a simple drag and drop.

You can only use tilesets from the sector you're in - each sector loads in all the tilesets it will need when you enter it, so using tilesets from a different sector is impossible since they're not loaded anywhere. Tiled doesn't know about this technical limitation of the DSVania game engine so it lets you use as many tilesets as you want, but when you import there's no way for DSVEdit to handle the other tilesets so it corrupts the room's tiles.

You would need to replace some part of the Entrance tileset GFX with the trees from Ruvas, then you can add them in.

Also, I would love to know how to import and export both monsters and background sprites between each DSvania (like putting Slogra in OOE, and the library from OOE into POR). Is there a place where these instructions are at, so I can go there and read them?

You can export and import GFX with the GFX editor, as bogaabogaa mentioned. You can look in the readme for the section called "How to edit GFX and palettes" for more information.
It should also be possible to export and import sprites across games, though I've never tried it myself. The "How to edit sprites" section of the readme explains how to export and import them.
But note that in both cases, you can't add new GFX/sprites. So you'll simply be replacing existing backgrounds/monster sprites with ones from a different game.

But when you say "export monsters" - you can't export their AI between different games. That would be extremely complicated. It's theoretically possible, but no one has managed it yet as far as I'm aware. So if you wanted Slogra in OoE, you could make something like say a Merman look like Slogra, but it would still act like a Merman.

Title: Re: DSVania Editor (v1.6)
Post by: RobertGray on June 14, 2018, 02:03:26 pm

You can only use tilesets from the sector you're in - each sector loads in all the tilesets it will need when you enter it, so using tilesets from a different sector is impossible since they're not loaded anywhere. Tiled doesn't know about this technical limitation of the DSVania game engine so it lets you use as many tilesets as you want, but when you import there's no way for DSVEdit to handle the other tilesets so it corrupts the room's tiles.

You would need to replace some part of the Entrance tileset GFX with the trees from Ruvas, then you can add them in.

I understand. I am trying to replace the Castle Entrance's gray sky with the Ruvas Forest's background forest and purple sky, but I have the barest minimum of an idea on how to do it. Experiments seem to prove it wrong.

You can export and import GFX with the GFX editor, as bogaabogaa mentioned. You can look in the readme for the section called "How to edit GFX and palettes" for more information.
It should also be possible to export and import sprites across games, though I've never tried it myself. The "How to edit sprites" section of the readme explains how to export and import them.
But note that in both cases, you can't add new GFX/sprites. So you'll simply be replacing existing backgrounds/monster sprites with ones from a different game.

I tried it before, but I could not get it to work. Then again I was extremely tired. I will try it again now that I am better.

But when you say "export monsters" - you can't export their AI between different games. That would be extremely complicated. It's theoretically possible, but no one has managed it yet as far as I'm aware. So if you wanted Slogra in OoE, you could make something like say a Merman look like Slogra, but it would still act like a Merman.

I understand.

Also, the idea of a Slogra behaving like a Merman sounds amusing. :D
Title: Re: DSVania Editor (v1.7.2)
Post by: MaverickZero on June 15, 2018, 06:38:52 am
Hey lunatic,i noticed a pretty bad mistake in por from the developers and wanted to ask if that can be fixed.
If you use charlotte's INT boost it will boost your intelligence and your subweapons will deal more damage of course, however her STR boost actually only boosts your attack power but not the strengh.
I used it to pull out 60 damage more from jonathans/richters kick but for some reason the strengh boost isn't added to the martial arts :huh:.
any way to fix that with a patch?
And there is another question, if i edit the characters starting stats does it affect their status growth during level ups, or are those literally just their lv.1 stats?

EDIT:By the way, super useful RAM maps, thanks for those :thumbsup:
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on June 15, 2018, 09:55:43 am
Hey lunatic,i noticed a pretty bad mistake in por from the developers and wanted to ask if that can be fixed.
If you use charlotte's INT boost it will boost your intelligence and your subweapons will deal more damage of course, however her STR boost actually only boosts your attack power but not the strengh.
I used it to pull out 60 damage more from jonathans/richters kick but for some reason the strengh boost isn't added to the martial arts :huh:.
any way to fix that with a patch?

What seems to be happening is that bonus stats like the strength added by STR boost are added separately every frame.
So at the beginning of every frame your strength is reset to its normal value, then bonus STR is added in, then if you're attacking it calculates your damage.

But martial art is different - it calculates its damage after your strength is reset to the normal value, but before bonus strength is added in. So it ignores bonus strength.

I don't know why they made martial art calculate its damage differently than other attacks, but changing the order things are calculated at to be more consistent is probably not possible.

But it's easy to manually take bonus STR and add it to the normal STR value for the purpose of calculating martial art damage, so I made a patch that does that: https://github.com/LagoLunatic/DSVEdit/blob/master/asm/por_fix_martial_art_bonus_str.asm

And there is another question, if i edit the characters starting stats does it affect their status growth during level ups, or are those literally just their lv.1 stats?

EDIT:By the way, super useful RAM maps, thanks for those :thumbsup:

Yes those are just the stats they start the game with. Their stat growth from level ups is hardcoded into a level up function somewhere.
Title: Re: DSVania Editor (v1.7.2)
Post by: MaverickZero on June 15, 2018, 10:05:59 am
awesome!
thanks for the patch, and also thanks for the explanation i would've messed with the stats hoping to balance out gameplay XD

btw i found all of the harmkny of despair sprites and alternate palettes, i will bring them into dsvania format and upload them soon.
I also have now Richter's legitemate jumpkick and will upload that one just in case someone wants to mess with the characters palettes/sprites.
Title: Re: DSVania Editor (v1.7.2)
Post by: pirate_sephiroth on June 18, 2018, 11:46:04 am
hello, it's me again.
http://www.mediafire.com/file/ix6kfl2f5pp8541/dulahan_HoD.rar

This is Dulahan from Castlevania Harmony of Despair(same one as PoR), the thing that interest me most is the .jnt2 file it has.
I'm wondering if it's possible to convert it for OoE since it has a similar file and also for other enemies like it.

I compared j_guru00 from OoE and HD. Both files are clearly the same, only many values are byteswapped.
(https://i.imgur.com/mEyYouB.png)

What seems to be happening is that bonus stats like the strength added by STR boost are added separately every frame.
So at the beginning of every frame your strength is reset to its normal value, then bonus STR is added in, then if you're attacking it calculates your damage.

But martial art is different - it calculates its damage after your strength is reset to the normal value, but before bonus strength is added in. So it ignores bonus strength.

I don't know why they made martial art calculate its damage differently than other attacks, but changing the order things are calculated at to be more consistent is probably not possible.

But it's easy to manually take bonus STR and add it to the normal STR value for the purpose of calculating martial art damage, so I made a patch that does that: https://github.com/LagoLunatic/DSVEdit/blob/master/asm/por_fix_martial_art_bonus_str.asm

Yes those are just the stats they start the game with. Their stat growth from level ups is hardcoded into a level up function somewhere.

There's some pretty good information there in your github docs. Could you add formulas for general damage calculation and item/soul/glyph dropping as well?

Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on June 18, 2018, 12:24:49 pm
There's some pretty good information there in your github docs. Could you add formulas for general damage calculation and item/soul/glyph dropping as well?

I have those all documented.
Item/soul drop chances in DoS: https://github.com/LagoLunatic/DSVEdit/blob/6474affb360a249f36881e88b7b326fc908f6762/docs/formats/DoS%20Enemy%20DNA%20Format.txt#L13-L44
Soul damage calculation in DoS: https://github.com/LagoLunatic/DSVEdit/blob/6474affb360a249f36881e88b7b326fc908f6762/docs/asm/DoS%20Functions.txt#L702-L708
The PoR and OoE ones are in similar locations.
Title: Re: DSVania Editor (v1.7.2)
Post by: MaverickZero on June 18, 2018, 06:19:06 pm
well, i have said i will upload soon the castlevania hd sprites and palettes of the characters, but now i think it won't be so soon.
It costs really a lot of time to bring them into DSVania format, so it'll need some time.
However, Vanya i remember that you wanted to make a Castlevania 1 hack for por, so do you want the 8-bit simon sprites?
he got extra moves like a jumpkick or a slide.
Title: Re: DSVania Editor (v1.7.2)
Post by: pirate_sephiroth on June 19, 2018, 03:27:26 pm
I have those all documented.
Item/soul drop chances in DoS: https://github.com/LagoLunatic/DSVEdit/blob/6474affb360a249f36881e88b7b326fc908f6762/docs/formats/DoS%20Enemy%20DNA%20Format.txt#L13-L44
Soul damage calculation in DoS: https://github.com/LagoLunatic/DSVEdit/blob/6474affb360a249f36881e88b7b326fc908f6762/docs/asm/DoS%20Functions.txt#L702-L708
The PoR and OoE ones are in similar locations.
Nice. I spent some time reading all those files.
I ses there are damage calculation formulas for souls in DoS, skills in PoR and Glyphs in OoE. The comments never specify weapon damage so I suppose normal attacks use a different forumla. (OoE is kinda confusing though... a comment mentions 'weapon' but isn't everything a glyph there?).

Also could you add the level up stat calculation formulas as well? I saw you already list the base stats for player characters on the RAM map.
Title: Re: DSVania Editor (v1.7.2)
Post by: LagoLunatic on June 19, 2018, 03:43:33 pm
Nice. I spent some time reading all those files.
I ses there are damage calculation formulas for souls in DoS, skills in PoR and Glyphs in OoE. The comments never specify weapon damage so I suppose normal attacks use a different forumla. (OoE is kinda confusing though... a comment mentions 'weapon' but isn't everything a glyph there?).

For regular weapons, the ATK value displayed in game is the base damage that you deal.
Enemy weaknesses/resistances affect the final damage done, the exact multipliers are in the Enemy DNA Format files.
Enemy defense/magical defense I don't know the specific formulas.

The comment for CalcDamageToEnemy mentioning weapons was just because I copy pasted it from DoS or PoR, I'll remove the word "weapon" from OoE's now.

Also could you add the level up stat calculation formulas as well? I saw you already list the base stats for player characters on the RAM map.

Probably not going to do that. Those functions are a pain to read through, with all kinds of weird conditions to give different stats. I don't know the exact numbers but it would sound similar to this: "if you just reached a level that is a multiple of 16 but not a multiple of 3, give +2 STR, otherwise give +1 STR".
Title: Re: DSVania Editor (v1.7.2)
Post by: MaverickZero on July 21, 2018, 09:22:50 am
hey lunatic, i wanted to tell you about a bug in dsvania that most likely came with the last update.
When i export richters whip to darkfunction, it only exports two palettes of it, the rest is just not existent, and so making me unable to edit it.
only it's standard and white color is being exported, the blue, red and green one not if i'm right.
As always i'm grateful for your awesome work and you have made a lot of nice asm patches i can really recommend everyone here to check them out :beer:
Title: Re: DSVania Editor (v1.7.2)
Post by: feels on August 14, 2018, 10:20:10 am
Just started using this program and I'm having issues with the magic seal editor. No matter what I do it won't allow me to add lines to the seal. I created more space using the Add Overlay option but when i try editing the seals it still says to create  more space to add lines. Do the seals take up too much space to add lines?

Edit: Fixed! Was placing the code to free up space in the wrong file
https://imgur.com/a/MSpMTOu
Title: Re: DSVania Editor (v1.8.0)
Post by: LagoLunatic on November 03, 2018, 05:14:40 pm
DSVEdit 1.8 is out! (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.8.0) The biggest new feature is the ability to edit AoS sprites and animations.
I'm not working on this editor super actively anymore but I'm still fixing and adding things occasionally, so this release has the stuff I've worked on over the past months.
Title: Re: DSVania Editor (v1.8.0)
Post by: feels on November 12, 2018, 03:45:01 am
Just now discovered something with the character outline editing in DSvania editor(1.8). The patch says it fixed outline editing not working but I tested it and it seems to still not work(at least for Dawn of Sorrow). I think the issue in DoS is that Soma is the only character that has a different sprite or palette for his event actor. But he is also the only one whose event actor sprite is not listed in the sprite editor. This means that when Soma enters a room where there is an event (or when he is forced to pass through a closing boss door) his event sprite is loaded instead and stays until the game is reloaded.
Title: Re: DSVania Editor (v1.8.0)
Post by: Aceearly1993 on November 13, 2018, 12:14:59 am
Hi I wanna share you some quick info about random bits and pieces.
Red Skeleton in OoE can be permanently destroyed by Dominus Glyph Union, while this effect is effect 28 in the editor. For some reason this effect has no description in the latest release.

Music 34 in OoE is Beginning - a leftover track from DoS while in the latest release it says Bloody Tears.

Area 0D in PoR actually serves as 2-player CO-OP mode arena, it's not some sort of Unused Boss Rush.
Title: Re: DSVania Editor (v1.8.0)
Post by: LagoLunatic on November 13, 2018, 12:42:15 am
Just now discovered something with the character outline editing in DSvania editor(1.8). The patch says it fixed outline editing not working but I tested it and it seems to still not work(at least for Dawn of Sorrow). I think the issue in DoS is that Soma is the only character that has a different sprite or palette for his event actor. But he is also the only one whose event actor sprite is not listed in the sprite editor. This means that when Soma enters a room where there is an event (or when he is forced to pass through a closing boss door) his event sprite is loaded instead and stays until the game is reloaded.

There is no Soma event actor, he uses the same palette in and out of events.
The fix for editing "outline color" in 1.8.0 was for the player editor, and it only applies to PoR and OoE. I haven't looked into how DoS outlines work.

Hi I wanna share you some quick info about Glyph attack status.
Red Skeleton in OoE can be permanently destroyed by Dominus Glyph Union, while this effect is effect 28 in the editor. For some reason this effect has no description in the latest release.

Thanks, didn't know about that.
Title: Re: DSVania Editor (v1.8.0)
Post by: Aceearly1993 on December 03, 2018, 04:44:53 am
Now I'm wondering if there's a possibility to play as Julius Hard mode & Soma pure new game Hard mode (just like how the way
1/ AoS hard mode works on a pure new game data
2/ PoR new game hard lv1 mode works on a pure new game data)
in DoS. Always think DoS is somewhat unfinished because of these reason - It can be made available but always glitched due to the only way to access Julius Hard mode in the original game is OoB glitch, and it screwed up control config when the X/Y position approaching the corresponding data block. Setting up stats to closely emulate what it should be like in Soma pure new game hard mode is possible but not perfect (and way too complex).
Title: Re: DSVania Editor (v1.8.0)
Post by: feels on December 23, 2018, 09:00:10 am
I'm looking to edit the color set that is used in Dawn of sorrow's top screen map. Does it use a palette or do I have to edit specific bits?
Title: Re: DSVania Editor (v1.8.0)
Post by: Zanemato on December 26, 2018, 02:20:08 pm
A remake of Castlevania II Simon's Quest with this tool would be awesome

Thanks a lot !!!!!
Title: Re: DSVania Editor (v1.8.0)
Post by: Thirteen 1355 on December 30, 2018, 01:10:22 pm
I'm wondering if there would be any way to edit the Chaos Ring and make it have the same properties as it has in Aria (Infinite MP).
Title: Re: DSVania Editor (v1.8.0)
Post by: SC on January 01, 2019, 01:33:52 pm
Any chance to get support for the EUR versions?
Title: Re: DSVania Editor (v1.8.0)
Post by: Rabite890 on January 01, 2019, 04:37:33 pm
Any chance to get support for the EUR versions?

Pretty sure Lago said in an early post that he wasn't planning on it.
Title: Re: DSVania Editor (v1.8.0)
Post by: ikusatatsu_ushiromiya on January 09, 2019, 12:32:12 am
Thank you very much for your admirable DSV Editor.
It helps me a lot in my hacks.
A new hack is completed now:http://www.romhacking.net/hacks/4313/

Title: Re: DSVania Editor (v1.8.1)
Post by: LagoLunatic on February 19, 2019, 04:50:17 pm
Minor update DSVEdit v1.8.1 (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.8.1) is out with some fixes.

I'm looking to edit the color set that is used in Dawn of sorrow's top screen map. Does it use a palette or do I have to edit specific bits?

DoS's map is kinda weird, but I just realized it technically is possible to edit the palette with DSVEdit. Open any sprite in the GFX editor and then change the palette pointer to 02079D58 and click view. Then you can edit the colors there.

Just be very careful not to edit anything you don't have to - the palette index dropdown will have hundreds of "palettes" in it, but only the first one is actually the map palette, the others are the game's code and data that you definitely don't want to edit as colors.
Title: Re: DSVania Editor (v1.8.1)
Post by: feels on February 20, 2019, 12:48:15 am
Minor update DSVEdit v1.8.1 (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.8.1) is out with some fixes.

DoS's map is kinda weird, but I just realized it technically is possible to edit the palette with DSVEdit. Open any sprite in the GFX editor and then change the palette pointer to 02079D58 and click view. Then you can edit the colors there.

Just be very careful not to edit anything you don't have to - the palette index dropdown will have hundreds of "palettes" in it, but only the first one is actually the map palette, the others are the game's code and data that you definitely don't want to edit as colors.
Thanks a ton! This and your latest update will be extremely helpful with my current and future mods!
Title: Re: DSVania Editor (v1.8.1)
Post by: Tsukiyomaru0 on April 12, 2019, 04:59:40 pm
There's some weird issue when attempting to edit weapons in Aria of Sorrow, the ones that aren't overhead swing have a GFX error of sorts.
Title: Re: DSVania Editor (v1.8.1)
Post by: 4lorn on April 29, 2019, 04:57:42 am
Hi. I haven't messed around much with the editor, but does it support changing the font? Out of curiosity, I peeked into AoS with Tile Molester and found the jumbled mess of a font used for dialogue. I singled out some characters in the text editor (taking note of the RAW codes, then edited the corresponding letters with Tile Molester, but after modified the game still uses the original letters.
Title: Re: DSVania Editor (v1.8.1)
Post by: LagoLunatic on April 30, 2019, 11:41:18 am
Hi. I haven't messed around much with the editor, but does it support changing the font? Out of curiosity, I peeked into AoS with Tile Molester and found the jumbled mess of a font used for dialogue. I singled out some characters in the text editor (taking note of the RAW codes, then edited the corresponding letters with Tile Molester, but after modified the game still uses the original letters.

Nope, it doesn't have that feature.

I know the DS games store their fonts in the directory called "font". But I couldn't tell you where AoS stores it.
Title: Re: DSVania Editor (v1.8.1)
Post by: kajiarashi on May 14, 2019, 07:36:13 pm
Someone can help-me? I'm trying to make this tool work but unsucessfuly.. I've moved it to C:\, but still not working..  :banghead: Only shows this...https://imgur.com/a/n5LCLeS (https://imgur.com/a/n5LCLeS)
Title: Re: DSVania Editor (v1.8.1)
Post by: Sinis on May 15, 2019, 02:34:06 pm
Try putting it into a new folder on your desktop.
Title: Re: DSVania Editor (v1.8.1)
Post by: kajiarashi on May 15, 2019, 09:57:19 pm
I tried move to a new folder today, I also tried to extract again from zip it but gives the same error.  :-\ Well.. thanks Sinis for reply  :)
Title: Re: DSVania Editor (v1.8.1)
Post by: Azwel on May 25, 2019, 02:02:18 pm
Hi, is it possible to create a mod to display the map on the bottom screen when pressing select like sotn and the gba titles?
Maybe you could use the map that displays when using the warp room, but remove any warping functions
Title: Re: DSVania Editor (v1.8.1)
Post by: Esco on June 09, 2019, 03:00:20 am
..... what? No option to edit SOTN yet?  :o
Title: Re: DSVania Editor (v1.8.1)
Post by: Thorbs on June 09, 2019, 06:25:14 am
It's called "DSVania Editor" for a reason.
AoS and HoD support are just a bonus.
I would be more surprised to see SotN support than say, multi-ROM support for already supported games.
Title: Re: DSVania Editor (v1.8.1)
Post by: Esco on June 10, 2019, 01:45:09 am
It's called "DSVania Editor" for a reason.
AoS and HoD support are just a bonus.
I would be more surprised to see SotN support than say, multi-ROM support for already supported games.

I was being humorous. I remember the creator of this project mentioning having an interest in adding SOTN support way back when I spoke to him. I figured by now he would have figured it out with his skill level.
Title: Re: DSVania Editor (v1.8.1)
Post by: Thorbs on June 10, 2019, 04:50:44 am
He did?
I didn't know that, that's good to know.

But still, the work involved to add all that support...
Title: Re: DSVania Editor (v1.8.1)
Post by: Esco on June 10, 2019, 04:16:34 pm
He did?
I didn't know that, that's good to know.

But still, the work involved to add all that support...

Yeah, his tool is amazing. But the truth is with what he has already, and the fact that SOTN stages could be edited with something as simple as a Mappy LUA file, I don't imagine it would be too difficult. But his editor does MUCH, MUCH more than simple stage edits. Including ripping gfx.

Big issue 1 would be the way gfx are encrypted. Though I believe there is already info out there on this.

Big issue 2 map editing wise would be that certain enemies are only loaded in some areas, due to the game being cd and not cartridge based. And even then, let's say you wanted to add a raven into the room with bone pillars in the chapel you would still have to have something coded in that adds that enemies gfx into VRAM. Or it would appear and work fine AI wise. But the gfx would be scrambled. But I'm sure there is a way to automate this.

However, even with an editor, you still could NOT do something like add ravens into the entrance, or alchemy lab, for example. Their AI just isn't coded into the BIN file for that area, nor are their gfx. And the more enemies you set to load into vram at once, the longer a room takes to load. With all enemies in the chapel loaded into vram for a room, I can tell you now that load time when entering that room was double/tripled. Not a HUGE difference, but a noticeable one.
Title: Re: DSVania Editor (v1.8.1)
Post by: pleasejust on June 13, 2019, 01:42:37 pm
Hey what're you doing here, Esco? Aren't you supposed to be busy with SotN hacked?  :P
Title: Re: DSVania Editor (v1.8.1)
Post by: Esco on July 12, 2019, 03:46:07 am
Hey what're you doing here, Esco? Aren't you supposed to be busy with SotN hacked?  :P

Lol!
Title: Re: DSVania Editor (v1.8.1)
Post by: feels on July 21, 2019, 01:30:46 am
Hey Lunatic, just wondering if you’d be able to add to the editor the ability to make weapon/armor/accessory stats negative like your randomizers can. Unless of course it’s already in and I just don’t know how to do it (just putting - in front of a hex value stat doesn’t work)
Title: Re: DSVania Editor (v1.8.1)
Post by: Esco on July 21, 2019, 09:47:21 pm
Hey Lunatic, just wondering if you’d be able to add to the editor the ability to make weapon/armor/accessory stats negative like your randomizers can. Unless of course it’s already in and I just don’t know how to do it (just putting - in front of a hex value stat doesn’t work)

Have you tried using the value you get here: https://web.eecs.umich.edu/~pmchen/engr100/calc.html

I.E. -1 = ffffffff
Title: Re: DSVania Editor (v1.8.1)
Post by: feels on July 22, 2019, 09:11:33 pm
Have you tried using the value you get here: https://web.eecs.umich.edu/~pmchen/engr100/calc.html

I.E. -1 = ffffffff

Ahhh. Didn’t know hex could be negative like that (still new to hex). I’ll try it when I get the chance

July 25, 2019, 12:32:37 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Have you tried using the value you get here: https://web.eecs.umich.edu/~pmchen/engr100/calc.html

I.E. -1 = ffffffff

So it seems that this method does not work. The hex number just converts into a positive decimal number no matter what. I also tried looking at weapons and armor made using the randomizer that have negative stats but copying the values from them into my mod just turns them into positive hex numbers. I'll just have to wait and see if LagoLunatic is able to create a solution
Title: Re: DSVania Editor (v1.8.1)
Post by: tavs7 on August 09, 2019, 01:39:32 pm
Hello. I'm new using DSVania so I have some questions (I'm trying to make a Aria Of Sorrow Hack):

1: There's a way that can I add new rooms to the game?

2: How to add a new enemy as a boss? I tried with Red Minotaur in a room but it doens't works

3: Exists one way to add new equipments to the rom?
Title: Re: DSVania Editor (v1.8.1)
Post by: Esco on August 10, 2019, 08:29:33 pm
A special shout out goes to LagoLunatic for his amazing editor in my video here: https://www.patreon.com/posts/29072637
Title: Re: DSVania Editor (v1.8.1)
Post by: Thirteen 1355 on August 11, 2019, 06:49:21 am
Hey it's Esco, how's the SotN engine going?
Title: Re: DSVania Editor (v1.8.1)
Post by: azul120 on August 14, 2019, 05:55:14 am
Good stuff. Stupid question: would it ever be possible to port the AoS music engine into HoD?
Title: Re: DSVania Editor (v1.8.1)
Post by: ikusatatsu_ushiromiya on August 16, 2019, 12:37:43 am
Is there any method to extend the map of PoR and OoE.
I can't create map freely in these two CV game.