News:

11 March 2016 - Forum Rules

Main Menu

Super Castlevania 4 Maker

Started by bogaabogaa, May 17, 2017, 07:36:24 AM

Previous topic - Next topic

Aaendi

If you know where the code is for bone breaking skeletons, you can post the code and we can speed it up.

bogaabogaa

#21
I did point to where the code is located in my document "Enemy Notes HealthDamagTable" (First entry after the health table)
I have a new link for the documents since I try to organize them better now. They are still a bloody mess but this one document is useful

Here: https://drive.google.com/drive/folders/1EgQgrQK0g_LfoBFRGK16h0y2r99J52Wv?usp=sharing
(There is also a lessbone patch that will reduce bone-spanning when killing a skeleton to reduce lag. Same link in the subfolder zPatches)


The enemy patches get frequently updated so you can use the patch to get different enemies in a level
Here: https://drive.google.com/drive/folders/1u3wj_d0AmT8lPjotmGrfy_znsLZtdjLC?usp=sharing

General Fix patches that fix mistakes like. Overwriting code while posting graphics, Double property fix or entrance trouble with the old editor.
Here: https://drive.google.com/drive/folders/1r0-OIxp7YfYLDGQ1D6bQ0wIeh7hxwXAh?usp=sharing


If you write some documents by yourself I am glad when you post them here. Also sorry for the late replay. Did miss it somehow   :)
CV ROM DiscordServer
https://discord.gg/PvFgxRg

bogaabogaa

#22
A forum thread is not a good way to organize hacking resources. I have a discord and work on a wiki.

CV ROM DiscordServer
https://discord.gg/PvFgxRg

bogaabogaa

I get questions in PMs that just fit this forum post. Sometimes I just link to resources but sometimes it is unique like this.

Quote from: Chicken Knife on February 20, 2021, 10:41:52 AM
Hello! I wanted to reach out and ask you a question about Castlevania IV since I know you've done several hacks and probably have a pretty strong grasp on many technical aspects of the game.

I started toying with the idea of doing a very small CV4 hack this morning as I was playing the game. I always lament the fact that you generally always get your fist whip upgrade after hitting the very first candle in each stage. Essentially the leather whip gets zero play time. And even the upgrade to the full length morningstar happens a little early for my liking. I read somewhere in the past that the game has either a candle counter or a heart counter of some kind that keeps a tally and then I imagine the code does comparison to a requisite number for each upgrade and voila, it gives you the upgrade. I can't really find much online about those mechanics now.

