Register - Login
Views: 99407737
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-24-22 08:31:46 PM
Jul - General Game/ROM Hacking - SNES F-Zero editor project New poll - New thread - New reply
Next newer thread | Next older thread
smkdan
User
Level: 12


Posts: 11/21
EXP: 7061
For next: 860

Since: 07-28-07


Since last post: 13.0 years
Last activity: 13.2 years

Posted on 02-17-08 04:49:25 AM Link | Quote
I already heavy a topic going on board2, but I figure I should make a post here too for those who no longer go there.

I currently have a function track editor with a few other features but there's a a bunch of other features I'd like to implement before I relase. Consider that it edits every track specific element since I reprogrammed every part of the game that relies on track specific data to make it more editor friendly (the tracks load without and function without aid of original loaders). It would've been horrifically restrictive without the hacks.

The pics are fairly sized so I linked them.

The interface can take selections from an individual panel selector or the track itself. Right button dragging selects a region:
http://img89.imageshack.us/img89/1458/s1xe6.png
And left click pastes:
http://img233.imageshack.us/img233/4344/s2dr1.png

Generic pics:
http://img228.imageshack.us/img228/3144/fz1io0.png
http://img135.imageshack.us/img135/3868/fz3gq7.png
http://img149.imageshack.us/img149/3125/mineser8.png
http://img221.imageshack.us/img221/6113/interfacetestyk7.png

http://img228.imageshack.us/img228/6767/namesze7.png
http://img230.imageshack.us/img230/1120/fzc0000aj4.png

AI / path:
http://img216.imageshack.us/img216/2145/fullsizezn8.png
http://img150.imageshack.us/img150/7999/aibrjq6.png
http://img292.imageshack.us/img292/2586/wholesc1.png
Xkeeper

Level: 263


Posts: 4626/25343
EXP: 296733896
For next: 2226557

Since: 07-03-07

Pronouns: they/them/????????

Since last post: 9 days
Last activity: 3 days

Posted on 02-17-08 04:56:18 AM Link | Quote
I actually just noticed that thread there today and was wondering where you'd went. At least I can finally comment on it...

The AI paths are neat to see. I wonder why a few of them seem to go in strange directions at points...

Also, the 0.25x zoom mode is nice to have. Perhaps another idea would be "Export track to BMP"? (Or PNG, whatever.)

...

The interface's handling seems weird. Right click selection, left click paste? It seems like it'd be a better idea to have left-dragging select things, with right click pasting; left-dragging a selected area could move it. (This is how LM does things, and it seems fairly intuitive and easy to get.)


From what I read, it sounds like you're applying some patches whenever a clean ROM's opened to make the game's format more flexible... or am I misunderstanding this?


(heh)

____________________
smkdan
User
Level: 12


Posts: 12/21
EXP: 7061
For next: 860

Since: 07-28-07


Since last post: 13.0 years
Last activity: 13.2 years

Posted on 02-17-08 06:36:46 AM Link | Quote

The AI paths are neat to see. I wonder why a few of them seem to go in strange directions at points...


I wonder too, but the odd placement doesn't seem to impact on the rivals at all.


Also, the 0.25x zoom mode is nice to have. Perhaps another idea would be "Export track to BMP"? (Or PNG, whatever.)


It's one of the first things I planned on doing, but I just went on to adding features. It saves a full size .png file which you could then resize / edit in photoshop or something. It looks much prettier doing it that way than to use DrawImage();'s resizing, and it takes 3 seconds on my end when all the panels are cached.




The interface's handling seems weird. Right click selection, left click paste? It seems like it'd be a better idea to have left-dragging select things, with right click pasting; left-dragging a selected area could move it. (This is how LM does things, and it seems fairly intuitive and easy to get.)


Personally it just seemed more natural to do it that way. I just based it off my personal preference, but I'll add options to toggle left / right and for anything else that gets recommended.


From what I read, it sounds like you're applying some patches whenever a clean ROM's opened to make the game's format more flexible... or am I misunderstanding this?


