(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-06-24 12:58 PM
0 users currently in ROM Hacking.
Acmlm's Board - I3 Archive - ROM Hacking - Call to make a new, LM-like SMW editor New poll | |
Pages: 1 2 3Add to favorites | Next newer thread | Next older thread
User Post
FreeDOS +

Giant Red Koopa
Legion: freedos = fritos








Since: 11-17-05
From: Seattle

Last post: 6286 days
Last view: 6286 days
Posted on 11-23-05 01:21 AM Link | Quote
Okay first off, I'm sorry if this isn't the appropriate board to put this in. Even though it's meant to make an easy-editing program, making it would actually require a lot of hex editing/ASM stuff, and other things, and I think this board is more appropriate for developement.
Also, if SMW Dev Environment has the same goal of being an easy-editing tool for a portion, well I guess I'd move over to there. From what I see, it's meant for people who want to do low-level stuff with the game, and not click-and-drag editing.

Now I'm also not experienced in C at all, I'm somewhat just a guy with a dream of a program (this isn't that unusual anyway, look at the beginnings of FreeDOS or KDE, they started off with people who wanted something done, but at the time didn't know anything about programming). The reasons for this program overall pretty much mirror my complains of Lunar Magic seen in the basic SMW hacking thread I posted. So given the fact that FuSoYa may never release the source, it'd be best to start off a whole new project to do so. (Oh yeah, Fu uses Borland C++, so he might not use portable code; plus from screenshots it looks like he keeps it all in one _very_ large file )

I have registered the project to Savannah with the system name of "smw-edit". I entered the initial software name of "Super Free Hacker", but it can be changed later on (it's probably not the best name, that can be discussed later).

So here's what I've thought of so far:
- It will be GPL v2-licensed. This ensures that everyone who gets a copy can use it (any purpose), study it, modify it, and redistribute it (unmodified or modified)
- It will (probably) be a library. I thought hard about the user-interface, and compatibility between MS-Windows (what most people will be using) and *nix is hard to fullfil. So instead of making it primarily a GUI app, I thought a library is a good idea so other GUIs can be created without modifying the actual software (unless it really needs area of improvement, of course). For example, someone can maintain a Win32 GUI, another a GTK GUI, a Qt GUI, etc.

Also, I've been debating with myself and HyperHacker on the best way to find out how to hack SMW in the first place. This is somewhat where your knowlege comes in. There's the idea of doing it completely from scratch, which may be a long process to do. There's also the thought of editing stuff in Lunar Magic and comparing it with the original game.
Now with the (majority) audience that will be reading this post, hopefully I won't need to state the rather obvious advantages and disadvantages of doing it from scratch, so here's what I thought about comparing LM stuff:
+ LM knows how to do things, maybe less work for me and others
- Lunar Magic by default expands ROMs to 1MB in size. Now it might be possible to compare a ROM expanded with Lunar Expand, but who's guarenteeing that LM and LE use the same expansion scheme?
- Lunar Magic injects custom ASM. While this probably helps out editing SMW, it puts a blocker on using LM as a base on how to hack SMW, since you'll have to weed out Fu's custom ASM to raw SMW code. (It's very likely the free editor will need to have custom ASM to fix SMW limits, so I'm not critising what Fu is doing)

So who really wants to see this done, who will want to help out with this? This is by no means a small project, but one that I feel needs to be done.
HabsoluteFate

Red Goomba


 





Since: 11-19-05

Last post: 6524 days
Last view: 6524 days
Posted on 11-23-05 01:29 AM Link | Quote
Although there is more advanced stuff in SMW Dev Environment I'm planning a lot more later on and more graphical stuff..that's why i converted everything from DOS to a GUI for the next release...
The idea is that there will be more easy to use features available for beginners and for those that want to get deeper into the stuff there is also functionality for the more advanced users...


I would personally prefer having more people in on my project to help move things along but hey i guess competition cant be a bad thing although in my case i doubt i would end up spending more time than i'm already spending on it...i do fun things other than programming in life Or i like to think i do anyways
Smallhacker

Super Koopa
I AM A Group Of Officially Frustrated Younglings, G.O.O.F.Y. MEMBER








Since: 11-17-05
From: Söderhamn, Sweden

Last post: 6288 days
Last view: 6286 days
Skype
Posted on 11-23-05 02:06 AM Link | Quote
Rewriting the most advanced ROM editor ever? HAHAHAno.
/firstthought>

Seriously... Here's what you have to do:

1) Figure out how SMW's level format works
2) Find the compressed graphics
3) Figure out how the overworld format works
4) Figure out how Fu's ASM hacks works.
5) Find lots of tables read by Lunar Magic
6) (Enter really hard to do stuff here)
7) Program the darn thing! Heck, it took five years for Fu to get to 1.63.

