Minish Cap Maps in Solarus

Started by Dianthus, July 10, 2021, 03:52:30 PM

Previous topic - Next topic

In this archive, I have MC resources, most from the original game. It might help you in the process.

https://www.dropbox.com/s/0utzkxsbzrzj029/MC%20Resources.rar?dl=0

Thx I am gonna try looking it through :)

Just a quick warning: big maps can not have more than 65534 elements (tiles and entities) on it (+the base properties, that makes 65535) due to Lua interpreting each entry as a constant (someone had the case on Discord and i had to spit the files into two smaller parts for him to be able to open them again). So be careful, make regular backups (and prefer making muliple smaller maps while still possible).

Otherwise, good luck with your repro, can't wait to see the final result!

August 04, 2021, 07:37:32 PM #19 Last Edit: August 04, 2021, 08:22:01 PM by brlmnd
It was me PhoenixII54, do you think the editor will be updated in the next release? To support more elements.

August 05, 2021, 08:27:22 AM #20 Last Edit: August 05, 2021, 11:20:44 AM by Dianthus
Making regular backups sound like a good idea. I doubt i will get close to that limit though. Minish Cap maps arent that huge! :)

Hyrule Field
2208/16=138 blocks
2448/16=153 blocks

153*138=21114 blocks

I need to place a few hundred destructibles too. But I still far under that 65534 limit  :D

Btw. I got some bugged out texture in the Castor Wild tileset. Am i the only who having this problem? :/



The max number of loadable map elements is purely Lua interpreter limit (confirmed by running the big map through Zerobrane), so unless the team writes a manual map loader from scratch (which is unlikely, as there is not a large demand as the time of writing, bsically there are only you and Adrian, as well as the one who wanted to remake Zelda II, though i can't remember how he manages the map(s?), who make "mega maps" ), or Lua gets more constants memory size in its VM (again, unlikely i fear), you'll have to take that hard limit in account.

That said, in your case, the overworld map of Minish cap is small enough to not be an issue, if i refer to your stats, especially since you will have many tiles larger than just 16*16, which inherently reduces the elts count, so... go! Go! GOOOOOO!

Hi guys.. I am new to coding. I want to add a feature for fullscreen by clicking F11. Its currently not present in Minish Cap Resource Pack. How do i add it in the Lua script? I was looking for the code for it in children of solarus, but cant find it.


I think Children of Solarus handles that in the main.lua:


-- Event called when the player pressed a keyboard key.
function sol.main:on_key_pressed(key, modifiers)

  local handled = false
  if key == "f5" then
    -- F5: change the video mode.
    sol.video.switch_mode()
    handled = true
  elseif key == "f11" or
    (key == "return" and (modifiers.alt or modifiers.control)) then
    -- F11 or Ctrl + return or Alt + Return: switch fullscreen.
    sol.video.set_fullscreen(not sol.video.is_fullscreen())
    handled = true
  elseif key == "f4" and modifiers.alt then
    -- Alt + F4: stop the program.
    sol.main.exit()
    handled = true
  elseif key == "escape" and sol.main.game == nil then
    -- Escape in title screens: stop the program.
    sol.main.exit()
    handled = true
  end

  return handled
end


The specific bit is (edited a little bit to simplify):

if key == "f11" then
  sol.video.set_fullscreen(not sol.video.is_fullscreen())
end


Basically, this code defines a function called sol.main.on_key_pressed(x). This is a special function- the engine will call this whenever a keyboard key is pressed, and the engine will pass an argument of which key that was (the function I just wrote has the "x" in the parenthesis, that's a variable which will store the key the engine passes along.) I don't know your familiarity with coding, so this might be overexplaining, but.

So then the code has a conditional: if (something) then (do something else) end
So if x == "f11" (as in, if the argument the engine passed, the key pressed, is the f11 key)
then toggle fullscreen.


By the way, just 'cause I noticed nobody had answered you for like 4 days, if you aren't aware of the Solarus discord server, that's a lot more active than the forums. You'll likely get quicker responses there : )

August 19, 2021, 04:17:19 AM #24 Last Edit: August 19, 2021, 04:29:44 AM by Max
Oops, sorry to double post, I'm just going through all the unanswered posts on the forum backwards and didn't realize the question about the " bugged out texture in the Castor Wild tileset" was the same topic hahaha

The tilesets in this pack look entirely unfinished and kind unusable in their current state. It looks like someone just overlaid a 16x16 grid, and made everything traversable. There's also tons of "tiles" over the transparent, unused parts of the png. I guess if you're using this though, you probably deleted the tilesets and redid them from the source .png file though?

But if you're asking about the pink, I have a guess for what that is. Because that's the exact shade of pink that everyone used to use back in the RPG Maker 2000 days hahahaha.
Back in those days, RPG Maker didn't read transparency in files. So you'd choose one color to be the "transparent" color, and RPG Maker would treat and tiles that contained that color as if that color was transparent. So you'd need to choose a color that wasn't contained anywhere in the actual tiles, because if you used like white for example, any tiles that were white (snow, highlights, etc) would have "holes" where the white was. Or if you used a shade of green, you'd risk parts of your trees going transparent or something. It might have also been limited to 256 colors? Can't remember. But anyway, basically everyone settled on that shade of pink to be used as the transparent color, since it's basically never used in actual tiles. I'm guessing that was carried on out of habit and used as a placeholder for transparency.

But then looking closer, there's all kinds of weird stuff going on. Some of the tiles have like, a pink overlay, or there's some places where water tiles look to have turned grey somehow. So I think in addition to using the pink for a placeholder, there was also some recoloring mistakes. The tilesets also look like they have a bunch of garbage tiles that were leftover from ripping the graphics from the GBA cart. Like all those little boxes in the Hyrule Town tileset. So these were never cleaned up from the initial ripped graphics, and there could have been some problems during that process that corrupted some of the tiles as well.

TL;DR, I'm guessing that the pink in the tileset was used as a placeholder for transparency, or was left from old Minish Cap rips and wasn't removed. And then it looks like when the tiles were ripped it didn't work perfectly, or there were some mistakes when recoloring. But I don't know how you're using these tilesets anyway because as they are in the repo I just downloaded, they totally need to be redone.

Side note, if you are redoing these or want to and could use help, hit me up. Preferably on the discord server so I'll actually see it haha

August 21, 2021, 01:14:58 PM #25 Last Edit: August 21, 2021, 04:25:32 PM by Dianthus
Sry for long response back Max. You wrote alot so i struggled with what to do respond.

No I have not made any new tilesets i just worked directly from what i downloaded and began editting the tiles and added missing ones if neeeded. I hope that is not a problem, i am soon done with hyrule fields and hope i dont want to start over   :o

Thx for the code for fullscreen. I didnt even know that could be in the main file. I havent looked there at all.

I need help though with getting the water animation to work i have no idea how it works based on the tiles in the resourse pack. I can probably fix the pink stuff myself, i can find the tiles through other .png files online and fix it gradually. Interesting reason why its pink, i thought it was just a glitch of some sort  :)

