Language…
12 users online: 35TCB77, Buflen, crm0622, crocodileman94, fanfan21, Hayashi Neru, KoJi, Maw, Metakabe, Neuromancer, Nirv, signature_steve - Guests: 237 - Bots: 316
Users: 64,795 (2,377 active)
Latest user: mathew

Daiyousei v0.4.0 and other tools to almost build huge levels



Daiyousei version 0.4.0
Lvlbuild version -9999.0.0

The screenshots aren’t really the most relevant in the world but they were in fact built using the tools I’ve posted here, so I mean, feast your eyes I guess.

Daiyousei v0.4.0 is an update to Daiyousei. It contains some minor bugfixes, a fix to an SA-1 bug where it would use only 20 sprites instead of the apparently proper 22, and a major, optional change that allows it to support large levels.


Lvlbuild is an absolute mess of Python scripts and Asar patches that I have been working on to support large levels.


The large levels are 32 x 32 screens in area, of which 128 may be distinct. This allows the construction of extremely large levels, with the caveat that they be surrounded by screens full of air or dirt or whatever.
Backgrounds are also 32 x 32 screens, but count against your distinct screen limit. In practice this means you will have a repeating background and ~124 screens for the foreground.
Levels are made using Tiled (which you can get at http://www.mapeditor.org/), and inserted using a kind of complicated process.
Doing this requires the use of the entirety of bank $7f as level data, and by extension breaks almost everything else in the world. Right now lvlbuild is insanely hard to use, but may be worth goofing around with if you know ASM. In order to make it usable at all, I would basically have to make a Lunar Magic replacement, which I am kinda-sorta working on.
Additionally I’m working on a lot of stuff for the overworld, like that layer 3 cloud shadow in the first screenshot, but it barely works at all.

If you want, you can check out this video (which is somewhat old) of me goofing in such a large level.

caveats
There is currently no way to restrict the camera, so every level has to be 32 x 32 screens.
No custom blocks yet.
Obviously no Lunar Magic.
The patch MASSIVELY breaks the overworld and doesn’t really give you any way to change it much.
The patch breaks every single level in the game until you replace them.
If you want to use AddMusicK, you have to change asm/SNES/patch.asm line 37 to the following:
Code
!FreeRAM		= $7ef3f0

If you want to use Daiyousei, you have to add the following to patch/options.asm:
Code
!opt_largeLevels = 1

You can’t not use Daiyousei.
No SA-1 support. Or FastROM really.
ExGFX support is currently really awkward; you have to edit the patch manually to add new files.
I’m pretty sure there’s a freespace leak but I haven’t set it off in a little while so maybe I fixed it.
Palettes only work as .bin files which are kinda hard to make usually
I haven’t actually tested anything without my custom status bar in ages so it might actually be neceessary for something else to work. as such, I have included it, check out extras/status.asm

inserting a level
First of all, apply the patch, i.e.
Code
asar patch.asm romname.sfc

Then run Daiyousei
Code
daiyousei romname.sfc sprites.txt

you need to do these for anything to work, at all.

The easiest way to do this is using the included batch file, l.bat, like this:
Code
l 105

It will look for "tiledstuff/105.tmx", "tiledstuff/lvl105.ini", and run lvlbuild and lvlrle to make a patch, which it will put in "lvldat/105.xxx". Then it will use Asar to apply the patch to a rom named ROMNAME.sfc (unless you edit the bat). You need to have Asar in the same folder / in your PATH for this.

You can edit lvlXXX.ini to change settings like its tileset, music track, and the file it gets its palette from.

I recommend looking at the levels I threw in with lvlbuild to get a feel for how things work.

stuff you might be able to do if you’re hardcore
There is support for using layer 3 as an interactive layer instead of layer 2, which is why the ASM refers to "Layer S" (i.e. usually layer 2, the second layer) and "Layer T" (i.e. usually layer 3, the third layer).
The patch includes some hijacks you can use for custom status bars, the need for which is increased by stuff like the above
If you update an update an offscreen part of the screendex, you can rearrange a level’s screens while it’s being played. You could do that to have like a big event trigger in your level, or you could go REAL wild and do something like generate a maze while the player goes through it.

other
You’ll probably only have use for lvlbuild if you’re like super pro at ASM & such. Hopefully I’ll have it be more useful soon but thats the facts right now
Daiyousei is Daiyousei. It’s still a spritetool replacement. You can probably use it if you like to write sprites.
As part of including a bunch of sample levels, this release also includes a bunch of ExGfx. go crazy
yes i know about NGHE. i used it to find some good hijacks but i don’t think i used anything else.
I was really hoping to have this all worked out better by now tbh
this is easily one of the biggest steps in smw hacking, you're doing amazing things with this
This is super goddamn cool, and I'm excited to see where it goes.

I've always wanted to move away from the limitations of horizontal/vertical and be able to build more dynamically like Yoshi's Island.
The fact we have an update on Daiyousei is very good news to hear, glad to see it's not forgotten. Daiyousei is more what I'm interested in, but that lvl tool... what the heck!? That's very impressive! I have seen amazing things in SMW, but this trumps a lot of what I've seen simply because of how ground breaking that is. Truly a ton of work and dedication I see having been put into this. I hope to see a more stable version in the future to come, keep up the excellent work.

You have my vote for Best in Show.
This is absolutely amazing, I'm hoping that this goes farther and the huge levels become easier to make and insert in some way. I haven't actually tried it myself but it sounds like, to someone of my ASM knowledge, it's...tricky to say the least at this point in its development.

Originally posted by Katrina
In order to make it usable at all, I would basically have to make a Lunar Magic replacement, which I am kinda-sorta working on.


Also hoping that this becomes a thing, all other similar attempts from what I've heard have died off due to lack of interest I guess.
Layout by RanAS, modified by yours truly.

Nice stuff here!
If this actually gets to a usable point (for the regular person) then this is gonna be actually amazing.
Basically had given up on this kind of level size after FuSoYa refused to support Alcaro's patch despite it all being done already right there, but I suppose a LM replacement would fix that lmao
Your layout has been removed.
Despite it not playing nicely with well...anything, really, this is still really impressive work overall. Got me excited with the Lunar Magic replacement talk as well.
You are a terrain god. Also, is the tool open source?

This looks like even if it has custom block support, there is a high chance that the map16 change routine needs to be updated, along with any custom blocks that changes it neighboring block also (like my 32x32 ? block pack and key lock blocks.

But man, I think super mario world should've called super mario universe.
Give thanks to RPG hacker for working on Asar.
Everything is open source but I've been changing the code in lvlbuild very fast so the documentation and comments are often not super awesome.

It does currently require Lunar Compress which I don't think is open source, but that's FuSoYa's thing.


Single tile Map16 changes should work if they use $00beb0. idk about how custom map16 routines will turn out. Blocks that change neighboring tiles might need a rewrite or might not need to be touched, depending on how they are written (i would guess that the more "optimized" they are the more likely they'll need a rewrite). Of course, that depends on me getting blocks working, so take it with a grain of salt.
If you get serious about working on that Lunar Magic replacement, I'm sure that there are people here who would be willing to help (me included). You don't have to do it alone.

(And yes, I am still working on converting sprites for use with Daiyousei.)

----------------

I'm working on a hack! Check it out here. Progress: 64/95 levels.