Skip to content

Instantly share code, notes, and snippets.

View Heliodex's full-sized avatar
📉
Programstinating

Lewin Kelly Heliodex

📉
Programstinating
View GitHub Profile
@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
@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",
-- 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)
--!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
@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

@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 / 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 / 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.

@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 / updateOct24.md
Created November 13, 2024 00:13
actual October 2024 update

Heliodex project update – October 2024

Eh. Welcome back, fellow monthly update viewer! Here's the October one.

litecode is a bytecode interpreter for Luau, modelled after Fiu. It's semi-functional at the moment, though handles a lot of stuff I've thrown at it. Building it ended up being a huge pain learning experience (even though it was still way easier than attempting to embed Luau itself).

Implementing this has given me loads of insight into how Luau works, and interest about what I can use it for as well. It's also given me some crazy ideas like "hey, what if metatables were bad?" and "what if I made tables index starting at 0?" and "what if I made if-conditions only work with booleans?" and so on. I'll see if I can keep those out of my head or if I'll power trip and let them stay there.