That's it. The editor signs the ROM with a version number and applies a patch if it has not yet been done.The game is littered with track specific hacks and not so flexible pointers (most are 16bit, some are 8bit (wtf)). A few examples include 4bpp -> 8bpp tile tracks, unique track names rather than simply adding 1, 2 or 3 to a predefined one, tilesets that are unique for every track rather than using a default, a not so ridiculous AI system where points are not stored in chunks of relative bytes, but just plain 16bit points. After running through alot of the game's code I can say for sure that an editor without a significant amount of hacks to make it more flexible would be quite painful to design and use. The ROM is expanded to 2MB to hold all the extra stuff.
Schwa
Member
Level: 24


Posts: 68/101
EXP: 73493
For next: 4632

Since: 12-17-07

From: Tacoma + Redmond = The Moment

Since last post: 9.3 years
Last activity: 9.3 years

Posted on 02-17-08 12:49:01 PM Link | Quote

Wow, that's awesome. So this editor would do to an F-Zero SNES Rom what Lunar Magic does to a SMW Rom, though to a slightly lesser extent? Seriously, you're my hero... It takes a programming genius to be able to reconfigure the game engine like that. I'm not sure if F-Zero is harder to do that on than SMW or not, but either way it's an amazing accomplishment.

I've never played F-Zero... When this editor is released and/or reaches a stable version, I might have to play it just so I can hack it with this editor. :o

Well, I'm rambling again... Here's hoping this turns out to be quite a successful project. --Schwa

____________________
(Layout made by Peardian, graphics from Sonic Team. Worship them.)

Current project: Super Mario Treasure Island
(Check here for info about SMTI)

YouTube showcase: SchwaWarrior
(Check here for plenty of videos of SMTI)

Custom sprites released to the public:
Treasure Chest with coins inside
Cobrat enemy from SMB2
Walking Ninji from SMB2
"Shower"-edition Panser, which shoots flurries of fireballs instead of two large ones
smkdan
User
Level: 12


Posts: 13/21
EXP: 7061
For next: 860

Since: 07-28-07


Since last post: 13.0 years
Last activity: 13.2 years

Posted on 02-19-08 08:20:02 AM Link | Quote

Wow, that's awesome. So this editor would do to an F-Zero SNES Rom what Lunar Magic does to a SMW Rom, though to a slightly lesser extent?