Sounds impossible. Therefore, I might help. Although I started learning C++ a few months ago, I quickly jumped from DOS to GUI (which should normally take about a year) thanks to my experience in a similar programming language.
spel werdz rite









Since: 11-19-05

Last post: 6287 days
Last view: 6286 days
Posted on 11-23-05 02:25 AM Link | Quote
Just to let you know, level data starts around 30ADD (Level 105). You can use Lunar Magic's "Open Level Address" feature to figure out where level data is, as for the enemy data, I think it's around 60800ish...
FreeDOS +

Giant Red Koopa
Legion: freedos = fritos








Since: 11-17-05
From: Seattle

Last post: 6286 days
Last view: 6286 days
Posted on 11-23-05 11:15 AM Link | Quote
There seems to be confusing of what I meant by keeping the actual editing code in a library. A library would be it will communicate to applications that want to use it (and the programs can tell the library what the user wants to do, respond, etc). Initially I thought making the program primarily GTK would be a good idea, but there's some problems with that. First of all, installing GTK on Windows is difficult, and cross-compiling it for Windows wouldn't be the easiest task either. Secondly, people on *nix will also be required to have GTK installed; this is a simple task, but not everyone has installed it nor wants to.
I gave a thought also on making it a Win32 app, and I can run it via Wine. This sounded pretty good, but it restricts editing SMW to the Intel x86 architecture. Also, it won't look native on any *nix anyway.

As a library, GUIs can be made separate of the actual 'engine' of the editor. Users won't see anything about it, but developers sure will. On a *nix, just compile a libsmwedit, and then cross-compile (via MinGW) for Windows into libsmwedit.dll. Simply attatch a GUI and Super Mario World editing away! That way everyone can be happy when it comes to nativity. Make a Win32 GUI, it'll look like any Win32 program. Make a GTK program, it'll integrate into GNOME and XFCE desktop nicely. Make a Qt/KDE program, it'll feel natural while using KDE. This goes on and on to everyone's favourite toolkit/desktop (wxWindows, Motif, Cocoa, etc)

By the way, I already know what this project would require... look at Lunar Magic! (Line ~6000 and a quarter of the way through the source code.) Also, just because Fu took five years this long doesn't me we have to, two heads are better than one (and hopefully there's going to be more than two... or one ). Fu kind of gives the idea that he hates to touch LM's source. It's certainly not impossible, just very difficult.

And yeah, I guess that info about level data is useful. Hopefully it's not measuring from an in-memory address whose ROM has been expanded (That's another thing, might want to check out how ROM expansion works low-level)
Smallhacker

Super Koopa
I AM A Group Of Officially Frustrated Younglings, G.O.O.F.Y. MEMBER








Since: 11-17-05
From: Söderhamn, Sweden

Last post: 6288 days
Last view: 6286 days
Skype
Posted on 11-23-05 12:42 PM Link | Quote
After doing some (not too accurate) calculations, I approximate the lines of source code in LM to... 91000!
HabsoluteFate

Red Goomba


 





Since: 11-19-05

Last post: 6524 days
Last view: 6524 days
Posted on 11-23-05 01:45 PM Link | Quote
I already went through all kinds of alternatives for cross platform development and the best i could find was to use Bloodshed Dev C++ for IDE and I'm using FLTK for the windowing....both are cross platform....
Before you make a decision as to what your going with i would recommend you wait until I release my next version...developing under it should be pretty straight forward and since i've already done all sort of things in there you can use what i already have as a starting point to understand the GUI side in no time...
Smallhacker

Super Koopa
I AM A Group Of Officially Frustrated Younglings, G.O.O.F.Y. MEMBER








Since: 11-17-05
From: Söderhamn, Sweden

Last post: 6288 days
Last view: 6286 days
Skype
Posted on 11-23-05 01:59 PM Link | Quote
That reminds me. We need to decide which libraries to use.

