News: 11 March 2016 - Forum Rules, Mobile Version
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia

Author Topic: Capcom Games Editor (NES)  (Read 24417 times)

NiO

  • Jr. Member
  • **
  • Posts: 66
  • Let's bring order to chaos
    • View Profile
    • https://www.facebook.com/groups/retrogamersmx/
Re: Capcom Games Editor (NES)
« Reply #80 on: December 21, 2017, 02:58:41 am »
Awesome editor, nice video too!

spiiin

  • Jr. Member
  • **
  • Posts: 43
    • View Profile
Re: Capcom Games Editor (NES)
« Reply #81 on: December 27, 2017, 09:44:35 am »
https://www.youtube.com/watch?v=21xjfEBDkJM

I made gui for autocorrupter script, it might be very useful for finding level data for NES. Proccess is shown on video.

December 27, 2017, 09:44:55 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Awesome editor, nice video too!

Thank you.

ShadyRounds

  • Jr. Member
  • **
  • Posts: 33
  • Apathetic, yet Helpful.
    • View Profile
Re: Capcom Games Editor (NES)
« Reply #82 on: December 31, 2017, 03:27:14 am »
Wouldn't this also work for the Aladdin games? Same Capcom, same generation, likely same engine.
Apathetic, yet Helpful. :beer:
Project: Megaman Legends Remix

spiiin

  • Jr. Member
  • **
  • Posts: 43
    • View Profile
Re: Capcom Games Editor (NES)
« Reply #83 on: December 31, 2017, 05:21:21 am »
Capcom developed only snes & gba version of Aladdin, as I know. Nes version is pirate port, if you mean it, but it also can be added to CadEditor. I already check it and can try to add it, if you want.

ShadyRounds

  • Jr. Member
  • **
  • Posts: 33
  • Apathetic, yet Helpful.
    • View Profile
Re: Capcom Games Editor (NES)
« Reply #84 on: December 31, 2017, 03:19:38 pm »
No invested interest on my end. Was just curious. I thought they did all the ports to Aladdin.

They did do weird ports back in the day. I hear they ported the classic GTA in Japan. That means anything is possible so the question was valid.
Apathetic, yet Helpful. :beer:
Project: Megaman Legends Remix

8.bit.fan

  • Full Member
  • ***
  • Posts: 119
    • View Profile
    • 8-bit fan's Hacking Projects
Re: Capcom Games Editor (NES)
« Reply #85 on: January 02, 2018, 04:15:10 pm »
Nice update spiiin! :)
I'm working on a Shadow of the Ninja hack right now and your hack might once again come in handy. ;)

Btw, remember I previously asked you about adding games from FDS? Will there be a possibility?

Thanks again! :thumbsup:

8-bit fan :beer:
In the year of 200X, a super robot named Mega Man...

ExL

  • Jr. Member
  • **
  • Posts: 20
    • View Profile
Re: Capcom Games Editor (NES)
« Reply #86 on: April 18, 2018, 07:05:13 am »
There wasn't any update posted here since 4.6, but actual version is already 5.0! :o
RELEASE v5.0
https://github.com/spiiin/CadEditor/releases/tag/v5.0
  • Improved config opening windows;
  • In layout editor part of parameters moved to configs;
  • Map editor plugin:
    • Support for maps with 2 screens width;
    • Blocks rendering fixes;
  • Scripts:
    • Saving screenshot in file;
    • Export of 2x2 blocks in aligned massive format into file;
    • Export of current screen in binary file;
    • Saving of unused map blocks in image form for studying;
    • Script for exporting all CHR-banks of config in form of images;
  • Fixes for configs:
    • Gun smoke (added dumps of mirrored memory);
    • Chip & Dale, Tale Spin, Darkwing Duck (layout editors, new maps and cut-scenes in map editor);
  • Configs for every level (blocks/screens):
    • Shadow of the Ninja;
    • Ninja Crusaders;
    • Yo-Noid;
    • Robocop 2;
    • Jackal;
    • Low G Man;
    • Darkman;
    • Ghosts and Goblins;
    • Crystal Mines;
    • Zen Intergalactic Ninja;
    • Circus Caper;
    • Ninja Gaiden;
    • Ninja Gaiden 2;
    • Ninja Gaiden 3;
    • Final Mission;
    Unlicened games by Hammerteam:
    • Aladdin;
    • Donkey Kong 4;
    • Earth Worm Jim 3;
    • Super Mario World;
    • Titenic;
    • Harry's Legend;
    • Final Fight 3;
    • Sonic the Hedgehog;
    • Tiny Toon 6;
  • Configs of blocks/screens (1 level):
    • Tiny Toon 2 (separate configs for upper and lower level parts);
    • Toxic Crusaders (limited palette editor);
    • Mission Complete (many separate rooms).

