Commit graph

7663 commits

Author SHA1 Message Date
Dennis Felsing b88ebbc771
Merge pull request #1985 from def-/pr-db-ddnet7
Add support to tell DDNet7 ranks apart from DDNet ones
2019-12-08 23:01:27 +01:00
def 28aabc5b91 Add map_convert_07 tool
Fixes https://github.com/ddnet/ddnet7/issues/20
2019-12-08 22:44:25 +01:00
Aerll ff685ac1e0
fix ub 2019-12-08 20:08:00 +01:00
Aerll 7d6ad9fca5
revert 2019-12-08 20:05:13 +01:00
def 18e2232727 Add support to tell DDNet7 ranks apart from DDNet ones
Saves should not be loadable from one to the other.

Requires:
ALTER TABLE record_race ADD COLUMN DDNet7 BOOL DEFAULT FALSE AFTER GameID;
ALTER TABLE record_teamrace ADD COLUMN DDNet7 BOOL DEFAULT FALSE AFTER GameID;
ALTER TABLE record_saves ADD COLUMN DDNet7 BOOL DEFAULT FALSE AFTER Server;
2019-12-08 16:04:49 +01:00
Aerll f8466fde7d
Fix: background colors being set to white
After changing either of background colors in ddnet tab in settings and reopening the client, both become white.
2019-12-05 15:51:40 +01:00
Aerll 9f4721b74b
Fix: automapper skips tiles when it shouldn't
In case of something like: INDEX 0 OR 1 all tiles need to be automapped.
2019-12-05 15:28:35 +01:00
bors[bot] c31f6303cf
Merge #1977
1977: Support shotgun_speed 0 r=Learath2 a=def-

for mapping stationary bullets

As requested by Im 'corneum.

Co-authored-by: def <dennis@felsin9.de>
2019-12-04 16:48:06 +00:00
bors[bot] e02cd322ad
Merge #1979
1979: Clean up color handling a bit r=Learath2 a=def-

- SetAlpha should be called WithAlpha and only works for RGBA
- Fix type correctness of color_scale and introduce color_invert
- Nicer hook coll color handling in RenderPlayer
- Use CRTP to have type safe WithAlpha, otherwise this would compile:
  `ColorHSLA = WithAlpha(ColorRGBA(1.0f, 1.0f, 1.0f));`


Follow-up to https://github.com/ddnet/ddnet/pull/1968

Co-authored-by: Dennis Felsing <dennis@felsin9.de>
2019-12-03 12:09:57 +00:00
bors[bot] d8cd6aa83e
Merge #1976
1976: Write out sql server prefix to failed_sql.sql r=Learath2 a=def-

also don't write out non-eligible records.

Co-authored-by: Dennis Felsing <dennis@felsin9.de>
2019-12-03 11:58:09 +00:00
Dennis Felsing 37ef24225e Clean up color handling a bit
- SetAlpha should be called WithAlpha and only works for RGBA
- Fix type correctness of color_scale and introduce color_invert
- Nicer hook coll color handling in RenderPlayer
- Use CRTP to have type safe WithAlpha, otherwise this would compile:
  ColorHSLA = WithAlpha(ColorRGBA(1.0f, 1.0f, 1.0f));
2019-12-03 11:32:55 +01:00
bors[bot] d597322ef3
Merge #1978
1978: Update localizations (Thanks to Cellegen for report) r=Learath2 a=def-



Co-authored-by: Dennis Felsing <dennis@felsin9.de>
2019-12-03 10:07:34 +00:00
Dennis Felsing 5e8439acab
Merge pull request #1968 from d3fault/always-show-hook-coll-signaling
Invert hook coll colors when using cl_show_hook_coll_always and +showhookcoll is pressed
2019-12-02 09:50:34 +01:00
d3fault 5261ca25fe Invert hook coll colors when using cl_show_hook_coll_always and +showhookcoll is pressed
This allows you to still see other players signaling you with their hook coll
when you have cl_show_hook_coll_always enabled.
2019-12-02 01:30:20 -07:00
Dennis Felsing 0498df2508 Update localizations (Thanks to Cellegen for report)
- Remove duplicate laser entries
- Update menus_settings.cpp comment for scripts
- Update instructions for scripts
- Run script to get updated localizations
2019-12-02 09:09:01 +01:00
bors[bot] 33d88f647c
Merge #1974
1974: more typesafty in the graphics. introduced the IGraphics::CTextureHandle r=def- a=ChillerDragon

