Skip to content

Instantly share code, notes, and snippets.

View Heliodex's full-sized avatar
📉
Programstinating

Lewin Kelly Heliodex

📉
Programstinating
View GitHub Profile
@BitwiseAndrea
BitwiseAndrea / FormService.luau
Last active November 20, 2024 00:30
FormService with multiple labelledBy ids fix 👩🏽‍🔧
local Players = game:GetService("Players")
local TextService = game:GetService("TextService")
local HttpService = game:GetService("HttpService")
local DataStoreService = game:GetService("DataStoreService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FormRemote = Instance.new("RemoteFunction")
FormRemote.Name = "FormRemote"
FormRemote.Parent = ReplicatedStorage
@Heliodex
Heliodex / updateSep24.md
Last active November 11, 2024 06:49
September* 2024 Heliodex projects update

Heliodex project update - September 2024

Hello again. Here's another monthly update to show what I've been working on.

The Heliodex/sprig repository includes a set of tools and the Sprig Shooter game for the Hack Club Sprig game console. While the engine was designed to work with tile-based games, Sprig Shooter is a bitmap-based arcade-style game. Shoot enemies and avoid crashing into them to gain score, and the game gets harder as you progress.

The limited capabilities of the Sprig was a fun challenge to work around, and making bitmap graphics and music alongside custom engine behaviour and collision detection was a great learning experience. I've applied to get my hands on the real hardware, and I can't wait to see how the game runs on it.

@Heliodex
Heliodex / onetoten.fsx
Created September 11, 2024 01:46
Calculates the problem where any three mathematical operators can be inserted at any position in the number 123456789, to equal 100. These programs find six possible solutions.
// F# version, bit of a hack because it relies on luau anyway so just use the luau version, it's faster
// also I'm never writing a mathematics evaluator
open System
open System.Diagnostics
open System.Collections.Generic
// digits one to ten must be in order
// numbers one to ten, with 3 operators placed between them
let sum = 100
@Heliodex
Heliodex / updateJulAug24.md
Last active September 9, 2024 13:40
Double July and August 2024 update by Heliodex

Heliodex project update - July/August 2024

We're doubling up baby! I didn't have time to write a post last month, so this one will cover both July and August.

After ~28 months in development, the highly anticipated open-source release of Mercury Core has finally happened. This is (hopefully) the final form of this several-times-recycled codebase, and will continue to be supported by maintainers and by community contributions for some time. However, we're still considering how releases will work, and whether the main branch should be considered stable for production use.

This first release is intended to be only for highly technical users or programmers, though the README does include instructions for easy configuration with the mercury.core.ts file. We're working on a comprehensive video guide to Mercury Core, which includes setup instructions as well as a full tutorial walkthrough of creating your own fully fledged revival project w

@Heliodex
Heliodex / updateJun24.md
Last active September 9, 2024 13:41
big June 2024 update for projects with Heliodex yeah

Heliodex project update - June 2024

Can't put this one off any longer... you'll see. Here's the update for June, it'll be a long one this time.

The Mercury 2 website has been replaced with a memorandum titled "The Future of Mercury 2". The short and not-sweet gist of it is that we ran into a whole host of effectively insurmountable technical issues regarding communication between the client and DLL hooks, and we didn't have the time, resources, experience, or incentive to solve them. Dare I say this is one of the "great filters" of any Revival project – and we've fallen to it.

We made the decision to close down the Mercury 2 website, services, and branding abruptly (as is taskmanager's forte), specifically to avoid the late-stage burnout and neglect that we've seen in other projects. Instead, we'll be using the time and resources we have left to rebuild and rescope the project by splitting it into multiple component parts. We're honing our focus on the eponymous

--!native
-- uuid
-- function for generating a uuid, based on https://gist.github.com/jrus/3197011
local uuid_format = "%x%x%x%x%x%x%x%x-%x%x%x%x-4%x%x%x-%x%x%x%x-%x%x%x%x%x%x%x%x%x%x%x%x"
local wrap_in_curly_braces_format = "{%*}"
local string_format = string.format
local random_seed = math.randomseed
local random = math.random
-- LOP_BREAK, LOP_COVERAGE and LOP_NOP aren't possible without the C API
-- Vector constants are supported but need to be commented in and need the ctor renamed
-- LOADKX and JUMPX support can be commented out
---------------------------------------------------------------------------------------
-- PREPVARARGS
local a = "hello world"; -- LOADK
a,a,a,a,a,a = nil, true, false, 1, 9e9, function() --[[ RETURN ]] end; -- LOADNIL, LOADB 1, LOADB 0, LOADN 1, LOADK 9e9, DUPCLOSURE (no captures)
FUNC_GLOBAL = newproxy; -- GETIMPORT, SETGLOBAL
local t = { }; -- NEWTABLE 1 1
local function stub() -- NEWCLOSURE (ref, val, ref captures)
@Heliodex
Heliodex / applicationSettings.json
Last active July 12, 2024 22:00
Mercury client, shared, and application settings + a whole bunch of redundant stuff
{
"applicationSettings": {
"AndroidSwipeGestureUseStartingPosition": "True",
"DFFlagAccoutrementWeldingFilteringEnabled": "False",
"DFFlagAdminServerLogs": "True",
"DFFlagAllowPackageLinkAncestoryClone": "True",
"DFFlagAnalyticsNS1BeaconSupportLimitedRobloxUrls": "True",
"DFFlagAnalyticsReportHttpStatsAtExit": "True",
"DFFlagAnimatorEnableBone_PlaceFilter": "True;5326950832;5100919959;5064251723;5716845078;5588662702;5550062757;5762960116;5792232897;5796518985;5796546949;5796554295;5790039516;5646917919;5947859215",
"DFFlagAnimatorOnSteppedKeepAlive": "True",
@Heliodex
Heliodex / RCCService.go
Created June 22, 2024 21:58
Mercury RCCService proxy
// "GO?
// WHY THE FUCK
// IS THIS IN GO?
// ARE YOU STUPID
// ???"
// - taskmanager, 9 January 2024
// cope harder
// don't forget da .env
-- Licensed under the MIT License, Copyright (c) 2024 jack.ink
local function resume_with_error_check(thread: thread, ...: any): ()
local success, message = coroutine.resume(thread, ...)
if not success then
print(string.char(27) .. "[31m" .. message)
end
end