Commit graph

128 commits

Author SHA1 Message Date
bors[bot] 078247dd3e
Merge #3327
3327: Check skin/sprite images for correctness r=def- a=Jupeyy

I hope this helps with downloading things at wrong resolution again.

Note that this commit is smaller than it seems, bcs of renaming files and moving code to it.
Also this requires new translations.

In the skin database are invalid skins too:

![screenshot_2020-11-18_07-51-02](https://user-images.githubusercontent.com/6654924/99495409-e7637e80-2972-11eb-91ec-f8bb02a80e83.png)
![screenshot_2020-11-18_07-51-05](https://user-images.githubusercontent.com/6654924/99495410-e7fc1500-2972-11eb-94b8-aedc98e8ef67.png)


## Checklist

- [x] Tested the change ingame
- [ ] Provided screenshots if it is a visual change
- [ ] Tested in combination with possibly related configuration options
- [ ] Written a unit test if it works standalone, system.c especially
- [ ] Considered possible null pointers and out of bounds array indexing
- [ ] Changed no physics that affect existing maps
- [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--undefinedbehavioursanitizer-or-valgrinds-memcheck) (optional)


Co-authored-by: Jupeyy <jupjopjap@gmail.com>
2020-11-18 12:27:47 +00:00
Jupeyy f38e4e133e Unlimited texture names 2020-11-18 12:50:53 +01:00
Jupeyy c989cd67f9 Check skin/sprite images for correctness 2020-11-18 07:59:15 +01:00
Jupeyy 54946518dc Add block list for drivers 2020-11-05 21:07:14 +01:00
bors[bot] b014d6199c
Merge #3160
3160: Make gfx_quad_as_triangle 0 default r=def- a=Jupeyy

fixes #3097
I added a TrianglesBeing/End() instead for ingame quads
Let me quickly explain why #177 failed.

In the screenshots of #177 you already see the problem

the driver can built a quad like:
![image](https://user-images.githubusercontent.com/6654924/96621122-86f80780-1308-11eb-881a-eb51bdbe558c.png)

or like:

![image](https://user-images.githubusercontent.com/6654924/96621195-a131e580-1308-11eb-91c4-cc4cab96bdfd.png)

or somehow it wants, but it will always do them as triangles

And thats why the ingame quads were basically flipped in the screenshots of #177

But this almost never matters.
Tiles are single colored, text is single colored, ui elements are single colored.
So it only matters for ingame quads probably, which specify the color of each edge

Also even if it would matter, we can simply change the quads to triangles now.

Pro:
- Generally less vertices upload
- Less vertices building on CPU side

Cons:
- nothing



Co-authored-by: Jupeyy <jupjopjap@gmail.com>
2020-10-20 20:53:54 +00:00
Jupeyy 6eacccfba6 Make gfx_quad_as_triangle 0 default 2020-10-20 19:11:19 +02:00
Jupeyy eb2689cf9e Rename QuadContainerAsSprite to QuadContainerEx, so its useful for all kind of rendering 2020-10-20 18:45:03 +02:00
Дядя Женя 6708a7a69d Chat visual update 2020-10-17 15:50:35 +02:00
Jupeyy 8e9baedf9a Use pointer directly for tile layer building 2020-10-13 19:52:14 +02:00
Learath2 b3b90796dc Don't waste bytes when we are already aligned 2020-10-13 17:30:30 +02:00
Learath2 200c4fc12e Fix alignment issues in CCommandBuffer 2020-10-11 17:18:49 +02:00
Jupeyy 8d6148b20b Modulize skins, particles, emoticons and game 2020-10-09 09:07:19 +02:00
Dennis Felsing 2ba9535529 Use warnings popups for some io failures 2020-10-02 16:06:16 +02:00
def b178c7c74a Make sure headers compile standalone
Not planning to do this automatically, but at least cleaning it up once
provides some benefit. Every header should include what it uses.

$ for i in src/**/*.h; do j=${i#"src/"}; echo $j; echo "#include <$j>\nint main() { return 0; }" | /usr/bin/c++ -DCONF_OPENSSL -DCONF_SQL -DCONF_VIDEORECORDER -DCONF_WAVPACK_CLOSE_FILE -DCONF_WAVPACK_OPEN_FILE_INPUT_EX -DGAME_RELEASE_VERSION=\"15.0.5\" -DGLEW_STATIC -D_FORTIFY_SOURCE=2 -I/usr/include/freetype2 -I/usr/include/opus -I/usr/include/SDL2 -I/usr/include/wavpack -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -Isrc -I/usr/include/mysql -I/home/deen/sys/include/ -O2 -g -DNDEBUG -fdiagnostics-color=always -fstack-protector-all -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wformat=2 -Wno-nullability-completeness -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -std=gnu++11 -o /dev/null -x c++ -; done

Ignored: tuning.h, variables.h, config_common.h, mapitems_ex_types.h, mapbugs_list.h, protocol7.h, teehistorian_ex_chunks.h, protocol_ex_msgs.h, config.h, config_variables.h, external, keynames.h
2020-09-26 21:50:27 +02:00
def 3be8a592e5 Run clang-format
Purely automatic change. In case of conflict with this change, apply the
other change and rerun the formatting to restore it:

$ python scripts/fix_style.py
2020-09-26 21:50:15 +02:00
Jupeyy 84cad658d6 Add new renderer(as streamed vertices) for editor 2020-09-23 16:45:32 +02:00
heinrich5991 ffab6292ad
Merge branch 'master' into pr-start 2020-09-11 14:25:50 +02:00
heinrich5991 aa46ca6bf9 Fix some style issues via scripts/fix_style.py, size_t 2020-09-11 00:47:38 +02:00
Jupeyy 1e1c16f83a Make override consistent 2020-09-11 00:34:43 +02:00
Jupeyy b83d8735fe Create entity textures seperately 2020-09-11 00:34:42 +02:00
def 2cdc7d0faf Adapt 0.7 start menu
- Working Local Server button (needs fixing for Windows)
- Highlight buttons if server is running, new news is out and editor has
  unsaved changes
2020-09-10 20:13:01 +02:00
Jupeyy b1e98b598b Show warnings with non divisible by 16 textures(3D/2D array textures) 2020-08-29 17:04:30 +02:00
Jupeyy 3117a936a9 Do not create 2D textures, if not required 2020-08-23 08:53:26 +02:00
Jupeyy a07e9ac2cf Add OpenGL 1.x, 2.x, 3.x support (fixes #2619) (fixes #2607) 2020-08-22 10:22:51 +02:00
Jupeyy 7450e354de Add OpenGL 4.x support & cleanup 2020-08-19 08:42:09 +02:00
Jupeyy c2ce132ba3 Allow specifying an OpenGL version manually 2020-08-19 07:04:54 +02:00
def 6fd7ded869 Whitespace 2020-04-07 22:57:07 +02:00
Learath 388d792205 Add an option for highdpi 2020-04-07 23:47:15 +03: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
Learath 6c371a9a57 Even more refactoring 2019-04-27 01:11:15 +03:00
Jupeyy d7bb03ee19 don't render all border all the time 2018-08-02 18:26:12 +02:00
heinrich5991 925aff21d4 Fix all the header guards and adjust the script a little 2018-07-06 16:11:38 +02:00
Jupeyy 27d9440751 don't create buffers, if OpenGL 3.3 is not used 2018-04-15 19:34:56 +02:00
Jupeyy 15f0efc2bd fix text color if opengl3.3 is off 2018-04-03 17:40:21 +02:00
Jupeyy 53a93c077e add window resize listener 2018-03-21 15:48:48 +01:00
Jupeyy 898af39311 add new functions to support the new backend layout and the new
rendering system
2018-03-13 21:47:07 +01:00
yangfl 1620fc9b0f Fix typo 2018-02-07 16:10:40 +08:00
Jupeyy 060f6fd36e Load shaders through IStorage class
Fixes #939.
2017-12-02 22:19:57 +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
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
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
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 1167ab822c reduce upload since of vertices if drawing quads 2017-09-14 02:50:31 +02:00
Jupeyy a477540358 add new commands to buffer objects and draw them 2017-09-12 20:08:45 +02:00
Jupeyy 1053bc735d initial port to opengl3.3 (without any optimazations) 2017-09-02 15:24:07 +02:00
def 66f6f16e81 Windows DPI fixes #2 2017-07-09 09:44:07 +02:00
def 9bd30ce447 Make high-dpi screen support optional 2016-05-07 17:47:05 +02:00
def 644fec7e55 Resize window without restarting client 2016-04-30 17:59:58 +02:00
def 7a5b79e48a More SDL2 graphics goodness, partially from TW master 2016-04-30 00:43:11 +02:00
def 354696afb7 switch between fullscreen and windowed mode without restarting the client (by oy) 2016-04-29 21:56:38 +02:00
def ff2a7272fa Improved window grabbing: only when relative mouse mode is active 2016-04-29 21:56:38 +02:00
def db8a126315 Merge swick's SDL2 branch 2016-04-29 21:55:48 +02:00
def 6e8ada1ac8 Fix whitespaces a bit 2015-07-09 02:12:35 +02:00
BeaR 462d88eac4 Reduce amount of drawcalls when using triangles instead of quads 2015-03-31 13:35:18 +02:00
BeaR 2f837a4c44 Notify player on chat highlight (windows only) 2014-10-18 16:17:36 +02:00
def 2db9e5c7b0 Hopefully fix screenshots 2014-03-29 17:04:06 +01:00
def d092b8007d Add editor undo function (by MAP94) 2014-01-19 04:02:01 +01:00
BeaR d58afefaae Some graphic batching:
Speed up for displaying debugtext and envelopepreview
(This reduces the performance hit especially for the 'Show Info' mode in the editor)

Conflicts:

	src/engine/client/client.cpp
	src/game/editor/editor.cpp
	src/game/editor/editor.h
2013-02-24 18:23:06 +01:00
oy df5ab998c2 readded texture resampling 2013-02-24 18:08:10 +01:00
oy 71af97a5e3 fixed texture memory usage calculation in graphics threaded
Conflicts:

	src/engine/client/graphics_threaded.cpp
2013-02-24 18:07:35 +01:00
BeaR c3dd09cebf Readded Texturecompression-support 2013-02-24 18:01:58 +01:00
Magnus Auvinen 98042012a6 cleaned up warnings that clang spits out. some bugs found with it.
Conflicts:

	src/game/server/gamemodes/ctf.cpp
	src/game/server/gamemodes/ctf.h
2013-02-24 17:54:29 +01:00
heinrich5991 86fe9757c5 Removed useless enum 2013-02-24 17:38:29 +01:00
heinrich5991 7b545f3ed9 Added borderless window functionality
This might become handy for users with multiple monitors,
	might resolve other issues aswell
2013-02-24 17:38:19 +01:00
oy 2a4af1573b auto adjust the screen resolution on first start. Closes #921 2013-02-24 17:25:55 +01:00
oy 0c05b3bfa1 fixed compiling with vs2008 (#932) 2012-02-05 13:22:39 +01:00
oy be37147342 fixed border rendering in the editor's image preview. Closes #908 2012-01-08 01:47:53 +01:00
oy 71dd0c5aab made gfx_finish work again 2012-01-06 14:12:49 +01:00
Magnus Auvinen 2991f4071e fixed kicking of command buffer if it's full when rendering. fixed compile error on windows 2012-01-03 22:01:37 +01:00
Magnus Auvinen 50d872531a cleaned up the code. fixed so that SDL is inited on main thread and then transfers the gl context to the render thread 2012-01-03 21:39:10 +01:00
Magnus Auvinen c31c82a584 added support for video modes 2012-01-01 14:30:45 +01:00
Magnus Auvinen d7fe3ddaab fixed shutdown and screenshot functionallity 2012-01-01 14:15:35 +01:00
Magnus Auvinen c1942ca6cb fixed the render frame time and cleaned up some more code 2012-01-01 13:38:46 +01:00
Magnus Auvinen 8b76105cfa cleaned up some of the code 2011-12-31 14:00:49 +01:00
Magnus Auvinen 6e57620c2c added flags for mipmap generation on textures. fixes missing texts 2011-12-31 11:18:55 +01:00
Magnus Auvinen 7a36a103ae fixed so that the rendering can be done async from the input, network and update 2011-12-31 10:04:46 +01:00
Magnus Auvinen 8a91bfa1dd fixed texture upload support. removed raw gl calls from the text render 2011-12-31 09:40:11 +01:00
Magnus Auvinen 09b785a290 splitted out the graphics threaded into a separate header 2011-12-31 01:11:24 +01:00