Edited by @ChillerDragon to fit in ddnet
(cherry picked from commit cb95e8dfe8)

Co-authored-by: Magnus Auvinen <magnus.auvinen@gmail.com>
2019-11-27 17:55:45 +00:00
bors[bot] d589f266dc
Merge #1973
1973: Rename rifle to laser r=def- a=ChillerDragon

This makes it easier to copy code from/to 0.7
23df3c609e

For the user only the rcon command to give/remove ``laser``/``unlaser`` changes.

Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
2019-11-27 17:36:03 +00:00
def 9d39ca888f Support shotgun_speed 0
for mapping stationary bullets
2019-11-27 18:29:39 +01:00
Dennis Felsing c1a7961359 Write out sql server prefix to failed_sql.sql 2019-11-25 14:04:57 +01:00
Magnus Auvinen 6a6a5f00c9 more typesafty in the graphics. introduced the IGraphics::CTextureHandle
Edited by @ChillerDragon to fit in ddnet
(cherry picked from commit cb95e8dfe8)
2019-11-22 18:08:37 +01:00
ChillerDragon 96c9b1ab73 Rename rifle to laser
This makes it easier to copy code from/to 0.7
23df3c609e
2019-11-22 15:37:18 +01:00
ChillerDragon 227a223c32 Fix a few names in popups 2019-11-22 12:28:34 +01:00
ChillerDragon 0f76c89d8a Save selected UI settings page
Inspired by @SushiTee's teeworlds commit:
65cc8f7fd9
2019-11-17 18:11:33 +01:00
bors[bot] c26ac8af86
Merge #1965
1965: Use an enum for netclient indices r=def- a=ChillerDragon



Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
2019-11-11 16:55:17 +00:00
ChillerDragon 9c3447dd17 Use an enum for netclient indices 2019-11-10 13:46:27 +01:00
trml 3986925761 Optimize character evolve 2019-11-09 22:49:53 +01:00
def 975a0bc9b3 Add help text for negative parameter for worst players 2019-11-05 18:28:34 +01:00
ChillerDragon 1a957f0abe Fix typo 'user' -> 'use' 2019-11-05 09:16:54 +01:00
Dennis Felsing 785ec3d345 Expire server info on connected/drop events 2019-11-04 15:45:55 +01:00
Learath2 c2bcd3bd4d Fix bug 2019-11-04 01:06:52 +01:00
bors[bot] 0de012572b
Merge #1955
1955: Cache serverinfo responses r=def- a=Learath2

I'm not sure I like it but it works

Co-authored-by: Learath2 <learath2@gmail.com>
2019-11-03 20:09:21 +00:00
Learath2 c0b0f48d16 Oops 2019-11-03 20:58:35 +01:00
bors[bot] 7d07b311fd
Merge #1956
1956: Fix uninitialized variable r=Learath2 a=def-

As reported by valgrind --tool=memcheck:

==344082== Conditional jump or move depends on uninitialised value(s)
==344082==    at 0x483BC85: strlen (vg_replace_strmem.c:461)
==344082==    by 0x5B9E61D: __vfprintf_internal (in /usr/lib/libc-2.30.so)
==344082==    by 0x5BB0409: __vsnprintf_internal (in /usr/lib/libc-2.30.so)
==344082==    by 0x222AE7: str_format (system.c:2350)
==344082==    by 0x2196AB: CStorage::GetPath(int, char const*, char*, unsigned int) (storage.cpp:274)
==344082==    by 0x219DDD: CStorage::RemoveFile(char const*, int) (storage.cpp:409)
==344082==    by 0x255D3C: CClient::DemoRecorder_Stop(int, bool) (client.cpp:3546)
==344082==    by 0x2569E7: CClient::ConchainReplays(IConsole::IResult*, void*, void (*)(IConsole::IResult*, void*), void*) (client.cpp:3727)
==344082==    by 0x1F4659: CConsole::Con_Chain(IConsole::IResult*, void*) (console.cpp:1169)
==344082==    by 0x1E4C2C: CConsole::ExecuteLineStroked(int, char const*, int, bool) (console.cpp:504)
==344082==    by 0x1E4F37: CConsole::ExecuteLine(char const*, int, bool) (console.cpp:558)
==344082==    by 0x1E5240: CConsole::ExecuteFile(char const*, int, bool, int) (console.cpp:604)

