Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - F-zero Maximum Velocity & GP legend | |
Pages: 1 2 3 4 5 6 7 8 9 10Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
Heian-794

Red Super Koopa
Level: 44

Posts: 847/896
EXP: 611014
For next: 271

Since: 06-01-04
From: Kyoto, Japan

Since last post: 21 days
Last activity: 10 days
Posted on 08-13-05 01:46 PM Link | Quote
OK, got the thing running!

I've been going into the code for the button that displays the panel, adjusting the number in there, and running the program again. Panel 1 is a mine, 2 is an exploded mine, 100 is a field full of track types 71 and 73 (the two alternating shades seen at the start), 0x100 is a diagonal line of barrier circles with clear on one side and track on the other.

Maybe I can fiddle with this so that it displays, say, the next 64 different panels instead of just one. (I added code to draw the current panel, then the next, but it's drawing right over the previous one because I can't figure out how to move the position on the screen where the panel is being drawn.)

The button that draws an immense bitmap also works. I haven't attempted to decompress or re-compress anything yet.

I'm still a complete amateur at this but am not about to give up!


(edited by Heian-794 on 08-13-05 04:51 AM)
BGNG

Snifit
Level: 22

Posts: 241/276
EXP: 56579
For next: 1771

Since: 06-03-05

Since last post: 8 days
Last activity: 3 hours
Posted on 08-13-05 08:42 PM Link | Quote
If you need any help navigating that code, just ask. I can also give you some coding advice if you want to do something but don't know how.
Heian-794

Red Super Koopa
Level: 44

Posts: 848/896
EXP: 611014
For next: 271

Since: 06-01-04
From: Kyoto, Japan

Since last post: 21 days
Last activity: 10 days
Posted on 08-14-05 04:45 AM Link | Quote
Edit : Disregard the foolishness I was uttering before; I've modified BGNG's code so that 64 panels can be shown at once. Hopefully I can improve on this; there are panels 0x00 to 0x39

Free Image Hosting at www.ImageShack.us

It would also be handy to have a little box where the user can input the number of the desired tile instead of having to go into the code. In the pre-Visual days, you'd have an PRINT "Display which tile?" and then an input statement, and then the user would type something. How do you make a little blank field to do this in VB?



More thoughts on what to put in an editor... given how many panels there are, it might not be practical to have a huge array of little panels that can be dragged around. I wonder if it would be possible to begin any custom course with a starting line, then bring up a menu which shows all possible connecting panels, using the positions of the barriers to decide what's connectable and what isn't.


(edited by Heian-794 on 08-13-05 09:02 PM)
(edited by Heian-794 on 08-14-05 06:58 PM)
(edited by Heian-794 on 08-15-05 02:49 AM)
BGNG

Snifit
Level: 22

Posts: 242/276
EXP: 56579
For next: 1771

Since: 06-03-05

Since last post: 8 days
Last activity: 3 hours
Posted on 08-15-05 03:54 AM Link | Quote
Well, we've been discussing some things and stuff in PM's, Heian794... You think you might want to officially be declared the de facto head-of-project? (I love saying things like that)
Heian-794

Red Super Koopa
Level: 44

Posts: 851/896
EXP: 611014
For next: 271

Since: 06-01-04
From: Kyoto, Japan

Since last post: 21 days
Last activity: 10 days
Posted on 08-15-05 04:00 AM Link | Quote
The de-facto head of the project? Only if I, like most bosses everyehere, have many much-more-capable-than-I-am assistants who show me what to do and get me out of trouble!
BGNG

Snifit
Level: 22

Posts: 243/276
EXP: 56579
For next: 1771

Since: 06-03-05

Since last post: 8 days
Last activity: 3 hours
Posted on 08-15-05 04:29 AM Link | Quote
Sorry. All you have as me. I don't count as "many." Though I DO have the brains of ten thousand men! After all, it's hard to find a man (or woman) with a brain these days.
Heian-794

Red Super Koopa
Level: 44