1) GUI
2) File I/O
3) Uh... Probably more stuff I forgot
FreeDOS +

Giant Red Koopa
Legion: freedos = fritos








Since: 11-17-05
From: Seattle

Last post: 6286 days
Last view: 6286 days
Posted on 11-23-05 02:07 PM Link | Quote
The minimum number of compilers I expect to work with are GCC 3 and MinGW... but seeing that Dev-C++ already uses MinGW, that shouldn't be a problem.

I might check out SMW Dev Env., are you using the CVS repositories given by SourceForge?

the libraries to use... the maximum the actual program/library would use should be stdio.h, if that's not suitable, we should agree on something nice and standard (eg, comes with GCC ).

As I've said before, making the GUIs will be separate from the actual editing code. Thus, someone can maintain a Win32 GUI while someone else maintains a Qt one, and so on. (I'd prefer Qt, but that's only becasue I'm using KDE right now ; someone should be able to easily make a GTK one for GNOME people). The libraries for the GUI will be dependant on the GUI in question. For example, a Win32 one would be dependent on Win32 headers, such as windows.h. A KDE one will be dependent on Qt and KDElibs.
HyperHacker

Star Mario
Finally being paid to code in VB! If only I still enjoyed that. <_<
Wii #7182 6487 4198 1828


 