Co-authored-by: def <dennis@felsin9.de>
2019-11-03 19:58:09 +00:00
def fdaafea6b5 Also init m_aClients[*].m_Latency
as reported by valgrind --tool=memcheck:

==376722== Conditional jump or move depends on uninitialised value(s)
==376722==    at 0x1CDBDB: int maximum<int>(int, int) (math.h:79)
==376722==    by 0x216A46: CPlayer::Tick() (player.cpp:174)
==376722==    by 0x1FB308: CGameContext::OnTick() (gamecontext.cpp:658)
==376722==    by 0x1C60AF: CServer::Run() (server.cpp:2046)
==376722==    by 0x1CB099: main (server.cpp:3040)
==376722==
==376722== Conditional jump or move depends on uninitialised value(s)
==376722==    at 0x183F27: int minimum<int>(int, int) (math.h:77)
==376722==    by 0x216A65: CPlayer::Tick() (player.cpp:175)
==376722==    by 0x1FB308: CGameContext::OnTick() (gamecontext.cpp:658)
==376722==    by 0x1C60AF: CServer::Run() (server.cpp:2046)
==376722==    by 0x1CB099: main (server.cpp:3040)
2019-11-03 18:54:25 +01:00
Learath2 c4d18118c1 Use automatic storage for the data 2019-11-03 18:31:05 +01:00
def f9598c8ba8 Don't access m_aClients wiht invalid ClientID 2019-11-03 18:10:30 +01:00
def 258eaf5a98 Fix uninitialized variable
As reported by valgrind --tool=memcheck:

