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
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
be80ccb7d6
Don't use nonstandard #pragma pack
...
It's not needed in that place anyway.
2017-11-18 00:24:44 +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]
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
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]
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
Michał
58b0ae5fc7
Possible emoji rendering fix
2017-10-28 09:08:17 +02:00
Learath2
a6eb1b94f2
Add lock around m_Destroy and m_PastCB
2017-10-27 15:26:39 +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
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
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
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
Dennis Felsing
d6999bb726
Merge "Pull Request using OpenGL 3.3"
2017-10-18 12:49:27 +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
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
8e778cd9ab
Address pull request comments
2017-10-13 02:29:18 +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
heinrich5991
2fc018aac3
Add asynchronous file output, port dbg_msg()
s to that system
...
Also add tests.
2017-10-10 04:11:14 +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
Learath
1b0ab87015
Get rid of unnecessary queue in CFetcher
2017-10-08 00:57:56 +02:00
def
b368234dae
Delete editor before graphics ( fixes #881 )
2017-09-30 06:27:05 +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
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
216e5654e8
Added config variables for server controlled ghost and race recording
2017-09-28 16:02:00 +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
5b3e9e4bbf
Improved ghost file management
2017-09-28 16:01:58 +02:00
Redix
5cc0d16029
Reworked the race recorder
2017-09-28 16:01:57 +02:00
Redix
1c377ed00f
Added Fastcap support for ghost and race demo
2017-09-28 16:01:57 +02:00
Redix
c189678e44
Cleaned up the ghost component and made it use the ghost recorder and loader
2017-09-28 16:01:56 +02:00
Redix
b1e7138847
Added ghost file handling classes
2017-09-28 16:01:56 +02:00
Jupeyy
7aa547946b
more warning fixes
2017-09-27 15:01:38 +02:00
Jupeyy
463944b143
fix code pattern mistakes and warnings
2017-09-27 14:52:06 +02:00
Jupeyy
9fd1290734
auto adjust font size for entity overlay
2017-09-27 12:19:39 +02:00
Jupeyy
745d77ffeb
remove functions, that aren't needed anymore
2017-09-27 12:18:46 +02:00
Jupeyy
91216fb90c
reduce upload size by normalizing color values, fix slow upload for some
...
iGPUs and force old opengl context, if issueinit fails
2017-09-27 12:16:34 +02:00
Jupeyy
a85f542d1d
only use 4x2 matrix
2017-09-27 12:15:30 +02:00
Dennis Felsing
4fe6dc51f7
Fix non-random announcements (thanks noby)
2017-09-26 14:20:37 +02:00
heinrich5991
a201352b29
Fix a grammar mistake in bot client message
2017-09-24 21:11:23 +02:00
def
553c97b52d
Fix crash with broken ddnet-info.json
2017-09-20 22:25:55 +02:00
heinrich5991
9761e9606a
Make most user input teehistoric
...
Exclude private stuff like chat messages and votes.
2017-09-20 02:23:28 +02:00
heinrich5991
6ef9c8dbcd
First working version of teehistorian
...
teehistorian records all inputs from the players as well as the player
positions in each tick. It stores this info in a highly compressible
output format (I've achived 5x compression using xz or bz2).
2017-09-20 02:16:11 +02:00
Redix
43f246f174
Made int packing functions safe
2017-09-17 02:36:50 +02:00
Dennis Felsing
43d0299a45
Merge branch 'master' into pr_ddnet_fix_msvs_warnings
2017-09-16 11:17:39 +02:00
Jupeyy
26607cfd47
at texture upload, check if we have enough space in the command buffer
...
too
2017-09-15 03:50:06 +02:00
Jupeyy
31844d3353
set max width for custom text texture upload and fixing alignments for
...
texture updates
2017-09-15 03:01:26 +02:00
Jupeyy
f2820ea392
use 4*4 array instead of declearing a full matrix class
2017-09-14 19:47:04 +02:00
Jupeyy
f48e186bfd
use CLineReader instead of fgets, also delete program at destruct
2017-09-14 19:35:31 +02:00
Jupeyy
b6e4b4b4a6
detach shaders automatically after linking
2017-09-14 19:34:14 +02:00
Jupeyy
4fec86a354
support old opengl version with only 2 vertex coordinates
2017-09-14 08:03:33 +02:00
Jupeyy
3bdd8c19ac
delete primitive index buffer at shutdown too
2017-09-14 03:54:22 +02:00
Jupeyy
1df1731b01
use glDeleteVertexArrays instead of glDeleteBuffers
2017-09-14 03:50:42 +02:00
Jupeyy
211f8a6b11
only allow changing to use single/multiple texture units at restart
2017-09-14 02:58:13 +02:00
Jupeyy
1167ab822c
reduce upload since of vertices if drawing quads
2017-09-14 02:50:31 +02:00
Jupeyy
77b3c39553
allow disabling texture unit optimization by command, also use
...
drawelements instead of drawarrays for quads
2017-09-14 02:49:35 +02:00
Jupeyy
5c7c09d380
fixing most wrong code pattern
2017-09-13 20:33:58 +02:00
Jupeyy
a3658e5526
store alpha textures always as RGBA
2017-09-13 18:32:08 +02:00
Jupeyy
629bf2c5f9
Merge branch 'master' of https://github.com/ddnet/ddnet
2017-09-12 20:24:58 +02:00
Jupeyy
96694fb399
make new opengl version optionally
2017-09-12 20:12:37 +02:00
Jupeyy
92bf979467
add new functions to interface to support buffering and rendering
...
visual objects(opengl objects)
2017-09-12 20:11:47 +02:00
Jupeyy
2af3393810
add glyph upload for custom textures
2017-09-12 20:11:14 +02:00
Jupeyy
6a7e3d5836
add a glyph upload for custom textures
2017-09-12 20:10:27 +02:00
Jupeyy
bcb5f0ca8d
add new programs for various gpu render tasks, and some more uniform
...
setter
2017-09-12 20:09:40 +02:00
Jupeyy
a477540358
add new commands to buffer objects and draw them
2017-09-12 20:08:45 +02:00
Jupeyy
5f2ccf2960
add support for buffer objects and vertex object, and its draw calls
2017-09-12 20:07:38 +02:00
def
73d9ad7615
Really only download ddnet-info.json at correct time
2017-09-08 22:16:00 +02:00
def
e7e1070adf
WinXP: Use http://info.ddnet.tw
2017-09-08 20:06:48 +02:00
def
c2c453bd45
Make sending name to info.ddnet.tw optional, show dialog at start and some minor fixes
2017-09-07 20:51:46 +02:00
heinrich5991
4d96090770
Fix MSVS warnings
...
```
warning C4291: no matching operator delete found; memory will not be freed if initialization throws an exception
warning C4305: truncation from 'double' to 'float'
warning C4805: unsafe mix of type 'bool' and type 'int' in operation
```
2017-09-06 10:54:29 +02:00
Jupeyy
9bd6d0c6f9
Merge branch 'master' of https://github.com/ddnet/ddnet
2017-09-04 16:13:26 +02:00
def
8b1470c31f
Revert "Merge GAME_VERSION and GAME_RELEASE_VERSION"
...
This reverts commit 5cfd779c68
.
2017-09-03 23:46:15 +02:00
def
5cfd779c68
Merge GAME_VERSION and GAME_RELEASE_VERSION
2017-09-03 18:54:43 +02:00
def
89ed22e8d8
Introduce ddnet-info.json
...
- Single json file containing all information for the client
- Fetched from https://info.ddnet.tw/info?name=deen
- Replaces versionsrv, news, ddnet-maps.json and ddnet-ranks.json
- Servers are sorted by most popular ones for respective player
- Always stays < 100 ms response time, compared to occasional 50 s for
old ddnet-ranks.json
2017-09-03 17:42:04 +02:00
def
27b7549bba
Make --silent stop stdout logging
2017-09-03 10:37:24 +02:00
def
2e537684d5
actually don't need the family
2017-09-03 09:20:46 +02:00
def
f2a7f5f8dd
User agent in http fetcher
2017-09-03 09:18:00 +02:00
def
42bc38227d
Request server list and ranks at better location
2017-09-03 09:00:57 +02:00
def
862e26dd08
Clean up time handling a bit
2017-09-03 08:48:21 +02:00
Jupeyy
1053bc735d
initial port to opengl3.3 (without any optimazations)
2017-09-02 15:24:07 +02:00
def
e64e59a839
semaphore instead of busy waiting in CJobPool
2017-09-02 12:30:55 +02:00
Dennis Felsing
ed59b0f4a2
Fix binary dirs for installed locations on POSIX
...
Also rename them from teeworlds to ddnet
2017-09-01 13:37:01 +02:00
Dennis Felsing
6c21738d9d
Try to fix Windows crash
2017-09-01 08:01:26 +02:00
def
7c6c2f5d9b
Fix graphics init to be later so that user resolution is available
2017-08-31 23:42:21 +02:00
def
9b214db85f
Force version.ddnet.tw and update4.ddnet.tw
2017-08-31 23:28:10 +02:00
def
8ebac31c03
Use old ddnet-ranks.json when new one can't be fetched currently
2017-08-31 22:40:55 +02:00
def
03399994b5
Remove duplicate semaphore
2017-08-31 19:36:27 +02:00
def
a58895291c
Only trust ddnet ca
2017-08-31 19:33:20 +02:00
def
705349f2e5
Clean up and fix semaphores and threading
2017-08-31 19:18:07 +02:00
Learath2
cd386488e2
Rename semaphore_* to sphore_*
...
Previous naming conflicted with Mach kernel definitions.
2017-08-31 19:18:07 +02:00
Savander
1741df43cd
Add gametype support to exclude field
2017-08-31 12:35:01 +02:00
def
bff1c12b83
Don't try to load ddnet-ranks.json while fetcher is downloading it anyway
2017-08-31 00:07:59 +02:00
def
a20db6ec56
Don't shutdown sound twice ( fixes #851 )
2017-08-30 23:19:33 +02:00
def
7d71dae87f
Fetcher: sephamore instead of spinlock, exit thread gracefully
2017-08-30 23:14:00 +02:00
def
040fc9ca32
Implement right click and middle click on country and type filters
...
Right click: exclusively activate one
Middle click: reset (reenable all)
2017-08-30 22:36:39 +02:00
Dennis Felsing
eb2634ab0a
Merge pull request #852 from heinrich5991/pr_ddnet_fix_extractname
...
Add testing; fix, rename and test the `CEditor::ExtractName` function
2017-08-30 22:09:17 +02:00
def
16f3ddc5a7
Show if user has rank on map in browser (+filter)
...
UI implementation by timakro
2017-08-30 21:34:04 +02:00
def
e480b651e7
Fix fetcher write function to return size
2017-08-30 21:01:19 +02:00
def
7f0eb53ff4
Initialize in order to ensure destruction in order ( fixes #848 )
2017-08-30 17:22:36 +02:00
heinrich5991
22be1be389
Fix and rename the CEditor::ExtractName
function
...
Fixes #846 .
2017-08-30 13:59:42 +02:00
heinrich5991
2682480f8a
Rename GetUncompressedDataSize
to GetDataSize
...
Also rename the old `GetDataSize` to `GetFileDataSize`. `GetDataSize`
now returns the actual data size, not the data size before
decompression.
2017-08-30 08:36:17 +02:00
root
2c748ebf70
Fixing PR over heinrich revision
2017-08-30 00:21:41 +02:00
sctt
0849fa6024
fixing map_resave and adding map_replace_image
...
Update datafile.h
Update datafile.cpp
Update datafile.cpp
Update map_resave.cpp
Update datafile.h
Update map_resave.cpp
Update datafile.h
Update datafile.cpp
Update config_store.cpp
Update config_retrieve.cpp
Update io.cpp
Update gamecontext.cpp
Update config_store.cpp
Update CMakeLists.txt
Create map_replace_image.cpp
Update map_replace_image.cpp
fixing bug with height and witdth
2017-08-29 16:21:16 +02:00
def
40b145fe20
More utf8mb4 in database connection and database default
2017-08-26 10:12:47 +02:00
def
ac2943a49b
utf8mb4 in database for real utf8
2017-08-26 09:00:33 +02:00
def
0b1842d438
Use filesystem paths for -f command line param
2017-08-11 21:07:20 +02:00
def
0b5dcdc478
Disable vsync by default and warn about possible delay
2017-08-08 19:53:16 +02:00
def
5d8a0ddc1e
Add time in console
2017-08-04 22:38:22 +02:00
heinrich5991
33315452c3
Merge branch 'master' into leak_fix
2017-07-31 20:42:32 +02:00
def
c6a5a7dcb3
Try using more modern SDL audio interface
2017-07-30 12:33:51 +02:00
HMH
19a8e7add6
removed some spaces
2017-07-28 20:44:03 +02:00
HMH
04e2946efc
mem_free is safe on null pointers
2017-07-28 15:42:32 +02:00