Complete guide to running World of Warcraft 3.3.5a (Wrath of the Lich King) on Linux for private servers.
Warmane Client (~15 GB): Official Download
Alternative: Any 3.3.5a (12340) client works.
Complete guide to running World of Warcraft 3.3.5a (Wrath of the Lich King) on Linux for private servers.
Warmane Client (~15 GB): Official Download
Alternative: Any 3.3.5a (12340) client works.
| #!/bin/bash | |
| # Simplified script for downloading and setting up keys and firmware for Citron emulator only | |
| set -e # Exit on any error | |
| # ============================================================================ | |
| # CONFIGURATION | |
| # ============================================================================ | |
| # Citron configuration | |
| CITRON_LINUX_BASE="$HOME/.local/share/citron" |
I love to make backups with Clonezilla. But often, I'll back up my system, wipe my Linux partition and try another distro—only to realize that I need access to just one file from the old installation. For example, maybe I made an interesting change to my .zshrc or Samba configuration, which I want to re-use on the new system.
The obvious solutions aren't my favorites. It's easy to restore an image to a spare disk, but it takes a long time, and requires a spare disk I'm willing to wipe. I [could extract an entire image][extract_image], but that also takes lots of time and space. Wouldn't it be nice to just look inside my compressed Clonezilla image, just like I can do with a zip file or squashfs archive?
It turns out it's possible, with clever use of [user-space filesystems][fuse]!
Important
As per the beginning of 2025, Quixel assets are no longer free to claim, so this script is not useful anymore. Comments have been disabled due to this reason.
Note
This script was built for educational purposes. Due to how FAB APIs are built to handle search pagination, all assets might not be claimable through this script. With the last script update, a total of ~600 scanned pages, with ~14k assets. Please note that, by clicking on the "Claim All" quixel button, you'll already have claimed all assets for future free usage, beyond 2024 (official response). This script simply makes sure that assets are added to a library.
As quixel megascan items will stop being free after 2024. So, this script will go through all Quixel MegaScan items and add them to your account. Quixel would be working on
| # as of godot 4.1 | |
| _static_init | |
| _init | |
| _notification 20 Node.NOTIFICATION_SCENE_INSTANTIATED # only on instantiated scene roots | |
| _notification 18 Node.NOTIFICATION_PARENTED | |
| _enter_tree | |
| tree_entered signal | |
| _notification 27 Node.NOTIFICATION_POST_ENTER_TREE | |
| _ready | |
| ready signal |
| // Copyright (c) 2023 Tomasz Stachowiak | |
| // | |
| // This contribution is dual licensed under EITHER OF | |
| // | |
| // Apache License, Version 2.0, (http://www.apache.org/licenses/LICENSE-2.0) | |
| // MIT license (http://opensource.org/licenses/MIT) | |
| // | |
| // at your option. | |
| #include "/inc/frame_constants.hlsl" |
This is mostly for my own benefit when I invariably format a computer using these adapters and forget how to get wifi working again:
Plug device in and ensure it is detected via lsusb:
For the T3U Plus, the ID is 2357:0138.
| extends KinematicBody2D | |
| const ACC_INSTANT = 1000000 # If acceleration time is 0, default to this | |
| # Exposed movement parameters | |
| export var move_speed : float | |
| export var acceleration_time : float # How many seconds does it take to go from 0 to max speed? | |
| export var air_acceleration_time : float # How many seconds does it take to go from 0 to max speed, when we're midair? | |
| export var friction_time : float # How many seconds does it take to go from max speed to 0? | |
| export var jump_height : float # How many pixels vertically should we jump |
| insults[]="Abellot"; | |
| insults[]="abraçafanals"; | |
| insults[]="absurd"; | |
| insults[]="abusananos"; | |
| insults[]="abusanenes"; | |
| insults[]="acabacases"; | |
| insults[]="acaparador"; | |
| insults[]="accidiós"; | |
| insults[]="acollonit"; | |
| insults[]="acuseta"; |
| # MIT licenced. Feel free to use in your project. | |
| # Use recursion to move along path. We move along path, and if there's any | |
| # distance remaining, we call this function again and move further along until | |
| # we reach our destination or there's no distance left to travel | |
| func move_along_path(distance : float) -> void: | |
| # Ensure we have an actual path, otherwise we are done and can stop | |
| # processing | |
| if path.size() == 0: | |
| set_process(false) | |
| return |