Posts: 853/896
EXP: 611014
For next: 271

Since: 06-01-04
From: Kyoto, Japan

Since last post: 21 days
Last activity: 10 days
Posted on 08-15-05 05:31 AM Link | Quote
Well, BGNG, I'm going to need your help with the compression and decompression of custom courses, and also with visual stuff like, say, dragging icons around in a VB program. I have no idea how to implement that.

But... I've made another version of that panel-display program; this time the user enters the desired 64 panels into the code (little text boxes would be much better), and the program displays them.

I took some existing panels and made this very rudimentary, not-really-lined-up course here. Actual courses are (for the uninitiated) in fact eight times as wide and eight times as tall as this:

Free Image Hosting at www.ImageShack.us


(edited by Heian-794 on 08-14-05 08:31 PM)
BGNG

Snifit
Level: 22

Posts: 244/276
EXP: 56579
For next: 1771

Since: 06-03-05

Since last post: 8 days
Last activity: 3 hours
Posted on 08-15-05 06:28 AM Link | Quote
I will tell you this right now: Don't expect to get much speed out of Visual Basic. It's the king of unnecessary precautions and is MAYBE one thousandth the speed of C++ when non-stop calculation is involved.

I also haven't written a compressor. All that's in that program is the decompressor.
Heian-794

Red Super Koopa
Level: 44

Posts: 854/896
EXP: 611014
For next: 271

Since: 06-01-04
From: Kyoto, Japan

Since last post: 21 days
Last activity: 10 days
Posted on 08-15-05 06:46 AM Link | Quote
Oh, it takes forever. Displaying the 64 panels must take five seconds or more; it's annoying.

Progress: I've added another button, so now users have the choice of coding in the 64 panels they want to see ("Your 64"), or the next 64 panels after a given one ("Next 64").

And here's a zip file containing PNGs of all 0xBFD (it's BFD, not BFA as previously suspected) different panels! Over 2 MB in size.

Download!

There are lots, and lots... and lots of duplicated panels, some right next to each other. We could definitely fiddle with the panel composition and add more interesting tiles.

It looks to me like they laid the courses out first, and then broke them into 8x8 blocks -- there are so many panels where the position of the barriers is such that almost no tiles could ever fit next to it. Fortunately, there are still enough "regular" ones which we can arrange as we wish.

BGNG, did you ever make any progress on computer car AI, or the positioning of the atarting line? Both of those things will have to be cracked when making new courses.


(edited by Heian-794 on 08-15-05 02:51 AM)
BGNG

Snifit
Level: 22

Posts: 245/276
EXP: 56579
For next: 1771

Since: 06-03-05

Since last post: 8 days
Last activity: 3 hours
Posted on 08-15-05 07:18 AM Link | Quote
Both the AI and starting position are defined by the course paths, which I documented a while back. The starting position is where the first control point in the path is. The direction of the course MUST be "up" at the starting line.

The AI cheats, as has been known forever. All it does is follow the path.
Heian-794

Red Super Koopa
Level: 44

Posts: 855/896
EXP: 611014
For next: 271

Since: 06-01-04
From: Kyoto, Japan

Since last post: 21 days
Last activity: 10 days
Posted on 08-15-05 07:33 AM Link | Quote
OK, so we just have to edit those X and Y positions to match up with the courses that we make, and the computer cars will follow them? Great.

With there being multiple ways to compress a course, and with us having lots of free space in the ROM, I'm guessing that we don't really need to find the most efficient compression method, just something that holds all the panels we'll use. So I won't think about that just yet.

BGNG

Snifit
Level: 22

Posts: 246/276
EXP: 56579
For next: 1771

Since: 06-03-05

Since last post: 8 days
Last activity: 3 hours
Posted on 08-15-05 07:48 AM Link | Quote
Yup. Just alter the points to follow the course.

And compression won't be hard. It's not adaptive like LZ77.
Heian-794

Red Super Koopa
Level: 44