"Almost all configs made by lancuster (you can even ask him to add other NES games).

Games statistics:
[NES]
12 games - screens, blocks and objects editors, all levels;
57 games - screens and blocks editors, no object editors, all levels;
20 games - screens and blocks editors, no object editors, 1 level for each;
13 games - screens editors by images, blocks format isn't parsed.
[SEGA]
10 games - screens and blocks editors;
5 games - screens editors by images.
[GBA]
1 game - screens editors by images, all levels.
In total
1172 configs for for 118 games.

Also an example of editing Chip & Dale to insert boss-robot in game:
https://www.youtube.com/watch?v=VwoaJnceBYc "

PolishedTurd

  • Jr. Member
  • **
  • Posts: 98
    • View Profile
Re: Capcom Games Editor (NES)
« Reply #87 on: April 18, 2018, 09:20:18 am »
Fantastic! I love the look of this editor.

However, I am getting a null reference exception when I try to load any of the configs for NES Ninja Gaiden, and the editor just shows a big red X in the window. Looking at the source, I see many possible places in the method where a null reference could happen, so I can't tell where the problem is.
Code: [Select]
System.NullReferenceException: Object reference not set to an instance of an object.
   at CadEditor.FormMain.setBlocks(Boolean needRebuildBlocks)
   at CadEditor.FormMain.reloadLevel(Boolean reloadScreens, Boolean rebuildBlocks)
   at CadEditor.FormMain.changeLevelIndex(Boolean reloadBlocks)
   at CadEditor.FormMain.resetControls()
   at CadEditor.FormMain.openFile()
   at CadEditor.FormMain.Form1_Load(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnLoad(EventArgs e)

I presume your or lancuster must have avoided this exception somehow, in order to develop all of the settings files. Might I be doing something wrong? Or is there something in the configs I can change to fix this?

Thank you for your hard work on the editor!

spiiin

  • Jr. Member
  • **
  • Posts: 43
    • View Profile
Re: Capcom Games Editor (NES)
« Reply #88 on: April 18, 2018, 09:29:17 am »

Did you select correct settings file and rom file to open it?

- If so, please check if you have all dlls files from zip archive extracted with the editor.
- Also, check if your system not prevents blocking dlls, loaded from the internet (editor load plugins dynamic - some games do not need it all). Explanation how to do this:
https://blogs.msdn.microsoft.com/delay/p/unblockingdownloadedfile/
- If anything not helps, please send me in pm description of your pc - windows version and .net framework installed.
« Last Edit: April 18, 2018, 09:37:34 am by spiiin »

PolishedTurd

  • Jr. Member
  • **
  • Posts: 98
    • View Profile
Re: Capcom Games Editor (NES)
« Reply #89 on: April 18, 2018, 10:27:19 am »
Unblocking the downloaded file worked! Thank you very much!

Now I just need to figure out how to edit the settings for displaying and editing items and enemies. In Ninja Gaiden, the X and Y coordinates are stored in separate parts of memory, and you have to index into the locations based on the level and enemy/item count. The enemies also have an additional coordinate to determine when they spawn, based on the player's X coordinate. And some bosses are positioned by code, not data, but there are only a handful of them.

Can the editor be extended to handle all of this through the settings?

spiiin

  • Jr. Member
  • **
  • Posts: 43
    • View Profile
Re: Capcom Games Editor (NES)
« Reply #90 on: April 18, 2018, 11:12:49 am »
Unblocking the downloaded file worked! Thank you very much!

Now I just need to figure out how to edit the settings for displaying and editing items and enemies. In Ninja Gaiden, the X and Y coordinates are stored in separate parts of memory, and you have to index into the locations based on the level and enemy/item count. The enemies also have an additional coordinate to determine when they spawn, based on the player's X coordinate. And some bosses are positioned by code, not data, but there are only a handful of them.

Can the editor be extended to handle all of this through the settings?

Yes, if you very familiar with C#, you can try to extend config for enable object editor yourself. But it's not easy - there are several things must be defined in config - get/setObjectFunction redefined for reading/writing enemy's data from to editor structures, isEnemyEditorEnabled change to enabled enemy editor plugin, and define functions get/setLayoutFunc - this is rectangle with screen indexes, that will define "shape" of all level.

Looks like object format similar to Flintstones: Rescue Dino and Hoppy. Example of redefing all this functions can be found in config for level Shatterhand, level 1 (and ShatterhandUtils.cs file).

https://github.com/spiiin/CadEditor/tree/master/CadEditor/settings_shatterhand

8.bit.fan

  • Full Member
  • ***
  • Posts: 119
    • View Profile
    • 8-bit fan's Hacking Projects
Re: Capcom Games Editor (NES)
« Reply #91 on: April 18, 2018, 02:30:13 pm »
Thanks again for the update of one of the most amazing level editors! :)
"Almost all configs made by lancuster (you can even ask him to add other NES games).
You mentioned here that we could contact lancuster if we want an NES game added to the editor. How would I do that? Should I PM him on this site?

