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.

Messages - YoshiMario2000

Pages: [1] 2 3 ... 5
General discussion / Re: An example of the Engine.
« on: July 29, 2017, 03:41:44 am »
Very nice :) Do you plan on making a fully-functional engine using LttP-like items?
Eventually, once I can pull myself away from other projects and look back at this one.

Here is a link to the data files;
Although be warned, its in a very clearly development test stage and should be treated as such.

Although the video is a far earlier build of what I currently have, I haven't really touched much of the data in the past few months. (Primarily because I got myself messing about with team fortress 2 and the hammer world editor.)

Development / Re: How does the overworld map menu work?
« on: July 16, 2017, 06:35:32 am »
When drawing out a map, at least for me, I use a base of 16 by 16, and cut said tiles in half for 8 by 8. This will mach up nicely with the tiles of one's map.
So, a 320 by 240 map will have a base 16 grid of 20 by 15.

Development / Re: Item command held on item?
« on: June 19, 2017, 07:09:01 pm »
What you'll probably want to do is create a timer (or a set of timers) that count for how long you want the difference of time between the instances of charge.

So doing something like this:
Code: Lua
  1. -- At beinging of code
  2. local timer = nil
  4. --  Code before timers
  5. local function start_timer()
  6.   timer = sol.timer.start(item, 1000, function()
  7.     --code relating to when timer reaches max time
  8.   end) -- This timer lasts 1 sec and belongs to "context" item if defined. To increase the time, change the 2nd value to desired time in milliseconds.
  10. end
  12. local function end_timer()
  13.   local time_remaining = timer:get_remaining_time()
  14.   --code relating to translating time into charge
  15.   --I.E. Total charge value / (time_remaining * -1)
  16.   --return charge_strength
  17. end

See for more details relating to timers.

For checking if the item is being held down, I would look to these sets of events:

Development / blend modes
« on: March 13, 2017, 02:23:49 am »
So I was working on a new light_manager script for my quest, but I've run into an issue with (what I think is) an engine limitation.
I'm trying to get it so that one surface applies to another while inverting it's alpha channel content (Opaque becomes transparent and transparent becomes Opaque). I'd write an algorithm myself in lua, but It would seem (Unless I'm missing something), that this is impossible for the moment.

Development / Re: Count how many file exists with a certain prefix ?
« on: March 12, 2017, 10:35:00 pm »
Well, my advice is to only load the visible files in the menu when required to show them (i.e. a scrolling menu where only three are shown at a time.), store the variable that you need into a list with in a list (arrays work too). This should spread out the load time to when the user attempts to access the other files additional files. Also, you should probably make it so that it sorts by most recently saved. Most users are not going to touch their old saves unless they want to show off their progress or just mess with it.

You could also attempt to use
Code: Lua
  1. local game_var = require("path/to/save/data.dat")

But don't know if that will work.

General discussion / An example of the Engine.
« on: March 11, 2017, 11:57:40 pm »
So I decided to do a test of the engine. Here are the results.

The asssets (referring to graphics and music) used in this are ffomega's Hyrule map pack, some custom made sprites, some edits of sprites from alttp, and the remainder are just from ZSDX.

Code is mostly custom made but is based off the code from ZSDX and zelda ROTH SE.

Game art & music / Re: Requesting
« on: March 11, 2017, 04:36:23 pm »
Try searching here if you want minish cap tiles,
Great site for finding sprites and tiles of different games.

Also, house tiles can be found in ffomega's Full Hyrule tileset, which can be found at,881.0.html

Also, since the topic of errors has been brought up again, I would like to point out this tileset error in all of the dungeon tilesets.
Which should look like,
The red circle highlighting the issue. The outer corner lower cave walls use the incorrect tiling from the walls. (using the middle tile layer instead of the bottom.)