I suppose so. I know LM installs a bunch of hacks to allow it to use ExGFX, ExAnimation and to bypass alot of the silly issues the original game had. There's be alot of features I couldn't add (or just couldn't work around) without a bunch of hacks.

Thanks, although it's not as much work as it sounds, there's a total of 2200lines~ or so in the .asm which houses all the hacks currently in there.

Here's drag and drop added, which is the last key part of the interface (rest is novelty).

Erika
Catgirl
미안합니다
Level: 68


Posts: 148/1088
EXP: 2635449
For next: 93351

Since: 07-19-07


Since last post: 9.4 years
Last activity: 9.3 years

Posted on 02-19-08 11:01:36 PM Link | Quote
So you removed unique tilesets and names, or am I misunderstanding? Wouldn't we still want a feature like this for greater customization? ._.; Maybe I am mistook. This editor does look amazing however
Surlent
220
Life over. Continue(s) left: 00
Level: 34


Posts: 65/222
EXP: 242596
For next: 11055

Since: 08-02-07

From: Berlin

Since last post: 8.8 years
Last activity: 8.4 years

Posted on 02-20-08 06:57:22 AM Link | Quote
Actually it is very interesting how short those tracks look from the top-down view. In the game they seems very large and long (especially the road width) - due to Mode 7 resizing this is nothing special. Just stop on a jump plate, you will see the distortion/proportion (the car seems tiny, when it is parked on it), unlike you drive at normal and use the plates. This seems also present in current racing games. On one racer on PS3 (forgot the name, something with Forza in the name?), when you are about to outpace an enemy car slowly, the perpective gets really weird, just before the opponent is out of the screen. Especially seen on the front tires.

As for that editor, it really kicks ass, from what you show in these pictures. I would love to edit my own courses too. Along with BGNG's GuyPerfect's existing (and the coming revamped/reprogrammed) F-Zero X editor we will have two very powerful tools in future
smkdan
User
Level: 12


Posts: 14/21
EXP: 7061
For next: 860

Since: 07-28-07


Since last post: 13.0 years
Last activity: 13.2 years

Posted on 02-20-08 09:30:36 AM Link | Quote
Erika: That list I made had improvements over the original, and one of the improvements is the unique track names. I removed the defaults which didn't allow much customisation at all.

Surlent: It's only quarter size, here's a map with the grid / numbers like shown up there at actual (and pretty impractical to work with) size. Right now I'm trying to get a panel editor working. Each box shown in that grid is a panel which is sort of a complex metatile (256x256 to save on space in the original). On the upside you only have to manage a grid of 32x16 of these panels, but you need to spend some time in a panel editor to get some custom panels for something really original.

http://img216.imageshack.us/img216/184/actsizeqe6.png
Next newer thread | Next older thread
Jul - General Game/ROM Hacking - SNES F-Zero editor project New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

28 database queries, 3 query cache hits.
Query execution time:  0.081027 seconds
Script execution time:  0.015643 seconds
Total render time:  0.096670 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 119 column 11 - Warning: <form> isn't allowed in <table> elements
line 118 column 10 - Info: <table> previously mentioned
line 120 column 11 - Warning: missing <tr>
line 120 column 119 - Warning: missing </font> before </td>
line 124 column 16 - Warning: plain text isn't allowed in <tr> elements
line 120 column 11 - Info: <tr> previously mentioned
line 125 column 68 - Warning: missing </nobr> before </td>
line 141 column 68 - Warning: missing </nobr> before <tr>
line 147 column 35 - Warning: missing <tr>
line 147 column 50 - Warning: missing </font> before </td>
line 148 column 37 - Warning: unescaped & or unknown entity "&id"
line 147 column 199 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 91 - Warning: missing </font> before </table>
line 156 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 158 column 9 - Warning: missing <tr>
line 176 column 13 - Warning: missing <tr>
line 177 column 99 - Warning: unescaped & or unknown entity "&postid"
line 206 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 208 column 9 - Warning: missing <tr>
line 226 column 13 - Warning: missing <tr>
line 227 column 99 - Warning: unescaped & or unknown entity "&postid"
line 229 column 253 - Warning: missing <tr>
line 229 column 498 - Warning: missing <tr>
line 246 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 248 column 9 - Warning: missing <tr>
line 266 column 13 - Warning: missing <tr>
line 267 column 99 - Warning: unescaped & or unknown entity "&postid"
line 288 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 290 column 9 - Warning: missing <tr>
line 308 column 13 - Warning: missing <tr>
line 309 column 99 - Warning: unescaped & or unknown entity "&postid"
line 311 column 73 - Warning: <style> isn't allowed in <td> elements
line 311 column 9 - Info: <td> previously mentioned
line 311 column 672 - Warning: missing </font> before </td>
line 316 column 1612 - Warning: missing </font> before </td>
line 331 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 333 column 9 - Warning: missing <tr>
line 351 column 13 - Warning: missing <tr>
line 352 column 99 - Warning: unescaped & or unknown entity "&postid"
line 365 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 367 column 9 - Warning: missing <tr>
line 385 column 13 - Warning: missing <tr>
line 386 column 99 - Warning: unescaped & or unknown entity "&postid"
line 391 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 393 column 9 - Warning: missing <tr>
line 411 column 13 - Warning: missing <tr>
line 412 column 99 - Warning: unescaped & or unknown entity "&postid"
line 419 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 421 column 9 - Warning: missing <tr>
line 439 column 13 - Warning: missing <tr>
line 440 column 99 - Warning: unescaped & or unknown entity "&postid"
line 449 column 17 - Warning: missing <tr>
line 449 column 17 - Warning: discarding unexpected <table>
line 452 column 35 - Warning: missing <tr>
line 452 column 50 - Warning: missing </font> before </td>
line 452 column 91 - Warning: missing </font> before </table>
line 454 column 35 - Warning: missing <tr>
line 454 column 50 - Warning: missing </font> before </td>
line 455 column 37 - Warning: unescaped & or unknown entity "&id"
line 454 column 199 - Warning: missing </font> before </table>
line 456 column 17 - Warning: discarding unexpected </textarea>
line 456 column 28 - Warning: discarding unexpected </form>
line 456 column 35 - Warning: discarding unexpected </embed>
line 456 column 43 - Warning: discarding unexpected </noembed>
line 456 column 53 - Warning: discarding unexpected </noscript>
line 456 column 64 - Warning: discarding unexpected </noembed>
line 456 column 74 - Warning: discarding unexpected </embed>
line 456 column 82 - Warning: discarding unexpected </table>
line 456 column 90 - Warning: discarding unexpected </table>
line 458 column 9 - Warning: missing </font> before <table>
line 470 column 25 - Warning: discarding unexpected </font>
line 479 column 57 - Warning: discarding unexpected </font>
line 457 column 1 - Warning: missing </center>
line 120 column 63 - Warning: <img> lacks "alt" attribute
line 125 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 125 column 93 - Warning: <img> lacks "alt" attribute
line 141 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 141 column 98 - Warning: <img> lacks "alt" attribute
line 148 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 245 - Warning: <img> proprietary attribute value "absmiddle"
line 161 column 22 - Warning: <img> lacks "alt" attribute
line 161 column 63 - Warning: <img> lacks "alt" attribute
line 161 column 112 - Warning: <img> lacks "alt" attribute
line 161 column 162 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 211 column 23 - Warning: <img> lacks "alt" attribute
line 211 column 64 - Warning: <img> lacks "alt" attribute
line 211 column 113 - Warning: <img> lacks "alt" attribute
line 211 column 163 - Warning: <img> lacks "alt" attribute
line 212 column 11 - Warning: <img> lacks "alt" attribute
line 222 column 15 - Warning: <img> lacks "alt" attribute
line 229 column 277 - Warning: <img> lacks "alt" attribute
line 243 column 1512 - Warning: <img> lacks "alt" attribute
line 243 column 1608 - Warning: <img> lacks "alt" attribute
line 243 column 1705 - Warning: <img> lacks "alt" attribute
line 251 column 22 - Warning: <img> lacks "alt" attribute
line 251 column 63 - Warning: <img> lacks "alt" attribute
line 251 column 112 - Warning: <img> lacks "alt" attribute
line 251 column 162 - Warning: <img> lacks "alt" attribute
line 262 column 15 - Warning: <img> lacks "alt" attribute
line 277 column 795 - Warning: <img> lacks "alt" attribute
line 293 column 22 - Warning: <img> lacks "alt" attribute
line 293 column 63 - Warning: <img> lacks "alt" attribute
line 293 column 112 - Warning: <img> lacks "alt" attribute
line 293 column 162 - Warning: <img> lacks "alt" attribute
line 294 column 11 - Warning: <img> lacks "alt" attribute
line 304 column 15 - Warning: <img> lacks "alt" attribute
line 312 column 1060 - Warning: <img> proprietary attribute value "absmiddle"
line 312 column 1060 - Warning: <img> lacks "alt" attribute
line 316 column 1375 - Warning: <img> proprietary attribute value "absmiddle"
line 316 column 1375 - Warning: <img> lacks "alt" attribute
line 336 column 22 - Warning: <img> lacks "alt" attribute
line 336 column 63 - Warning: <img> lacks "alt" attribute
line 336 column 112 - Warning: <img> lacks "alt" attribute
line 336 column 162 - Warning: <img> lacks "alt" attribute
line 347 column 15 - Warning: <img> lacks "alt" attribute
line 362 column 764 - Warning: <img> lacks "alt" attribute
line 370 column 22 - Warning: <img> lacks "alt" attribute
line 370 column 63 - Warning: <img> lacks "alt" attribute
line 370 column 112 - Warning: <img> lacks "alt" attribute
line 370 column 162 - Warning: <img> lacks "alt" attribute
line 381 column 15 - Warning: <img> lacks "alt" attribute
line 388 column 274 - Warning: <img> proprietary attribute value "absmiddle"
line 388 column 274 - Warning: <img> lacks "alt" attribute
line 395 column 15 - Warning: <img> proprietary attribute value "absmiddle"
line 395 column 15 - Warning: <img> lacks "alt" attribute
line 395 column 58 - Warning: <img> proprietary attribute value "absmiddle"
line 395 column 58 - Warning: <img> lacks "alt" attribute
line 395 column 101 - Warning: <img> proprietary attribute value "absmiddle"
line 395 column 101 - Warning: <img> lacks "alt" attribute
line 395 column 144 - Warning: <img> proprietary attribute value "absmiddle"
line 395 column 144 - Warning: <img> lacks "alt" attribute
line 395 column 187 - Warning: <img> proprietary attribute value "absmiddle"
line 395 column 187 - Warning: <img> lacks "alt" attribute
line 395 column 230 - Warning: <img> proprietary attribute value "absmiddle"
line 395 column 230 - Warning: <img> lacks "alt" attribute
line 396 column 22 - Warning: <img> lacks "alt" attribute
line 396 column 63 - Warning: <img> lacks "alt" attribute
line 396 column 112 - Warning: <img> lacks "alt" attribute
line 396 column 162 - Warning: <img> lacks "alt" attribute
line 397 column 11 - Warning: <img> lacks "alt" attribute
line 407 column 15 - Warning: <img> lacks "alt" attribute
line 416 column 1005 - Warning: <img> proprietary attribute value "absmiddle"
line 416 column 1005 - Warning: <img> lacks "alt" attribute
line 424 column 22 - Warning: <img> lacks "alt" attribute
line 424 column 63 - Warning: <img> lacks "alt" attribute
line 424 column 112 - Warning: <img> lacks "alt" attribute
line 424 column 162 - Warning: <img> lacks "alt" attribute
line 435 column 15 - Warning: <img> lacks "alt" attribute
line 455 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 455 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 455 column 245 - Warning: <img> proprietary attribute value "absmiddle"
line 464 column 25 - Warning: <img> lacks "alt" attribute
line 469 column 267 - Warning: <img> lacks "alt" attribute
line 149 column 50 - Warning: trimming empty <font>
line 449 column 17 - Warning: trimming empty <tr>
line 452 column 50 - Warning: trimming empty <font>
line 125 column 68 - Warning: <nobr> is not approved by W3C
line 141 column 68 - Warning: <nobr> is not approved by W3C
line 177 column 27 - Warning: <nobr> is not approved by W3C
line 227 column 27 - Warning: <nobr> is not approved by W3C
line 267 column 27 - Warning: <nobr> is not approved by W3C
line 309 column 27 - Warning: <nobr> is not approved by W3C
line 316 column 1480 - Warning: <td> proprietary attribute "background"
line 352 column 27 - Warning: <nobr> is not approved by W3C
line 386 column 27 - Warning: <nobr> is not approved by W3C
line 412 column 27 - Warning: <nobr> is not approved by W3C
line 440 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 169 warnings and 0 errors!


The alt attribute should be used to give a short description
of an image; longer descriptions should be given with the
longdesc attribute which takes a URL linked to the description.
These measures are needed for people using non-graphical browsers.

For further advice on how to make your pages accessible
see http://www.w3.org/WAI/GL.
You are recommended to use CSS to specify the font and
properties such as its size and color. This will reduce
the size of HTML files and make them easier to maintain
compared with using <FONT> elements.

You are recommended to use CSS to control line wrapping.
Use "white-space: nowrap" to inhibit wrapping in place
of inserting <NOBR>...</NOBR> into the markup.

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: http://dev.w3.org/html5/spec-author-view/
Validate your HTML documents: http://validator.w3.org/nu/
Lobby your company to join the W3C: http://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md