Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - boaromayo

QuoteFor selecting colors I just sweep through the color selector in roughly a kinda y=-2^x shape, with a bit of hue shifting towards cooler or warmer colors for shadows/highlights.

Sort of like this curve, Max?

Resources for Modern CMake

Below are some resources for creating a CMake build file, if anyone wants to dabble in this sort of work:

Special thanks to hhromic for finding these resources!
General discussion / Other Relevant Awesome Lists
April 14, 2020, 03:47:58 PM
Other Relevant Awesome Lists

Taken from the Awesome Solarus repo, here are several lists in any case anyone needs to look for resources to improve the Solarus game engine, or to add to the API of Solarus, or for help in quest development:
  • Awesome Lua - You can use any Lua library to expand Solarus' own Lua API.
  • Awesome C++ - If you want to contribute to the engine development, this might interest you.
  • Awesome Qt - The Solarus Quest Editor and Solarus Launcher apps are made with the Qt Framework.
  • Awesome Game Development - Lots of tools to help you developing your Solarus quest.
General discussion / Shader Master Resource List
November 06, 2019, 01:27:37 PM
Shader Master Resource List

The Book of Shaders (thanks to Phoenix for this link)

A Beginner's Guide to Coding Shaders (Part 1, Part 2, Part 3)

I'll probably expand the list if I find others. Anyone who's found other tutorials for shaders can post below.
I think he's one of the "big names" in the RPGM community? I'm not sure, since I haven't been around in those forums for a while.
Nice to meet you too, and welcome to the Solarus forums!

I have an account at too, and I'm glad there's more people from the RPG Maker community who know about Solarus!
Development / Re: Glitchy Text In Menu
April 27, 2019, 06:40:28 AM
I managed to finally fix that bug!

I took @llamazing's advice and took out all the set_text_key() calls in each of the drawing methods, and placed them in initialization methods.

It turns out that every time the set_text_key() was called in the loop, the text gets drawn next. In turn, the loop would repeat, and would result in that glitch.

Thank you again for the help!
Development / Re: Glitchy Text In Menu
April 26, 2019, 05:07:34 PM
So, I used drawable:draw_region() in place of drawable:draw(), and put the region widths for the glitchy text more than the texts' widths, but the texts are still glitchy when I played the game in 1.6.

I noticed that the text glitching is apparent when the game fades in to the menu.

I'm still thinking the text glitches might be an issue with the engine itself, but I'm not so sure.
Development / Re: Glitchy Text In Menu
April 25, 2019, 04:48:24 PM
Thanks for the help and quick response!

When drawing the menu text out, I did not use drawable:draw_region(). I used drawable:draw() instead. Also, I used text surfaces instead of surfaces.

Plus, the font I'm using is a bitmap font.

Here's a sample of my code that prints out the menu and the options:

-- Sample code printing out text for the menu.
function demo_screen:load_resources()

  -- Code here...

  self.menu_text = sol.text_surface.create({
      font = font

  -- More code here...

-- Drawing function for main demo.
-- This function is a sub-function for the main drawing function.
function demo_screen:on_draw_main_demo()

  -- Text for select title.
    box_width / 2 - 24, self.box_position.y + 24)

  -- Text for choices.
  for i = 1, #self.choices-1 do
    self.menu_text:draw(self.surface, self.box_position.x + 24, (i-1) * 24 + 100)

  -- More code here...

-- Main drawing function.
function demo_screen:on_draw(screen)

  -- Code here...

  local width, height = screen:get_size()
  self.surface:draw(screen, width / 2 - 160, height / 2 - 120)

I'll see if using drawable:draw_region() works.
Development / Glitchy Text In Menu
April 25, 2019, 02:32:20 PM
Hey everyone, there's something I spotted while play-testing my game on the 1.6 Solarus launcher.

The main menu screen (seen here) looks glitchy. Also, the text there was drawn in the wrong place, or squished up together. Was it because of the font I'm using, or was it because of an issue in the game engine itself?

Also, these two errors popped up in the 1.6 version:

Error: Invalid tile pattern '169: a tile pattern with a diagonal wall must be square
Error: Invalid tile pattern '171: a tile pattern with a diagonal wall must be square

Note when I play-tested the game on the 1.5 version, no problems came up.

Could those errors be related to the glitches in the menu?
Your scripts / Custom delay for dialogs
March 06, 2019, 02:22:36 PM
This feature took two and a half hours of programming and testing last night to get this right, but here it is!

I made some modifications to the dialog_box.lua script in the Solarus 1.6 sample quest. For this script add-on, the dialog can pause for any amount of time instead of using the default dialog box script, which only allows for a 1-second delay.

To get this working, use the '$' character, along with the '|' (pipe) character, then in between brackets, set the amount of time (in milliseconds) the dialog is paused, like so:

$|[sec]: the delay in milliseconds (Don't forget the '|' character!)

Sample dialog here:

  id = "beavers.eater.1",
  text = [[
$|\[500\].$|\[1000\].$|\[1000\].$|\[1000\]I was hungry.

Note: When editing the dialogs.dat file directly, you will have to type a backslash before putting in the brackets. When handling it in the editor, it's not needed.

Here is the script in action:

The modified dialog box.lua script is attached below (script is under the GNU GPL v3 license, script author by Christopho, special thanks to him!).
Bugs & Feature requests / Re: Cutscene builder bug
February 20, 2019, 10:28:35 PM
I managed to do a workaround using the cutscene builder, and the cutscene worked smoothly.

Thanks for the help anyway!
Bugs & Feature requests / Re: Cutscene builder bug
February 20, 2019, 02:47:35 PM
Hey, gregwar, thanks for the quick response!

I found the cutscene builder in this forum post here. It's been so helpful in putting my scenes together!

Also, thanks for the coroutine helper script!

Looks like I'm going to have to do rewrites now that that script is no longer going to be updated...

EDIT: Btw, can the coroutine helper be expanded to have more features, such as freezing or unfreezing the hero, or having the camera move to a certain location on the map? Plus, does this script only work on Solarus 1.6?
Bugs & Feature requests / Cutscene builder bug
February 20, 2019, 01:04:06 PM
I'm using std::gregwar's cutscene builder for my game, and for some reason, this error pops up whenever .hero_start_treasure() is called:

QuoteError: In timer callback: [string "scripts/maps/cutscene.lua"]:252: bad argument #2 to start_treasure (integer expected, got function))

I tried using different arguments to call that function, but that same error prompt still pops up.

Here's snippets of my cutscene code:

function map:cutscene()
    -- Some other code here...
        type = "target",
        entity = hero,
        properties = {
          speed = 80,
          target = {124,200},
          smooth = true,
          ignore_obstacles = true
    .hero_start_treasure("prison_key", 1, "prison_key_get") -- This is where an error is triggered.
    .exec(game:set_value("main_story", 2))
    -- More code below...

Could this be a bug in the cutscene builder?
Her paper on Zelda dungeon generation was how I found out about Solarus.

Special thanks to her!