Thursday, January 31, 2013

More sprites

Sprites are loading somewhat better today.  Here's level 0 Freeze.


22 comments:

Azure Aires said...

Very nice.

Would be great to have the possiblity to modify them like in RPG Maker...

Mop said...

That's the plan, eventually.

Anonymous said...

Awesome job. I like the way it looks.

hai5cheese said...

The next release is going to be so awesome!

Anonymous said...

Mop, you are the best! I check this blog every few weeks and your progress is amazing! If the editor will work like it looks, it will be fantastic!

Hiei- said...

As emailed you a while ago but didn't got any answers, and as I just saw this blog is updated again, I said to myself I could try again in the comments.

I try to do a modification in the rom, I explained everything here : http://www.romhacking.net/forum/index.php/topic,15854.msg234256.html#msg234256

Mop said...

I'll check it out after work today. Looks like you've got something dumping SOM events to XML.. I'd be interested in seeing that for the sake of identifying the rest of my "unknowns."

Anonymous said...

I cant wait for the things that are implemented in the new version. you are helping out a lot of us with all this dedication and knowledge you have.

Anonymous said...

It's just a text dumper a friend made for me.

He gave me a custom emulator and asked me to trigger as much event as I could, and then tried to interpret most of them.

http://www.hiei-tf.fr/som-us-script.txt

Hiei- said...

I addes some new infos on the board link I posted before.

Somedit don't able to add new objects/move existing objects in a room? If yes, I didn't found how.

I also notice that I would just require an event triggered by the X/Y axis which seems it can be done, but when I click on "Add object" or "Add trigger", nothing happean.

Mop said...

"Add Object" should work, but seems to be having problems. Adding one on the initial map (128) seems to have created an object in the upper left corner (a rabite) but wiped out the map info screen, so I think I'm just failing to set some field on the new object. I'll work on fixing it for the next build.

Hiei- said...

In fact, after some tests, I don't even need to create an object, just a collision tile in front of the book.

When I try to create one, one is added in the right list, x:1;y:1 but I can't see it on the map and can't edit it's axis in the right menu.

Hiei- said...

So the question is, can you explain me a way I could manually add a trigger (one which is activated when you walk on the title, like the two in the map 128 with the Mana sword) on the map 37 at X : 35 ; Y : 84 and which would activate the event "0x2fc".

ASM hack is not really a problem, as long as I know the basic infos to do it.

Hiei- said...

Found another bug.

When you add a "map trigger", like in "map 37", I add one (trigger 19), then I save the project/export to rom.

When I reload the project, the triggers number is back to 18, and the newly created trigger is not here anymore.

Hiei- said...

We managed to add a new NPC manually (asm hack), but we don't manage to either use the title of the book for it or to make it invisible.

Is there a way to make a NPC invisible? (just the sprite, not like when a NPC appear after a event).

In the map 37 for example, is there a way to make the merchant (he appear after the boss defeat) sprite invisible but still be able to talk to him?

If yes, how?

The datas of this character are, according to somedit : 3C 4E 26 D1 70 CF E D3

3C : ?
4E : 4 => appear after boss event (0 : appear before the boss event, E => ?
26 : X-axis
D1 : Y-axis (7 bits to the right), the left bit say if the object can move or not.
70 : first bite to the left : ? ; 7 bits to the right : tile

The last ones are for the event.

Is there a data in that list that can make the sprite invisible ? (or changed to display the book tile)

Mop said...

Well...

The fun thing about the walk-over "triggers" as I call them is you have to modify the map to place them. They are not assigned an x,y on the map but rather the game looks for tiles of a certain type and places the triggers in order, top to bottom, left to right. Why anyone thought this would be a good idea is beyond me, but I'd sort of like to write a patch that gives these things x/y locations instead.

Specifically, the trigger definitions for each map start at 84000 in the rom. There is a table of 16 bit offsets there, one for each composite map. The data at those offsets is two bytes for each trigger. A value of 0-7FF indicates an event executor, while 800+ indicates a door (subtract 800 from the value for the door ID).

The tileset collision table has a flag for each tile type that indicates whether it's a "trigger" tile or not. I don't recall the value offhand, but I display them as little blue boxes or something in the editor. The collision data is largely incomplete in the editor, but as far as I've been able to tell, the trigger indicator stuff does work.

Mop said...

I don't know offhand a way to make an NPC invisible, you could try some weird graphics set numbers, or if all else fails, replace their tiles with blanks. There is a way to make them non-existent based on which event flags have been set, but I don't think that helps you.

RetroHelix said...

In the object properties you can change the graphics set. 58 seems to be an invisible sprite.

Hiei- said...

Sorry for the comments spam :p

Here's my last, as I finally managed to do what I wanted.

I tweaked some bytes randomly and found that D2 is the orb tile.

And if I change the byte before to 04, the sprite become invisible :)

Thanks a lot for your answers and somedit, it was a great help to understand how it work even if we done it manually :)

Hiei- said...

The 58 one was making the game crash, but as I said in the comment I posted just after yours (probably at the same time), I found a way to fix that problem :)

Mop said...

Glad you were able to figure it out :3

Anonymous said...

His program isnt finished Hiei. We know theres bugs.