[201==344082== Conditional jump or move depends on uninitialised value(s)
==344082==    at 0x483BC85: strlen (vg_replace_strmem.c:461)
==344082==    by 0x5B9E61D: __vfprintf_internal (in /usr/lib/libc-2.30.so)
==344082==    by 0x5BB0409: __vsnprintf_internal (in /usr/lib/libc-2.30.so)
==344082==    by 0x222AE7: str_format (system.c:2350)
==344082==    by 0x2196AB: CStorage::GetPath(int, char const*, char*, unsigned int) (storage.cpp:274)
==344082==    by 0x219DDD: CStorage::RemoveFile(char const*, int) (storage.cpp:409)
==344082==    by 0x255D3C: CClient::DemoRecorder_Stop(int, bool) (client.cpp:3546)
==344082==    by 0x2569E7: CClient::ConchainReplays(IConsole::IResult*, void*, void (*)(IConsole::IResult*, void*), void*) (client.cpp:3727)
==344082==    by 0x1F4659: CConsole::Con_Chain(IConsole::IResult*, void*) (console.cpp:1169)
==344082==    by 0x1E4C2C: CConsole::ExecuteLineStroked(int, char const*, int, bool) (console.cpp:504)
==344082==    by 0x1E4F37: CConsole::ExecuteLine(char const*, int, bool) (console.cpp:558)
==344082==    by 0x1E5240: CConsole::ExecuteFile(char const*, int, bool, int) (console.cpp:604)
2019-11-03 18:05:42 +01:00
Learath2 52cca29cd9 Use a std::list, improve variable naming 2019-11-03 15:39:32 +01:00
Learath2 3d495a9936 Initialize variables 2019-11-03 01:53:50 +01:00
Learath2 79e4651d5b Only update serverinfo when needed 2019-11-03 01:07:10 +01:00
Learath2 7f0589bff7 Cache serverinfo responses 2019-11-03 00:33:30 +01:00
Dennis Felsing 516bc98436 Version 12.7.3 2019-10-31 14:37:09 +01:00
WsYFU 1a16f5b5f0
Update serverbrowser.cpp 2019-10-31 16:16:35 +03:00
12pm f66dc75400 Fix crash when switch (un)deep number is 0 2019-10-27 14:28:40 +01:00
Ryozuki 2bf76aac67
remove for loop in camera 2019-10-27 13:04:08 +01:00
bors[bot] 4717b21844
Merge #1934
1934: repair the problem that class selector appear when demo playing r=def- a=sirius1242

I think this problem is solved, but this may be a little hack, I don't know the effect of this if-else condition.

![2019-10-12-12-27-ScreenShot2](https://user-images.githubusercontent.com/32300858/66710842-eac12980-edb2-11e9-8866-cf3a1348616b.png)


Co-authored-by: sirius <sirius.ustc@gmail.com>
2019-10-27 08:31:41 +00:00
bors[bot] dc6a2959be
Merge #1949
1949: Add cl_dummy_resetonswitch 2 r=Learath2 a=d3fault

Idea by @ChillerDragon :
Only resets the active tee. So if you hold right and switch your
dummy keeps walking. But if you switch back you don't have
to press right twice to walk again.

Fix #1854

Co-authored-by: d3fault <d3fault@d3fault.net>
2019-10-25 11:31:19 +00:00
bors[bot] 4fc907933e
Merge #1946
1946: Don't locally render your own dummy's afk emote. Other players will still see it r=Learath2 a=d3fault

Afk emote on your own dummy is pointless and annoying, esp on dummy maps.

Co-authored-by: d3fault <d3fault@d3fault.net>
2019-10-25 01:21:21 +00:00
d3fault ecf48a89e9 Add cl_dummy_resetonswitch 2
Idea by ChillerDragon:
Only resets the active tee. So if you hold right and switch your
dummy keeps walking. But if you switch back you don't have
to press right twice to walk again.

Fix #1854
2019-10-24 18:11:42 -07:00
bors[bot] 7cfcfbcfa2
Merge #1948
1948: Fix objc_msgSend() xcode11 error r=def- a=ChillerDragon

Fix by @heinrich5991
from the documentation of objc_msgSend in <objc/message.h>
```
/* Basic Messaging Primitives
 *
 * On some architectures, use objc_msgSend_stret for some struct return types.
 * On some architectures, use objc_msgSend_fpret for some float return types.
 * On some architectures, use objc_msgSend_fp2ret for some float return types.
 *
 * These functions must be cast to an appropriate function pointer type
 * before being called.
 */
OBJC_EXPORT void
objc_msgSend(void /* id self, SEL op, ... */ )
    OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0);

OBJC_EXPORT void
objc_msgSendSuper(void /* struct objc_super *super, SEL op, ... */ )
    OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0);
```

Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
2019-10-23 16:43:52 +00:00
ChillerDragon 47b41f35ff Fix objc_msgSend() xcode11 error
Fix by @heinrich5991
from the documentation of objc_msgSend in <objc/message.h>
```
/* Basic Messaging Primitives
 *
 * On some architectures, use objc_msgSend_stret for some struct return types.
 * On some architectures, use objc_msgSend_fpret for some float return types.
 * On some architectures, use objc_msgSend_fp2ret for some float return types.
 *
 * These functions must be cast to an appropriate function pointer type
 * before being called.
 */
OBJC_EXPORT void
objc_msgSend(void /* id self, SEL op, ... */ )
    OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0);

OBJC_EXPORT void
objc_msgSendSuper(void /* struct objc_super *super, SEL op, ... */ )
    OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0);
```
2019-10-23 17:23:51 +02:00
def 8702af19b5 Optimize CCollision::MoveBox to stop looping once velocity is 0 2019-10-22 13:48:05 +02:00
d3fault 2943eb0d4f Don't locally render your own dummy's afk emote. Other players will still see it 2019-10-19 21:03:08 -07:00
Dennis Felsing ae4f632bbd Disable warning for false positive 2019-10-16 14:33:58 +02:00
Dennis Felsing 5b99e2c568 Version 12.7.2 2019-10-16 09:10:12 +02:00
Dennis Felsing 17a7e37411 Fix (thanks to Bannzay) 2019-10-16 07:08:44 +02:00
def bf993e518e Version 12.7.1 2019-10-15 23:23:31 +02:00
Dennis Felsing 3a3df05cca Change sv_deepfly to work with hammer explicitly 2019-10-15 15:13:23 +02:00
Dennis Felsing 7a991615f3 Fix the fix 2019-10-15 10:38:52 +02:00
Dennis Felsing fcfc5a4561 Fix velocity comparison
as Mac build complains:

src/game/server/entities/character.cpp:1681:18: error: ordered comparison between pointer and zero ('const float *' and 'int')
        if(m_Core.m_Vel > 0 && (m_MoveRestrictions&CANTMOVE_DOWN))
           ~~~~~~~~~~~~ ^ ~
2019-10-15 10:36:02 +02:00
Dennis Felsing 1843e62910 Version 12.7 2019-10-15 10:11:01 +02:00
bors[bot] d4a64e575b
Merge #1941
1941: Fix IntersectCharacter r=def- a=12pm

This makes hitting yourself when shooting through other tees work

Co-authored-by: 12pm <30786226+12pm@users.noreply.github.com>
2019-10-15 07:42:42 +00:00
bors[bot] c0474a79c2
Merge #1922
1922: Allow to hammer directly on unfreeze r=def- a=heinrich5991

Previously, this was only doable with frame-perfect input if you were
going to get frozen again the next tick. Now, you only have to hold your
hammer to immediately hammer once you get unfrozen.

This fixes that "deepfly" (flying with deep-frozen dummy, binding both
main and dummy tee hammers onto the same key) does not only work for
good connection.

Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2019-10-15 07:30:47 +00:00
bors[bot] 8db2694c5e
Merge #1938
1938: Explode grenades twice at the end if they have lifespans. Fix #1559 r=heinrich5991 a=Learath2

Just by looking at the code I think this is what was intended but only testing can make sure.

Co-authored-by: Learath <learath2@gmail.com>
2019-10-14 20:02:55 +00:00
12pm b1ca920cd4 Fix IntersectCharacter
This makes hitting yourself when shooting through other tees work
2019-10-14 16:03:28 +02:00
sirius 926414c8cf remove the redundant line 2019-10-14 17:41:19 +08:00
sirius aaddc49704 recovert the if-else block 2019-10-14 17:32:42 +08:00
bors[bot] aa79d810ff
Merge #1935 #1936 #1940
1935: Add a limit to GetNearestAirPos. Fix #1931 r=def- a=Learath2

There isn't really any sane behaviour here, so I just avoided the infinite loop.

You shouldn't be in the wall to begin with :P

1936: Mark players as afk initially. Fix #1797 r=def- a=Learath2

The whole afktimer code is quite ugly. I might rework it at a later date.
For now this looks like an acceptable fix.

1940: Update ddnet-libs version r=Learath2 a=def-

Was forgotten in the libcurl linux removal I think?

Co-authored-by: Learath <learath2@gmail.com>
Co-authored-by: Dennis Felsing <dennis@felsin9.de>
2019-10-14 08:04:06 +00:00
bors[bot] 4f63492dc9
Merge #1933
1933: Fix two unintentional behavior changes of the stopper rewrite r=def- a=heinrich5991



Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2019-10-14 07:46:10 +00:00
Learath a650a3c320 Remove the initial lifespan check 2019-10-14 02:28:24 +02:00
Learath 7cdd050fee Add SHA to demos. Bump Demo Version 2019-10-14 02:27:08 +02:00
Learath b2cefb20ed Always try extracting map before fail. Fix #1886 2019-10-13 18:46:28 +02:00
Learath 63998eaa84 Explode grenades twice at the end if they have lifespans. Fix #1559 2019-10-13 17:58:59 +02:00
Learath 3e7cf12995 Clamp ping to 999. Fix #1651 2019-10-13 17:17:05 +02:00
Learath 547f751bf3 Mark players as afk initially. Fix #1797 2019-10-13 17:13:03 +02:00
Learath 84f1542f43 Add a limit to GetNearestAirPos. Fix #1931 2019-10-13 16:34:03 +02:00
sirius 5b514e5c7f repair the problem that class selector appear when demo playing 2019-10-13 12:09:20 +08:00
bors[bot] fdf2ec37e7
Merge #1930
1930: Fix #1888 r=heinrich5991 a=Learath2

I didn't see a better fix for it

Co-authored-by: Learath <learath2@gmail.com>
2019-10-07 22:44:51 +00:00
heinrich5991 34087e1a7b Only get double jump when falling onto a stopper
Another unintentional behavior change found by Zwelf.
2019-10-06 13:54:16 +02:00
heinrich5991 eab0815ddc Fix unintentional behavior change with blockers
Could be seen on "Insane 3", on teleporter 37. Thanks to Zwelf for
reporting.
2019-10-06 13:51:16 +02:00
12pm 36df86fcd2 Add toggle keyboard shortcuts button to demo player
Demo shortcuts can be annoying if you have other binds on them.

Icons made by eNJi
2019-10-05 18:06:58 +02:00
bors[bot] 112d0432e2
Merge #1923
1923: Properly force spawn order of teams. Fix #1828 r=Learath2 a=d3fault

Mimic old behavior of having a respawn tick > 0 ticks after current tick. 2 ticks later is still "instant enough".

The code below the change mentions strong spawning, so without deciphering it we simply give 2 extra ticks to make sure that it executes before spawning (2 instead of 1 so that it definitely executes for both primary and dummy).

Co-authored-by: d3fault <d3fault@d3fault.net>
2019-10-03 12:11:50 +00:00
bors[bot] 80efc085f6
Merge #1927
1927: Add show text entities button to settings r=Learath2 a=12pm

Fixes #1897

Co-authored-by: 12pm <30786226+12pm@users.noreply.github.com>
2019-10-02 22:02:12 +00:00
Learath 49a2a47dc8 Fix #1888 2019-10-02 20:44:03 +03:00
bors[bot] e7ea336a94
Merge #1925 #1929
1925: Don't bundle libcurl for Linux r=Learath2 a=heinrich5991

It's installed basically everywhere and just increases release size.
They're serious about backward compatibility and haven't had a breaking
change in ages.

1929: Remove space at end of cfg description r=Learath2 a=ChillerDragon

Happy hacktoberfest :octocat: 

Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
2019-10-02 17:25:02 +00:00
ChillerDragon 3777021383 Remove space at end of cfg description 2019-10-02 17:15:42 +02:00
12pm bc62167131 Add show text entities button to settings
Fixes #1897
2019-10-02 13:57:39 +02:00
heinrich5991 9a5de9eff8 Remove unused variables 2019-10-02 10:28:34 +02:00
d3fault 5f193d009e Properly force spawn order of teams, so dummy doesn't get strong hook. Fix #1828
Mimic old behavior of having a respawn tick > 0 ticks after current tick.
2 ticks later is still "instant enough".
The code below the change mentions strong spawning,
so without deciphering it we simply give 2 extra ticks to make sure that
it executes before spawning (2 instead of 1 so that it definitely
executes for both primary and dummy).
2019-09-30 15:42:09 -07:00
d3fault 718eebd9ce Revert "Force spawn order of teams. Fix #1828"
This broke respawn rate limiting and didn't even fix #1828.
When primary tee hits kill tiles, dummy still gets strong hook.

This reverts commit 02f5723321.
2019-09-30 15:38:35 -07:00
heinrich5991 f19220f1bb Allow to hammer directly on unfreeze
Previously, this was only doable with frame-perfect input if you were
going to get frozen again the next tick. Now, you only have to hold your
hammer to immediately hammer once you get unfrozen.

This fixes that "deepfly" (flying with deep-frozen dummy, binding both
main and dummy tee hammers onto the same key) does not only work for
good connection.
2019-09-28 21:07:33 +02:00
heinrich5991 947b5e7936 Fix some formatting in src/game/server/entities/character.cpp 2019-09-28 20:58:31 +02:00
bors[bot] ef32fc4bed
Merge #1920
1920: Don't highlight window when playing demo (fixes #1919) r=Learath2 a=def-



Co-authored-by: Dennis Felsing <dennis@felsin9.de>
2019-09-24 14:22:30 +00:00
bors[bot] a1ff029af9
Merge #1918
1918: Editor speedup fixes r=def- a=Learath2

Fix 1 bug, improve usability of angle selector.

Co-authored-by: Learath <learath2@gmail.com>
2019-09-24 09:04:27 +00:00
Dennis Felsing e06fb2b605 Don't highlight window when playing demo (fixes #1919) 2019-09-24 11:00:30 +02:00
Learath ba12250892 Constrain ValueSelector to integer multiples of Step 2019-09-22 14:21:17 +03:00
Learath 37d9e4fa26 Add a saner way to select angles. Close #1916 2019-09-20 23:57:35 +03:00
Learath 918003911c Fix bug handling speedup brushes 2019-09-20 21:52:28 +03:00
heinrich5991 4e67241794 Fix rotated stoppers not working
Fixes #1861.
Fixes #1914.
2019-09-19 02:07:22 +02:00
heinrich5991 bcd1559c5e Make LimitVel a proper function 2019-09-18 14:50:27 +02:00