Posts: 857/896
EXP: 611014
For next: 271

Since: 06-01-04
From: Kyoto, Japan

Since last post: 21 days
Last activity: 10 days
Posted on 08-15-05 08:00 AM Link | Quote
Sounds great!

One more idea I had, which I can't implement in VB:

It would be handy to decide on one panel for your edit course, and then search for all panels that can be connected to it, rather than having to laboriously go through them all and hope that the barriers match.

See how the barriers are made of circles which are bright in the middle and darker on the edges? One way to do this would be to see if the barrier and "track shadow" (usually black; I used the Cloud Carpet palette in my screenshots so it would stand out) are in the right position; seeing how much has been sliced off and then looking for matching pieces by checking the palette values on each side.

This is probably impractical, though. Maybe the best thing is for users to print them out and then move them around manually before going into the editor to test out their courses.


OK, I edited a panel using a hex editor and am now displaying it in the panel arranger! Tile 0x00F, eighth from the left in the second row, is normally all plain track, but no longer. Check this out:

Image Hosted by ImageShack.us

I designed that piece manually, looking at the table of tiles.

And it functions in the actual courses! (Unfortunately the hole in the middle is too small; the car can actually drive over it.)




(edited by Heian-794 on 08-15-05 04:11 AM)
firemaker

Level: 26

Posts: 176/247
EXP: 94178
For next: 8097

Since: 03-23-04
From: UK berkshire

Since last post: 17 days
Last activity: 11 days
Posted on 08-15-05 01:59 PM Link | Quote
Nice one project manager. I'm going to see what is in the rest of the ROM.


(edited by firemaker on 08-15-05 12:08 PM)
Heian-794

Red Super Koopa
Level: 44

Posts: 860/896
EXP: 611014
For next: 271

Since: 06-01-04
From: Kyoto, Japan

Since last post: 21 days
Last activity: 10 days
Posted on 08-16-05 02:00 AM Link | Quote
Firemaker, there's plenty more to find, so get hopping!

* Car stats, particularly speeds -- who knows how the game stores that stuff?

* How does the course handle the status of mines? (i. e. exploded or intact) There are quite a few "mine" panels, including 0x001, but only one "exploded" mine panel (0x002). There must be flags somewhere, but can you use the same mine panel many times when designing courses, or does each instance of a mine need a different panel number?

* That pesky graphic shift where inserting Silence into the regular game results inthe course name being moved over a bit when you view your best times. Not a big deal, but all the better if we could solve it.

* Bomb positions. You know, those giant black bombs that randomly show up on the course when you're way ahead. I hadn't even thought about these, and I don't think people have studied them all that much. (IIRC, some people at MFO were thinking about them because they wanted even more bombs to bump off of, gaining speed.)

Also, earlier I mentioned how the game reflects edited tiles perfectly. ImageShack was stiffing me before but now they've taken my screenshot:

Free Image Hosting at www.ImageShack.us

I took that package of panels that I made with the editor and printed it out -- 48 pages to hold 3070 panels, though there are many dupes. Probably a combination of existing panels plus a few custom-made panels per course should easily allow us to design anything we like.

Right now I'm having an easier time editing panel contents than editing the order of panels, simply because decompressing and then recompressing is still difficult. Gott a work on that a little more.
BGNG

Snifit
Level: 22

Posts: 247/276
EXP: 56579
For next: 1771

Since: 06-03-05

Since last post: 8 days
Last activity: 3 hours
Posted on 08-16-05 02:49 AM Link | Quote
Hold your horses, Heian-794. Car stats and bomb appearence has nothing to do with level editing. It may not have been officially declared, but level editing is what this thread is dedicated to. Graphics hacking should only be performed when it's applicable to level editing. Things like venue floors modifications don't count.

As you've undoubtedly noticed, the game responds to the panel layouts by the tiles that it describes. "Barrier" tiles act like bariers, pit area tiles like pit areas, etc. This way, any configuration of panels can be made and they will act accordingly without editing the programming whatsoever.