Thanks!! :) :beer:
In the year of 200X, a super robot named Mega Man...

ExL

  • Jr. Member
  • **
  • Posts: 20
    • View Profile
Re: Capcom Games Editor (NES)
« Reply #92 on: April 18, 2018, 11:14:58 pm »
Yeah, lancuster in that quote is very same eager guy you may find here on forum. Sure, try PM'ing him, probably that'll end up with addition of new config to CadEditor ;)

8.bit.fan

  • Full Member
  • ***
  • Posts: 119
    • View Profile
    • 8-bit fan's Hacking Projects
Re: Capcom Games Editor (NES)
« Reply #93 on: April 19, 2018, 12:34:23 am »
Yeah, lancuster in that quote is very same eager guy you may find here on forum. Sure, try PM'ing him, probably that'll end up with addition of new config to CadEditor ;)
Awesome thanks so much!! :)
Will contact him now!

Cheers!!  :beer:
In the year of 200X, a super robot named Mega Man...

pianohombre

  • Sr. Member
  • ****
  • Posts: 257
    • View Profile
    • My personal website of short stories and comics
Re: Capcom Games Editor (NES)
« Reply #94 on: April 20, 2018, 12:44:40 am »
This program looks pretty amazing. I saw that there was support added for Sega Genesis. Could it be possible to include a few SNES games as well? I'm curious how do you find the pointers for the level layout, where level begins/ends to load those graphics to edit?
"Programming in itself is beauty,
whether or not the operating system actually functions." - Linus Torvalds

spiiin

  • Jr. Member
  • **
  • Posts: 43
    • View Profile
Re: Capcom Games Editor (NES)
« Reply #95 on: April 20, 2018, 02:59:54 am »
This program looks pretty amazing. I saw that there was support added for Sega Genesis. Could it be possible to include a few SNES games as well?

It's possible, but SNES/SMD games often keep level packed in ROM and unpack into RAM before the level will load. I made dumps for levels and editor works with it, but after that users need to use a packer (if it exists at all, there is a separate task to make it). I made a plugin for compress and insert archive with level back into ROM for Contra Hard Corps, but for other games, user need to do it manual (most of supported sega games used RNC packer, that was ported to win32 by lab313 - https://www.romhacking.net/utilities/1310/). I don't know situations with available packers for SNES games at all.