I was playing around with debugging tools a bit (I'm not the best debugger and my work is almost exclusively with NES games) and so far I haven't been able to crack the code on this.

I thought I'd message you on the off chance that you've already documented exactly how this works and what I'd need to change in order to delay the whip upgrades. No big deal whatsoever if you're not aware. I can always avoid candles. Haha.

Quote from: bogaabogaa on February 23, 2021, 04:17:34 AM
I think you should ask question like this in the forum so others might benefit or get a idea what it is about. The heart count is in RAM $0013f2 when you put a breakpoint on it there is a routine that does read it to update the HUD. When you hit a candle you get a different hit.


If you are not familiar with the ROM mapping just use lunar address to translate it into a PC file offset.



Quote from: bogaabogaa on February 23, 2021, 04:47:00 AM
I forgot to mention that this could be archived with cheat codes like.
game genie codes F934-4D0D and F934-446D to have them drop with 15 and 30 hearts.

This will not cut it as a small hack and it would probably be smart to replace the mechanic with some other code based on RNG or enemies killed.
I also have a discord for questions like this.
CV ROM DiscordServer
https://discord.gg/PvFgxRg

pianohombre

Hi,
I helped work on MMXed that Redguy and another person worked on that eventually released the source code. I still haven't figured out how to display the enemy sprites in Megaman & Bass for that game, but it looks like he used a lot of the old code for MMXed for this game so I might be able to work with this editor. I'll try taking a look at the source code or some of the files. Looks like Redguy abandoned the project. It's too bad there's no official editor for this game available for download here.
"Programming in itself is beauty,
whether or not the operating system actually functions." - Steve Wozniak

bogaabogaa

#25
Quote from: pianohombre on March 13, 2021, 07:42:24 PM
It's too bad there's no official editor for this game available for download here.

Official editor source code.
https://www.dropbox.com/s/x328b005vt1fhli/SC4Ed-master.zip?dl=0

Official editor binary.
https://www.dropbox.com/s/0h1v2h37huaoept/SCV4edBIN.zip?dl=0

Sorry for the late respond.
I posted the binary in the first post here. There is a newer version of the editor with a view more things added by Curien. May be he will post on git when he makes more progress. I paste current binary build here.

I posted the source code on Redguy official RHDN blog post linked also in the first post here. The source is how Redguy did leave the project.

Also your PM is full @pianohombre so I post the letter here:
I did not log into RHDN for a while and missed your post. Just let you know that you can talk about MMXed on that forum thread too. I posted links to the source code of SC4ed. The editor does also have basic support for Contra 3 and Gradius 3 but I think the MMX stuff got removed since I can't open that ROM with SC4ed  :-\

The MMXed does use the same code base but there been a lot of quality changes. Like picking blocks in the scene editor instead of rotating them with arrow keys. Just basic event support would be great. Sure SC4ed does read the sprite from the ROM but you can't edit them within the editor and not sure if this should be a goal.

I hope you will find useful things in the source and GL with your projects.
CV ROM DiscordServer
https://discord.gg/PvFgxRg

pianohombre

Hi, bogaabogaa, thanks for all your help on the project. I had already saved the source code, but now I'll have the binary too! I haven't had a chance to compile the source code or look through it yet so I'll get back with you on any important notes after I take a look at it. C++ is much easier than hex and assembly so that's good. I'll also try freeing up some of my inbox. Apologies.
"Programming in itself is beauty,
whether or not the operating system actually functions." - Steve Wozniak

pianohombre

Hi,
I finally have had a small chance to look at this program. I'm working on debugging a couple other projects so I cannot devote all my time to this and I'm still a beginner hacker anyways. I went back and re-read the forum to get a better understanding of the editor. One thing to note is even though the editor supports Akumajou Dracula "Dracula X" I could not get the English or Japanese version of the rom to load.

You also mentioned that Curien has a updated version of the file/source code? Could you post a link? Could you also post a link to the wiki and your discord? thanks
"Programming in itself is beauty,
whether or not the operating system actually functions." - Steve Wozniak

bogaabogaa

#28
Hi, the sc4ed forum topic does not have much technical information and was more of a progress/release/testing thread. The editor does not support DracX. But you could add this lines as you see in the picture and it would load and crash after since you need to define other stuff too..



SC4ed does have support for.
- Super Castlevania IV //Region 0 in the source code
- AKUMAJO DRACULA (J) // Region 1 in the source code
- CONTRA3 THE ALIEN WARS
- GRADIUS 3

All the ROMs can be expandet and the editor does allow you to modify events. Only SC4 does have full tile editing support after expanding the ROM. Curien did add a music and the level proration table to be edited from the property editor. This are two tables where you can modify the bytes but beside from that there was no progress made. I shared the binary and also added missing DLL files very recently. He did not share the source.

- I never did the wiki page about hacking CV games. I am a beginner hacker too..
- Here is a link to my SC4 discord channel https://discord.gg/6GJD3dQXWC
CV ROM DiscordServer
https://discord.gg/PvFgxRg

pianohombre

What's interesting is he left the declaration for the variables in SC4Core.cpp the same as MMXCore.cpp but the editor is still able to load the graphics, even with the addresses the same as in MMXCore.cpp! Although after looking at some of the functions most of the code is commented out so it loads graphics (scenes, tiles, layout, background, etc.) differently than in the Mega Man X Editor.
"Programming in itself is beauty,
whether or not the operating system actually functions." - Steve Wozniak

bogaabogaa

This sounds great may be it would not be to much work to add MMX if you can figure out how the (scenes, tiles, layout, background, etc.) are handled. I started with some C++ tutorials but it will be a long way for me till I might figure out how things really work. I can code small things in 650816 but probably nothing that you could do better. I am glad you are making progress  :)
CV ROM DiscordServer
https://discord.gg/PvFgxRg

