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:
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:
I already made sereval hacks of Metroidvania before.But with the help of DSVania Editor,I successfully made my best hack of Castlevania AoS:
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:
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
, 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:
And please keep it up, awesome work!
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.