Commit graph

62 commits

Author SHA1 Message Date
Learath 65ec25a8a1 Fix small bug with demos that don't include a map 2019-12-18 13:51:08 +01:00
Dennis Felsing 4171e8751f
Merge pull request #1939 from Learath2/dd_pr_demoload
Always try extracting map before fail. Fix #1886
2019-12-17 21:20:10 +01:00
Learath2 3784f5bea4 Use a UUID, Cleanup code and UI 2019-12-17 15:44:54 +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
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
Dennis Felsing 0d9952b32a
Merge pull request #1748 from archimede67/pr_replays
Replay system (demo after-the-fact)
2019-06-11 18:13:26 +02:00
ChillerDragon 839009fc93 Prefer downloadedmaps over maps ( #1702 )
Fixes corrupted demos if there is a different version of the current map in the maps/ folder.
Thanks to @archimede67 for initial research.
2019-06-05 22:24:17 +02:00
Corantin H 761e73a131 should be thread safe now + moved demoedit to a new file 2019-05-31 20:42:28 +02:00
Corantin H e35951dedc demo slicing is now done in a separate task to prevent ingame freeze 2019-05-25 00:24:13 +02:00
Corantin H b6b8f7e536 Somehow build failed because of that 2019-05-21 18:04:37 +02:00
Corantin H 817bdaf9cd initial work on a replay system 2019-05-20 23:55:40 +02:00
Learath 93d14a1eca Inconvenience for windows 2019-04-26 22:36:49 +03:00
12pm 6e880644af Add some demo player shortcuts 2019-04-15 21:08:12 +02:00
def 989726db00 Allow demo speeds up to 256 2019-04-02 23:16:01 +02: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 2198f6c997 Limit demo speed to 64 (thanks to fokkonaut for report) 2018-09-24 18:07:14 +02:00
yangfl 81a39c229b Fix typo 2018-07-10 17:29:02 +08:00
heinrich5991 ca8fcc823c Use more secure hash function for map downloads
SHA256 was chosen because it is reasonably standard, the file names
don't explode in length (this rules out SHA512) and it is supported by
basically all versions of OpenSSL (this rules out SHA512/256 and SHA3).

The protocol is changed in a backward compatible way: The supporting
server sends the SHA256 corresponding to the map in the `MAP_DETAILS`
message prior to sending the `MAP_CHANGE` message. The client saves the
SHA256 obtained from the `MAP_DETAILS` message until the next
`MAP_CHANGE` message.

For servers not supporting this protocol, the client falls back to
simply opening maps like in the previous scheme.

Remove the `map_version` tool, it is not being used and would have been
a little bit effort to update.

Use the OpenSSL implementation of SHA256 if it is supported, otherwise
fall back to a public domain one.

Fix #1127.
2018-06-24 17:04:50 +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
def dd7281ef86 Limit m_NumTimelineMarkers (reported by GG Kid) 2018-01-23 16:04:24 +01:00
Redix 43f246f174 Made int packing functions safe 2017-09-17 02:36:50 +02:00
def 60d7388d9f Fix demo slicing 2017-07-22 22:03:05 +02:00
def 35dcb4d6cf Don't open map file again if we have it open already 2017-07-08 22:09:03 +02:00
def f3e3d57a90 Always close files, cleaner demo recording, fix some other stuff 2017-07-08 13:39:20 +02:00
heinrich5991 305a67d492 Initialize variable in the demo recorder 2017-02-28 17:16:22 +01:00
heinrich5991 e3f2316106 Revert "Revert "Refactor dummy input and demo filtering""
This reverts commit 187560c8c0.
2017-02-28 10:08:14 +01:00
Dennis Felsing 187560c8c0 Revert "Refactor dummy input and demo filtering"
This reverts commit 8375f4888e.
2017-02-28 08:15:35 +01:00
heinrich5991 8375f4888e Refactor dummy input and demo filtering
Remove references to src/game/ from src/engine/
2017-02-23 14:13:14 +01:00
Dennis Felsing c92e10914a Refactor demo speed setting, add 1.5x speed (fixes #568) 2016-10-28 09:31:22 +02:00
def 0f5611c2f0 Add function to filter chat out of demo when slicing (fixes #382) 2016-04-27 17:05:30 +02:00
def 6e8ada1ac8 Fix whitespaces a bit 2015-07-09 02:12:35 +02:00
def 6d54de89b6 Get rid of clang static analyzer warnings 2015-04-19 00:31:45 +02:00
def 381b4512fb Fix segfault with demo cutting (fixes #140) 2015-03-13 15:48:30 +01:00
BeaR 723bf0f6dc Restore compatibility with older demo versions 2015-03-11 17:52:18 +01:00
BeaR 6364e3e176 Fix bug when reading reading chunks with a tick delta of 0
* Remove magic value '63'
* Add flag for chunks where the tick value is stored on the first chunk along the flags
* Correctly read chunks with tick values smaller then the tick mask
2015-02-23 14:26:10 +01:00
def 9ea846033b Optimization for faster server side demo recording 2014-12-02 15:44:54 +01:00
def f1288127a3 Don't crash on broken demo files 2014-08-31 03:13:42 +02:00
east f1ee4aa48c CDemoEditor: slice begin/end markers added 2014-08-13 17:32:03 +02:00
east 64810cf11c worked on CDemoEditor 2014-08-12 16:21:06 +02:00
def 3eaad43b6b Merge remote-tracking branch 'upstream-teeworlds/0.6' into DDRace
Conflicts:
	bam.lua
	data/languages/index.txt
	src/engine/server/server.cpp
	src/engine/shared/network_server.cpp
	src/game/client/components/chat.cpp
	src/game/client/components/menus_settings.cpp
	src/game/server/entities/character.cpp
	src/game/server/gamecontext.cpp
	src/game/version.h
2013-12-26 18:02:22 +01:00
def da778f4e66 Don't write over memory limit... 2013-08-04 04:24:33 +02:00
oy 5e090fbfed made the demoplayer support 0.6.1 based demos 2013-02-26 00:00:38 +01:00
oy fa81141110 added demo markers by Choupom. Closes #837 2012-01-10 23:13:19 +01:00
Shereef Marzouk c6fd4a2cc5 General whitespace and tab cleanup 2011-08-11 10:59:14 +02:00
oy 9845d757ef removed file extension from the demo name in the demo player 2011-06-09 22:44:22 +02:00
oy 06115dd49d added "Whitespace and line Endings cleanup" by GreYFoX 2011-04-13 20:37:12 +02:00
oy 04a3b7be00 fixed problem with recorded demo files. Closes #570 2011-04-02 11:55:37 +02:00
oy 9d930e15f8 fixed some compiler warnings 2011-03-28 22:08:52 +02:00
oy 1628118de3 fixed a bug that messes up demos recorded by the server 2011-03-17 17:58:10 +01:00