Also, I need to create plugin to build snes tiles, there is not very hard.

I'm curious how do you find the pointers for the level layout, where level begins/ends to load those graphics to edit?
Simple way  - use code/data logger in right place - if start it before level loading, and finish when level loaded, it shows only data used in level. I have lua script, that helps me to analyze that data - https://www.youtube.com/watch?v=21xjfEBDkJM

Googie

  • Hero Member
  • *****
  • Posts: 693
  • eeee!
    • View Profile
    • My work in progress ROM Hacking site
Re: Capcom Games Editor (NES)
« Reply #96 on: April 20, 2018, 01:36:29 pm »
When my money comes up, I'm gonna throw some cash your way to help with this editor. Keep up the great work, this editor is great! :D
The ROM Hacking community's cartoonist...

pianohombre

  • Sr. Member
  • ****
  • Posts: 257
    • View Profile
    • My personal website of short stories and comics
Re: Capcom Games Editor (NES)
« Reply #97 on: April 20, 2018, 03:31:35 pm »
Simple way  - use code/data logger in right place - if start it before level loading, and finish when level loaded, it shows only data used in level. I have lua script, that helps me to analyze that data - https://www.youtube.com/watch?v=21xjfEBDkJM

That's a good idea. Sometimes the only way. It can load 100-200 lines of code even from very simple procedures, but since the code many times is not viewable this is the best way. I watched that youtube video, never seen code injected that way -interesting.
"Programming in itself is beauty,
whether or not the operating system actually functions." - Linus Torvalds

salvadorc17

  • Jr. Member
  • **
  • Posts: 76
    • View Profile
Re: Capcom Games Editor (NES)
« Reply #98 on: April 23, 2018, 09:17:17 pm »
Some more planned games from other consoles?

spiiin

  • Jr. Member
  • **
  • Posts: 43
    • View Profile
Re: Capcom Games Editor (NES)
« Reply #99 on: April 24, 2018, 06:21:25 am »
When my money comes up, I'm gonna throw some cash your way to help with this editor. Keep up the great work, this editor is great! :D

Thanks! I'm really glad that someone likes my work



April 24, 2018, 06:28:41 am - (Auto Merged - Double Posts are not allowed before 7 days.)
That's a good idea. Sometimes the only way. It can load 100-200 lines of code even from very simple procedures, but since the code many times is not viewable this is the best way. I watched that youtube video, never seen code injected that way -interesting.

I spent a lot of time to create new methods for finding data in ROM in a simple way, that reverse engineering code (mostly for NES).

For example, this script is for reading tiles from name tables and try to build all possible type of blocks with it and check, are those blocks can be found in ROM. All you need is just run level and start script (press 1,2,3 for change nametables and select fast or full search)
https://github.com/spiiin/CadEditor/tree/master/Stuff/nes_lua/lua_blockfinder

And this is script for control emulator via sockets from other languages:
https://www.youtube.com/watch?v=c3D5gljbkO0

Really, I think, then tools for romhackers must be more powerful, then exists now.
My English is bad, so I recording videos, when text is now very important :)



April 24, 2018, 06:34:32 am - (Auto Merged - Double Posts are not allowed before 7 days.)
Some more planned games from other consoles?

My main interest is NES because I already created tools for debugging. But maybe I'll just make the plugin for SNES, and try to port some configs with it. For example, I have a script for search data from already made configs in others ROM regional versions. I checked Ninja Gaiden for NES and Ninja Gaiden Trilogy for SNES and found, that some levels in similar (blocks and screens are identical).

Really, my project is community project. I am only only one programmer, but icons, sprites for objects, configs and some other things created by others users (with my help, sometimes).

Now I need several weeks for rest and finish onther projects, later I'll back to work on CadEditor.
« Last Edit: April 24, 2018, 06:34:32 am by spiiin »