Project Castlevania: Choir of Redemption (CV DoS & PoR portraits hack)

Started by ShadowOne333, August 06, 2016, 04:12:41 PM

Previous topic - Next topic

ShadowOne333


And a name for each one of the games separately, why not?

(Dawn of Dignity & Portrait of Elegace)

This project is finished!
You can check the releases for both Dawn of Dignity and Portrait of Elegance here:


Dawn of Dignity:
http://www.romhacking.net/hacks/3356/

Portrait of Elegance:
https://www.romhacking.net/hacks/4839/


Good day, RH Community!

I had this for a long time in my head, and I wanted to finally post it here.

So, this is the deal:

From almost all Castlevania titles, there have been a pair of entries that I always had a grudge against due to being really off in artstyle...
Those two being Dawn of Sorrow and Portrait of Ruin.
For some idiotic reason, Konami decided to ditch Ayami Kojima's gorgeous art design/style and instead use that ugly af anime "art".

Old post:
Old post

And here's a comparison of the portraits used in the final hack:


Right now the next on the list is Portrait of Ruin, it's in early stages of planning, but we already have all of the data and the base portraits to work with:
https://www.dropbox.com/s/ok26y9y2n1ibxl6/PoR%20Portraits.rar?dl=0

You can download that RAR, and inside you will find PNG files with the portraits for Portrait of Ruin already ready for editing!
Just remember to use an image editor which supports indexed palettes. The indexed palette number for most of the portraits is 256 colours, only two-three of them are 16 colours.

If any of you guys have any mockups or ideas, feel free to post them here!

Original post:
Original post

That was the main reason I never really enjoyed neither DoS nor PoR.
I mean, just try to compare this:


There's no comparison! And yeah, as you might have guessed, I despise the anime "artstyle", I find it overdone and really... REALLY overrated. Everytime I see those portraits in both games, I think to myself: "What the heck is this anime doing in my Castlevania?!"

Mini rant

NOTE: Please restrain yourself from shitposting about why you like anime or why I'm an asshole due to my opinion, I do not care nor will I reply to any post with those kind of comments.
Any post like that will be reported immediately to a mod. If you won't help with the project, don't derail it with that shit, I made this for the purpose of having the whole series (well, except Rondo of Blood, but that one already has it's Kojima art style in the remake for the PSP) with the Kojima art style as it should have been if it weren't for the stupid demograhics cattering to otakus.
[close]

So, with that said, that's why I decided to take it upon myself to give these two games the art style they deserve, and how they should have been back in the day.
I decided to ditch that horrible and overrated anime style and instead try to implement Kojima-like artstyle for the character portraits, giving both games the redemption that they both deserve.

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

Let's get straight to the point, here's what I have so far:

I have found the starting offset for BOTH ROMs in which the character portraits start appearing.

Here's the portraits as I found them with Tile Molester using 8bpp Linear (using TM 0.19):

Dawn of Sorrow, starting point for the portraits located at 0x011D6000


Portrait of Ruin, starting point for the portraits located at 0x01BF2000


It's worth noting that all the portraits are all next to each other in the ROM's data, so that's a huge relief.

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

All of this is a huge task for such a humble hacker, so I want to push the community to try to help with this project.
Now here's what I need help with:


  • I need a recommendation.
    I know DS ROMs can be extracted.

    I already extracted Dawn of Sorrow's files, but it seems like all the sprites and backgrounds (palettes too apparently) are inside .DAT files, and I do not know how to view those DAT files so that I can simply export the portraits themselves and edit them as mere images, that would save me the issue of getting the palette too. Portrait of Ruin might have the same DAT files for almost everything.


  • I need to find fanart of any kind that closely resembles the Kojima style for the characters.
    Dawn of Sorrow might be the easiest, since we already have Aria of Sorrow's character portraits, we could port those with a higher resolution if available.

    Dawn of Sorrow's portraits:


    Portrait of Ruin's portraits (excuse the redundancy):

    NOTE: Portrait of Ruin has additional Ending portraits too.

    Don't hesitate to post any fan art for a Castlevania character related to DoS or PoR that closely resembles the Kojima style!
    For example, here you have a mockup I did some years ago of Dracula Soma:


    Here are a few others that have been posted in the thread I mentioned at the start of this post:



    Some of the art released for Harmony of Despair will be of great help for this project! :)


  • The last thing I wanted to get help with, it's in case extracting, viewing and editing the DAT files for the portraits directly from the ROM is not possible.
    If we cannot get the DAT files to be viewable/editable, I will have to modify the portraits via Tile Molester.
    The images I posted previously along with the portrait's offsets are the ones with the palette provided by Tile Molester, so I need to find a way to use some sort of save state from Desmume or NO$GBA and import it into Tile Molester, that way we could go through the palettes of the save state until we reach the one we want for a specific character.

    Anyone knows how to import palettes into Tile Molester by using a save state from No$GBA or Desmume (or any other DS emu)?

