mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-09 07:48:55 +00:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
34
.github/workflows/ci_suite.yml
vendored
34
.github/workflows/ci_suite.yml
vendored
@@ -9,18 +9,18 @@ on:
|
||||
- upstream-merge
|
||||
jobs:
|
||||
run_linters:
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
|
||||
name: Run Linters
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v4
|
||||
- name: Restore SpacemanDMM cache
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/SpacemanDMM
|
||||
key: ${{ runner.os }}-spacemandmm-${{ secrets.CACHE_PURGE_KEY }}
|
||||
- name: Restore Yarn cache
|
||||
uses: actions/cache@v2
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: tgui/.yarn/cache
|
||||
key: ${{ runner.os }}-yarn-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('tgui/yarn.lock') }}
|
||||
@@ -30,7 +30,7 @@ jobs:
|
||||
${{ runner.os }}-
|
||||
- name: Install Tools
|
||||
run: |
|
||||
pip3 install setuptools
|
||||
pip3 install setuptools --upgrade
|
||||
bash tools/ci/install_node.sh
|
||||
bash tools/ci/install_spaceman_dmm.sh dreamchecker
|
||||
tools/bootstrap/python -c ''
|
||||
@@ -52,13 +52,13 @@ jobs:
|
||||
outputFile: output-annotations.txt
|
||||
|
||||
compile_all_maps:
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
|
||||
name: Compile Maps
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- name: Restore BYOND cache
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/BYOND
|
||||
key: ${{ runner.os }}-byond-${{ secrets.CACHE_PURGE_KEY }}
|
||||
@@ -67,9 +67,8 @@ jobs:
|
||||
bash tools/ci/install_byond.sh
|
||||
source $HOME/BYOND/byond/bin/byondsetup
|
||||
tools/build/build --ci dm -DCIBUILDING -DCITESTING -DALL_MAPS
|
||||
|
||||
run_all_tests:
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
|
||||
name: Integration Tests
|
||||
runs-on: ubuntu-22.04
|
||||
services:
|
||||
@@ -81,14 +80,14 @@ jobs:
|
||||
- 3306
|
||||
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- name: Restore BYOND cache
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/BYOND
|
||||
key: ${{ runner.os }}-byond-${{ secrets.CACHE_PURGE_KEY }}
|
||||
- name: Restore Yarn cache
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: tgui/.yarn/cache
|
||||
key: ${{ runner.os }}-yarn-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('tgui/yarn.lock') }}
|
||||
@@ -116,15 +115,14 @@ jobs:
|
||||
source $HOME/BYOND/byond/bin/byondsetup
|
||||
tools/build/build --ci -DCIBUILDING
|
||||
bash tools/ci/run_server.sh
|
||||
|
||||
test_windows:
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
|
||||
name: Windows Build
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- name: Restore Yarn cache
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: tgui/.yarn/cache
|
||||
key: ${{ runner.os }}-yarn-${{ secrets.CACHE_PURGE_KEY }}-${{ hashFiles('tgui/yarn.lock') }}
|
||||
@@ -141,7 +139,7 @@ jobs:
|
||||
md deploy
|
||||
bash tools/deploy.sh ./deploy
|
||||
- name: Deploy artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: deploy
|
||||
path: deploy
|
||||
|
||||
4
.github/workflows/generate_documentation.yml
vendored
4
.github/workflows/generate_documentation.yml
vendored
@@ -8,9 +8,9 @@ jobs:
|
||||
if: "!contains(github.event.head_commit.message, '[ci skip]')"
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup cache
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/SpacemanDMM
|
||||
key: ${{ runner.os }}-spacemandmm-${{ secrets.CACHE_PURGE_KEY }}
|
||||
|
||||
2
.github/workflows/update_tgs_dmapi.yml
vendored
2
.github/workflows/update_tgs_dmapi.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
name: Update the TGS DMAPI
|
||||
steps:
|
||||
- name: Clone
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Branch
|
||||
run: |
|
||||
|
||||
@@ -91,7 +91,11 @@
|
||||
. = 1
|
||||
|
||||
//Please don't roast me too hard
|
||||
//Oh don't worry, We Will.
|
||||
/client/MouseMove(object, location, control, params)
|
||||
if(!COOLDOWN_FINISHED(src, next_mousemove))
|
||||
return
|
||||
COOLDOWN_START(src, next_mousemove, 0) //COOLDOWN_FINISHED() sees the world tick and cooldown timer being equal as a state wherein the cooldown has not finished. So the cooldown timer here is 0 to throttle only for the rest of the tick.
|
||||
mouseParams = params
|
||||
mouse_location_ref = WEAKREF(location)
|
||||
mouse_object_ref = WEAKREF(object)
|
||||
@@ -105,6 +109,9 @@
|
||||
..()
|
||||
|
||||
/client/MouseDrag(src_object,atom/over_object,src_location,over_location,src_control,over_control,params)
|
||||
if(!COOLDOWN_FINISHED(src, next_mousedrag))
|
||||
return
|
||||
COOLDOWN_START(src, next_mousedrag, 0) //See comment in MouseMove() for why this is 0.
|
||||
mouseParams = params
|
||||
mouse_location_ref = WEAKREF(over_location)
|
||||
mouse_object_ref = WEAKREF(over_object)
|
||||
|
||||
@@ -347,3 +347,5 @@
|
||||
|
||||
/datum/config_entry/str_list/randomizing_station_name_message
|
||||
default = list()
|
||||
|
||||
/datum/config_entry/flag/toast_notification_on_init
|
||||
|
||||
@@ -223,6 +223,10 @@ GLOBAL_REAL(Master, /datum/controller/master) = new
|
||||
|
||||
// Sort subsystems by display setting for easy access.
|
||||
sortTim(subsystems, GLOBAL_PROC_REF(cmp_subsystem_display))
|
||||
|
||||
if(world.system_type == MS_WINDOWS && CONFIG_GET(flag/toast_notification_on_init) && !length(GLOB.clients))
|
||||
world.shelleo("start /min powershell -ExecutionPolicy Bypass -File tools/initToast/initToast.ps1 -name \"[world.name]\" -icon %CD%\\icons\\ui_icons\\common\\tg_16.png -port [world.port]")
|
||||
|
||||
// Set world options.
|
||||
world.change_fps(CONFIG_GET(number/fps))
|
||||
var/initialized_tod = REALTIMEOFDAY
|
||||
|
||||
@@ -668,6 +668,7 @@ RLD
|
||||
icon_state = "arcd"
|
||||
item_state = "oldrcd"
|
||||
has_ammobar = FALSE
|
||||
upgrade = TRUE
|
||||
|
||||
|
||||
// RAPID LIGHTING DEVICE
|
||||
|
||||
@@ -6,10 +6,12 @@
|
||||
can_unwrench = TRUE
|
||||
construction_type = /obj/item/pipe/binary
|
||||
interaction_flags_machine = INTERACT_MACHINE_OFFLINE | INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON | INTERACT_MACHINE_SET_MACHINE
|
||||
pipe_state = "relief_valve-t"
|
||||
shift_underlay_only = FALSE
|
||||
|
||||
var/opened = FALSE
|
||||
var/open_pressure = ONE_ATMOSPHERE * 3
|
||||
var/close_pressure = ONE_ATMOSPHERE
|
||||
pipe_state = "relief_valve-t"
|
||||
|
||||
/obj/machinery/atmospherics/components/binary/relief_valve/layer1
|
||||
piping_layer = PIPING_LAYER_MIN
|
||||
|
||||
@@ -24,11 +24,13 @@
|
||||
return ..()
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/portables_connector/update_icon_nopipes()
|
||||
icon_state = "connector"
|
||||
cut_overlays()
|
||||
if(showpipe)
|
||||
var/image/cap = getpipeimage(icon, "connector_cap", initialize_directions, piping_layer = piping_layer)
|
||||
add_overlay(cap)
|
||||
|
||||
icon_state = "connector"
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/portables_connector/process_atmos()
|
||||
if(!connected_device)
|
||||
return
|
||||
@@ -37,7 +39,7 @@
|
||||
/obj/machinery/atmospherics/components/unary/portables_connector/can_unwrench(mob/user)
|
||||
. = ..()
|
||||
if(. && connected_device)
|
||||
to_chat(user, "<span class='warning'>You cannot unwrench [src], detach [connected_device] first!</span>")
|
||||
to_chat(user, span_warning("You cannot unwrench [src], detach [connected_device] first!"))
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/portables_connector/portableConnectorReturnAir()
|
||||
|
||||
@@ -189,3 +189,7 @@
|
||||
|
||||
/// AFK tracking
|
||||
var/last_activity = 0
|
||||
|
||||
/// The next point in time at which the client is allowed to send a mousemove() or mousedrag()
|
||||
COOLDOWN_DECLARE(next_mousemove)
|
||||
COOLDOWN_DECLARE(next_mousedrag)
|
||||
|
||||
@@ -356,7 +356,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
///loadout stuff
|
||||
var/gear_points = 10
|
||||
var/list/gear_categories
|
||||
var/list/loadout_data = list()
|
||||
var/list/loadout_data
|
||||
var/list/unlockable_loadout_data = list()
|
||||
var/loadout_slot = 1 //goes from 1 to MAXIMUM_LOADOUT_SAVES
|
||||
var/gear_category
|
||||
@@ -533,7 +533,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
//calculate your gear points from the chosen item
|
||||
gear_points = CONFIG_GET(number/initial_gear_points)
|
||||
var/list/chosen_gear = loadout_data["SAVE_[loadout_slot]"]
|
||||
if(chosen_gear)
|
||||
if(islist(chosen_gear))
|
||||
loadout_errors = 0
|
||||
for(var/loadout_item in chosen_gear)
|
||||
var/loadout_item_path = loadout_item[LOADOUT_ITEM]
|
||||
@@ -1229,6 +1229,11 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
dat += "</tr></table>"
|
||||
if(LOADOUT_CHAR_TAB)
|
||||
dat += "<table align='center' width='100%'>"
|
||||
dat += "<tr><td colspan=4><center><b>Loadout slot</b></center></td></tr>"
|
||||
dat += "<tr><td colspan=4><center>"
|
||||
for(var/iteration in 1 to MAXIMUM_LOADOUT_SAVES)
|
||||
dat += "<a [loadout_slot == iteration ? "class='linkOn'" : "href='?_src_=prefs;preference=gear;select_slot=[iteration]'"]>[iteration]</a>"
|
||||
dat += "</center></td></tr>"
|
||||
dat += "<tr><td colspan=4><center><i style=\"color: grey;\">You can only choose one item per category, unless it's an item that spawns in your backpack or hands.</center></td></tr>"
|
||||
dat += "<tr><td colspan=4><center><b>"
|
||||
|
||||
@@ -4148,6 +4153,14 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
qdel(offer_datum)
|
||||
|
||||
if(href_list["preference"] == "gear")
|
||||
if(href_list["select_slot"])
|
||||
var/chosen = text2num(href_list["select_slot"])
|
||||
if(!chosen)
|
||||
return
|
||||
chosen = floor(chosen)
|
||||
if(chosen > MAXIMUM_LOADOUT_SAVES || chosen < 1)
|
||||
return
|
||||
loadout_slot = chosen
|
||||
if(href_list["clear_loadout"])
|
||||
loadout_data["SAVE_[loadout_slot]"] = list()
|
||||
save_preferences()
|
||||
|
||||
@@ -1122,7 +1122,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
belly_prefs = json_from_file["belly_prefs"]
|
||||
|
||||
//gear loadout
|
||||
if(S["loadout"])
|
||||
if(istext(S["loadout"]))
|
||||
loadout_data = safe_json_decode(S["loadout"])
|
||||
var/list/sanitize_current_slot = loadout_data["SAVE_[loadout_slot]"]
|
||||
if(LAZYLEN(sanitize_current_slot))
|
||||
@@ -1150,6 +1150,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
loadout_data["SAVE_[loadout_slot]"] = list()
|
||||
else
|
||||
loadout_data = list()
|
||||
//let's remember their last used slot, i'm sure "oops i brought the wrong stuff" will be an issue now
|
||||
S["loadout_slot"] >> loadout_slot
|
||||
|
||||
//try to fix any outdated data if necessary
|
||||
//preference updating will handle saving the updated data for us.
|
||||
@@ -1384,6 +1386,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
S["pregnancy_inflation"] >> pregnancy_inflation
|
||||
S["pregnancy_breast_growth"] >> pregnancy_breast_growth
|
||||
//SPLURT EDIT END
|
||||
|
||||
loadout_slot = sanitize_num_clamp(loadout_slot, 1, MAXIMUM_LOADOUT_SAVES, 1, TRUE)
|
||||
|
||||
cit_character_pref_load(S)
|
||||
|
||||
@@ -1628,10 +1632,11 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
//SPLURT EDIT END
|
||||
|
||||
//gear loadout
|
||||
if(length(loadout_data))
|
||||
if(islist(loadout_data))
|
||||
S["loadout"] << safe_json_encode(loadout_data)
|
||||
else
|
||||
S["loadout"] << safe_json_encode(list())
|
||||
WRITE_FILE(S["loadout_slot"], loadout_slot)
|
||||
|
||||
if(length(tcg_cards))
|
||||
S["tcg_cards"] << safe_json_encode(tcg_cards)
|
||||
|
||||
@@ -13,28 +13,40 @@
|
||||
. = ..()
|
||||
AddComponent(/datum/component/plumbing/simple_supply, bolt)
|
||||
|
||||
/obj/machinery/plumbing/grinder_chemical/can_be_rotated(mob/user,rotation_type)
|
||||
/obj/machinery/plumbing/grinder_chemical/examine(mob/user)
|
||||
. = ..()
|
||||
. += span_notice("The input direction for this item can be rotated by using CTRL+SHIFT+CLICK")
|
||||
|
||||
/obj/machinery/plumbing/grinder_chemical/CtrlShiftClick(mob/user)
|
||||
if(anchored)
|
||||
to_chat(user, "<span class='warning'>It is fastened to the floor!</span>")
|
||||
return FALSE
|
||||
|
||||
switch(eat_dir)
|
||||
if(WEST)
|
||||
balloon_alert(user, "set to north")
|
||||
eat_dir = NORTH
|
||||
return TRUE
|
||||
if(EAST)
|
||||
balloon_alert(user, "set to south")
|
||||
eat_dir = SOUTH
|
||||
return TRUE
|
||||
if(NORTH)
|
||||
balloon_alert(user, "set to east")
|
||||
eat_dir = EAST
|
||||
return TRUE
|
||||
if(SOUTH)
|
||||
balloon_alert(user, "set to west")
|
||||
eat_dir = WEST
|
||||
return TRUE
|
||||
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/plumbing/grinder_chemical/CanAllowThrough(atom/movable/AM)
|
||||
. = ..()
|
||||
if(!anchored)
|
||||
return
|
||||
|
||||
var/move_dir = get_dir(loc, AM.loc)
|
||||
if(move_dir == eat_dir)
|
||||
return TRUE
|
||||
@@ -61,4 +73,8 @@
|
||||
return
|
||||
I.on_grind()
|
||||
reagents.add_reagent_list(I.grind_results)
|
||||
|
||||
if(I.reagents) //If the thing has any reagents inside of it, grind them up.
|
||||
I.reagents.trans_to(reagents, I.reagents.total_volume)
|
||||
|
||||
qdel(I)
|
||||
|
||||
@@ -543,3 +543,7 @@ RANDOMIZING_STATION_NAME_MESSAGE %NEW_STATION_NAME%? %NEW_STATION_NAME%! %NEW_ST
|
||||
RANDOMIZING_STATION_NAME_MESSAGE A popular social network application had already claimed the trademark of %CURRENT_STATION_NAME%, the station has been renamed to %NEW_STATION_NAME%.
|
||||
RANDOMIZING_STATION_NAME_MESSAGE We're pulling a prank on %RANDOM_CREWMEMBER%, so we've changed the station's name to %NEW_STATION_NAME%.
|
||||
RANDOMIZING_STATION_NAME_MESSAGE %RANDOM_NAME% made us change the station name, which is now %NEW_STATION_NAME%.
|
||||
|
||||
## Comment to disable sending a toast notification on the host server when initializations complete.
|
||||
## Even if this is enabled, a notification will only be sent if there are no clients connected.
|
||||
TOAST_NOTIFICATION_ON_INIT
|
||||
|
||||
@@ -8,14 +8,15 @@ export BYOND_MAJOR=515
|
||||
export BYOND_MINOR=1634
|
||||
|
||||
#rust_g git tag
|
||||
export RUST_G_VERSION=3.0.0
|
||||
export RUST_G_VERSION=3.3.0
|
||||
|
||||
#node version
|
||||
export NODE_VERSION=16
|
||||
export NODE_VERSION_PRECISE=16.13.1
|
||||
export NODE_VERSION_LTS=20.13.0
|
||||
# compatiblility mode MUST work with windows 7
|
||||
export NODE_VERSION_COMPAT=20.2.0
|
||||
|
||||
# SpacemanDMM git tag
|
||||
export SPACEMAN_DMM_VERSION=suite-1.8
|
||||
export SPACEMAN_DMM_VERSION=suite-1.9
|
||||
|
||||
# Python version for mapmerge and other tools
|
||||
export PYTHON_VERSION=3.9.0
|
||||
|
||||
BIN
icons/ui_icons/common/tg_16.png
Normal file
BIN
icons/ui_icons/common/tg_16.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 795 B |
@@ -29,7 +29,16 @@ $Cache = "$BaseDir\.cache"
|
||||
if ($Env:TG_BOOTSTRAP_CACHE) {
|
||||
$Cache = $Env:TG_BOOTSTRAP_CACHE
|
||||
}
|
||||
$NodeVersion = Extract-Variable -Path "$BaseDir\..\..\dependencies.sh" -Key "NODE_VERSION_PRECISE"
|
||||
# Get OS version
|
||||
$OSMajor = (Get-WmiObject -Class Win32_OperatingSystem).Version.Split(".")[0]
|
||||
# Set Node version based on OS version
|
||||
if ($OSMajor -lt 10) {
|
||||
# Anything under Windows 10
|
||||
$NodeVersion = Extract-Variable -Path "$BaseDir\..\..\dependencies.sh" -Key "NODE_VERSION_COMPAT"
|
||||
}
|
||||
else {
|
||||
$NodeVersion = Extract-Variable -Path "$BaseDir\..\..\dependencies.sh" -Key "NODE_VERSION_LTS"
|
||||
}
|
||||
$NodeSource = "https://nodejs.org/download/release/v$NodeVersion/win-x64/node.exe"
|
||||
$NodeTargetDir = "$Cache\node-v$NodeVersion-x64"
|
||||
$NodeTarget = "$NodeTargetDir\node.exe"
|
||||
|
||||
@@ -5,6 +5,6 @@ source dependencies.sh
|
||||
|
||||
if [[ -e ~/.nvm/nvm.sh ]]; then
|
||||
source ~/.nvm/nvm.sh
|
||||
nvm install $NODE_VERSION
|
||||
nvm use $NODE_VERSION
|
||||
nvm install $NODE_VERSION_COMPAT
|
||||
nvm use $NODE_VERSION_COMPAT
|
||||
fi
|
||||
|
||||
32
tools/initToast/initToast.ps1
Normal file
32
tools/initToast/initToast.ps1
Normal file
@@ -0,0 +1,32 @@
|
||||
param([string]$name, [string]$icon, [Int32]$port=80)
|
||||
|
||||
$hkcu = [Microsoft.Win32.RegistryKey]::OpenBaseKey('CurrentUser','default')
|
||||
|
||||
$amuid_hkey = $hkcu.CreateSubKey('SOFTWARE\Classes\AppUserModelId\Tgstation.Tgstation', $true, [Microsoft.Win32.RegistryOptions]::Volatile)
|
||||
|
||||
if ($name) { $amuid_hkey.SetValue('DisplayName', $name) }
|
||||
if ($icon) { $amuid_hkey.SetValue('IconUri', $icon) }
|
||||
|
||||
[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] > $null
|
||||
$notifier = [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier('Tgstation.Tgstation')
|
||||
|
||||
[Windows.Data.Xml.Dom.XmlDocument, Windows.Data.Xml.Dom, ContentType = WindowsRuntime] > $null
|
||||
$xml = New-Object Windows.Data.Xml.Dom.XmlDocument
|
||||
|
||||
$xml.LoadXml(@"
|
||||
<toast>
|
||||
<visual>
|
||||
<binding template="ToastGeneric">
|
||||
<text>Initialization Complete</text>
|
||||
</binding>
|
||||
</visual>
|
||||
<actions>
|
||||
<action content="Launch Dream Seeker" activationType="protocol" arguments="byond://127.0.0.1:$port"/>
|
||||
</actions>
|
||||
</toast>
|
||||
"@)
|
||||
|
||||
[Windows.UI.Notifications.ToastNotification, Windows.UI.Notifications, ContentType = WindowsRuntime] > $null
|
||||
$toast = New-Object Windows.UI.Notifications.ToastNotification $xml
|
||||
|
||||
$notifier.Show($toast)
|
||||
@@ -1,5 +1,5 @@
|
||||
pygit2==1.11.1
|
||||
bidict==0.22.0
|
||||
bidict==0.22.1
|
||||
Pillow==10.3.0
|
||||
|
||||
# changelogs
|
||||
|
||||
Reference in New Issue
Block a user