Commit graph

2518 commits

Author SHA1 Message Date
Dennis Felsing abe9f6f5a9
Merge pull request #1518 from ddnet/fetch-info
Demo browser: Make Fetch Info a checkbox instead
2019-03-20 07:45:12 +01:00
bors[bot] b1f3692980 Merge #1514 #1521 #1522 #1523
1514: Square and center icons before rendering them on button r=Learath2 a=def-



1521: Remove unused norank icon from browse_icons.png r=heinrich5991 a=def-



1522: Reset authed level in client r=Learath2 a=def-

As reported by jao on Discord:

22:26 jao @Learath2 client auth level needs to reset on server join or something
22:28 jao because other servers don't send it

1523: Make updating nameban reason work r=def- a=12pm



Co-authored-by: def <dennis@felsin9.de>
Co-authored-by: 12pm <30786226+12pm@users.noreply.github.com>
2019-03-19 23:08:37 +00:00
def 9ea9a43f13 Reset authed level in client
As reported by jao on Discord:

22:26 <jao> @Learath2 client auth level needs to reset on server join or something
22:28 <jao> because other servers don't send it
2019-03-19 22:29:41 +01:00
bors[bot] 9d623cb23c Merge #1516 #1517
1516: Remove useless comments r=heinrich5991 a=def-

Not sure if we want to do this kind of cleanup

1517: Fix rendering of checkbox x r=heinrich5991 a=def-

