Gleb Mazovetskiy
8c1a847f41
Remove utils/stdcompat/string_view.hpp
3 years ago
qndel
c362808165
debug path command ( #6101 )
3 years ago
Anders Jenbo
dc2d97c112
Split lighting shades from trn tables
3 years ago
Gleb Mazovetskiy
e06ca9a016
dun_render: Remove unused argument from RenderTile
...
Now that we pass the mask into `RenderTile`, we no longer need to pass
`levelPieceId`.
3 years ago
Gleb Mazovetskiy
79b330825d
dun_render: Avoid `Invalid` tile type
...
1. Do not call `RenderTile` with invalid values to begin with.
2. Move mask selection out of `RenderTile`.
3 years ago
Gleb Mazovetskiy
44ed0296d8
dun_render: Overhaul mask handling
...
We notice that masks can be described by 2 parameters:
1. Whether they have 0 or 1 as their high bits.
2. Whether they shift to the left or to the right on the next line.
Describing masks this way allows us to lift them to template variables and simplify the code.
We also avoid handling the mask in the `RenderLine` loop entirely.
Also fixes a foliage rendering bug: Transparent foliage pixels were previously blended but they should have been simply skipped.
3 years ago
Gleb Mazovetskiy
aca4aae3c1
dun_render: Remove the use of `LightTableIndex`
...
Replaces the global with an argument.
3 years ago
Gleb Mazovetskiy
3afef6299f
Level renderer: Remove `cel_transparency/foliage_active` globals
3 years ago
Gleb Mazovetskiy
1293dfb86d
Level renderer: Remove `level_piece_id` global
...
`DrawFloor` now passes the piece ID into RenderTile.
Previously, `DrawFloor` did not set `level_piece_id`.
3 years ago
Gleb Mazovetskiy
c616e0d6d2
Level renderer: Remove `arch_draw_type` global
3 years ago
Gleb Mazovetskiy
69c429bb68
Level renderer: Remove `level_cel_block` global
3 years ago
Juliano Leal Goncalves
7da37da8c9
♻️ Leverage 'Point' in 'RenderTile' function
5 years ago
Gleb Mazovetskiy
cb0dae8590
🚚 Rename `CelOutputBuf` to `Surface` and extract
5 years ago
Gleb Mazovetskiy
59dd42692f
🚚 Move render.cpp to engine/render/dun_render.cpp
5 years ago
Gleb Mazovetskiy
18967ce5ff
🎉 render.cpp: Do not render out-of-bounds
...
This is part of the work to allow us to eliminate buffer padding.
As this is a hotspot, we have 4 separate functions for each non-square
primitive, resulting in quite a bit of code:
1. Unclipped ("Full")
2. Vertical-only clip
3. Vertical + Left clip
4. Vertical + Right clip
FPS at 640x480: 1420 -> 1530
5 years ago
thebigMuh
ad8f342db0
Adding constness
5 years ago
Anders Jenbo
997c1dba55
🚚 Split up all.h in to proper header relations
5 years ago
Anders Jenbo
f450d6a125
🚚 Move defines to there proper files
5 years ago
Gleb Mazovetskiy
77632cd83e
`world_draw_black_tile`: Stop relying on buffer padding
5 years ago
Anders Jenbo
e7ae8ddd04
🚚 Move all enums to there respective headers
5 years ago
Anders Jenbo
433edc63ea
♻️ Consistently use pragma once to guard the headers
5 years ago
Anders Jenbo
bfb3c11c2b
🎨 Change namespace to devilution
5 years ago
Anders Jenbo
630e507f63
🚚 Apply namespace
5 years ago
Gleb Mazovetskiy
f607807c95
Migrate the rest of drawing away from gpBufEnd
5 years ago
Gleb Mazovetskiy
83ce7c27af
Enginify `trans_rect`
...
Moves `trans_rect` to `engine` as `DrawHalfTransparentRectTo` and makes
it operate on `CelOutputBuf`.
5 years ago
Anders Jenbo
54425d768c
Clean up redner.h
5 years ago
Anders Jenbo
145ab3c48e
Apply more defines to replace magic numbers
6 years ago
Anders Jenbo
1ba96a6777
Add doxygen description to remaining engine files
6 years ago
Joel Falcou
c4223d4c29
Per file basis use of extern C
6 years ago
Joel Falcou
64d26a7934
Sanitize use of namespace
...
Wrap individual headers in dvl namespace to prevent
including standard header in another namespace.
6 years ago
Anders Jenbo
e4df9319b0
Fix render order ( #639 )
6 years ago
Anders Jenbo
da679a66a6
Convert inc file to a function
6 years ago
Anders Jenbo
16820106bc
Merge town_draw() with scrollrt_draw()
...
This require calling DRLG_InitTrans() during CreateTown() to clear out
the transparancy flags after having been to the duntion. Else the
mausoleum will be transparent.
6 years ago
Anders Jenbo
ec90987be0
Switch to new render from Galaxy
7 years ago
Anders Jenbo
5ab9f4609a
Clean up signedness
7 years ago
galaxyhaxz
4e01e03711
Cleanup default calling conventions
7 years ago
galaxyhaxz
b59754bd64
Render.cpp bin exact ( #744 )
7 years ago
aperturesecurity
42ce77ce05
Rebirth and Nuke
8 years ago
galaxyhaxz
5ff8756116
Fix junk ( #174 )
8 years ago
galaxyhaxz
472de22f81
Annotated and fixed World.cpp ( #129 )
8 years ago
galaxyhaxz
49a6f4f9fc
Add include guards, prepare for XRef ( #28 )
...
Add definitions, other junk.
8 years ago
galaxyhaxz
bb01c6f084
Remove the "fear factor" ( #21 )
...
Snakes, spiders, Demons, what scares you?
8 years ago
mewmew
f5f76f8b8a
Fix build on Linux
8 years ago
galaxyhaxz
b1ee40f6e7
Revert "Add preliminary support for compiling on Linux"
8 years ago
mewmew
20fdbf8aa2
Fix compile errors on Linux
...
Source/../types.h:35:10: fatal error: DiabloUI/_diabloui.h: No such file or directory
#include "DiabloUI/_diabloui.h"
---
Source/../Source/init.h:43:109: error: fastcall and stdcall attributes are not compatible
LRESULT (__stdcall *__fastcall SetWindowProc(void *func))(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
---
Source/missiles.cpp:915:27: error: unable to find numeric literal operator ‘operator""i64’
*(_QWORD *)&Dirs[0][2] = 0i64;
---
Source/world.cpp:38:1: error: narrowing conversion of ‘3937053354’ from ‘unsigned int’ to ‘int’ inside { } [-Wnarrowing]
---
Source/lighting.cpp:429:1: error: narrowing conversion of ‘-1’ from ‘int’ to ‘unsigned char’ inside { } [-Wnarrowing]
---
Source/objects.cpp:5459:62: error: unable to find numeric literal operator ‘operator""i64’
while ( !(plr[v53]._pMemSpells[1] & ((unsigned __int64)(1i64 << v60) >> 32) | plr[v53]._pMemSpells[0] & (unsigned int)(1i64 << v60)) );
---
Source/control.cpp:488:9: error: unable to find numeric literal operator ‘operator""i64’
v26 = 1i64;
---
Source/objects.cpp:243:1: error: narrowing conversion of ‘255’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
---
Source/gamemenu.cpp:22:1: error: narrowing conversion of ‘2147483648’ from ‘unsigned int’ to ‘int’ inside { } [-Wnarrowing]
---
Source/sound.cpp:41:88: error: narrowing conversion of ‘240’ from ‘unsigned int’ to ‘char’ inside { } [-Wnarrowing]
---
Source/quests.cpp:46:1: error: narrowing conversion of ‘255’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
---
Source/player.cpp:4666:8: error: unable to find numeric literal operator ‘operator""i64’
v14 = 0i64;
---
Source/init.cpp:546:109: error: fastcall and stdcall attributes are not compatible
LRESULT (__stdcall *__fastcall SetWindowProc(void *func))(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
---
Source/items.cpp:114:1: error: narrowing conversion of ‘(item_effect_type)255’ from ‘unsigned int’ to ‘char’ inside { } [-Wnarrowing]
---
Source/items.cpp:307:1: error: narrowing conversion of ‘(unique_base_item)255’ from ‘unsigned int’ to ‘char’ inside { } [-Wnarrowing]
---
Source/items.cpp:854:8: error: unable to find numeric literal operator ‘operator""i64’
v37 = 0i64;
---
Source/items.cpp:471:1: error: narrowing conversion of ‘(item_equip_type)255’ from ‘unsigned int’ to ‘char’ inside { } [-Wnarrowing]
8 years ago
galaxyhaxz
bcb3abe96b
Add files via upload
8 years ago