heinrich5991
c9fc487c43
Add a missing call to lock_wait
in test function
...
This was uncovered when I tried to run other code with ThreadSan, but it
only found this. :(
2018-01-05 16:06:24 +01:00
Ryozuki
d6eb604718
add rcon moderate mode
2018-01-05 15:23:08 +01:00
Chiller Dragun
654dd597fe
fixed rand init error message
2018-01-04 06:33:21 -08:00
bors[bot]
c15f52bf5f
Merge #957
...
957: Add manual locking to `ASYNCIO` for transacted writes r=Learath2 a=heinrich5991
Previously, e. g. it was possible that newlines are separated from the
printed line in `logger_file`.
2018-01-02 15:31:09 +00:00
Learath2
8353701789
Add sv_rcon_vote. Fix punctuation.
...
Add option to only allow authed clients to call votes.
2017-12-27 10:40:51 +03:00
def
627291c510
/pause <name> always switches to watching name
...
Old behaviour switched you out of pause if you were paused already
Thanks to fokkonaut for suggestion
2017-12-23 20:42:54 +01:00
Emir Marincic
08d7fc173c
Merge pull request #967 from heinrich5991/pr_ddnet_address_logging
...
Add address logging server
2017-12-21 16:35:47 +01:00
Dennis Felsing
be9a5fc8c8
Update save command description (by marcelherd)
2017-12-21 13:58:09 +01:00
heinrich5991
eb31a52b83
Add very basic test for Unix sockets
2017-12-20 16:56:44 +01:00
heinrich5991
1a236dbefc
Send connection information to external server
2017-12-20 16:56:34 +01:00
bors[bot]
1d55bbda0e
Merge #948
...
948: Remove deprecated multi commands r=Learath2 a=heinrich5991
You now have to use `/mc;` instead of `/` if you want to bind multiple
commands to one key.
2017-12-08 14:48:32 +00:00
bors[bot]
a2f010c1fe
Merge #941
...
941: Add cross-compiled DMG archives r=Learath2 a=heinrich5991
Currently they only contain the client and the archives are a lot larger
than the current release artifacts.
2017-12-08 14:20:49 +00:00
Jupeyy
9228e632e9
remove spaces
2017-12-03 11:50:43 +01:00
Jupeyy
e314802c9c
Initialize m_LastLoad in Constructor and reset it when a new map is
...
loaded(%current% can be loaded directly)
2017-12-03 08:01:17 +01:00
Jupeyy
060f6fd36e
Load shaders through IStorage class
...
Fixes #939 .
2017-12-02 22:19:57 +01:00
ChillerDragon
3acb650a6f
removed unused comment
2017-12-02 18:26:53 +01:00
bors[bot]
bad105c5e4
Merge #953
...
953: Overhauled job system r=Learath2 a=heinrich5991
The engine now takes `std::shared_ptr<IJob>`, this will ensure the
appropriate lifetime of the given parameters, it also allows for proper
destruction. Remove the now obsolete `IFetcher` interface and `CFetcher`
class.
Also adds some locks to `CUpdater`, previously it didn't have any locks
at all.
2017-11-27 23:34:54 +00:00
heinrich5991
8d47638a29
Add manual locking to ASYNCIO
for transacted writes
...
Previously, e. g. it was possible that newlines are separated from the
printed line in `logger_file`.
2017-11-27 01:04:55 +01:00
heinrich5991
fd36b8c8c8
Remove unused header file src/engine/shared/storage.h
2017-11-27 00:58:30 +01:00
bors[bot]
41f6140179
Merge #945
...
945: Don't use nonstandard `#pragma pack` r=Learath2 a=heinrich5991
It's not needed in that place anyway.
2017-11-26 16:27:50 +00:00
bors[bot]
5bfb25c9c8
Merge #954
...
954: Change some config variable defaults to official server values r=Learath2 a=heinrich5991
2017-11-26 16:13:23 +00:00
bors[bot]
f9e0b6b3fe
Merge #931
...
931: Add Speedup tiles correctly at the border creation & remove tile layer extension restriction & fix the LastIndex buffer initlialization & setup non mipmap textures up correctly(texture completness) r=heinrich5991 a=Jupeyy
Allows speedups to be drawn on extended range(out of map range) too.
2017-11-26 13:32:05 +00:00
Jupeyy
b1d99de87a
s_
2017-11-26 14:10:47 +01:00
Jupeyy
bff1186d3b
is now s_
2017-11-26 14:08:00 +01:00
Jupeyy
14297ae45c
code pattern
2017-11-26 13:28:41 +01:00
heinrich5991
c10db436b4
Change some config variable defaults to official server values
2017-11-24 11:59:45 +01:00
heinrich5991
23734deb14
Call net_init
in tests
2017-11-24 10:51:46 +01:00
heinrich5991
3f43624d21
Add a couple of tests for CJobPool
2017-11-24 10:33:42 +01:00
heinrich5991
01d81fc4cc
Make m_Shutdown
variable atomic instead of volatile
2017-11-24 09:23:23 +01:00
heinrich5991
a3cdfac84e
Fix lookup job being zeroed in CMasterServer::Load
2017-11-24 02:13:34 +01:00
heinrich5991
94acac91a0
Overhauled job system
...
The engine now takes `std::shared_ptr<IJob>`, this will ensure the
appropriate lifetime of the given parameters, it also allows for proper
destruction. Remove the now obsolete `IFetcher` interface and `CFetcher`
class.
Also adds some locks to `CUpdater`, previously it didn't have any locks
at all.
2017-11-23 15:47:38 +01:00
heinrich5991
f0c647dba5
Change os_compare_version
to os_is_winxp_or_lower
...
This stops leaking OS details in non-`system.c` files.
2017-11-23 03:10:15 +01:00
heinrich5991
7fc4a21565
Remove deprecated multi commands
...
You now have to use `/mc;` instead of `/` if you want to bind multiple
commands to one key.
2017-11-18 16:36:34 +01:00
heinrich5991
be80ccb7d6
Don't use nonstandard #pragma pack
...
It's not needed in that place anyway.
2017-11-18 00:24:44 +01:00
heinrich5991
dcbd8197a4
Stop using deprecated APIs on macOS in server launcher
2017-11-17 14:57:42 +01:00
heinrich5991
dd5c26f81c
Build the server launcher on macOS, package it
2017-11-17 14:37:29 +01:00
bors[bot]
27722633a3
Merge #940
...
940: Put shaders into the data/ directory r=Learath2 a=heinrich5991
Simplifies a lot of things
2017-11-15 23:29:55 +00:00
heinrich5991
17d3f4afa4
Put shaders into the data/ directory
...
Simplifies a lot of things
2017-11-08 22:19:47 +01:00
bors[bot]
71d77ae778
Merge #937
...
937: Fix `3 / 2` using integer division r=Learath2 a=heinrich5991
2017-11-08 20:08:59 +00:00
bors[bot]
fdb2e330ce
Merge #904
...
904: Fix use-after-free r=heinrich5991 a=Learath2
Not sure if this is the best way to go about this, but it works :/
2017-11-08 17:30:34 +00:00
Jupeyy
78c06e180f
remove dublicated GL queries
2017-11-04 05:38:48 +01:00
Jupeyy
78a9fbb9b5
use the write buffer slot, instead of elementarray slot to create the
...
index buffer
2017-11-04 04:57:58 +01:00
heinrich5991
ef0c1b266f
Fix 3 / 2
using integer division
2017-11-03 22:10:04 +01:00
Jupeyy
d367f94d7c
invalidate all index buffer bindigs, when index buffer is resized
2017-11-03 19:48:17 +01:00
Jupeyy
c22af4bb4d
fix index buffer bindig for normal quads(fixes startup crashes) and
...
initialize non mipmap textures as linear(texture completness)
2017-11-03 19:33:23 +01:00
bors[bot]
3fdc87047b
Merge #935
...
935: removed dead function prototype r=heinrich5991 a=ChillerDragon
2017-11-01 14:15:56 +00:00
ChillerDragon
a013a59aa6
removed dead function prototype
2017-11-01 14:57:34 +01:00
bors[bot]
5528cde5f6
Merge #869
...
869: Complete rework of the ghost and race recorder r=Learath2 a=Redix
This PR fixes a lot of issues with the ghost and race recorder, introduces a new ghost file format and implements some pretty useful features.
**A quick overview:**
- When you cross the start line multiple times, both (ghost and recorder) will only restart if it is a non-solo server
- If available, both will use the race timer to recognize the start instead of searching for the start line
- Fastcap support for both
- The recorder immediately starts when the Tee spawns, so the preparation steps (which are quite important for speedruns) will be included in the demo. If you do not cross the start-line within 20 seconds, it will stop the demo until you really start.
- Better ghost menu (colors, reloading, deleting and saving ghosts)
- The ghosts are more resistant against lags (old ones were sometimes completely useless due to small lags)
- New ghosts files are significantly smaller
- Cleanup, bugfixes..
**About the new ghost format (version 4/5):**
This format is used by Teerace for over a year now. The code for handling the binary files was moved to the engine. It includes an auto updater which creates a backup of all ghosts and converts them to the new format afterwards. The major differences from the format used by DDNet right now (version 2), are the ability to store multiple types of data, the usage of delta-encoding and a more portable header.
For whatever reason, the ghost stores values for every predicted tick, but without tick information, so lost snapshots can make them unusable. The new code uses the original values from the snapshots including ticks but it can also handle the old ones without. Since hardly any server uses the high bandwidth option this practically reduces the file size.
Like the demo recorder the ghost recorder directly stores the data to a file (every 50 snapshots) instead of writing the whole file at the end of the race. Indeed this can be changed with only a few lines if the old behavior is preferred.
The updater can handle version 2 (DDNet) and 3 (old teerace format, only slightly different from version 2) files. The updating already happens when the files are scanned for generating the list in the menu and not only when you activate them. The change from version 4 to 5 was only needed due to a bug in the implementation, the ghost loader can read both.
Some numbers about the file size: (map: hotrun, both about 30 seconds)
- Old ghost: 30.4 kB (converted: 10.7 kB)
- New ghost: 5.4 kB
**One thing about the race recorder:**
The old implementation compared the new file only with the first file it found for the particular map. The new one compares with all related demos and deletes them possibly, so that only the best demo is left. Since DDNet can also store the demos without name, this might also delete demos from other players, that you might have in your directory.
To prevent this I at least check whether the demo contains the player name if `cl_demo_name` is on.
In my opinion the better solution would be to remove `cl_demo_name` and always use the player name.
2017-10-30 20:27:10 +00:00
Redix
de1c0cf24d
Fixed several issues with the ghost (thanks to Learath2)
2017-10-28 14:23:24 +02:00
def
04820b44f8
Simplify emoji
2017-10-28 09:08:17 +02:00
Michał
ebe894faef
Fix duplicate
2017-10-28 09:08:17 +02:00
Michał
f7e64fe99e
Quick fix
2017-10-28 09:08:17 +02:00
Michał
2e353beec2
Rendering fix, better offset calculation, optimizations
2017-10-28 09:08:17 +02:00
Michał
58b0ae5fc7
Possible emoji rendering fix
2017-10-28 09:08:17 +02:00
Michał
3c3c7abd3c
Removed alias->utf replacer, added alias lookup instead, modified CEmojis class
2017-10-28 09:08:17 +02:00
Michał
07db85d806
Removed string.h, replaced some C functions with system.h ones, renamed variables
2017-10-28 09:08:17 +02:00
Michał
bb419c43b7
Linux build fix + cleanup
2017-10-28 09:08:17 +02:00
Michał
e85898a4b6
Fix includes + small clean
2017-10-28 09:08:17 +02:00
Michał
35fb1ddb41
Add emoji support
2017-10-28 09:08:17 +02:00
Jupeyy
f15f41e654
remove extension limit for tile layers
2017-10-28 02:04:53 +02:00
Savander
fa544dc0e6
Localize Date, Demo
2017-10-28 01:22:11 +02:00
Savander
b2b82eb3dd
Localize friend message
2017-10-28 01:21:32 +02:00
Jupeyy
493d2dc9d8
add speedups correctly to the border tiles, to allow them beeing
...
displayed on extended range
2017-10-28 00:52:54 +02:00
Learath2
a6eb1b94f2
Add lock around m_Destroy and m_PastCB
2017-10-27 15:26:39 +02:00
bors[bot]
d5b6b30f95
Merge #929
...
929: Don't draw invalid tiles r=heinrich5991 a=Jupeyy
I just forgot to fix that, when i was changing the buffer creation.
It just prevents invalid tiles, e.g. speedup without force, to be drawn
2017-10-25 14:21:45 +00:00
Jupeyy
863385e208
fix the code layout
2017-10-25 15:42:06 +02:00
Jupeyy
3c8f937b79
Don't draw invalid tiles
2017-10-24 20:41:11 +02:00
ChillerDragon
86f4deef8c
fixed boardcast
2017-10-24 13:40:35 +02:00
Dennis Felsing
bf2edba73f
Merge pull request #918 from heinrich5991/pr_ddnet_test_info
...
Add `CTestInfo` class, add test for create-close-remove process
2017-10-24 12:20:46 +02:00
Jupeyy
442a1767d4
reset lastindexbuffer at object deletion
2017-10-24 03:12:48 +02:00
Jupeyy
5c9fc3d19b
remove unused variable
2017-10-23 18:31:44 +02:00
Jupeyy
37c5102928
only delete VBOs when the VAO, which uses the VBO, is deleted(AMD driver
...
bug under windows). And only allow true fullscreen under supported
display resolutions, to enable prevention of DPI scaled opengl viewport
2017-10-23 18:02:18 +02:00
heinrich5991
b463197348
Add CTestInfo
class, add test for create-close-remove process
2017-10-23 00:13:53 +02:00
def
cb00a294b8
Enable gfx_opengl3 by default
2017-10-20 22:52:38 +02:00
def
342c6048bf
Use new opengl by default
2017-10-20 22:47:59 +02:00
def
02aeae416b
Infinity = no limit
2017-10-20 22:47:59 +02:00
Dennis Felsing
2dec3d771a
Merge pull request #916 from heinrich5991/pr_ddnet_fix_aio_test_leak
...
Fix file descriptor leak in aio tests
2017-10-20 22:32:31 +02:00
def
2b7809befd
Switch cl_showfps 1/2
2017-10-20 22:27:53 +02:00
heinrich5991
5d783895e4
Fix file descriptor leak in aio tests
2017-10-20 18:46:31 +02:00
Dennis Felsing
4afe702985
Merge pull request #913 from heinrich5991/pr_ddnet_fix_warning
...
Fix `-Wtypedef-redefinition` for `struct ASYNCIO`
2017-10-20 14:12:49 +02:00
Dennis Felsing
6c7f6e3a7e
glew on macosx as well...
2017-10-20 11:49:00 +02:00
Dennis Felsing
5a75dc7f27
New glew try
2017-10-20 11:35:44 +02:00
heinrich5991
c654d82fd2
Fix -Wtypedef-redefinition
for struct ASYNCIO
...
Fixes #912 .
2017-10-20 11:24:45 +02:00
Dennis Felsing
88c0778b21
Bundle glew instead
2017-10-20 11:12:27 +02:00
Dennis Felsing
07db95ed59
Mac build fix
2017-10-20 10:20:29 +02:00
Dennis Felsing
d7eabb0ea9
Further macosx fixes
2017-10-20 09:31:42 +02:00
Dennis Felsing
db46d18e71
No GLEW on OSX necessary (untested)
2017-10-20 09:08:49 +02:00
Learath2
b8b4f7771d
Rename the callback
2017-10-19 18:13:28 +02:00
Redix
9289deb5c7
Stop ghost rendering when touching the start line again
2017-10-18 21:37:25 +02:00
Dennis Felsing
d6999bb726
Merge "Pull Request using OpenGL 3.3"
2017-10-18 12:49:27 +02:00
Dennis Felsing
cc9bcb5b9f
Merge pull request #900 from Learath2/dd_pr_authname
...
Reset the username on disconnect
2017-10-18 12:43:08 +02:00
Edgar Luque
3408d4f016
MinGW putenv workaround.
2017-10-17 16:38:40 +02:00
Learath
30aebc9cf4
Destroy() implies Abort()
2017-10-17 15:42:17 +02:00
Learath
96acddb57f
Fix the other use after free
2017-10-17 15:39:20 +02:00
Learath
7f8356e37e
Fix a heap-use-after-free
2017-10-17 14:23:56 +02:00
bors[bot]
5aca38e50e
Merge #902
...
902: Fix victim handling r=Learath2 a=heinrich5991
2017-10-16 23:41:15 +00:00
heinrich5991
dfc53b48cf
Fix victim handling
2017-10-17 01:32:40 +02:00
Learath
9ae2c16235
Allow changing UsernameReq while connected
2017-10-16 20:08:39 +02:00
Learath
81135d17de
Reset the username on disconnect
2017-10-16 20:01:33 +02:00
Jupeyy
cc54c4acdf
also out the LOD to the fragment shader to make sure we use the same LOD
...
on every hardware
2017-10-14 23:27:14 +02:00
heinrich5991
16694a0d7b
Use a random token for serverbrowse requests
...
This alleviates the risk for spoofed servers.
2017-10-14 21:58:23 +02:00
Jupeyy
5389dd9666
fix border amount for right and bottom border lines
2017-10-14 16:37:48 +02:00
heinrich5991
525b643e18
Fix a syntax error
...
Sorry. :/
2017-10-13 16:33:23 +02:00
heinrich5991
c439b04a2d
teehistorian: Hide chat from teehistorian
...
There was a missing check that allowed chat messages to be written to
disk.
2017-10-13 16:25:26 +02:00
Learath2
4394933d6c
Merge pull request #887 from heinrich5991/pr_ddnet_async
...
Add asynchronous output system and use it for teehistorian and `dbg_msg()`s
2017-10-13 15:30:24 +02:00
heinrich5991
e989ffad78
Rename async_*
to aio_*
and add test for nondivisible buffer lengths
2017-10-13 02:48:42 +02:00
heinrich5991
8e778cd9ab
Address pull request comments
2017-10-13 02:29:18 +02:00
heinrich5991
d5008d87a3
Add a test that checks for correct order in async IO
2017-10-12 00:58:47 +02:00
heinrich5991
13f0655cba
Don't reset ASYNCIO_CLOSE
flag on async_wait
2017-10-12 00:53:12 +02:00
Jupeyy
add339d210
not needed, because of restrictions before
2017-10-11 11:18:03 +02:00
Jupeyy
1814fa8d19
make OpenGL 3.3 experimental option, and don't initialize it as default
2017-10-10 15:35:20 +02:00
Jupeyy
4fc7187a14
adjust sprite texture coordinates to respect texel offset
2017-10-10 12:20:20 +02:00
Jupeyy
966b388b0e
clamp speedup arrows images
2017-10-10 12:08:36 +02:00
heinrich5991
4d05a2379b
Make teehistorian asynchronous
2017-10-10 04:11:14 +02:00
heinrich5991
2fc018aac3
Add asynchronous file output, port dbg_msg()
s to that system
...
Also add tests.
2017-10-10 04:11:14 +02:00
heinrich5991
be0b52eddc
Fix teehistorian crash on startup
2017-10-10 02:39:29 +02:00
heinrich5991
7de42a1414
Couple of thread fixes
2017-10-10 00:08:24 +02:00
Learath
1855992014
Fix style
2017-10-09 20:51:16 +02:00
Learath
f4b3bc63b3
Forgot classes need to be initialized with new
...
Also matched the function signatures to the ones in the interface
2017-10-09 20:04:23 +02:00
Learath
26efee9506
Forgot the virtuals
2017-10-09 19:22:44 +02:00
Jupeyy
26bd800d63
calculate the LOD on CPU side and restrict mipmap levels for huge
...
textures to remove bad looking mipmap generations at high zoom levels
2017-10-09 18:58:44 +02:00
Learath2
70ee5d9645
Properly free CFetchTask in case of abort
2017-10-09 18:47:02 +02:00
Learath2
9bce7e8630
Use a proper interface for CFetchTask
2017-10-09 18:47:02 +02:00
Learath2
d15dcd3c58
Merge pull request #871 from heinrich5991/ddnet_teehistorian
...
Teehistorian
2017-10-09 18:42:27 +02:00
Jupeyy
43fa2fd1a7
use wrap mode for every individual texture
2017-10-09 15:59:16 +02:00
Jupeyy
92edbf4d37
allow viewing average or current fps
2017-10-09 15:58:12 +02:00
Learath
1b0ab87015
Get rid of unnecessary queue in CFetcher
2017-10-08 00:57:56 +02:00
Redix
134a79a225
Move RaceHelper to src/game/client
2017-10-06 22:13:35 +02:00
Redix
612fe15a32
Fix a possible issue with the ghost
2017-10-06 22:05:54 +02:00
Redix
d4509111d5
Clean up ghost and race recorder
2017-10-06 22:01:33 +02:00
def
b368234dae
Delete editor before graphics ( fixes #881 )
2017-09-30 06:27:05 +02:00
Redix
1638f39557
Use the same ghost path everywhere
2017-09-29 23:15:47 +02:00
Redix
245afcb4b2
Fix warnings
2017-09-28 19:27:15 +02:00
Redix
2586c001b7
Use demos/auto/race for the race recorder
2017-09-28 19:14:36 +02:00
Redix
e9a0271c29
Improved ghost and race recorder file handling
2017-09-28 19:13:20 +02:00
Redix
66cc527af4
Do not restart ghost and race recorder when the race timer is turned on with /timer
2017-09-28 16:57:39 +02:00
Redix
0891ce2812
Use move instead of copy assignment operator for the ghost
2017-09-28 16:42:47 +02:00
Redix
c832beca63
Remove 30 min limit from the ghost
2017-09-28 16:02:01 +02:00
Redix
a3a82b6571
Move filename clearing function to base lib
2017-09-28 16:02:01 +02:00
Redix
5721612761
Clean up trailing whitespaces
2017-09-28 16:02:01 +02:00
Redix
d37bb5e65a
Fix ghost menu localization
2017-09-28 16:02:01 +02:00
Redix
0c6026c22e
Hide ghost menu buttons if there are no ghosts
2017-09-28 16:02:00 +02:00
Redix
0b4d629dab
Improved ghost memory management
2017-09-28 16:02:00 +02:00
Redix
216e5654e8
Added config variables for server controlled ghost and race recording
2017-09-28 16:02:00 +02:00
Redix
17f1978740
Use the race timer for the demo recorder as well
2017-09-28 16:02:00 +02:00
Redix
491cfdb93e
A few fixes in ghost and race recorder code
2017-09-28 16:02:00 +02:00
Redix
1efa8023ea
Use race timer for ghosts if available
2017-09-28 16:02:00 +02:00
Redix
4c8c546c35
Improved ghost start accuracy
2017-09-28 16:01:59 +02:00
Redix
ac234ad3ee
Write the correct player name into ghosts that are saved from menu
2017-09-28 16:01:59 +02:00
Redix
ffaa077c72
Improved ghost skin handling a bit
2017-09-28 16:01:59 +02:00