Development / Re: Separator_on_activated direction4
« on: February 14, 2017, 11:44:45 pm »
Like Diarandor said, direction4 is a variable, here is how to use it. (This was typed before Diarandor's post had appeared.)

The function of separators "on_activated(direction4)" The information in the brackets are defined when they are called and should be stored in a variable like so:
Code: Lua
  1. function generic_separator:on_activated(direction4)
  2.   if direction4 == 3 then
  3.   -- Your code here
  4.   end
  5. end
The reason this works is because when the engine calls this function, it stores the argument that you may need for a script in the variable.

However, one cannot have what they want the call back to be done like so,
Code: Lua
  1. function generic_separator:on_activated(3)
  2.   --Your code here
  3. end
This does not work as putting the number three in the variable slot will produce an error as that slot is not for defining what you want that information to be, but rather for a variable that may change.

Game art & music / Re: Game Over animation
« on: February 02, 2017, 11:18:58 pm »
The animation has an almost Castlevania vibe to it. Still see the potential for usage though.

General discussion / Re: Pictures in posts
« on: January 28, 2017, 02:54:55 am »
To have an image visible while browsing the forums without being logged-in require you to upload the image to another site (e.g. imgur) and posting the image link on the forums.
Like so;
Code: [Select]
[img][/img] produces this ->

Development / Re: Custom entity and associate sprite : strange offset
« on: January 28, 2017, 12:03:41 am »
Try setting the origin of the sprite to (8, 13).

The reason this happens is due to the fact that the engine hard codes rendering the sprite of a custom entity by rendering the origin of the image 8 pixels right and 13 pixels down from the top left corner of the entity instead of rendering at the center or rendering the sprite center horizontally and subtraction 3 pixels from the total entity size.

Development / Re: How to specify custom attack sprite
« on: December 29, 2016, 06:37:11 pm »
Try using the sprite value that is given in the function.
enemy:on_custom_attack_received(attack, sprite)

Called when this enemy receives an attack with a custom effect.

This function is called if you have set consequence of the attack to "custom". You have to define what happens, for example hurting the enemy, making a special reaction, etc.

attack (string): The attack that was received: "sword", "thrown_item", "explosion", "arrow", "hookshot", "boomerang" or "fire".
sprite (sprite): The sprite of this enemy that receives the attack, or nil if the attack does not come from a pixel-precise collision.

So to run the function I would do,
Code: Lua
  1. function enemy:on_custom_attack_received(attack, sprite)
  2.   if attack == "thrown_item"
  3.     and sprite:get_animation_set() == "entities/boss3block" then
  4.     enemy:hurt(1)
  5.     enemy:remove_life(1)
  6.   end
  7. end

Development / Re: Pickable Item with No Shadow
« on: December 25, 2016, 12:31:16 am »
Try this:
Code: Lua
  1. item:set_shadow(nil)
nil is a non-existent value and that is what the engine is searching for in this method. It should work as I just ran a quick test in a quest that I'm building from scratch.

Your scripts / Re: [UPDATE 1.1] Dash Required Blockade
« on: November 01, 2016, 10:53:15 pm »
Could you maybe show us an example or maybe how to implement it?
The way that I had implemented the script was by putting it into the entities folder. I guess I never explained how to set it up properly.

If you can I'd love to add this file to my Full Hyrule entities pack, which includes 8 different dash rock types to use.
There are few edits I would make when using your entities pack. In order for your rocks in the pack to look correct, the origin for the animations needs to be adjusted a bit. Specifically, an origin of x = 16, y = 13. The destroy animation has to have it's own origin of x = 16 and y = 21 to look correct when using this script as of solarus 1.5.0.

Also, if there is a way, could this script be modified to be a "Left Level Required" blockade like the large rocks in LttP?
Yes, this should be simple to implement. Just a few additional lines of code to add a check for that are necessary for the script, and another function to preform in the Lua file of the map that the entity is on.

I'll start working on the improvement right away.

Pages: [1] 2 3 ... 5