Skip to content

Instantly share code, notes, and snippets.

View bearlikelion's full-sized avatar

Mark bearlikelion

View GitHub Profile
@bearlikelion
bearlikelion / remove-script.patch
Last active May 17, 2025 05:20
Ignore godot's --script command line argument
diff --git a/main/main.cpp b/main/main.cpp
index 1c7955f089..8a37d67eb7 100644
--- a/main/main.cpp
+++ b/main/main.cpp
@@ -3700,7 +3700,8 @@ int Main::start() {
else if (E->next()) {
bool parsed_pair = true;
if (E->get() == "-s" || E->get() == "--script") {
- script = E->next()->get();
+ script = "";
@bearlikelion
bearlikelion / hack.gd
Created May 17, 2025 03:39
Example injectible hack for Godot using --script
extends SceneTree
func _initialize():
print("You've been hacked")
import bpy
from collections import defaultdict
def get_texture_image(obj):
"""Returns the image texture of the first image node in the first material."""
if not obj.data.materials:
return None
mat = obj.data.materials[0]
if mat and mat.use_nodes:
for node in mat.node_tree.nodes:
@bearlikelion
bearlikelion / voip.gd
Last active May 3, 2025 05:27
SurfsUp Voip.gd
class_name Voice
extends Node
const VOIP = preload("res://Scenes/Player/voip.tscn")
const REF_SAMPLE_RATE : int = 44100
@export var use_loopback: bool = false
var current_sample_rate: int = 48000
var local_playback: AudioStreamGeneratorPlayback = null
@bearlikelion
bearlikelion / Weapon.gd
Created January 20, 2025 20:00
SurvivalScape's Enemy Targeting Code
func target_enemy() -> void:
Player.target_enemy = null
var enemies_in_range : Array[Area2D] = get_overlapping_areas()
if enemies_in_range.size() > 0:
enemies_in_range = enemies_in_range.slice(0, 100)
can_fire = true
for enemy : Node2D in enemies_in_range:
# Always target boss if in range
if enemy.is_in_group("boss"):
@bearlikelion
bearlikelion / captain-definition
Created January 9, 2025 16:24
Caprover static site deployment, looks for index.html in apache php 8.2
{
"schemaVersion": 2,
"templateId": "php/8.2.27"
}
@bearlikelion
bearlikelion / audio_manager.gd
Last active May 16, 2025 06:42
Godot Audio Manager Singleton
extends Node
enum Pitch {UP, DOWN, NONE, RANDOM}
var num_players: int = 8
var bus: String = "SFX"
var available: Array = [] # The available players.
var queue: Array = [] # The queue of sounds to play.
shader_type canvas_item;
uniform sampler2D noise_texture: repeat_enable, filter_nearest;
uniform sampler2D screen_texture: hint_screen_texture, repeat_disable, filter_nearest;
uniform vec2 position = vec2(0,0);
uniform float move_x = 1.0;
uniform float move_y = 1.0;
void vertex() {
// Called for every vertex the material is visible on.
}
@bearlikelion
bearlikelion / Log.gd
Last active February 11, 2025 18:51
Godot debug screen console autoload
extends Node
var debug: bool = OS.has_feature("debug")
@onready var panel: Panel = Panel.new()
@onready var canvas_layer: CanvasLayer = CanvasLayer.new()
@onready var rich_text_label: RichTextLabel = RichTextLabel.new()
# @onready var theme: Theme = load("res://SurvivalScape.theme") # Your custom theme file
func _ready() -> void:
@bearlikelion
bearlikelion / ServerVoipSettings.json
Created May 22, 2022 00:11
ServerVoipSettings.json
{
"VOIPEnabled": true,
"VOIPIssuer": "",
"VOIPSecret": "",
"VOIPAppUserId": "",
"VOIPAppUserPwd": "",
"VOIPVivoxDomain": "",
"VOIPAPIEndpoint": "",
"VOIPConversationalDistance": 14,
"VOIPAudibleDistance": 40,