Pages: 1
Posted on 03-10-16, 07:43 pm
Fire Brother
Eugene

Karma: 3646
Posts: 664/1120
Since: 11-29-11
Yeah, I guess this is a stupid question, but I couldn't find anything when using the 'Search' option and I'm sort of an ASM noob. I'm just trying to get how NSMBDS is build.

Anyway, when I look at this thread, I can see there's information about the title screen, the levels, the worldmaps etc. But what kind of information is stored in the overlays about those things?

For example, I don't know why there should be information about each level in the overlays. I'd think all information that's needed is stored in the files in the \course folder.
Posted on 03-10-16, 08:06 pm
Death by cuteness

Karma: 6554
Posts: 389/598
Since: 05-01-13
Posted by KingYoshi
For example, I don't know why there should be information about each level in the overlays. I'd think all information that's needed is stored in the files in the \course folder.


True, but think of it as a skeleton, you will still need the flesh and the nerves so-to-speak to move that skeleton because otherwise that skeleton is just good for decoration.

arm9 and overlays provide that much needed flesh and nerves (or in other terms how the game should handle the different behaviors and parameters).

For example to play a level smoothly, the game needs to handle:
_camera behavior
_entrance behavior
_level completion behavior
_losing a life behavior
_actors/sprites behavior
_Mario/Luigi behavior
_the tilesets/backgrounds/models/textures priority
_et cætera

I'm not taking into account the graphics themselves since this is the job of the VRAM to handle this.

There's probably a lot more that I forget but you get the picture, those behaviors needed to be coded, and then read by the game.
And how do you do that? Thanks to the arm9 and the overlays.
Posted on 03-10-16, 08:11 pm
Fire Brother
Eugene

Karma: 3646
Posts: 666/1120
Since: 11-29-11
Ah okay, I think I get what you mean. But what's the difference between arm9 and overlays?
Posted on 03-10-16, 08:27 pm
Death by cuteness

Karma: 6554
Posts: 391/598
Since: 05-01-13
To put it simply arm9 and overlays do similar things (mostly code+data), but think of overlays as mini arm9.
Have you never noticed that not all the overlays need to be loaded at the same time?

They are only loaded when they are needed (unlike arm9 whose presence is permanent), overlaying/overwriting the previous overlay that share the same loading address (hence the name overlay, or at least that's how I interpret it).

Overlays are also the reason there are sprite sets in the first place, due to the limitations of the NDS.
Posted on 03-10-16, 08:39 pm
Fire Brother
Eugene

Karma: 3646
Posts: 667/1120
Since: 11-29-11
Posted by MeroMero
To put it simply arm9 and overlays do similar things (mostly code+data), but think of overlays as mini arm9.
Have you never noticed that not all the overlays need to be loaded at the same time?

They are only loaded when they are needed (unlike arm9 whose presence is permanent), overlaying/overwriting the previous overlay that share the same loading address (hence the name overlay, or at least that's how I interpret it).

Overlays are also the reason there are sprite sets in the first place, due to the limitations of the NDS.


Thanks.

Yeah, I already thought it would be unlogical if every overlay would be loaded at the same time, since each level has its own overlay.
Posted on 03-11-16, 12:07 pm
Birdo


Karma: 2754
Posts: 1571/2091
Since: 06-26-11
Sorry for piggybacking this thread, but do overlays ever contain non-code data? The sort of stuff that is in the NitroFS?
Pages: 1