old:
![screenshot-20190319@163151](https://user-images.githubusercontent.com/2335377/54619252-9811d000-4a64-11e9-92cf-df3e3c325566.png)

new:

![screenshot-20190319@163137](https://user-images.githubusercontent.com/2335377/54619237-91835880-4a64-11e9-9775-7625bbcd3cb3.png)

Co-authored-by: def <dennis@felsin9.de>
2019-03-19 21:15:40 +00:00
def 22f278fdb8 Demo browser: Make Fetch Info a checkbot instead
And persist the result. Helps with the workflow described by Shyzo on
Discord:

> I mean after i press ctrl-f or fetch info. then i want to sort by marker (from ... to 0) and just delete every demo without a marker. either in a whole (not possible i think) or just one by one. but I think after deleting one demo the order of demos change again
> so i have to fetch info again, delete one. fetch info again. delete one
> and so on
2019-03-19 18:28:10 +01:00
def 04d67c02f2 Square and center icons before rendering them on button 2019-03-19 17:26:36 +01:00
def 4468f61ee2 Fix rendering of checkbox x 2019-03-19 16:31:24 +01:00
def 2c640b626f Remove useless comments in menus.cpp 2019-03-19 16:25:07 +01:00
def f51c12cabe Fix alignment of x inside button 2019-03-19 16:14:23 +01:00
def 58d9bd4105 Make cl_authed_player_color modifiable
Old color was rgb = (0.78, 1.0, 0.8)
In hsl = (125°, 100%, 89%)
Converted to hex hsl:
H = 125° / 360° * 255 = 89 = 0x59
S = 100% = 0xFF
since the TW HSL color system fobids too dark colors it uses l = 0.5 + 0.5*L/255
so L = (0.89 - 0.5) * 2*255 = 199 = 0xC7
So in total we get 0x59FFC7 = 5898183
2019-03-19 15:37:17 +01:00
def da08b7b86f Autocomplete chat commands (fixes #1504) 2019-03-19 10:33:08 +01:00
bors[bot] 38333b65a1 Merge #1506
1506: Color authed players in spec (fixes #1497) r=Learath2 a=def-



Co-authored-by: def <dennis@felsin9.de>
2019-03-19 08:16:34 +00:00
bors[bot] 2209113027 Merge #1505
1505: Add symbol for official servers in server browser (fixes #1501) r=heinrich5991 a=def-

- Also fix favorites checkbox when removing favorite
- Might need a nicer looking symbol

![screenshot-20190319@074729](https://user-images.githubusercontent.com/2335377/54585760-4b55d700-4a1b-11e9-962c-92c1b56659fd.png)

Co-authored-by: def <dennis@felsin9.de>
2019-03-19 07:48:07 +00:00
def 0f9b89fc74 Color authed players in spec (fixes #1497) 2019-03-19 08:16:46 +01:00
def 4f515bf67e Add symbol for official servers in server browser (fixes #1501)
- Also fix favorites checkbox when removing favorite
- Might need a nicer looking symbol
2019-03-19 07:46:50 +01:00
Dennis Felsing 7a23baa020
Merge pull request #1502 from fokkonaut/master
Remove AllowTimeScore from browser (fixes #1499)
2019-03-18 13:24:55 +01:00
fokkonaut 55150bb7d6 Remove AllowTimeScore from browser (fixes #1499) 2019-03-18 13:13:37 +01:00
bors[bot] 1d9eb965fa Merge #1485
1485: Browser's scoreboard now shows score based on cl_ddrace_scoreboard r=def- a=fokkonaut



Co-authored-by: fokkonaut <35420825+fokkonaut@users.noreply.github.com>
2019-03-12 22:47:38 +00:00
fokkonaut 8440b051f7
forgot one thing 2019-03-12 19:36:33 +01:00
fokkonaut 3f628de592
Update menus_browser.cpp 2019-03-12 19:33:47 +01:00
def bbec3b1f2f Minor style fixes 2019-03-12 19:29:18 +01:00
def 6701000931 Rename Score board to Scoreboard for consistency 2019-03-12 19:00:47 +01:00
fokkonaut 5c1dfe6b65 Scoreboard headline for score can now be Time when on DDRace 2019-03-11 23:10:21 +01:00
Learath 6fa5d3fcce One color for all auth levels 2019-03-05 11:48:06 +03:00
Learath 548e9969b2 Add colors for authed players. Deprecates #1299 2019-03-02 13:50:33 +03:00
ChillerDragon 53e14d02f0 Remove unused graphics include in ghost.cpp 2019-02-22 11:27:25 +01:00
fokkonaut cf09fbd1ea Merge BW support into IsDDNet 2019-01-14 16:50:06 +01:00
fokkonaut fe4426b008 fixed ddrace score (time score) 2019-01-14 08:01:20 +01:00
fokkonaut 0e842359ad Add DDRace Score NETMSG 2019-01-14 08:01:20 +01:00
def f05c56d6ce Fix cl_dyncam_mousesens
should only have an effect ingame, not in menus or editor
2019-01-11 09:40:04 +01:00
def b3ca67e944 Minor code simplification 2019-01-10 15:54:42 +01:00
Dennis Felsing c16c50fa80
Merge pull request #1424 from ddnet/demo-markers
Demo browser: Show markers (fixes #329)
2019-01-09 08:54:42 +01:00
def faa3cc195d UTF8 nocase compare & use for chat TAB completion
- As suggested by Arseniy Zarche
- Also updated confusables to Unicode 12
2019-01-09 08:31:03 +01:00
def f9d9fee314 Demo browser: Show markers (fixes #329)
- Fetch Headers button
- Display Markers & Length columns
- Display footer info
- Don't rescan directory when not required
- Clean up code a bit
2019-01-09 08:25:03 +01:00
def 779a928faf CRaceDemo: Don't attempt to remove demo that hasn't been started 2019-01-07 14:36:17 +01:00
jupeyy 619a33a7d5 text kerning fix, add new text render flags for accurate positioning 2019-01-06 06:42:57 +01:00
def bcdec941da Update view target when spectating with chat open
Thanks to ReiTW for reporting and illustrating the bug:
https://www.youtube.com/watch?v=LKicYqtqJbQ
2018-12-29 00:05:05 +01:00
def 4217d5d536 Fix 5:4/4:3 skin prefix setting display 2018-12-23 22:58:41 +01:00
def bad0d53906 Move timing code to actual end of function 2018-12-23 22:58:37 +01:00
def 87fa394daa Add Christmas skin event for client 2018-12-23 22:58:30 +01:00
Dennis Felsing 0ad472df41 Make cort comparator conform to strict weak ordering
comp(p1, p2) == false was violated when both are nullptr
https://en.cppreference.com/w/cpp/named_req/Compare
2018-12-06 07:57:01 +01:00
Dennis Felsing 809afa265f Fix typo 2018-12-05 07:28:29 +01:00
Shengyu Zhang 464ef9e74b Fix crash when auto update is off
Since 2696ac134c, whether to include auto
update related code should only control by macro CONF_AUTOUPDATE.

This commit should fix #1374
2018-12-05 01:06:52 +08:00
def 6ad686eee2 Fix HUD (thanks to fokkonaut for reporting) 2018-11-24 22:57:15 +01:00
def 27865fdd89 Fix Race scoreboard ordering for times > 166 minutes (9999 seconds) 2018-11-21 21:26:05 +01:00
yangfl a1db76cdef Remove extra semicolons 2018-11-18 14:27:48 +08:00
def c0b60979ec style 2018-10-29 22:09:11 +01:00
Dennis Felsing 80f4b7934c
Merge pull request #1365 from Jupeyy/pr_bordercorner_fix
Border corner minimum fix
2018-10-29 22:08:43 +01:00
def faf388b853 Fix #1350 2018-10-29 22:03:57 +01:00
bors[bot] 1b0b36c6eb Merge #1316 #1341 #1349
1316: code improvement on gameclient.cpp r=def- a=Ryozuki



1341: Mark unused envelopes r=def- a=Learath2

Thought I'd do this one as well while looking at the editor code.

1349: Don't ignore CONNECT packets with data that we don't know r=def- a=heinrich5991

This specifically affects 0.6.5. Just treat them the same way as those
without any data.

Co-authored-by: Ryozuki <edgar@ryobyte.com>
Co-authored-by: Learath <learath2@gmail.com>
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2018-10-29 14:31:27 +00:00
jupeyy 95e8a031c7 style 2018-10-29 09:00:47 +01:00
jupeyy c666417fa0 less code 2018-10-29 08:44:55 +01:00
jupeyy 536bb4ad3d check minimum for width and height seperatelly 2018-10-29 04:21:35 +01:00
fokkonaut 1082ba77b0 increase max score that can be displayed in scoreboard 2018-10-11 22:19:26 +02:00
Ryozuki 09c82fba7a indent 2018-10-03 07:40:50 +02:00
Ryozuki 5c51e3b80d change to c style casts 2018-10-02 20:52:21 +02:00
Ryozuki be3cfe88e6 fix 2018-10-02 20:45:44 +02:00
Ryozuki 0a91fef8c8 fix tabs 2018-10-02 14:36:55 +02:00
Ryozuki e21a08f700 another improvement 2018-10-02 14:35:50 +02:00
Ryozuki 7efe2b436e code improvement on gameclient.cpp 2018-10-02 14:32:59 +02:00
fokkonaut 3240f6fbc5 fix bw support 2018-09-28 18:27:51 +02:00
Dennis Felsing a2e3496005
Merge pull request #1220 from heinrich5991/pr_ddnet_ui_skinprefix
Add some UI for the skin prefix stuff
2018-09-20 08:41:20 +02:00
heinrich5991 08b885dbbb Just render the skin prefix suggestions line by line
For three items, it's not worthwhile to put two of them in the same
line.
2018-09-20 07:50:17 +02:00
heinrich5991 13e3872dca Add clear button to skin prefix edit box 2018-09-20 07:48:14 +02:00
heinrich5991 9ff8b6e2df Factor out clear button from four different places 2018-09-20 07:43:05 +02:00
def ff8e97fbf8 Fix cl_nameplates_own with antiping on when spectating 2018-08-30 22:53:28 +02:00
Dennis Felsing d2dcb4fe84
Merge pull request #1270 from Jupeyy/pr_nan
Don't update particles, if no time passed
2018-08-24 10:14:38 +02:00
Dennis Felsing 13aa154d47 Revert "Rewrite stopper code a bit"
This reverts commit 4ee5c5a781.
2018-08-24 09:34:54 +02:00
jupeyy 6c10eb13c0 Don't update, if no time passed 2018-08-24 05:56:33 +02:00
Dennis Felsing d60b0db632 Revert "Add mapbug "stoppers-passthrough@ddnet.tw""
This reverts commit 25e86851d3.
2018-08-22 08:33:21 +02:00
bors[bot] 46bdc7af3e Merge #1252
1252: fix #1226 r=heinrich5991 a=fokkonaut



Co-authored-by: fokkonaut <35420825+fokkonaut@users.noreply.github.com>
2018-08-21 17:29:31 +00:00
fokkonaut 7a4fa97ef0 fuck this no-space-convention 2018-08-21 18:29:25 +02:00
fokkonaut 533d4fe574 allow for non-vanilla aswell and fixed some stuff 2018-08-21 18:27:34 +02:00
Dennis Felsing f8e1056ea4
Merge pull request #1258 from heinrich5991/pr_ddnet_stopper_fix
Fix stoppers while retaining backward-compatibility
2018-08-21 09:06:22 +02:00
Dennis Felsing e2eb4a66dc Add Filter for connecting players (fixes #1263) 2018-08-21 09:03:48 +02:00
heinrich5991 25e86851d3 Add mapbug "stoppers-passthrough@ddnet.tw"
This can be set for maps that rely on actually passing through stoppers.
2018-08-16 17:54:55 +02:00
heinrich5991 4ee5c5a781 Rewrite stopper code a bit
Remove the whole copy-and-paste mess.

A seemingly ineffective and apparently code block has been removed.
2018-08-15 17:47:07 +02:00
fokkonaut 53e4bd44b7 fix #1226 2018-08-13 20:54:01 +02:00
def 0518769500 fix cl_show_nameplates_own with antiping off ingame 2018-08-03 23:40:03 +02:00
Jupeyy d7bb03ee19 don't render all border all the time 2018-08-02 18:26:12 +02:00
heinrich5991 5c4e819e44 Use str_startswith, str_endswith instead of ad-hoc implementations 2018-07-26 14:18:23 +02:00
fokkonaut 32b6bd44f6 heinrich styling 2018-07-25 23:36:52 +02:00
fokkonaut e621a4a8a2 fixed, thanks heinrich 2018-07-25 22:41:24 +02:00
fokkonaut 59272476d6 fixed #1225 2018-07-25 21:14:10 +02:00
fokkonaut 63f2a091b6 vanilla skins only list now only shows vanilla skins 2018-07-25 14:13:07 +02:00
heinrich5991 6b1a037415 Add some UI for the skin prefix stuff
This displays four buttons below the edit box, one for resetting the
skin prefix, and the other three for activating the shipped variants
"kitty", "coala", "santa".

The "none" string is translatable, the variants names are not because
they correspond to file names.
2018-07-25 08:16:57 +02:00
Bojidar Marinov d08f03fecf
Changing vanila skins option no longer requires restart
Fixes #1216
2018-07-24 19:56:09 +03:00
fokkonaut b8b97eb740 added skin prefix (#1218) 2018-07-24 17:26:39 +02:00
yangfl 81a39c229b Fix typo 2018-07-10 17:29:02 +08:00
heinrich5991 925aff21d4 Fix all the header guards and adjust the script a little 2018-07-06 16:11:38 +02:00
bors[bot] 7c3e4e7f09 Merge #1187
1187: fix projectiles not rendering on mods based on ddnet r=heinrich5991 a=ZombieToad

for some reason the client doesnt render extrainfo projectiles if the gamemode wasnt ddnet

Co-authored-by: ZombieToad <25847476+zombietoad@users.noreply.github.com>
2018-07-06 12:27:33 +00:00
ChillerDragon 0ebf7b614d Oop! forgot one 2018-07-06 11:37:33 +02:00
ChillerDragon 4e9eac432c Better button id for dummy settings (thanks to deen) 2018-07-06 11:24:57 +02:00
ZombieToad 712fca8adc fixes
thnx to Hey, Fuck you!
2018-07-04 04:35:06 +01:00
ZombieToad 5e723f6199 fix projectiles not rendering on mods based on ddnet
for some reason the client doesnt render extrainfo projectiles if the gamemode wasnt ddnet
2018-07-04 04:19:36 +01:00
def daf83470cc Add cl_nameplates_own for demo recording 2018-06-26 22:30:28 +02:00
ZombieToad 7da716e3f0
fix server browser bug
ddnet client has the server browser while online
2018-06-17 03:26:23 +01:00
ZombieToad 13722d849d
fix server browser bug
it loaded favourite servers into ddnet serverlist if you used add_favorite or remove_favorite
2018-06-17 02:47:18 +01:00
Dennis Felsing 08c45ced0f
Merge pull request #1133 from ChillerDragon/ConsolePages
Add commands for switching pages in console
2018-06-06 09:48:00 +02:00
ChillerDragon 6564b93a35 Fix unwanted dummy fire
If the latest fire input and the current differ in any way it causes firing.
So if you switch dummy after hammerfly was used it causes a weaponfire.
This unwanted fireing caused many unlucky fails for me already.
So i swap the fire status on dummyswapping so the server doesn't see any difference even if hamemrfly was used.
2018-06-04 11:06:54 +02:00
ChillerDragon 8a761bfedf Add commands for switching pages in console
For now they were just hardcodet on page up and down keys.
The new command allows it to bind it for example on the f-keys for laptop users.
2018-06-03 11:48:08 +02:00
ChillerDragon e31f53f651 Fix ui for low mousesens 2018-05-01 17:51:36 +02:00
Dennis Felsing e561498617 fix... 2018-04-25 14:12:49 +02:00
Dennis Felsing 96ecbfcfa8 Add cl_show_hook_coll_always 2018-04-25 12:03:27 +02:00
bors[bot] 73a65a7026 Merge #1116
1116: Don't send buffer cmds to non OpenGL 3.3 backend r=def- a=Jupeyy



Co-authored-by: Jupeyy <jupjopjap@gmail.com>
2018-04-15 18:00:54 +00:00
Jupeyy 5b4a889ae0 quad positioning to center of text 2018-04-15 19:35:56 +02:00
bors[bot] d77d18c98a Merge #1114
1114: Some text positioning r=def- a=Jupeyy

To be clear, the entity text was meant to be a bit higher, so the text of the overlay is not overwritten("FROM", "CFROM")?

Because there was -4.f added to the y coordinate. Atleast it looks pretty much the same as the old renderer now.

Co-authored-by: Jupeyy <jupjopjap@gmail.com>
2018-04-11 10:27:07 +00:00
Jupeyy 8cc0de8d31 Some text positioning 2018-04-11 12:19:30 +02:00
bors[bot] 73cc3a147b Merge #1110
1110: Fix killmessage flag render r=def- a=Jupeyy



Co-authored-by: Jupeyy <jupjopjap@gmail.com>
2018-04-09 20:28:24 +00:00
Jupeyy 2a6050eaf4 use killer team not victim 2018-04-09 22:11:51 +02:00
heinrich5991 f8277267a0 Remove mem_alloc and mem_free, use standard C functions instead
Replace `mem_free` by `free`, and `mem_alloc` by `malloc` or `calloc`
(the latter one being used to allocate a zeroed array of elements,
sometimes, this makes a call to `mem_zero` superfluous).

This results in having to remove `mem_stats` which previously recorded
the number of allocations and their size that the Teeworlds code did
directly.

Remove OOM handling in `src/game/client/components/binds.cpp`.

Remove needless copying in the CSV code in
`src/game/client/components/statboard.cpp`.
2018-04-09 11:56:39 +02:00
Jupeyy fbaedff1e6 reset color for the gameflags 2018-04-05 20:46:22 +02:00
Dennis Felsing 30588918c4
Merge pull request #1100 from Jupeyy/master
More GUI text positioning fixes
2018-04-04 08:40:22 +02:00
Jupeyy c7114e734c more ui text positioning fixes 2018-04-04 02:40:30 +02:00
def c8c4fd5617 Fix reconnect timer display... 2018-04-03 21:32:21 +02:00
Dennis Felsing dbc8321c56
Merge pull request #1098 from Jupeyy/master
Some text related fixes (color, positining)
2018-04-03 19:11:19 +02:00
def 07460ede9e cl_control_dummy -> cl_dummy_control 2018-04-03 18:12:27 +02:00
Jupeyy 1a74d8c039 ui fixes: text positining 2018-04-03 17:41:11 +02:00
Dennis Felsing ed33557a97
Merge pull request #1081 from Jupeyy/master
New buffer system and text renderer to support buffering of hud, text and map components, that are displayed ingame
2018-04-03 10:12:09 +02:00
Jupeyy 375b127f4e style fix 2018-03-21 16:02:11 +01:00
Jupeyy 887bcb52ff add window event listener for the client 2018-03-21 15:54:51 +01:00
Jupeyy 2cbb8af75b add window resize event, and fix some ui things 2018-03-21 15:53:29 +01:00
Jupeyy 71a4a20812 team name position fix 2018-03-15 03:59:57 +01:00
清歌 c976e6d017
Provide more controlable command for dummy
When g_Config.m_ClControlDummy id 1, we can control dummy by toggle g_Config.m_ClDummyJump or another to 1 or 0.
2018-03-14 20:14:18 +08:00
bors[bot] c65ffeb4ae Merge #1082
1082: Fix a bug with name bans r=Learath2 a=heinrich5991

Overlong nick names could be used to circumvent name bans.
2018-03-14 02:00:42 +00:00
heinrich5991 d7f6cf2892 Fix some system.c insanity
`str_utf8_isspace` now returns true if the passed code point renders as
a space, instead of when not.

Add `str_utf8_trim_right`, use this function and
`str_utf8_skip_whitespaces` in the server.

Add tests for the three functions
2018-03-14 02:27:15 +01:00
Jupeyy c1a962b870 add ui fixes to work with new text renderer 2018-03-13 21:59:07 +01:00
Jupeyy 0930a3b7de buffer quads, and use the new backend system (+ fix a bug when
rendering)
2018-03-13 21:57:46 +01:00
Jupeyy 790201f751 add buffering for the ingame visible components of the hud 2018-03-13 21:56:37 +01:00
Jupeyy db48a03898 add text buffering for nameplates and killmessages 2018-03-13 21:55:47 +01:00
Jupeyy 6919a9da40 add new sprite functions for easier sprite quad buffering, and add this
to teerendering
2018-03-13 21:53:54 +01:00
Jupeyy a59d7401b5 add buffering for dmg indicator, map items, particles and players 2018-03-13 21:52:44 +01:00
Jupeyy 59f9d021ce buffer ingame chat 2018-03-13 21:50:49 +01:00
Jupeyy 62c3074c88 add new text renderer engine to support text buffering, cursors, text
marking and less character texture updates
2018-03-13 21:49:07 +01:00
Jupeyy ced0ea3f82 set the gfx refresh rate limit higher for the console 2018-03-02 03:29:02 +01:00
Dennis Felsing 03792c1d0f
Merge pull request #1047 from Learath2/dd_pr_ctrldelete
Add ctrl-delete to chat. Closes #1032
2018-02-22 21:58:51 +01:00
Dennis Felsing 4cebe86ad8
Merge pull request #1049 from Learath2/dd_pr_scoreboardclan
A little more space for clan name. Fixes #724
2018-02-22 21:58:10 +01:00
Learath 7d1aaa735a A little more space for clan name. Fixes #724 2018-02-22 21:17:10 +01:00
Learath 4031e15fc8 Remove extra conditional
Stricter scope on temporary var.
2018-02-22 20:48:47 +01:00
Learath 20cac1c2bb Fix dyncam confusion. Closes #783
Remove "vanilla" dyncam toggle.
2018-02-22 20:40:14 +01:00
Learath 1f2e398819 Add ctrl-delete to chat. Closes #1032 2018-02-22 20:11:56 +01:00
Learath2 61f0461d46 Style 2018-02-13 17:15:16 +01:00
Learath2 8cfebaa0b2 Fix #1031 2018-02-13 03:45:43 +01:00
yangfl 1620fc9b0f Fix typo 2018-02-07 16:10:40 +08:00
def 151da9af97 Remove Emojis 2018-01-25 20:03:18 +01:00
Dennis Felsing fac054275c
Merge pull request #992 from Jupeyy/master
RAM usage reduction for map buffering and foreground layer count fix
2018-01-22 20:44:56 +01:00
Jupeyy 15cc8e2dc8 use type that can hold any pointer size 2018-01-16 10:18:14 +01:00
Jupeyy 99bb1cc7db add parentheses 2018-01-16 09:41:06 +01:00
Jupeyy e9a2fc1d6e reduce RAM allocation for map buffering, and fix forground layer count 2018-01-16 09:35:28 +01:00
def 949bb2d9fc Fix crash in emoji on map change, clear emojis 2018-01-15 19:08:51 +01:00
def 7ae5f33bdd fix cl_show_direction (thanks jupeyy) 2018-01-14 20:51:02 +01:00
def c8d4b605bf Improved cl_showfps, don't need average/current anymore 2018-01-14 17:21:50 +01:00
def 4682eaff56 Add option to turn off emojis (fixes #936) and add options in settings menu 2018-01-13 10:37:24 +01:00
def 484325f493 Fix nameplates with antiping (fixes #943) 2018-01-12 19:24:44 +01:00
def 77a999c0b1 Add cl_showemotes 2018-01-05 20:17:22 +01:00
def f1af7cff98 Still render chat input even when chat is disabled 2018-01-05 20:11:05 +01:00
def 3025ed35c9 Introduce cl_show_chat_system
Set to 0 to disable server messages
2018-01-05 20:10:39 +01: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
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
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] 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
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 be80ccb7d6 Don't use nonstandard #pragma pack
It's not needed in that place anyway.
2017-11-18 00:24:44 +01:00
heinrich5991 ef0c1b266f Fix 3 / 2 using integer division 2017-11-03 22:10:04 +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
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
def cb00a294b8 Enable gfx_opengl3 by default 2017-10-20 22:52:38 +02:00
def 02aeae416b Infinity = no limit 2017-10-20 22:47:59 +02:00
def 2b7809befd Switch cl_showfps 1/2 2017-10-20 22:27:53 +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
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 5389dd9666 fix border amount for right and bottom border lines 2017-10-14 16:37:48 +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
Jupeyy 92edbf4d37 allow viewing average or current fps 2017-10-09 15:58:12 +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
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 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
Redix 456a67fe2d Start race recording immediately so we can also record the preparation steps 2017-09-28 16:01:59 +02:00
Redix 0721b895ae Make sure that we have a free ghost slot for new records 2017-09-28 16:01:58 +02:00
Redix 353190588b Disable ghost and race recorder during demo playback 2017-09-28 16:01:58 +02:00
Redix 1e845a4020 Added reload button in ghost menu 2017-09-28 16:01:58 +02:00
Redix 5b3e9e4bbf Improved ghost file management 2017-09-28 16:01:58 +02:00
Redix d09e825065 Use existing code for rendering the ghost 2017-09-28 16:01:58 +02:00
Redix 5cc0d16029 Reworked the race recorder 2017-09-28 16:01:57 +02:00
Redix 9e52957423 Only restart ghost and race demo on non-solo servers when crossing the start line again 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 bd3e81d5e0 Use snapshot values instead of predicted ones for the ghost and also save the tick
This makes the ghosts more resistant against lags
2017-09-28 16:01:57 +02:00
Redix 3c8217b39c Mark own ghost with color 2017-09-28 16:01:56 +02:00
Redix 4f57b33524 Use static array for active ghosts
Improve ghost file handling
2017-09-28 16:01:56 +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
Jupeyy baa69676ea fix warnings 2017-09-27 15:06:47 +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 e820a36899 don't use average FPS 2017-09-27 12:21:29 +02:00
Jupeyy 6185c05be4 for tilelayers, go thorugh them layer by layer to reduce GPU overload by
only render visible areas
2017-09-27 12:20:23 +02:00
Jupeyy 9fd1290734 auto adjust font size for entity overlay 2017-09-27 12:19:39 +02:00
Redix 43f246f174 Made int packing functions safe 2017-09-17 02:36:50 +02:00
heinrich5991 42934fe102 Remove statically detectable float divisions by zero
This should fix the warning in MSVS.
2017-09-16 18:34:26 +02:00
Dennis Felsing 43d0299a45 Merge branch 'master' into pr_ddnet_fix_msvs_warnings 2017-09-16 11:17:39 +02:00
Jupeyy fc706a820c only check gametiles for DDNet server type 2017-09-16 03:45:24 +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 5c7c09d380 fixing most wrong code pattern 2017-09-13 20:33:58 +02:00
Jupeyy fd83d2834d dont draw layer if our view is out of the layers range 2017-09-12 23:16:01 +02:00
Jupeyy c437b5bb89 use 64 bit variable 2017-09-12 21:06:12 +02:00
Jupeyy 629bf2c5f9 Merge branch 'master' of https://github.com/ddnet/ddnet 2017-09-12 20:24:58 +02:00
Jupeyy 0caa70f0a1 support buffering of tile layers, draw them with the buffer objects and
some optimazations to border drawing
2017-09-12 20:22:18 +02:00
Jupeyy 9d2a625363 create overlay textures for entity overlays, instead of rendering glyphs 2017-09-12 20:15:37 +02:00
Jupeyy 6dc4d1e578 only allow a maximal zoom factor to make sure no bufferoverflow happens 2017-09-12 20:14:34 +02:00
Jupeyy 93138c1fba make background class inherited from maplayers and change some things in
maplayers instead, so the background class can profit from buffering
2017-09-12 20:13:53 +02:00
def 73d9ad7615 Really only download ddnet-info.json at correct time 2017-09-08 22:16:00 +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
def 278c1ee198 Add Toggle ghost control (fixes #823) 2017-09-03 19:23:59 +02:00
def caec69abc1 RequestDDNetInfo in ingame menu too 2017-09-03 18:17:21 +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 7b6317a5d6 buffer sizes 2017-09-03 08:53:54 +02:00
def 862e26dd08 Clean up time handling a bit 2017-09-03 08:48:21 +02:00
def e64e59a839 semaphore instead of busy waiting in CJobPool 2017-09-02 12:30:55 +02:00
def 583421b42d Revert "fixed sprite rendering. Closes #834"
This reverts commit 43af1fdb5f.
2017-08-31 22:03:33 +02:00
heinrich5991 659e1ff527 Merge pull request #853 from Redix/pr_ghost_time
Ghost and Race demo time extraction fix
2017-08-31 12:31:20 +02:00
Redix affa3faeec Only use integers for ghost and race demo handling
Ghosts still use floats internally
2017-08-31 03:22:08 +02:00
Redix cf09b6b08b Use -1 as invalid for time parsing functions 2017-08-31 01:13:26 +02:00
Redix a396e40c5e Move race helper functions to own cpp file
Fix some style issues
2017-08-31 00:17:16 +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
Redix b6a3a42aa6 Use the time parsing functions for race demo name parsing 2017-08-30 22:10:43 +02:00
def a1d2ecb6de Empty when no rank 2017-08-30 21:50:09 +02:00
Redix f1f7e4e30b Fix ghost and race recorder time parsing 2017-08-30 21:44:27 +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
Dennis Felsing 25a5eff1f8 Merge pull request #847 from heinrich5991/pr_ddnet_uncompressed_datasize
Rename `GetUncompressedDataSize` to `GetDataSize`
2017-08-30 16:34:02 +02:00
oy 43af1fdb5f fixed sprite rendering. Closes #834 2017-08-30 16:32:39 +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
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
Learath2 4622ab4cb6 Merge pull request #814 from heinrich5991/pr_ddnet_fix_cmake_mac
Fix the CMake Mac build
2017-07-30 11:38:12 +02:00
heinrich5991 6247aa0c7f Enable -Wextra and -Wformat=2
Also annotate `dbg_msg`, `str_format` and `str_timestamp_ex` so that the
compiler can determine whether the format strings are correct.

Fix the compiler warnings generated by these extra warnings -- some of
them were security issues.
2017-07-27 20:38:17 +02:00
Marcel Herd d513af6a42 Removed default bind for home key (kill)
Kill is already bound to K by default, binding it on home as well doesn't really have any purpose. (?)
Furthermore, the home key is right next to page up which is bound to toggling entities.
It is very easy to accidentally hit home instead of page up, which is highly frustrating.. therefore I suggest removing this duplicate binding.
2017-07-26 20:43:26 +02:00
heinrich5991 fd8bccb0f4 Fix the CMake Mac build
Fixes #805.
2017-07-26 04:30:56 +02:00
def 379f060126 Version 10.7.1 2017-07-25 19:09:05 +02:00
def a9d3f45b25 Add ui_close_window_after_changing_setting 2017-07-25 19:08:16 +02:00
def 8d621dfc00 Add kitty skins (by Ravie + fuzzy ninja by patwo.*) 2017-07-25 00:11:37 +02:00
def a9498b15cb Fat skins 2017-07-25 00:11:37 +02:00
heinrich5991 1ebb4f89a6 Reopen: Add a flag for rcon login via username (#800)
This uses an extended protocol message to signal that rcon
authentication might require a username, allowing the client to enable
the username prompt.

Add a forgotten logout on key update
2017-07-24 21:43:55 +02:00
def 147005ea42 ask before overwriting demo file when slicing (fixes #806) 2017-07-24 18:33:11 +02:00
def bcec0f1bb1 ctrl-f to search, ctrl-x to exclude, ctrl-r to reason 2017-07-24 18:05:19 +02:00
HMH f2ac4a02ce use str_append for appending strings
this fixes corrupted stat csvs as str_format does not work with same
source and destination
2017-07-24 15:27:30 +02:00
def ec885f3e25 Fix layout 2017-07-22 22:43:20 +02:00
def f09a0f640f Fix mouse sensitivity setting dialog and introduce new one for ui mouse sens (#fixes 804) 2017-07-22 22:31:14 +02:00
def d50b39c530 Fix controls rectangle overlapping topbar and being clickable outside of scope 2017-07-22 17:35:30 +02:00
def 2d68aed009 More settings in controls menu. use listbox (fixes #802) 2017-07-22 13:41:18 +02:00
def b57ffa429e Use scancodes instead of keycodes for input (fixes #796, please test) 2017-07-21 19:53:49 +02:00
def 35befec54c Clean up key binding a bit 2017-07-21 19:32:32 +02:00
def f352daf00d Allow moving mouse while spectating and typing (fixes #798) 2017-07-21 19:24:18 +02:00
def f3a44995cf Don't stop movement after opening player list 2017-07-15 19:53:29 +02:00
def fba3815ddc Only send password on connection when explicitly asked to (fixes #788) 2017-07-15 17:29:20 +02:00
def 9bf84fd4be Don't keep enabling input in menu all the time (fixes #706) 2017-07-15 15:37:05 +02:00
def 8b5ee98193 Handle input reset on chat correctly on DDNet servers and other servers 2017-07-10 22:24:40 +02:00
def 66f6f16e81 Windows DPI fixes #2 2017-07-09 09:44:07 +02:00
def f3e3d57a90 Always close files, cleaner demo recording, fix some other stuff 2017-07-08 13:39:20 +02:00
heinrich5991 409bc0e019 Ensure null-termination in str_escape
This also fixes a couple of potential buffer overflows. The affected
code is still buggy (doesn't do the right thing on potential buffer
overflow), but at least it won't result in crashes/out of bound writes
anymore.
2017-07-08 13:06:03 +02:00
def 36d5c8d608 string toggling supports escaped strings; also some code cleanup 2017-07-08 11:03:51 +02:00