# Can someone help me to make a makecode extension?

**URL:** <https://forum.makecode.com/t/can-someone-help-me-to-make-a-makecode-extension/36584>\
**Category:** Help\
**Tags:** graphics-and-math, extension\
**Created:** [May 11, 2025, 6:51pm UTC](https://forum.makecode.com/t/can-someone-help-me-to-make-a-makecode-extension/36584 "2025-05-11T18:51:01Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Marlio](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/marlio/32/21270_2.png) [@Marlio](https://forum.makecode.com/u/Marlio)\
**Post date:** [May 11, 2025, 6:51pm UTC](https://forum.makecode.com/t/can-someone-help-me-to-make-a-makecode-extension/36584/1 "2025-05-11T18:51:01Z")

</div>

Is there anyone out there who can help me and is willing to help me by making an extension? It isn’t for any project in particular, but this would be generally helpful.

My idea for the extension is an extension that lets you scale images _seperate_ from a sprite. I know that there’s already an extension that lets you scale images, but what I’m asking for is one that does the same style of scaling as the built-in sprite scaling, where it lets you scale each dimension to any size you want, whether or not you aren’t scaling it by an integer. Also, it should be pixelated when enlarged, mostly so that it hopefully isn’t _too_ heavy on the emulator or hardware. These blocks can either be an inline block in which it snaps right into the script and goes alongside all the other scripts, or it could be a reporter in which it will return a modified version of the original image.

Basically, what I’m asking for is an extension that makes it so that you can scale any image, whether or not it’s on a sprite, and scale it to any size you want, regardless of if it is a different aspect ratio (ratio between height and width, in case you didn’t know). Can anyone help me with this?

---

<div class="post-metadata">

**Author:** ![WoofWoof](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/woofwoof/32/32523_2.png) [@WoofWoof](https://forum.makecode.com/u/WoofWoof)\
**Post date:** [May 12, 2025, 2:43am UTC](https://forum.makecode.com/t/can-someone-help-me-to-make-a-makecode-extension/36584/2 "2025-05-12T02:43:41Z")

</div>

I have two replies pending, so since I’m writing the third one I’m gonna delete those two pending ones and put them here…

1. I could probably just expose the built in sprite scaling as blocks, right? I don’t think it would be too hard. Let me find the actual code in the Explorer before I make any promises though

2. The built in sprite scaling is just the “blit” function, so there’s probably already an extension out there that exposes it. I am making one myself now because it’s so easy! Should be out by the end of the day.

And yeah, it’s done. `WoofWoofCodes/pxt-image-scaling`  
There are two blocks added to the Images tab, and here is a small example project:

> **[testing my own extension](https://arcade.makecode.com/S90097-13882-31039-63762)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

Also yeah `Riknoll/arcade-advanced-blocks` is an extension that adds Blit too, but I figured that out a bit late into making the extension lol

---

<div class="post-metadata">

**Author:** ![Marlio](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/marlio/32/21270_2.png) [@Marlio](https://forum.makecode.com/u/Marlio)\
**Post date:** [May 12, 2025, 8:23pm UTC](https://forum.makecode.com/t/can-someone-help-me-to-make-a-makecode-extension/36584/3 "2025-05-12T20:23:07Z")

</div>

Another thing, could there possibly be an extension made that mimics the SNES _Mode-7_? Here’s a link to an article talking about it, in case you don’t know what it is:

> **[Mode 7](https://en.wikipedia.org/wiki/Mode_7)**
>
> Mode 7 is a graphics mode on the Super Nintendo Entertainment System video game console that allows a background layer to be rotated and scaled on a scanline-by-scanline basis to create many different depth effects. It also supports wrapping effects such as translation and reflection.
> The most famous of these effects is the application of a perspective effect on a background layer by scaling and rotating the background layer in this manner. This transforms the background layer into a two-dimensi...

I’m only asking so that there can be come sort of Super Mario Kart clone for Makecode, or something along the lines of that.

---

<div class="post-metadata">

**Author:** ![Marlio](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/marlio/32/21270_2.png) [@Marlio](https://forum.makecode.com/u/Marlio)\
**Post date:** [May 12, 2025, 8:24pm UTC](https://forum.makecode.com/t/can-someone-help-me-to-make-a-makecode-extension/36584/4 "2025-05-12T20:24:37Z")

</div>

Thanks! This will certainly come in handy!

---

<div class="post-metadata">

**Author:** ![Marlio](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/marlio/32/21270_2.png) [@Marlio](https://forum.makecode.com/u/Marlio)\
**Post date:** [May 13, 2025, 9:59pm UTC](https://forum.makecode.com/t/can-someone-help-me-to-make-a-makecode-extension/36584/5 "2025-05-13T21:59:15Z")

</div>

Also, could there be an extension that modifies the image block handlers to make it so that the out-of-bounds “colors” can be accessed in an easier method? This would help out a lot with changing all colors on the screen, because better access lets you shuffle all the colors out of the palette and then back in, in a different order.  
  
PS, the out-of-bounds colors actually appear as transparent but actually render as if it were a solid color, so they can also be useful to squeeze out an extra color, even if it’s just black.

---

<div class="post-metadata">

**Author:** ![WoofWoof](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/woofwoof/32/32523_2.png) [@WoofWoof](https://forum.makecode.com/u/WoofWoof)\
**Post date:** [May 16, 2025, 7:27pm UTC](https://forum.makecode.com/t/can-someone-help-me-to-make-a-makecode-extension/36584/6 "2025-05-16T19:27:22Z")

</div>

Huh?? Wdym? Ae you talking about, like, setting a color in an image to be, say, “23”? Cause I believe that is not possible. Each number in an image is stored in 4 byes of space, so larger numbers are sort of truncated before stored. Is that what you mean by out of bounds colors?

---

<div class="post-metadata">

**Author:** ![Marlio](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/marlio/32/21270_2.png) [@Marlio](https://forum.makecode.com/u/Marlio)\
**Post date:** [May 19, 2025, 1:47am UTC](https://forum.makecode.com/t/can-someone-help-me-to-make-a-makecode-extension/36584/7 "2025-05-19T01:47:54Z")

</div>

I had noticed at one point that if you try to set the color to a value greater than 15, it’ll set it to a transparent color that will override whatever pixel is behind it to transparent. If you want to see an example, here’s a project that I had made a while back when I had discovered it:

> **[Extra Color](https://arcade.makecode.com/S48867-57051-90659-41723)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

You will have to look inside to see how it sets it to the invalid color, showing the empty black.

---

<div class="post-metadata">

**Author:** ![Marlio](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/marlio/32/21270_2.png) [@Marlio](https://forum.makecode.com/u/Marlio)\
**Post date:** [May 31, 2025, 1:57pm UTC](https://forum.makecode.com/t/can-someone-help-me-to-make-a-makecode-extension/36584/8 "2025-05-31T13:57:03Z")

</div>

Hey, could you possibly try to modify `Riknoll/arcade-advanced-blocks` to make a way to run code _while_ you’re in the pause menu? Also, if you do that, could you also possibly make it so that you can make sure that you are running code for _ **specifically** _ the pause menu and _not_ just _any_ screen that pauses the code? I’m thinking that you could possibly make it detect this by somehow detecting whether or not it is loading/running the pause screen scene, and then running the code if and only if it _is_ the pause screen. Also, the second one can be done either _just_ for the already made blocks, or it could be made for _both_ the premade loading/unloading _and_ the one that runs while you are on the pause screen (or other pausing screens).

---

<div class="post-metadata">

**Author:** ![WoofWoof](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/woofwoof/32/32523_2.png) [@WoofWoof](https://forum.makecode.com/u/WoofWoof)\
**Post date:** [May 31, 2025, 5:27pm UTC](https://forum.makecode.com/t/can-someone-help-me-to-make-a-makecode-extension/36584/9 "2025-05-31T17:27:42Z")

</div>

I think you just need to think with portals:

> **[thinking with portals](https://arcade.makecode.com/S50951-77477-77377-59054)**
>
> Made with ❤️ in Microsoft MakeCode Arcade.

(Made this using `WoofWoofCodes/pxt-javascript-extras` so idk if you can do this with Richar’s extension. If not, just use mine at the same time!)