So, that's what I have so far!
If you have any constructive criticism or want to contribute to the project, please do so!
Any help would be greatly appreciated!
[close]
[close]

ArkthePieKing

Wowzer. Well, uh, I don't think you're an asshole for not liking anime, but maybe be less...aggressive about it? I mean I prefer the old artstyle as well. The anime-esque games never really looked right to me either but there's not really any need to get defensive about it like that. Anyway I'll be watching this one with bated breath because it really is an awesome undertaking but you might want to consider taking down the fire and brimstone threats of reports and such. It's really offputting.

DarkSamus993

I only looked at Dawn of Sorrow so far, but here's what I've found:

1) The correct TM settings for the portraits is actually 4bpp linear, reverse-order (2-dimensional).
            - rom location = 0x11D6000
            - extracted file = sc > ???
2) Palettes can be seen by setting TM to 15bpp BGR (2-dimensional).
            - rom location = 0x1E6A08
            - extracted file = ftc > overlay9_4 - overlay9_22
3) Once a palette is located, you can use TM's palette import feature (select import from this file) and enter the address. Example:
            - rom location = 0x1F35D4 (palette)
            - extracted file = ftc > overlay9_4 (palette)
            -

JohannGralog

Hello,

I never managed to find a speedy workflow and changing the palettes by hand was too time consuming. I actually did finish most of the sprites, iirc.

I uploaded a zip file containing all the artwork here: http://www.mediafire.com/download/x6uynikcvcv4caj/Castlevania.zip (the sprites are the xcf files, for use in Gimp)

The characters who weren't in AoS have been cobbled together. The colours are the ones of the existing DOS portraits, so if you find a way to properly import and export sprites you might be able to use more fitting colors. Different expressions for the faces are also absent.

DarkSamus993

I did a bit more work today and located the palettes for all the portraits:

----------------------------------------
CASTLEVANIA - DAWN OF SORROW (USA)
----------------------------------------

PALETTES:
0x1F33DC = Soma Cruz #1
0x1F3400 = Soma Cruz #2
0x1F3424 = Soma Cruz #3
0x1F3448 = Mina Hakuba #1
0x1F346C = Mina Hakuba #2
0x1F3490 = Mina Hakuba #3
0x1F34B4 = Mina Hakuba #4
0x1F34D8 = Genya Arikado #1
0x1F34FC = Alucard
0x1F3520 = Genya Arikado #2
0x1F3544 = Julius Belmont #1
0x1F3568 = Julius Belmont #2
0x1F358C = Yoko Belnades
0x1F35B0 = Hammer
0x1F35D4 = Celia Fortner
0x1F35F8 = Dario Bossi
0x1F361C = Dmitrii Blinov #1
0x1F3640 = Dmitrii Blinov #2

PORTRAITS:
0x11D6000 = Genya Arikado
0x11D9E00 = Alucard
0x11E4000 = Dario Bossi
0x11EBE00 = Dmitrii Blinov
0x11FFE00 = Hammer
0x120A000 = Julius Belmont
0x1222000 = Mina Hakuba
0x1232000 = Celia Fortner
0x123A000 = Soma Cruz
0x124E000 = Yoko Belnades


----------------------------------------
CASTLEVANIA - PORTRAIT OF RUIN (USA)
----------------------------------------
PALETTES:
0x275E50 = All Credit Portraits (8bpp)
0x276E04 = All (8bpp)
0x2770B4 = Jonathan Morris (4bpp)
0x2770D8 = Charlotte Aulin (4bpp)

PORTRAITS:
0x1B46200 = All Credit Portraits
0x1BF2000 = Brauner
0x1C0C000 = Charlotte Aulin (8bpp)
0x1C33A00 = Charlotte Aulin (4bpp)
0x1C3A000 = Death
0x1C3DC00 = Dracula
0x1C48000 = Wind
0x1C64000 = Jonathan Morris (8bpp)
0x1C8BA00 = Jonathan Morris (4bpp)
0x1C98000 = Loretta
0x1CE3C00 = Stella
0x1D0E000 = Vincent Dorin


TM Import Internal Palette Settings:
4bpp: Size = 016; Format = 15bpp BGR; Byte Order = Intel
8bpp: Size = 256; Format = 15bpp BGR; Byte Order = Intel

TM Viewing Settings:
GFX = 4bpp linear, reverse-order (2-dimensional)
GFX = 8bpp linear (2-dimensional)
PAL = 15 BGR (2-dimensional)

