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.
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.
Neat however you should have European version as well for more friendly also.
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!
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'm glad you like it!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.
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 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.
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.
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.
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.
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 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
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.The thread I linked in my post has most of the information you need.
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.
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.
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.
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. :DIf the palette editing is straight-forward, some portraits could benefit from that as well. Yoko, Celia, perhaps Julius too.
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.
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.
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.
I'd like that patch. Who is it by? What regions are supported?
/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
Wow amazing tool, are you planning to support the GBAvanias and SOTN sometime ?
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.
(http://i.imgur.com/i0JTxv1.png)
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.
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
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:
- 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).
Oh and is it possible to create a patch to smash those ice blocks like in julius mode ?
Is there anyway this can work on Windows XP64? Cause this thing wont work on my computer.
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!
That's a nice idea! I think I managed to get it working, test it out if you want to.Is it still tied to the Balore soul?
https://github.com/LagoLunatic/DSVEdit/blob/master/asm/dos_melee_balore_blocks.asm
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
No but that would make sense so the soul isn't completely useless.Awesome.
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
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?
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. :)
@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)
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!)?
I played through the whole game including Julius mode with the IPS patch and found no issues
I wonder how easy it would be to port monsters between the 3 games?
Looks super dope. Keep up the great work man.
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?
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.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.
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.
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?
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 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 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.
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)
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.
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.
So I've been poking at doS with this tool since you first released it, and was looking to try and make a small PoR romhack just to really dig into it, and can't seem to actually get it to play.
I just added a couple entities to the first room (the drawbridge room) and it freezes before loading the intro cutscene with the dude at the beginning every time.
I'm not really sure why this would be happening. I'll keep poking at PoR now since it's my favorite DSVania and was the one I wanted to make a hack for.
EDIT: Just an edit to say that changing anything with the rom entity related (adding new ones or editing current ones) will cause it to do this. May just be something that I'm messing up as a noob so any help would be great.
EDIT2: Another edit here to say that I must have just messed something up and didn't realize it. Editing entities works fine, but adding them still breaks the game. I'm assuming it's a pointer thing or an expansion thing since I know basically nothing about actual romhacking. Still looking for info on it, but I think it's just something I don't know how to do in the first place.
So 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
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
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
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.
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?
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.
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?
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?
Hello LagoLunatic!
I saw on your new update that there is a sprite skeleton viewer. I also read here by Esco that it's possible to see the animation and save the frames.
Thing is: I can't locate the function at all. Every sprite I know uses puppet/skeleton animation has the button "view skeleton" grayed out. What gives? Here is an example:
What am I missing?
It's weird seeing Esco. Haven't seen that name in like 12 years.
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.
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?
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)Thanks for the reply.
What are you playing on? Exact emulator & version, or a real NDS, etc?
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?
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 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.
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.
Geez. The gang's all hear. :P
This is Inccubus, BTW.
Yes, I see you up there as well INCUBUS (Vanya). It's been a bit. How have you been?
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.
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'
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'
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.
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.
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:ERROR: InnoSetup installer creation failed: undefined method `encode' for #<Ocra::Pathname:0x000000040d58f0 @path="src/dsvedit.rb">
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.
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?
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. :(
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.
Does this support windows XP?? I can't manage to run it got a message about ruby.exe & msvcrt.dll
So, how's the progress on Harmony of Dissonance and Circle of the Moon?
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
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.
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数据。
http://darkfunction.com/editor/
Check this sprite editor tool, maybe it will come in handy.
Would it be possible to connect OoE areas with this? :woot!:
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.AoS? :D
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 ?
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?
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? ;)
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.
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 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!
It is currently compatible with the US and Japanese versions of the DS games, and the US version of Aria of Sorrow.
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. :)
What about the Europe vesions ?
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 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.
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?
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?
Edit: Out of curiosity, what is preventing the area maps from being expandable?
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.
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?
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.
What format do opening animations use, and how could I edit them?
I have some good news, I started implementing Harmony of Dissonance support and it's going smoother than I expected:
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!!
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).
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.
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.
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.
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.
.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
.org 0x02210060
nop
Repeat that for every subweapon and they should no longer play a voice.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.
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
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.
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 :)
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 disappeared then...
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.
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.
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.
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 :)
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.
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?
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.
01 - ?
02 - Do not loop animation
04 - Play animation in reverse
08 - Do not animate, just freeze on whatever the current keyframe is
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?
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.
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.
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?
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
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 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.
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?
<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.
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.
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.
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.
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.
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.
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.
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?) ;)
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...
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?
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...
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 :<
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:
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:
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.
This looks impressive. I'm doing some research on Harmony of Dissonance. Do you know how to change drop rates?
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 :)
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.
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:
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 :)
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.
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....
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!
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 :)
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.
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!
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?
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
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:
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 :-\
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:
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.
@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?
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?
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
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 is a good idea.
Maybe the ability to edit starting equipment, too if that isn't already there as well.
Does putting those items in the starting room trigger the any messages about acquiring the items?
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 :)
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 :)
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.
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.
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.
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.
@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?
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
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)
Works fine for me. Are you using an old version? That previously was a bug that was fixed a couple months ago.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.
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.
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?Area 00 (Dracula's Castle)
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)
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?
darkFunction? What is that?
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.
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.
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?
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.
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.
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.
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.
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.
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
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.
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???
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.
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???
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.
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 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.
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.
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:
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.
What seems to be happening is that bonus stats like the strength added by STR boost are added separately every frame.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?
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?
I have those all documented.Nice. I spent some time reading all those files.
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.
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.
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.
Any chance to get support for the EUR versions?
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?
Minor update DSVEdit v1.8.1 (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.8.1) is out with some fixes.Thanks a ton! This and your latest update will be extremely helpful with my current and future mods!
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.
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.
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.
He did?
I didn't know that, that's good to know.
But still, the work involved to add all that support...
Hey what're you doing here, Esco? Aren't you supposed to be busy with SotN hacked? :P
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
Have you tried using the value you get here: https://web.eecs.umich.edu/~pmchen/engr100/calc.html
I.E. -1 = ffffffff
..... what? No option to edit SOTN yet? :o
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.
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.)
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
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?
A special shout out goes to LagoLunatic for his amazing editor in my video here: https://www.patreon.com/posts/29072637
Good stuff. Stupid question: would it ever be possible to port the AoS music engine into HoD?
Is there any method to extend the map of PoR and OoE.
I can't create map freely in these two CV game.
Glad to see you're back lago, just wanted to ask if it was possible to create a hack that brings the map on the lower screen in the DS games when pressing select, maybe you could bring up the warp menu but disable its functions
A year and a half ago I did look into making a new editor for SotN (adding support for it into DSVania Editor isn't realistic because the formats are 100% different, so making a new project was easier).
I got it as far as being able to view most rooms, as well as entity properties (no editing). But once I realized those entity limitations you mentioned I wasn't sure if I wanted to continue working on it, since what you could do with a SotN editor would be pretty limited. Also, pretty much everything is SotN is coded weird and hacky compared to the DS games, so it's way more work to do anything. Never managed to get entity sprites displaying correctly, for example. So I just stopped working on it, didn't seem worth the effort.
Would it be possible to do a text editor for SOTN? Would be handy for translations, retranslations, or consistency with later games in the series.
Adding new rooms is possible in theory but I haven't implemented that feature into DSVEdit's UI yet.
The method Esco mentioned with negative hexadecimal numbers does work. For example, set an item's Strength field to FB and it will give -5 strength.
However, this only works for signed values. Unsigned values are always positive, so if you try to set an unsigned value to FB, it will instead give +251 to that attribute for example.
At the bottom of the item editor is a big text field with documentation on each value. Only the ones that say (signed) next to them are signed. Strength, constitution, intelligence, mind, and luck are signed, but attack and defense are unsigned. So I assume you tried to make attack or defense negative and that's why it didn't work for you. You should instead make strength or constitution negative and those will have the side effect of also decreasing attack or defense.
Also, while Esco's method works you don't actually need to do it that way. Just type in -5 and DSVEdit will understand that you want FB.
On another note, would it be possible to add more area transition rooms to DoS? Either by adding them once the room adding feature is implemented or by converting other rooms into transition rooms?
Not as simple as PoR/OoE where you just edit the room on the map of course, I've got to add the room pointer to the list of transition rooms, relocate that list to free space, and update the hardcoded pointers to that list to point to the new location instead. But it seems that nothing else is necessary thankfully, so I should be able to add this to DSVEdit. Gonna need to figure out where it would best fit in the UI, probably in the room properties editor or something.
Fantastic! All the areas in my mod are super interconnected and I didn’t realize I was already running out of transition rooms.
Does each area of the game have its own free space? I’ll try adding something to one area or changing the tileset for a room of that area and the editor will crash but I’ll try the same thing in a different area and it works perfectly.
Each sector does have its own overlay file, which is only loaded when in that sector so it can't be used by other sectors. Each sector has wildly different amounts of space available in its overlay (Demon Guest House has none at all for example).
But if you added a brand new free space overlay with DSVEdit and marked it as free space, then that overlay can be used by all sectors, allowing you to add stuff to even sectors like Demon Guest House. It can also be used for things that aren't sector-specific (like the relocated list of transition rooms I mentioned in my last post for instance, that wouldn't have anywhere to go if you don't add a new overlay).
But the editor shouldn't be crashing even if there's no free space available, it should give you an error message about there being no free space and tell you how to add it. Can you give me more information about the crash? Exactly what rooms does it crash in? If the crash doesn't happen in vanilla DoS you could PM me your project so I can check it out.
It's possible to add a new warp room in Aria Of Sorrow? I tried to put the warp entity to a rom but it doens't work. I tried to edit the warp points in the map too, but I could only move them to another point in the map.
Hey LagoLunatic.
I've been wroking on a couple projects to modify the artwork style of both Dawn of Sorrow and Portrait of Ruin to something more in-line to Kojima's gothic style for the character portraits:
http://www.romhacking.net/forum/index.php?topic=22445.340
DoS is already done and released, and I'm currently working on PoR.
Most portraits for PoR are already ripped and ready, and I used your Editor to rip a couple menu portraits I missed, but for some reason I couldn't find sprite rips on your Editor for the main character portraits, which I have already ripped manually with Tile Molestor.
Are those able to be dumped with your Editor?
Or have those ones not been implemented yet?
If not implemented, do let me know to provide the required data for those for your app.
Hey LagoLunatic,
i've been wondering if you know if the sub weapon quickslots from maria and richter are hardcoded.
I've been trying to find a simple enable/desable in the player editor, but no bitfield affected it at all.
Neither could i find an enable/disable in the ram map of por.
Also a big thanks for the latest updates they're great! :beer:
I assume you're referring to the large character portraits used in cutscenes. The reason those aren't listed in the sprite editor is because they're not actually sprites. The game's cutscene engine renders those images to the screen independently from the normal sprite and animation rendering engine. (Presumably they do this so that fancy "blinds closing" fading in and out animation works, which I don't believe would be possible for the normal sprite and animation rendering engine.) As such, it's impossible for them to be listed in DSVEdit's sprite editor, since it's designed to display sprites and animations of the format used by said sprite and animation rendering system only.Ah I see, I just thought it was odd that those were not found in the sprites list not anywhere in the Editor itself, but I do see and understand your point.
You can view, edit, and export those big portraits in the GFX editor though, since that supports basically all images. But you need to know the GFX filename and palette pointer yourself and put them in, since DSVEdit doesn't list those anywhere.
(https://i.imgur.com/qi0E2wZ.png)
It's kind of inconvenient, but the only way around it I can see would be to make another tool separate from the sprite and GFX editors that lists the portraits and lets you then open them in the GFX editor. I don't feel like making that though.
I should probably at least list the filenames and palette pointers in the readme at some point.
Another side question:
For the character specific sprites used for the Info Screen, Pause menu and the Mini-portraits in the upper right portion of the screen. Do those use indexed palettes? Or what is exactly the colour limitation for those ones?
To be more clear, I'm talking about the ones I dumped using DSVania here:
http://www.romhacking.net/forum/index.php?topic=22445.msg380926#msg380926
Hi LagoLunatic.
Is it possible to disable the "gaining attribute points via glyph absorbing" feature in OoE? Is such feature Hardcoded or the amount of attribute points gaining via glyph absorbing able to be adjusted in the future?
I have a question: how to get more free space in DoS?
I want to enlarge the rooms of DoS, but it shows "can't find any free space."
Than I use the "Add overlay", and open _dsvedit_freespace and add "030a5700 0001f600 /ftc/overlay9_41" in the end.
But it still "can't find any free space."
030a5700 is a address, and after this address there are all 00. I think it's a good site to put free space.
Hey LagoLunatic i have a little problem with the tool.
The last time i wanted to build a rom my laptop crashed and the rom couldn't be fully built, now when i try to open the editor and it wants to open the last edited rom, it wouldn't boot up anymore.
No matter what i try i can't get it to boot up anymore even if i delete the tool and reinstall and files again.
Any idea what could be the problem and how to fix it?
The problem is that it doesn't open anymore at all, i already tried to open the editor with another file like OoE but the command line pops up and closes within a second again, i assume it still tries to open my last edited hack?
I have the crashlog here but i don't understand anything, would it be ok if i send it to you per E-Mail?
I don't know why but the file is completely blank when i open it
Ok i deleted it but nothing changed, it still just pops up for a second and closes again.
It also doesn't create a new settings file when i try to open it
I'm trying to modify Portrait of Ruin's GFX for both Jonathan and Charlotte's info screen in the sprite editor, under Others -> Info Screen.
However, whenever I replace their Info portraits, DSVania crashes on me with the following crash log:Spoiler:# Logfile created on 2019-10-21 10:43:30 -0600 by logger.rb/56438
E, [2019-10-21T10:43:31.974242 #58] ERROR -- : Failed to find any free space! (FreeSpaceManager::FreeSpaceFindError)
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/dsvlib/free_space_manager.rb:295:in `get_free_space'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/dsvlib/sprite.rb:311:in `write_to_rom_by_pointer'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/dsvlib/sprite.rb:194:in `write_to_rom'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/dsvedit/sprite_editor_dialog.rb:845:in `save_sprite'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/dsvedit/sprite_editor_dialog.rb:860:in `button_box_clicked'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/lib/ruby/gems/2.3.0/gems/qtbindings-4.8.6.3-x86-mingw32/lib/Qt/qtruby4.rb:479:in `qt_metacall'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/lib/ruby/gems/2.3.0/gems/qtbindings-4.8.6.3-x86-mingw32/lib/Qt/qtruby4.rb:479:in `method_missing'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/lib/ruby/gems/2.3.0/gems/qtbindings-4.8.6.3-x86-mingw32/lib/Qt/qtruby4.rb:479:in `exec'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/./dsvedit.rb:27:in `<main>'
E, [2019-10-21T10:49:14.281784 #56] ERROR -- : Failed to find any free space! (FreeSpaceManager::FreeSpaceFindError)
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/dsvlib/free_space_manager.rb:295:in `get_free_space'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/dsvlib/sprite.rb:311:in `write_to_rom_by_pointer'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/dsvlib/sprite.rb:194:in `write_to_rom'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/dsvedit/sprite_editor_dialog.rb:845:in `save_sprite'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/dsvedit/sprite_editor_dialog.rb:855:in `button_box_clicked'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/lib/ruby/gems/2.3.0/gems/qtbindings-4.8.6.3-x86-mingw32/lib/Qt/qtruby4.rb:479:in `qt_metacall'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/lib/ruby/gems/2.3.0/gems/qtbindings-4.8.6.3-x86-mingw32/lib/Qt/qtruby4.rb:479:in `method_missing'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/lib/ruby/gems/2.3.0/gems/qtbindings-4.8.6.3-x86-mingw32/lib/Qt/qtruby4.rb:479:in `exec'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/./dsvedit.rb:27:in `<main>'
E, [2019-10-21T10:52:56.644876 #57] ERROR -- : Failed to find any free space! (FreeSpaceManager::FreeSpaceFindError)
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/dsvlib/free_space_manager.rb:295:in `get_free_space'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/dsvlib/sprite.rb:311:in `write_to_rom_by_pointer'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/dsvlib/sprite.rb:194:in `write_to_rom'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/dsvedit/sprite_editor_dialog.rb:845:in `save_sprite'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/dsvedit/sprite_editor_dialog.rb:855:in `button_box_clicked'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/lib/ruby/gems/2.3.0/gems/qtbindings-4.8.6.3-x86-mingw32/lib/Qt/qtruby4.rb:479:in `qt_metacall'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/lib/ruby/gems/2.3.0/gems/qtbindings-4.8.6.3-x86-mingw32/lib/Qt/qtruby4.rb:479:in `method_missing'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/lib/ruby/gems/2.3.0/gems/qtbindings-4.8.6.3-x86-mingw32/lib/Qt/qtruby4.rb:479:in `exec'
Z:/root/Downloads/Game Hacks/Castlevania/DSVania Editor/./dsvedit.rb:27:in `<main>'
I tried this on both Linux and a Windows 7 machine with the same result.
For some reason it doesn't let me overwrite anything from that image.
In case it helps, this is the image I am trying to import using the "Import GFX" option:
(https://i.imgur.com/dqcvaiD.png)
It uses palette 02 from the Sprite Editor.
Also, I wanted to ask, do you happen to know what is the exact offset for those graphics?
I know the pointer is listed there, but having the exact offset where the graphics are stored in there could be helpful as well.
Hey, there any possibility of add an 8x8 grid in the animation editor in futures updates???
In DoS, Is there a way to edit exactly what rooms the doors to/from the abyss will take you to? If not then would it be possible to add such a feature in your next update? Thanks!
Now you can add brand new rooms to the game.
This is kind of a big deal. I assume it applies to Order of Ecclesia as well?
DSVEdit 1.9 is out! (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.9.0) Now you can add brand new rooms to the game. It has several other new features and a ton of bug fixes too.
How to add a room to AoS?
And about the warp rooms: I could add a new point to a warp room on the map. I can go from a preexistent warp room to the new one, but I cant use the new one as a proper warp room
One more thing: I tried to browse a tiled path but it didn't works.
(https://imgur.com/q5N42NB)
Hey LagoLunatic, is there anyway to edit the portraits (for dialogues) in Aria of Sorrow or Harmony of Dissonance in your editor?
And how about editing the Soma portrait in pause menu in Aria of Sorrow?
Lago, I created a new room on dsvania, put the height and on both layers of the new room and opened in tiled. I could put the tilesets, but once I import the into DSVania only the layer 0 load, the others two became all red. So I paste the tileset code of the layer 0 on the layers 1 and 2, but it gets all messy and teleport Soma to Chaotic Realm
EDIT: I solved this, in other way the warp room continues with messy tileset
Also I edit a room on the Study to transform it into a warp room. I could put the right collision tileset, but I really don't get how to change the tileset to the same as the warprooms
Other thing that I can't undo is this issue with the katanas sprite:
1 - Circle of the Moon support, people are still modding this game but have to use ancient methods to do so.
2 - Japan Region Support, Hacks like ROTF, LUNATIC, and PHANTASM for HOD and AOS were made for the J rom only, so even swapping characters is challenging, and I used your tool to make CVHODNGP, but couldn't do it for ROTF.
3 - I noticed there are a couple of hacks that wn't load into DSVania, AOS Alter is one of them. Also certain SOMA player sprites could not be brought up in the program, like Alucard from AOS Dawn of Symphony. And changing the palette for one weapon, changes it for all weapons.
I see... Well, thank you for your timely reply. As I said B4, it is still an AWESOME tool anyways, and thank you for making it. One more thing, Importing and exporting GFX in dark function, is this DS Specific? I can never get it to work for me, I have just been exporting all frames and editing them in Paint.net.
(There's also the "Select Tileset" button that automates things for you, but it only shows tilesets already in the sector you have selected, so it won't be useful for putting a warp room in a sector with no warp rooms already.)
Thanks for answer. So there's no way to put the tileset of warprooms in a room of Study, right?!
And I was thinking something to let the souls like White Dragon and Golem less obsolete in the late game. It's possible to put 2 stats alterations in a same yellow soul? Like +2 INT & +1 CON?
Hey trying to change Soma for PoR Jonathan I've start with the running animation but once imported the sprites the animation go crazy and render the sprites with no order I know that is not a mistake by me because I made this with tile molester before and this is the first time that happens
And I have no idea about how to use the new features for the rooms, how I suppose to change the size???
The animator is going just good I just set the sprites wrong lol.
Btw I'm working in this hack for AoS using DSvania since a couple of months ago and I have some issues if someone wants to help a little, or get some inspiration for his own hack idk.
https://castlevaniamodding.boards.net/thread/265/aos-sotn?page=4
I was wondering if the following text from Portrait of Ruin is handled as a text or as sprites in the ROM:
I'm trying to find all of the "RICHITER" typos in the game, and while I could find some others in sprite form in the ROM, I can't seem to find that one. So I wanted to ask if it's actually text in the game or if it's sprites.
Also, as a side question, is it possible to fix the Death Glitch in the US release of Portrait of Ruin with your editor, LagoLunatic?
It's not a sprite. I can't find where the text is anywhere though, strange. Might use some weird encoding different from the rest of the text in the game?
I fixed that for the randomizer a while back. Here, I just converted it to an ARMIPS patch so you can apply it to your hack: https://github.com/LagoLunatic/DSVEdit/blob/master/asm/por_fix_death_softlock.asm
Oh that's awesome!
I'll give it a go tomorrow.
How would you recommend compiling the ASM?
"Apply ARMIPS Patch" in DSVEdit's GUISo I open my already hacked ROM with DSVEdit GUI, select "Apply ARMIPS Patch" and then patch-in the Death Fix ASM?
So I open my already hacked ROM with DSVEdit GUI, select "Apply ARMIPS Patch" and then patch-in the Death Fix ASM?
I did that, but I noticed that creating an IPS patch out of it with my normal ROM hack gives me an 8 bytes IPS, with only the words "PATCHOF" in it. Making an XDelta patch gives me a 388 bytes patch.
Is this normal?
Hey Lago,
I'm just about 75% of the way through revising the script of the final version of my HoD Localization Fix (http://www.romhacking.net/hacks/3831/). The dialogue has been retranslated and polished up, which naturally entails a bit of expansion. Unfortunately, I've hit the limit and there's no more room in the rom to fit the expanded strings. Is there currently a way to expand the rom within the program and repoint the extra text, or will I need to use another program?
Just released DSVEdit 1.9.1 (https://github.com/LagoLunatic/DSVEdit/releases/tag/v1.9.1) - mostly bug fixes, plus the ability to have much more text than before.
Oh nice! Been meaning to pick this editor back up again :beer:
*cough*CotMsupportinthefuture?*cough*
Lol, sorry. Keep up the good work on this editor :thumbsup:
Has HoD gotten more support or is it still the same as before? :)
Damn..... no updates for almost 2 months. Don't tell me that this thing has been abandoned already? :(
Maybe you could make it compatible with the GBA games.
I was away a while, sorry. How about COTM?
What is the preferred program for finding asm code in the roms? I can't figure out how to find the code for events using create or update codes as addresses.
Unsure what you mean by "abandoned". If you've found a bug feel free to tell me and I'll usually fix it quickly.
As far as new features go, there's really only one more significant one I can think of that I'd like to add. It's a ton of work though, I started working on it a while back but haven't felt like working on it in the past 4 months or so. Whenever that one is done I'll probably not add any more features (unless someone can think of a new idea for one that I think is worth the effort), but will still fix bugs.
Last time I downloaded it there were a number of things with objects still broken. Like enemies that use bones in some of the DS-vanias to give one example.
There's a possibility to put this setting for the GBA games too? (Or the BG control already do this? And if yes: how?)
Without this is impossible to put proper water and light effect in new rooms :(
(https://i.imgur.com/OPiHXN0.png)
You'll need to be more specific, I'm not sure what the issue you're having is. Which game? Which enemies? What's broken about them? A screenshot of what you're seeing would help.
What I put above should have been more than enough. But here you go: enemies that use skeletons in POR as an example (Like Peeping eye) still don't show up correctly. And Iron golem or Behemoth to give 2 examples, only show the sprites and not him fully assembled with their actual animations. Unlike Gurkha master in OOE (for example). Who will show his skeletons and each key frame.
This isn't very obvious come to think of it though, I could probably add in some checkboxes or something that generate the Color Effects automatically.
Peeping Eye in PoR does not use skeletal animation. It's a 3D model. Same applies to True Dracula's wings, tombstones, and maybe one or two other things I can't remember.
Displaying 3D models within DSVEdit is not worth the effort - I would need to write an implementation of the 3D model format and write my own 3D renderer or format converter. The format used, NSBMD, is the same 3D model format used by other NDS games, so if you want to view or edit PoR's 3D models you can use one of the general-purpose DS model hacking tools that already exist.
Iron Golem and Behemoth in PoR do use skeletal animation, but I won't be implementing skeletal animation viewing for any games besides OoE. Prior to OoE, the skeletal animation system was much more complicated. I've tried to figure it out several times but haven't succeeded. For OoE they refactored the system drastically, and while it still wasn't easy it was at least possible for me to figure that one out.
Also, prior to OoE, the skeletal animations were compiled directly into the enemy overlays (code files) - so even if I figured them out, editing them would still be 100% impossible for games besides OoE. Even displaying them in DSVEdit would have to involve tons of hardcoding for each individual enemy, so I decided it wasn't worth the effort.
Candles can be found in the common sprites under other. Would be nice Lago if you would include in read me GFX Pointer addresses for Portraits in each game.Sorry, I mean this type of candles (I already changed that one, as you can see, but it doesn't applied to the game):
I would love more documentation for each game...Locations for unlisted gfx for example. Such as Portrait of Ruins gameover screen and all the gfx for DoS equip menu.
As well as maybe some sort of guide for creating new rooms from scratch. I have been adding rooms to the castle by exporting to Tiled, creating a new room, exporting the blank and renaming then reimporting the room, after I edit the room and doors to how I want. This doesn't feel very intuitive but its all I really know without any direction.
The big thing is not having access to certain gfx I wanna edit and having to figure out how to get a hold of pointers for palettes. If we could edit anything at all about events or enemy ai behaviors it'd be awesome if that was implemented, no matter how limited.
Maybe an Open in Darkfunction button like u have for open in Tiled. I've been using your editor every day for the past 3 months, these are my only major nit picks.
Oh also it's not really obvious how to add an overlay to most the games. Which is 100% required to do anything in DoS but not as required in OOE/PoR since they give u more freedom before throwing not enough free space errors.
Taking advantage of the comment above: Does anyone know the gfx pointer of Aria of Sorrow candles? The one listed on dsvania is apparently not the same as the used ingame
Would be nice Lago if you would include in read me GFX Pointer addresses for Portraits in each game.
Hi. 2 months ago I edited the sprites of the Imp soul and added some hitboxes to it on DarkFunction. But only now when I use the soul the game freezes. I looked up on Dsvania and this happened:
(https://i.imgur.com/Ol177y0.png)
How do I fix this?
So immediately after you added the hitboxes, it worked fine, but at some point later on it broke randomly? Strange.
The error only tells me that one of the Imp soul's animations got corrupted. I have no clue how that could have happened.
I recommend going through your backups of your project and finding the last backup where the Imp soul worked and the first one where it didn't. If you can tell me what you changed in between those 2 backups, I might be able to guess as to the cause of the issue.
As for how to fix it, revert to the last backup of your project where it was working.
Thanks for taking the time to reply Lago, well the reason I was doing it that way was because the tilesets always got messed up for me when I was working with a newly created room. It would use the wrong tileset, then id have to manually punch in all the pointers for the right ones and they'd mess up somehow. Doing it that way got me the tileset I wanted to use. This was all probably due to me doing something wrong lol.
Overall the map editor has been working great but weird things do happen. After editing a few areas in wizardry lab today for example another area of the castle now has a white background when viewed in dsvedit, when in my backup right before the edits it was fine. (still works and looks normal in game) when I click this area of the map this happens
(https://snipboard.io/BDHCKi.jpg)
Once I made a room as an imported copy of another room and everything was perfect, I did it the exact same way a different day and for some reason the layers were in the wrong order, just odd things. I just wanted to be sure I was doing things the way you intended is all.
What about character's stats per level?
Like HP and MP per level?
G'day, I've been having this issue when I try to patch a ROM with any of the .asm files that come with the editor, I have Visual C++ 2015 Redistributable (x86) 14.0.23026 installed.
Any ideas on how to fix this? :-\
(https://i.imgur.com/ShoZLWA.png)
No, just ASCII.
Did you add a new overlay to your project before attempting to apply that patch?
The patch in question is hitting an error when trying to open overlay 41. Vanilla DoS only has overlays 0-40, and 41 is the one that DSVEdit will add if you tell it to, but if you haven't told it to the file won't exist.
(Note that this only applies to a few patches that use overlay 41. Most patches don't use it, and those ones should be usable even if you haven't clicked "Add Overlay" yet.)
I haven't added any new overlays to the ROM I'm trying to patch, I've tested it with both a clean DoS ROM and one that had an overlay added and it gave me the same error on both occasions.
Edit: actually, the vanilla ROM was searching for a "d20201124-20484-1qfkqow" file, and the modified one was searching for a "d20201124-4380-1pb458h" file.
The only way I can reproduce the error you get is by not adding the overlay. Otherwise the patch applies successfully for me. You must not be adding the overlay correctly somehow.
By the way, do you know the pointers for the Final Guard's bestiary portrait in DoS?
Hey Lago, I noticed that in DoS there isn't a counter for the Map tiles in the map editor like there is for OoE and PoR. Is there a limit to how many rooms I can add?
also regarding the strange behavior with the maps I mentioned before...I still struggle to create them from scratch in dos. Most blank rooms don't come with a usable or workable tileset atleast in the Abyss anyways, collision too. When I do manage to get a blank room with some tiles the collision doesn't work and I fall through the floor. Manually punching in these pointers helps sometimes but I still get really odd behavior. An example of a blank rooms tileset in the abyss (https://i.imgur.com/CzIRxHN.png)
Regarding the bestiary portraits and there palettes in DoS, would u happen to have the pointers for these documented somewhere? I did dig around and found most of just there locations but no palettes.
Also I absolutely adore the new menu editor really awesome stuff, will you be adding more menus to it soon?
Hi, Lago. In the lastest version when we try to change the tileset this happens
(https://i.imgur.com/C7vemHp.png)
But there are minor things id like to report to you, like how Z-order changes upon export or reimport of players/monsters and makes hit/hurt boxes swap, I always go through and manually readjust them after editing a player character darkfunction (or monster) because my kick sprites always mess up.
The actual text in the weapon synthesis menu id like to have the option to change, maybe I am just missing its location somewhere?
(https://snipboard.io/oDiydg.jpg)
I recently remapped the Abyss and have a slight issue in a few rooms where my background layers either go black or go green
Here is the abyss now: (https://snipboard.io/WkmfPr.jpg) (is there a palette somewhere in dsv for the top screen map btw?)
Its a big edit so I assume I probably ran out of freespace or something lol...here is an example of a bugged room
(https://snipboard.io/FqLbhE.jpg)
Layer 2 is completely black, but its 100% properly edited in tiled.
EDIT: Fixed this by moving the edits that are usually in layer 2 to layer 1 and clearing layer 2 along with the object that gives a visual effect to layer 1.
This started happening in one room in the lost village (only 1 that I know of so far in the whole castle) after my abyss edits.
(https://snipboard.io/78HB4r.jpg)
Bottom half of the menu turns black in the room thats full of wargs.
I made an item and gave it the flag to resist curses BUT for some reason when I go to an enemy who curses I still get cursed. Is the curse resistance flag only working for the actual damage of the attack or something?
EDIT: Ok one last one, the bestiary sprites have a chance to crash dsv both in por and dos. It happens randomly when I swap between enemy sprites and Bestiary sprites too quickly. I know its not specifically my rom because it happens in POR as well. The console spews out like a bunch of stuff right before the crash.
ok, I know that COTM rando was discussed a lot, and its under a different engine, blah blah blah. But lets assume for a minute that there is a table of items. given a 1 byte hex, 00-FF, I doubt there is more than 256 unique items in the game. It would seam to me that a rando could be created that would just swap those table values around. If you know the locations of stuff. Of course as far as generating logic, like needing the wall kick upgrade to be able to reach certain areas, or double jump to reach certain others. You would have to know the corresponding memory addresses of where each item is located. I do not know how to do that. I don't know anything about TASing, I would think that would need to be known to add any kind of logic, where if memory address X is available to reach from the begining to get Item Y, then Item Y would allow access to location Z. Can not something like that work here?
Hello, I've been trying to modify the map tile color palette with the .asm patch for Dawn of Sorrow, everytime I do this it ends up doing nothing, I don't know what I'm doing wrong, but the only time I've seen it work is when DSVRandom applies it.
Also, is there a way to modify the Chaos Ring's MP restoration speed and the color of the blood particles?
Cheers!
It works fine for me. I gave a piece of armor resistance to curses and it both decreased the damage I take from Killer Dolls *and* stopped me from getting cursed.
Seems that the sprites of AoS's guardian souls doesn't appear on dsvania