Commit Graph

19 Commits

Author SHA1 Message Date
Cyprex
e6bb4098c4 Revert "Merge upstream" 2023-03-11 18:51:44 +01:00
SkyratBot
c41ff0aaa6 [MIRROR] Optimizes INVOKE_ASYNC by making it a macro and avoiding a proc call [MDB IGNORE] (#19668)
* Optimizes INVOKE_ASYNC by making it a macro and avoiding a proc call (#73264)

## About The Pull Request
This is quite literally the same behavior but faster, and also catches
improper arguments better than the old macro/proc approach.

Credit to Lohikar for writing the macro.
Port of https://github.com/DaedalusDock/daedalusdock/pull/196

Also, `world.ImmediateInvokeAsync()` never set a return value, so
expecting one was never valid behavior.

At MSO's request, the documentation of `spawn(-1)`:

As per the reference, calling `spawn()` with a negative value will
execute the spawned code until a blocking action (such as `sleep()`) is
encountered. Then, it will step outside of the spawned code, and
continue the proc. This is the same behavior as calling a `waitfor =
FALSE` proc. Specifically, under the hood, `spawn(-1)` creates a copy of
the callstack like `sleep()`, incase the spawned code is blocked and
needs to be rescheduled.

As an added bonus, `spawn(-1)` silences SHOULD_NOT_SLEEP errors, whereas
`waitfor = FALSE` does not.

## Why It's Good For The Game

ITS FREE FUCKING CPU TIME

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Kyle Spier-Swenson <kyleshome@ gmail.com>

* Optimizes INVOKE_ASYNC by making it a macro and avoiding a proc call

---------

Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: Kyle Spier-Swenson <kyleshome@ gmail.com>
2023-03-04 19:55:24 -08:00
Zonespace
1135ac5e2c Mirror #72280 (#18648)
Add lints for idiomatic balloon alert usage (#72280)

Adds lints for `balloon_alert(span_xxx(...))` (which is always wrong),
and balloon alert where the first letter is a capital (which is usually
wrong). Fixes everything that failed them. As a reminder, abbreviations
like "AI" and "GPS" shouldn't be capitalized in a balloon alert.

In cases where this is intentional for flavor (there was one case), you
can `UNLINT` like so:

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
2023-01-12 08:48:06 -05:00
Zonespace
f7c26bbf25 515 Compat (#17465)
* ONLY SKYRAT CHANGES

* ACTUALLY SKYRAT CHANGES

* yolo, revert later

* Update alternate_byond_versions.txt

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-11-15 06:59:06 +00:00
SkyratBot
73ae6472a7 [MIRROR] NT Pay app. Money send on distance, transaction log! [MDB IGNORE] (#16672)
* NT Pay app. Money send on distance, transaction log! (#70108)

* base

* reasons

* GetToken proc, with a many remarks

* Add a way to change reason in transfer_money proc. Add a reasons.

* Reason to use the app. Commission. Standard application.

* Apply suggestions from code review - Tralezab

Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com>

* Tralezab & jlsnow301 advices. New format(everywhere)

* Nanotrasen

* Refactor TGUI(not me:( ). Fix useless capitalize

* Update code/modules/economy/account.dm

* Trans transforms in transaction

* coMmission. little autodoc mistalke. Translation != Transaction

* oops

* Merge Conflict

* ...

* back feats

* mistakes bye!

* ну да

Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com>

* NT Pay app. Money send on distance, transaction log!

Co-authored-by: Yaroslav Nurkov <78199449+AnywayFarus@users.noreply.github.com>
Co-authored-by: tralezab <40974010+tralezab@ users.noreply.github.com>
2022-10-05 19:38:36 -04:00
SkyratBot
a8c10d1659 [MIRROR] Converts a shitload of istypes to their more concise macros [MDB IGNORE] (#15702)
Converts a shitload of istypes to their more concise macros

Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-08-27 16:23:44 -04:00
SkyratBot
8b6f51ce99 [MIRROR] Fixes some improper global signal use (payment component, traitor objectives) [MDB IGNORE] (#15574)
* Fixes some improper global signal use (payment component, traitor objectives) (#69131)

* Fixes some improper signal use of SEND_GLOBAL_SIGNAL()

* Fixes some improper global signal use (payment component, traitor objectives)

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-08-13 17:59:31 -07:00
SkyratBot
655721cd8d [MIRROR] Lets Admin AI Interact Print Items Again [MDB IGNORE] (#15420)
* Lets Admin AI Interact Print Items Again (#68958)

I added a check for ghost AIs to bypass the payment component. So j*nnies (cringe) can print items from lathes again. Useful in case I forgor the typepath of something and need to print it to remember, or to more forcefully show someone that you can print something at a lathe.

* Lets Admin AI Interact Print Items Again

Co-authored-by: Jackraxxus <60418544+Jackraxxus@users.noreply.github.com>
2022-08-05 10:02:19 -07:00
SkyratBot
940b8beec2 Fixes Drones being charged for using the Lathe on/off station (#66593) (#13264)
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2022-05-02 12:08:04 +01:00
SkyratBot
044d75253c [MIRROR] Arconomy: The bigger balance PR (REVISED EDITION) [MDB IGNORE] (#13164)
* Arconomy: The bigger balance PR (REVISED EDITION)

* yes

* wew

* Update multitool.dm

* yers

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-04-27 21:29:22 +01:00
SkyratBot
b501ff54ea [MIRROR] Adds the Accounting Console to the game (HOP Job Content) [MDB IGNORE] (#13119)
* Adds the Accounting Console to the game (HOP Job Content)

* Update economy.dm

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2022-04-26 15:27:04 +01:00
SkyratBot
7d1d0e1fad [MIRROR] Refactors most spans into span procs (#6315)
* Refactors most spans into span procs

* AA

* a

* AAAAAAAAAAAAAAAAAAAAAA

* Update species.dm

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-16 00:24:49 +01:00
SkyratBot
b8cfa0bdff [MIRROR] fix missing fee in payment (#4095)
* fix missing payment (#57608)

* fix missing fee in payment

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
2021-03-12 14:29:33 +00:00
SkyratBot
6603e04fc0 [MIRROR] Crates and bountes are now defined by crate's value and paygrades. Civilian bounty payout is higher and uncheesable. (#2120)
* Crates and bountes are now defined by crate's value and paygrades. Civilian bounty payout is higher and uncheesable.

* Update shuttles.dm

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2020-12-11 00:50:53 +00:00
SkyratBot
c487c73f39 [MIRROR] Grep for space indentation (#1969)
* Grep for space indentation

* aa

* Update species.dm

* Update species.dm

* Update maps.dm

* Update examine.dm

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-01 12:26:41 +01:00
SkyratBot
4af1148b13 [MIRROR] Non-human mobs can now benefit from held id cards and economy. (#1603)
* Non-human mobs can now benefit from held id cards and economy. (#54647)

* Non-human mobs can now benefit from held id cards and economy.

* Moved these getters toward the upper end.

* oui?
...
dump eet.

* .tee pump
      ...
     ?iuo

* Non-human mobs can now benefit from held id cards and economy.

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-11-07 05:08:36 +00:00
SkyratBot
e65a48e91f [MIRROR] Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#430)
* Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#52761)

Adds SIGNAL_HANDLER, a macro that sets SHOULD_NOT_SLEEP(TRUE). This should ideally be required on all new signal callbacks.

Adds BLOCKING_SIGNAL_HANDLER, a macro that does nothing except symbolize "this is an older signal that didn't necessitate a code rewrite". It should not be allowed for new work.

This comes from discussion around #52735, which yields by calling input, and (though it sets the return type beforehand) will not properly return the flag to prevent attack from slapping.

To fix 60% of the yielding cases, WrapAdminProcCall no longer waits for another admin's proc call to finish. I'm not an admin, so I don't know how many behinds this has saved, but if this is problematic for admins I can just make it so that it lets you do it anyway. I'm not sure what the point of this babysitting was anyway.

Requested by @optimumtact.
Changelog

cl
admin: Calling a proc while another admin is calling one will no longer wait for the first to finish. You will simply just have to call it again.
/cl

* Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-19 20:17:28 -04:00
SkyratBot
ee324ab3c2 [MIRROR] Cleanup up all instances of using var/ definitions in proc parameters. (#240)
* Cleanup up all instances of using var/ definitions in proc parameters. (#52728)

* var/list cleanup

* The rest of the owl

* plushvar bad

* Can't follow my own advice.

* Cleanup up all instances of using var/ definitions in proc parameters.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-08-07 18:26:21 +01:00
ArcaneMusic
911e702540 Adds a simple payment component, photocopiers now cost 5 credits to make copies each. (#51944)
* Take 1, initial mediocity

* Stonks

* I'm working on it don't stale me

* HOOOOOOO adjusts the photocopier, extends component functionality to the medical kiosk, etc etc/

* Fixes that one bug with printers.

* Removes an unused var.

* Makes defines

* I am a champion

* Moves econ defines over... econ defines.

* Forgot the comment.

* How about now?

* Accidently excluded payments from the dme.

* Slight text tweaks, also checkmark.

* updates economy defines.

* Apply suggestions from code review

Review Commits pre-cleanup

Co-authored-by: Rohesie <rohesie@gmail.com>

* Post-Fixes from review.

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-20 22:40:59 -03:00