CurienTK

heyas pianohombre, glad to have another onboard with the editor, especially someone who worked on the original MMXed.

I'll work on getting the editor uploaded to github and sharing it that way.

Adding in fields to edit the music track and level event order was straight forward enough, but a lot of the code is uncommented and many values are hardcoded in.

I've stepped through the functions to get a sense of how and where it's loading in data from the ROM, but without a solid understanding of the ROM map, that's pretty tricky, too.

I've been pulled away from this project a lot this year, but I should have a bit more time coming up here soon to devote to it.

I'd love to have a fully featured editor. Maybe you, me, and bogaa can combine our powers and make some headway. :)

pianohombre

Hi, Curien glad to join in, especially since I'm stumped on how to fix bugs for a couple projects I'm working on.

After a bit of searching I was able to find another RAM map:
https://castlevaniaspeedruns.com/Cv4/RamRomMap
"Programming in itself is beauty,
whether or not the operating system actually functions." - Steve Wozniak

bogaabogaa

Quote from: pianohombre on December 03, 2021, 09:53:00 PM
..
After a bit of searching I was able to find another RAM map:
https://castlevaniaspeedruns.com/Cv4/RamRomMap

This Ram Map is what Redguy shared and I did put it up there. I feel it is not a appropriate place and the map is incomplete. I do have a full disassembly that is mostly undocumented of SC4. I had in mind to share it somewhere once I made some progress on it. I will not post that here since I think moderators will take the link down when you can assemble the game from it.

I usually copy code from it to document that while I do changes. I can use asar as a injection patcher to write and place code in the ROM. I can share it on discord if you feel it would be helpful to you..

Here some stuff I did:

https://i.imgur.com/gxvXmL5.mp4

https://i.imgur.com/UmvOFPH.mp4
CV ROM DiscordServer
https://discord.gg/PvFgxRg

pianohombre

Quote from: bogaabogaa on December 12, 2021, 02:50:48 AM
Here some stuff I did:

https://i.imgur.com/gxvXmL5.mp4
https://i.imgur.com/UmvOFPH.mp4

You just changed the sprite from Richter to the Knight Templar, or did you also change the tiles too? Did you change the character using SC4Ed? Thanks and great work!
"Programming in itself is beauty,
whether or not the operating system actually functions." - Steve Wozniak

bogaabogaa

Quote from: pianohombre on December 12, 2021, 12:28:40 PM
You just changed the sprite from Richter to the Knight Templar, or did you also change the tiles too? Did you change the character using SC4Ed? Thanks and great work!

SC4ed does expand the ROM and copy uncompressed graphic data to the expanded part. You can then edit the GFX with Tilemolester. I use that tool since I share the resources with all the GFX and Palette bookmarks.

- In the picture you see Simons sprite swaped but I have in mind to rework that and add a idle animation.
- The bonedragon in the picture uses custom ASM to replace the fire spite with a falling fire ball. Also the sprite assembly is redone.

sry for the late replay. I was not sure if I should share my changes in the code and data too since I feel you have interest in it. I had like to share everything once I documented everything properly.
CV ROM DiscordServer
https://discord.gg/PvFgxRg

pianohombre

That's cool I like the new character; and looks like a new boss too.
"Programming in itself is beauty,
whether or not the operating system actually functions." - Steve Wozniak