The project have changed abit though. I decided to do a Minish Cap DX project instead, where i add two need dungeons to the game and new areas. Basically i add new areas south of the map.

Here is some of the new areas on the map down south of hyrule:


To the left i add a desert area and dungeon, and down the river i add a waterfall and water dungeon.

So its a much larger project now consisting of remaking old areas and adding new stuff, though i got time. I am using tiles from four swords and hopefully i can get permission from KingMob to use some of his unique tiles and the Echoes of Aurelia guys. This is intended to be my large project i can work in the next 5+ years in the community  :P.

The new stuff looks good! I'm glad you're already planning a 5+ year timeframe, since this is a very big project indeed : )

So I mean, I certainly won't make you start over and use different tilesets haha, but the "tilesets" in the Minish Cap resource pack were totally unfinished, and I'm guessing they were not meant to be used until someone deleted the "tiles" that were present and made new ones. But if you've made changes and consider them usable to your standards, then go ahead! However, I will say that if the tilesets were set up properly, I would not expect it to take very long to re-create Minish Cap's Hyrule Field. Maybe a couple weeks if you just spend a few evenings on the project?


With the tilesets as they are, I do not see any way to get the water to animate. For one thing, I can't tell if there even are animation frames in these tilesets. Second, to have animated tiles in Solarus tilesets, each frame of the animation needs to be adjacent to the other frames.

For example, in the attached image, the frames for the cliff are next to each other vertically, that's how the animation is laid out. The little wave is animated horizontally.

If you can find all the frames of animation for Minish Cap water, then you'll have to arrange them in rows or columns like this, then set up the animations. You'll have to find all the animation frames yourself (I don't think they're all in the "tilesets" in the resource pack), then arrange them properly, then set up the animations in the tileset editor.


Good luck reaching King Mob! I don't think anyone's ever been able to. As a side note, I don't think we should have his tiles in the tileset, as they're not really the same as using Nintendo tiles, it's weird for Solarus to be providing them on their website (I don't think it was done intentionally).

August 21, 2021, 04:51:27 PM #27 Last Edit: August 21, 2021, 09:08:03 PM by Dianthus
Ups, yeah i didnt mean to upload that house tile from KingMob, i was testing stuff on how to do layers and walls on houses. I didnt see I forgot it in the hyrule field tileset. I just tried to remove it, but my pull request dont seem to work now? I cant upload new files  ???

The tiles seemed somewhat useable, but yeah i can see the water animations are totally broken. Gonna try to figure out how it all matches up together, though i cant find anything that resemples an order. Lots of tiles are also missing in the hyrule town all the scultures on top of house where not there.

Hi guys. Just wanted to post that i am still around and working on the project. I just dont post that often. I am trying to finish minish woods. Still no idea how to do the water. Cant figure out the animations.


Looks really cool! Nice work : )

Most people don't post here that often haha, so you're in good company. Almost all Solarus activity is on the discord. Although there's probably some usefulness to having forums, since they work as searchable archives of scripts and stuff that are posted.

I don't think you'll be able to use the tilesets for animated water, if they still are like they were when I last looked at them. You'll probably need to set up new water yourself. Maybe check the Spriter's Resource for tiles? Something I've done at times is looked at Youtube videos of Minish Cap, paused them, and stepped through from by frame (usng the < and > keys) to check each frame of an animation. Maybe you can recreate Minish Cap's tiles that way. Good luck!