Skip to content

Commit

Permalink
Merge branch 'master' into database
Browse files Browse the repository at this point in the history
  • Loading branch information
hry-gh authored May 23, 2024
2 parents 5fd0438 + d81e7a7 commit 83f4ed6
Show file tree
Hide file tree
Showing 4 changed files with 47 additions and 23 deletions.
26 changes: 26 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Lint

on:
pull_request:
branches: [master]

jobs:
lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Setup submodule
run: |
git submodule update --init --recursive
- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: 8.0.100
- name: Setup Resharper
run: dotnet tool install -g JetBrains.ReSharper.GlobalTools
- name: Run Linter
run: jb inspectcode OpenDream.sln -o="output.json" --project="OpenDream*;DM*" --no-swea
- uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: output.json
28 changes: 16 additions & 12 deletions DMCompiler/DMStandard/Defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,27 @@
#define NEUTER "neuter"
#define PLURAL "plural"

//animate() flags arg
#define ANIMATION_END_NOW 1
#define ANIMATION_LINEAR_TRANSFORM 2
#define ANIMATION_PARALLEL 4
#define ANIMATION_SLICE 8
#define ANIMATION_RELATIVE 256
#define ANIMATION_CONTINUE 512

//animate() easing arg
#define LINEAR_EASING 0
#define SINE_EASING 1
#define CIRCULAR_EASING 2
#define CUBIC_EASING 3
#define BOUNCE_EASING 4
#define ELASTIC_EASING 5
#define BACK_EASING 6
#define QUAD_EASING 7
#define JUMP_EASING 8
//flags applied to the animate() easing arg
#define EASE_IN 64
#define EASE_OUT 128
#define ANIMATION_RELATIVE 256

#define NO_STEPS 0
#define FORWARD_STEPS 1
Expand Down Expand Up @@ -123,17 +138,6 @@
#define PASS_MOUSE (1<<10)
#define TILE_MOVER (1<<11)

//animate() easing arg
#define LINEAR_EASING 0
#define SINE_EASING 1
#define CIRCULAR_EASING 2
#define CUBIC_EASING 3
#define BOUNCE_EASING 4
#define ELASTIC_EASING 5
#define BACK_EASING 6
#define QUAD_EASING 7
#define JUMP_EASING 8

//Undocumented matrix defines (see https://www.byond.com/forum/post/1881375)
#define MATRIX_COPY 0
#define MATRIX_MULTIPLY 1 // idk why this is first, either
Expand Down
3 changes: 1 addition & 2 deletions OpenDreamRuntime/Objects/Types/DreamObjectMob.cs
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,9 @@ protected override void SetVar(string varName, DreamValue value) {
case "client":
value.TryGetValueAsDreamObject<DreamObjectClient>(out var newClient);

// An invalid client or a null does nothing here
if (newClient != null) {
newClient.Connection.Mob = this;
} else if (Connection != null) {
Connection.Mob = null;
}

break;
Expand Down
13 changes: 4 additions & 9 deletions OpenDreamRuntime/Procs/Native/DreamProcNativeRoot.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1077,15 +1077,10 @@ public static DreamValue NativeProc_islist(NativeProc.Bundle bundle, DreamObject
[DreamProcParameter("Loc1", Type = DreamValueTypeFlag.DreamObject)]
public static DreamValue NativeProc_isloc(NativeProc.Bundle bundle, DreamObject? src, DreamObject? usr) {
foreach (var arg in bundle.Arguments) {
if (!arg.TryGetValueAsDreamObject(out var loc))
return DreamValue.False;
if (loc is null)
return DreamValue.False;

bool isLoc = loc is DreamObjectMob or DreamObjectTurf or DreamObjectArea ||
loc.IsSubtypeOf(bundle.ObjectTree.Obj);

if (!isLoc)
// The DM reference says "mobs, objs, turfs, or areas"
// You might think this excludes /atom/movable, but it does not
// So test for any DreamObjectAtom type
if (!arg.TryGetValueAsDreamObject<DreamObjectAtom>(out _))
return DreamValue.False;
}

Expand Down

0 comments on commit 83f4ed6

Please sign in to comment.