Since: 11-18-05
From: Canada, w00t!
My computer's specs, if anyone gives a damn.
STOP TRUNCATING THIS >8^(

Last post: 6287 days
Last view: 6287 days
Posted on 11-23-05 04:24 PM Link | Quote
Heh, you actually started this? Nice.

Regarding developing the actual editor, I got to thinking that I've already mostly developed one. It's a Pokémon G/S editor (not done yet), but I don't think it'd be too hard to make a basic SMW editor out of the final product. (True, SMW uses coordinate-based objects while Pokémon uses tilemaps, but Pokémon uses coordinates for sprites, so it already supports that system. ) Only thing is, we'd have to wait until the Pokémon editor is done and the code cleaned up a bit (not too much since unlike Fu I try to keep my code nice and clean as I write it) before we could do any major work on the SMW editor.

Of course, we could base it on the current unfinished editor. It edits maps and such fine, but lacks more advanced things like map linking (not comparable to anything in SMW anyway), file import/export, and graphic editing. If the code were kept similar enough, it could probably be copied from one editor to the other fairly easily.

Also there's the fact that this is a pure Win32 editor which uses the raw Windows API and GDI quite a bit, so a Linux version would need large re-coding, or the actual editing logic would have to be external. (Or you can use WINE. I have yet to test the editor on Linux.)

And like I said on AIM, if you want to use LM to find things, you'd be best using an old version as it'd have less ASM hacks. There could be copyright issues, though.

Oh, and to those who say it's crazy because LM took 5 years to get to where it is: Think about where it is and how it got there. It's developed entirely by one person and passed the status of 'complete level editor' LONG ago. Plus, Fu wasn't working on it much in later versions.


(edited by HyperHacker on 11-23-05 03:26 PM)
HabsoluteFate

Red Goomba


 





Since: 11-19-05

Last post: 6524 days
Last view: 6524 days
Posted on 11-23-05 07:16 PM Link | Quote
I don't use sourceforge's CVS feature since i'm currently the only one in the project. PM me and i can send you what I have right now...everything is working except for the palette which i just need to find the time to complete.
Cellar Dweller +

Red Koopa









Since: 11-18-05
From: Arkansas

Last post: 6296 days
Last view: 6287 days
Posted on 11-24-05 01:31 AM Link | Quote
It's about time!

I would go ahead and use GTK for *nix and Windows. Dev-C++ has ready made "DevPaks" that make it easy to setup common libraries for development on Windows. The Windows GTK runtimes are also easy to install. Also, for any GNU/Linux system with a non-trivial amount GUI apps, it is almost a given that GTK will already be installed. It should be not too hard to create a makefile that will work on both Windows and *nix.

This does not mean that the UI and data manipulation code should be tightly intertwined.

This article should be interesting and topical.
FreeDOS +

Giant Red Koopa
Legion: freedos = fritos








Since: 11-17-05
From: Seattle

Last post: 6286 days
Last view: 6286 days
Posted on 11-24-05 02:24 AM Link | Quote
Savannah has decided they won't host it until we've got some code to show... they dislike projects that have nothing at current. I actually agree with them there, however, look how many projects on SourceForge spring up to never get touched by the end of the Universe.

Also, *cough*CD*cough*, I do not want to repeat what I've been saying about making the program a library and GUIs can be created in whatever. There's a reason forum posts are permanent, take advantage of that and read.
Deleted User
Banned


 





Since: 05-08-06

Last post: None
Last view: 6287 days
Posted on 11-24-05 12:56 PM Link | Quote
Sounds interesting. But what is with the registering? Is that something people who make these editors normally do, or is it because you secretly plan to charge us for a full version?
Dan

Purple Leever


 





Since: 11-18-05

Last post: 6295 days
Last view: 6286 days
Posted on 11-24-05 02:51 PM Link | Quote
Originally posted by iamstillhiro1112
Sounds interesting. But what is with the registering? Is that something people who make these editors normally do, or is it because you secretly plan to charge us for a full version?


He meant registering the project on Savannah, which is obviously some kind of Sourceforge-style website. You would have to be pretty stupid to try and make money off ROM hackers (i.e. the majority of them don't have any, or don't have access to an online payment). And if someone did actually try and charge for an editor/tool/etc, you could be pretty sure that a freeware project would spring up to replicate the functionality, if the editor was truly useful.
HabsoluteFate

Red Goomba


 





Since: 11-19-05

Last post: 6524 days
Last view: 6524 days
Posted on 11-24-05 03:15 PM Link | Quote
Its up to you guys but there is already a SMW Editor on Sourceforge and people definetely are welcome to join in....

http://sourceforge.net/projects/smwdev

The next release should be much more impressive with a graphical interface....
HyperHacker

Star Mario
Finally being paid to code in VB! If only I still enjoyed that. <_<
Wii #7182 6487 4198 1828


 





Since: 11-18-05
From: Canada, w00t!
My computer's specs, if anyone gives a damn.
STOP TRUNCATING THIS >8^(

Last post: 6287 days
Last view: 6287 days
Posted on 11-24-05 06:53 PM Link | Quote
All I see are some images that are down half the time and no information whatsoever on the program.
FreeDOS +

Giant Red Koopa
Legion: freedos = fritos








Since: 11-17-05
From: Seattle

Last post: 6286 days
Last view: 6286 days
Posted on 11-24-05 07:56 PM Link | Quote
Doesn't seem to be much more than a browser... may as well use a hex editor.
HabsoluteFate

Red Goomba


 





Since: 11-19-05

Last post: 6524 days
Last view: 6524 days
Posted on 11-24-05 11:53 PM Link | Quote
Originally posted by FreeDOS
Doesn't seem to be much more than a browser... may as well use a hex editor.


If your referring to my project your definetely mistaken...you can deassemble as Assembly and Re-assemble your assembly right on to the rom...anyways i'll stop talking about it in this thread considering there is an official thread already Stickied in this forum..i did edit my last post in that thread and it contains a link to an older thread about all of this with screenshots of the version that i'm currently finishing up
Sukasa

Birdo
Not quite as active as before.
Xkeeper supporter
Xk > ||bass
I IP Banned myself! Twice!








Since: 11-17-05
From: Somewhere over there

Last post: 6287 days
Last view: 6286 days
Posted on 11-25-05 12:37 AM Link | Quote
I'll help. After all, I might be able to figure out where the table of level addresses starts (easy, just convert the addy's of the first few levels in SNES, then search the ROM for those in a hex editor).

Also, some good features:

  • Chelsea enhancements
  • Direct MAP16 support
  • Block ASM for blocktool campatibility (MAP16 gameplay remapping)
  • All the basic level funcionalityies, like $100/$000 door ranges, Exanimation, etc. (hell, improve on that!)
  • A plugin system (I could design that, if you wanted)
  • Support for other programs (run from within SMW-Edit)
  • A Nice name and icon (I could do that, too).


So yeah, there's a nice little list with big things on it.
Pages: 1 2 3Add to favorites | Next newer thread | Next older thread
Acmlm's Board - I3 Archive - ROM Hacking - Call to make a new, LM-like SMW editor |


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.024 seconds; used 460.67 kB (max 590.80 kB)