The graphics/palettes can be exported for use with external image editors if that will aide your workflow. :thumbsup: (Let me know if you need any help with that.)

Sephirous

Quote from: ShadowOne333 on August 06, 2016, 04:12:41 PM
Huge post removed

I can't agree more!
I never noticed that the two games switched to an entire different looking portrait.
Though it may have to do with....And I know this is usually a touchy subject but...The whole Kojima Recognition thing that happened within Konami?

My thoughts are, This is Castlevania! Not.....a Pokemon episode..... :o


Thirteen 1355

Great idea, Shadow!

Dawn of Sorrow+No Magic Seals Code+Old portrait style=Perfect Castlevania game.

The Seals and anime style were the only things that held that game back.
I don't care about Portrait of Ruin that much.

-Fassad the Fadass ;)

August 08, 2016, 07:43:57 AM - (Auto Merged - Double Posts are not allowed before 7 days.)

Sorry for the double post, but I had to tell this:
http://www.romhacking.net/forum/index.php/topic,18562.20.html
JohannGralog (the creator of the original sprite edited hack you mentioned) has replied on his own thread yesterday.

So this could be your chance to contact him.
Helicoptering about till I find some ROM hacking treasure.

JohannGralog

Quote from: Thirteen 1355 on August 07, 2016, 08:51:41 PM
Great idea, Shadow!

Dawn of Sorrow+No Magic Seals Code+Old portrait style=Perfect Castlevania game.

The Seals and anime style were the only things that held that game back.
I don't care about Portrait of Ruin that much.

-Fassad the Fadass ;)

August 08, 2016, 07:43:57 AM - (Auto Merged - Double Posts are not allowed before 7 days.)

Sorry for the double post, but I had to tell this:
http://www.romhacking.net/forum/index.php/topic,18562.20.html
JohannGralog (the creator of the original sprite edited hack you mentioned) has replied on his own thread yesterday.

So this could be your chance to contact him.
I already replied here too.

ShadowOne333

Woa @DarkSamus993!
You never seize to amaze me! xD

How the hell did you find that info?

Also, thank you @JohannGralog for posting back here and provide the work you had on Dawn of Sorrow!
It will be of great help!

I'll take a look at the info DarkSamus provided today and see what I can do to start the conversion process for a simple portrait test in DoS. Let's see how it goes.

Thirteen 1355

Guys, what do you think of  the Magic Seal system the game Dawn of Sorrow uses?
Helicoptering about till I find some ROM hacking treasure.

ShadowOne333

Quote from: Thirteen 1355 on August 08, 2016, 10:38:47 AM
Guys, what do you think of  the Magic Seal system the game Dawn of Sorrow uses?
I personally think it was nothing but a lame excuse to use the touch controls from the DS bottom screen.
If we could find a way to get rid of that so that the bosses get sealed automatically like in the Julius mode, that would be the best.

However, right now that deviates from the main focus of this hack, which is to modify the portraits of everything that uses the anime style for artwork, so it's most than likely that we won't be tackling that for this project.

August 08, 2016, 11:29:06 AM - (Auto Merged - Double Posts are not allowed before 7 days.)

Quote from: DarkSamus993 on August 07, 2016, 12:21:19 PM
The graphics/palettes can be exported for use with external image editors if that will aide your workflow. :thumbsup: (Let me know if you need any help with that.)
Question about this, DarkSamus.

I already managed to get the portraits looking nicely with the proper graphics and the proper palettes too for each one.
However, I cannot seem to find any option to export graphics at all, nor palettes in TM.
How would I go about exporting the graphics and palettes with Tile Molester?
I'm using this version of the software:
http://www.romhacking.net/utilities/991/

