Gleb Mazovetskiy
6f01fb6b79
Unify CEL/PCX/CL2 render functions
...
Except for the outline rendering.
2022-07-17 20:28:29 +02:00
Gleb Mazovetskiy
2f09c20b08
cel_render: Remove unused LineEndFn
...
This was used for stippled transparency which we no longer support.
2022-07-09 10:23:09 +01:00
Cesar Canassa
e538acb248
📝 Fixes Doxygen warnings (#4904 )
2022-07-07 12:51:24 +02:00
Anders Jenbo
72656b3011
Move path and palette to the engine folder
2022-06-24 16:34:20 +02:00
Anders Jenbo
99181fd709
Move more files to the engine folder
2022-06-24 11:08:15 +02:00
Gleb Mazovetskiy
2b161e5535
An option to convert fonts to CEL in-memory
...
Reduced RAM usage by 200 KiB with no performance drop, perhaps even an
improvement.
2022-04-25 05:31:26 +01:00
Gleb Mazovetskiy
12de70550b
Fix an OOB in CEL/CL2 outline rendering
...
This OOB happened when rendering a sprite so that it is exactly
off-screen (touching the border but not visible) on top/bottom
while also being only partly off-screen on the left or right.
2022-04-12 01:52:53 +02:00
Gleb Mazovetskiy
7fede6c4cb
Clean up owned/unowned CelSprite ambiguity
...
Makes `CelSprite` unowned and adds a new `OwnedCelSprite` class for
owned sprites.
This clarifies ownership and makes the code cleaner in a number of
places.
Additionally, because the `CelSprite` class is now tiny (1 less
pointer), we can pass it by-value instead of by-reference, removing a
pointer indirection in the rendering functions.
2022-03-06 04:49:13 +01:00
qndel
9ba64ad08b
TRN rewrite + bugfix ( #4056 )
...
* working new TRN system
* apply TRNs to all unique missiles
2022-02-20 14:28:51 +01:00
Anders Jenbo
b6bdbcfc98
Stip stippled transparency
2021-12-21 12:55:30 +01:00
obligaron
6273f700fa
Add some Graphic Settings to Settingsmenu ( #3617 )
2021-11-27 00:25:48 +01:00
qndel
5a35e0640b
shorter & better MeasureSolidHorizontalBounds
2021-11-02 14:10:44 +01:00
Juliano Leal Goncalves
bb2dfdfb73
🚚 Rename 'ItemStruct' to 'Item'
2021-08-30 13:40:08 +02:00
Anders Jenbo
2ca6e37c46
Clean up sub folders using clang-tidy/Android Studio
2021-07-08 03:30:25 -07:00
Anders Jenbo
dce78dde62
Rename lighting globals
2021-07-08 02:01:14 -07:00
Gleb Mazovetskiy
cb0dae8590
🚚 Rename CelOutputBuf to Surface and extract
2021-07-03 05:33:32 -07:00
qndel
a1710ff51e
pass item to CelDrawItem ( #2265 )
...
pass item to CelDrawItem
2021-06-29 18:09:54 +02:00
Anders Jenbo
8e07ef8fe5
Clang-tidy: misc-unused-parameters
2021-06-27 17:34:32 +02:00
Anders Jenbo
af254601d6
♻️ Apply clang-tidy to engine
2021-06-25 13:22:08 +02:00
Gleb Mazovetskiy
14218080b6
🚚 engine.h: Extract CelGetFrame and friends
2021-06-21 02:34:28 -07:00
Kalebe Alves
118efe8e6d
Use Point/SDL_Rect for control functions coordinate system
2021-05-28 19:57:16 +02:00
Kalebe Alves
0461529176
Move byte from engine.h
2021-05-27 16:04:27 +02:00
qndel
b1d74d2791
alt highlighting ( #2060 )
2021-05-25 23:47:29 +02:00
qndel
610d5319bd
swap if in drawing inventory items ( #1968 )
2021-05-14 12:50:32 +02:00
qndel
89c40eaa7b
inventory items rendering cleanup ( #1938 )
2021-05-14 12:46:16 +02:00
Gleb Mazovetskiy
8ac9047b4f
🧹 Clean up CEL outline clipping
...
A simpler structure based on the CL2 implementation.
2021-05-13 23:41:50 +02:00
Gleb Mazovetskiy
29a488738e
🔥 Mark core CL2 and CEL functions as inline hot
2021-05-13 02:22:38 +02:00
Gleb Mazovetskiy
64ad9aeacf
🎉 cl2_render.cpp: Clip the outline
2021-05-11 07:57:08 +02:00
Gleb Mazovetskiy
99dc016ec1
🧹 cel_render: Move internal functions to anon ns
2021-05-10 12:35:55 +02:00
Gleb Mazovetskiy
ad18ecc21b
🎉 cel_render.cpp: Clip stippled transparency
...
Example FPS change: 1336 -> 1424
2021-05-09 05:31:41 +02:00
Gleb Mazovetskiy
be7880c4db
🎉 cel_render.cpp: Clip outline
...
Clips `CelBlitOutlineTo` to the output buffer.
The templated implementation means that this compiles to many
case-specific functions with near-branchless inner loops.
Increases binary size by 92 KiB.
2021-05-09 05:31:41 +02:00
Anders Jenbo
68923c6c33
✨ Generic game text render function
...
This should gradually replace all the direct rendering of game texts
throughout the code. The interface is made to closly mirror that of the
art fonts as that is what will eventually be used for rendering Unicode
fonts both in the menus and ingame.
fixup! ✨ Generic game text render function
2021-05-08 18:48:19 +02:00
Anders Jenbo
bcbaeba2f0
📝 Correct file header
2021-05-08 18:48:19 +02:00
Gleb Mazovetskiy
0edfa3de66
🚚 Move CEL rendering to engine/render/cel_render.cpp
2021-05-07 00:16:40 +02:00