The mines are just more tiles. Tiles that, when you drive on them, explode. They simply turn the entire panel into panel 02. Easy pickin's.
Heian-794

Red Super Koopa
Level: 44

Posts: 861/896
EXP: 611014
For next: 271

Since: 06-01-04
From: Kyoto, Japan

Since last post: 21 days
Last activity: 10 days
Posted on 08-16-05 09:37 AM Link | Quote
Well, you're right that level editing is the main focus, but there are still lots of other aspects of FZMV hacking that are worthy of attention, especially if you're more capable in other areas and another person is working on the level editing. I'm happy to see contributions in any area of the game.

But back to the level editing -- it looks like the game must keep a database somewhere which details which tiles are driveable, which are damaging, and which are "blocking" (sending you backwards), because their appearance is arbitrary (see the "new course surface" screenshots). That makes me want to mess around with the twist circles a little (in the E0-FF range of tiles). A course where hitting those works to your advantage might be fun.

BGNG

Snifit
Level: 22

Posts: 248/276
EXP: 56579
For next: 1771

Since: 06-03-05

Since last post: 8 days
Last activity: 3 hours
Posted on 08-17-05 05:21 AM Link | Quote
Alright. You're the boss. (-: If all hacking goes for you, then all hacking this thread will be.

It looks like this thread is preparing to go the way of the snowman, so we'll have to devise if we want to continue posting findings here or if we should arrange another form of communication for the project.
Heian-794

Red Super Koopa
Level: 44

Posts: 867/896
EXP: 611014
For next: 271

Since: 06-01-04
From: Kyoto, Japan

Since last post: 21 days
Last activity: 10 days
Posted on 08-17-05 03:17 PM Link | Quote
Well, this is a busy board, so even going two days without a post will send ths thread downwards. As long as we're making regular progress, it should be fine -- though people will get upset if we bump a months-old thread.

I've managed to design a 16x16-panel mini-course that lines up perfectly. Now I want to go back and look at your data on checkpoints so that it can be driven properly, and then try to compress it and insert it into the ROM. Since the course is so small, and has lots of 00 panels in it, optimum compression shouldn't be necessary and it should be easily slotted into one of the pther courses' places. There are about a dozen things that could go wrong, but I'm going to have a go at it and see what happens. If this works, the next step will be to add some kind of panel-grouping-in-progress save feature to the editor, so that people can take the stuff that they've been working on in the "sandbox" window above, and connect them to form full courses.

Something that would automatically read the edited panels and convert them into points, replacing the existing points, would be nice too. (I. e., searching for non-00 panels, recording their X and Y positions, and making that the path) Any ideas on that?


Edit -- You won't be seeing this particular combination of pieces in the game (and with good reason as it's not elegant and should be tweaked ^^, but with an editor all things are possible!

Free Image Hosting at www.ImageShack.us


More editing: My custom course is just about finished, design-wise; now I have to compress this and get it into the ROM. BGNG, do you have any more comments on the table of path points aside from what you mentioned towards the beginning of this thread? Are the X and Y in "tile" units or panel units? Pixels, even? If they're stored as 16-bit numbers, anything is possible. But I'd like to program a path for my course so that we can see other cars driving on it.


(edited by Heian-794 on 08-17-05 07:18 AM)
(edited by Heian-794 on 08-18-05 06:19 PM)
firemaker

Level: 26

Posts: 194/247
EXP: 94178
For next: 8097

Since: 03-23-04
From: UK berkshire

Since last post: 17 days
Last activity: 11 days
Posted on 08-21-05 06:58 PM Link | Quote
Just out of intrest could either off you send me all te usual panels. I'm planning on putting an editor together for myself done in C++. Haven't started the editor itself but have got all the plans ready. I would just like to have the panels though to save me writing an extractor program.
Pages: 1 2 3 4 5 6 7 8 9 10Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Rom Hacking - F-zero Maximum Velocity & GP legend | |


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.026 seconds.