(Which also seems to be the only one that's compatible with the NDS ROMs.)

How can I do so?
Or do I need another version of TM?

DarkSamus993

Quote from: ShadowOne333 on August 08, 2016, 10:27:47 AM
Woa @DarkSamus993!
You never seize to amaze me! xD

How the hell did you find that info?

I used DeSmunME's palette viewer to get the RGB values (I just took a snapshot of it and got the values from an image editor). To locate the palettes in the rom I create a new file in TM and change the settings to 15 BGR, 2-dimensional (the same as how the game stores palettes). Simply draw (1 pixel each, in a horizontal row) 3-4 colors from the palette that needs to be located. Save and open it in a hex editor to get the hex values you need to search for.

Quote from: ShadowOne333 on August 08, 2016, 10:59:27 AM
I already managed to get the portraits looking nicely with the proper graphics and the proper palettes too for each one.
However, I cannot seem to find any option to export graphics at all, nor palettes in TM.
How would I go about exporting the graphics and palettes with Tile Molester?

Exporting graphics is easy, simply go to Edit > Copy To... and save as your prefered file type.

Exporting palettes on the other hand is a bit more complicated. To export palettes, you'll need another program. First, using a hex editor, copy the palette(s) you want to export to another file (4bpp=$20 bytes, 8bpp=$200 bytes) and save as palettes.bin or whatever. Now open this new file with Tinke and choose "open as palette". Now you can save them as a Windows palette file for use in other programs.

NOTE: Every $200 bytes will have to be saved as another palette file. You can put all your palettes in palettes.bin, but in Tinke you need to change the "start byte" to view/save the rest (increase by $200).

ShadowOne333

Thanks DarkSamus!

Here's what I have managed to do so far:
https://www.dropbox.com/s/bts7381gbfvgadm/DoS%20Portraits.rar?dl=0

Inside that .RAR file you will find all the portraits for Dawn of Sorrow.
I managed to export them all with their palette in Tile Molester as PNGs, and then I used an external image editor to give the image an indexed palette for editing purposes.

I also added an Alucard portrait mockup I did in like 3 mins.



The reason why I wanted to share those portraits is so that people can start making mockups of the portraits in the Kojima style. Doing it all by myself will take quite some time, so if any of you guys want to help to create Kojima-like mockup images, grab those PNG from the RAR and edit them using Paint.net, GIMP or Graphics Gale, then whenever you copy an image without an indexed palette into the portrait, the colours will all change to what the palette considers the closest to the available in the indexed palette.

If you guys need additional colours, modify the ones that already exist in the indexed palette and make sure to specify which colour you changed and to what other one you changed it to.
With the knowledge of where the palettes are exactly, it should be a rather easy task to modify them accordingly to whatever colour is needed, just remember to make notes and document every change in the palette any of you make.

Give it a try, guys!

Thirteen 1355

Helicoptering about till I find some ROM hacking treasure.

JohannGralog

Quote from: ShadowOne333 on August 08, 2016, 10:27:47 AM
Also, thank you @JohannGralog for posting back here and provide the work you had on Dawn of Sorrow!
It will be of great help!
Arikado and Hammer are probably the most usable from my zip file. They're the Aria of Sorrow portraits, but I drew more of their clothing based on their Kojima portraits. I did the same with the Mina sprite, but it didn't convert well to the anime palette at all and it lost a lot of detail.

Julius and Alucard are passable, but could really use some touch-ups. I like the portrait you use for your Alucard better, but I think it would convert better if you used the anime palette's golden-yellow for his cape. That and a few touch-ups to the edges of his hair, and he's probably ready to be imported.

Another issue is of course how to show the different emotions on these portraits.

MathUser2929

Honestly, you don't need reaction portraits. Cv did fine without them before

ShadowOne333

Quote from: JohannGralog on August 09, 2016, 06:51:29 AM
Arikado and Hammer are probably the most usable from my zip file. They're the Aria of Sorrow portraits, but I drew more of their clothing based on their Kojima portraits. I did the same with the Mina sprite, but it didn't convert well to the anime palette at all and it lost a lot of detail.

Julius and Alucard are passable, but could really use some touch-ups. I like the portrait you use for your Alucard better, but I think it would convert better if you used the anime palette's golden-yellow for his cape. That and a few touch-ups to the edges of his hair, and he's probably ready to be imported.

Another issue is of course how to show the different emotions on these portraits.
How's this for a touch-up?



As for the emotions in the portraits, as long as we have the base portraits, we could work our way around with the eyes/mouth expressions. Someone a little skilled with an image editor could make it work.

Something like Dmitrii's lifted eyebrow's and eyes could very well be done as well as there's a base portrait.
Same for Mina's

justin3009

Portrait base for Alucard there looks good.  The only real outstanding issue is that it clearly looks like a color reduced image and not an actual proper portrait.  It'd need some pixel cleaning up and such to make it look more proper.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

Thirteen 1355

Helicoptering about till I find some ROM hacking treasure.

JohannGralog

Quote from: ShadowOne333 on August 09, 2016, 11:32:46 AM
How's this for a touch-up?



As for the emotions in the portraits, as long as we have the base portraits, we could work our way around with the eyes/mouth expressions. Someone a little skilled with an image editor could make it work.

Something like Dmitrii's lifted eyebrow's and eyes could very well be done as well as there's a base portrait.
Same for Mina's
I've given your new file a few touch-ups of my own. Mostly on the face, cape and a bit on the hair.



I've been trying to get some of it closer to the source drawing, while also making the shading of the yellow bits fit better in the pixel art.