Commit Graph
98 Commits
Author SHA1 Message Date
Anders Jenbo 6ce8f13751 Apply clang-tidy to more code and do some related cleanups 2021-05-24 05:27:06 +02:00
Anders Jenbo 6acb49bea4 Render quest and menu text using common text rendering 2021-05-21 04:23:49 +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 4b577329f4 ♻️Refactor towner initialization 2021-05-07 00:30:23 +02:00
Gleb Mazovetskiy 0edfa3de66 🚚 Move CEL rendering to engine/render/cel_render.cpp 2021-05-07 00:16:40 +02:00
Gleb Mazovetskiy 1b8b62a8c2 ♻️ Store CEL width with the sprite itself
Instead of passing the CEL sprite width when drawing, store the CEL
width at load time in the new `CelSprite` struct.

Implemented for most sprites except towners, missiles, or monsters.
2021-05-01 20:51:55 +02:00
Gleb Mazovetskiy 57172e48ed 🔨 ⚙️ CMake: Add NOSOUND option
This option completely disables all audio handling, including audio
loading code and dependencies.

Dialog text length is estimated to be somewhere between
Cain and Griswold speed.
2021-04-29 19:43:45 +02:00
Anders Jenbo 48dbb47d70 🌐 Apply static translations 2021-04-29 01:21:28 +02:00
thebigMuh ad8f342db0 Adding constness 2021-04-26 23:30:02 +02:00
Anders Jenbo 7912e510f0 🎨 Clean up overuse of SDL types 2021-04-24 17:07:07 +02:00
Anders Jenbo d024f79b0e 🧹 performance-unnecessary-value-param 2021-04-22 00:08:19 +02:00
Anders Jenbo 6ba343e309 🎨 Acceptable parts of misc-* 2021-04-19 20:11:41 +02:00
Anders Jenbo 997c1dba55 🚚 Split up all.h in to proper header relations 2021-04-16 01:04:54 +02:00
Anders Jenbo bfb3c11c2b 🎨 Change namespace to devilution 2021-04-06 15:21:25 +02:00
Anders Jenbo 630e507f63 🚚 Apply namespace 2021-04-06 15:21:25 +02:00
Gleb Mazovetskiy 70d1d633bd Get rid of SCREEN_X / SCREEN_Y
GlobalOutputBuffer() now returns a clipped subregion
2021-03-17 23:37:58 +01:00
Gleb Mazovetskiy cd59a1c323 Completely replace gpBuffer with CelOutputBuffer
`CelOutputBuffer` now contains an `SDL_Surface` and an `SDL_Rect`.

We now have access to SDL surface manipulation functions.

`gpBuffer` and `gpBufEnd` are completely gone 🧹

This results in some FPS loss (250 -> 195) recovered in a subsequent
commit.
2021-03-13 05:13:26 +01:00
Gleb Mazovetskiy 3c4ccfc2e4 CelOutputBuffer: Replace subregion with subregionY
We can't do anything with X yet
2021-03-13 02:26:11 +01:00
Anders Jenbo 037ef082b4 🐛 Correct position of dialog backgrounds
Fixes #1098
2021-03-03 20:08:14 +01:00
Gleb Mazovetskiy 83ce7c27af Enginify trans_rect
Moves `trans_rect` to `engine` as `DrawHalfTransparentRectTo` and makes
it operate on `CelOutputBuf`.
2021-03-03 12:07:07 +01:00
Gleb Mazovetskiy 8283f85e24 Engine: Functions to render to any buffer
Refactor the rendering functions to allow rendering to any output
buffer.

New functions that accept a buffer have the `To` suffix.

The functions that render to the global buffer now always accept
coordinates.
2021-02-27 17:49:39 +01:00
Anders Jenbo bf02e0710b Fix calculating text speed for text containing line breaks 2021-01-25 04:26:36 +01:00
Anders Jenbo 2845ea9624 Use anon namespace for local symbols 2021-01-25 00:03:02 +01:00
Anders Jenbo e0d844eb47 Fix Windows builds 2021-01-24 23:53:02 +01:00
Anders Jenbo 757fd4d33d Full document and further clean up minitext.cpp 2021-01-24 23:45:53 +01:00
Anders Jenbo beca185e5b Deduplicate some code in minitext.cpp 2021-01-24 22:52:16 +01:00
Andi 03b989f6f4 Dynamic speed scrolling text (#985) 2021-01-24 21:59:36 +01:00
Anders Jenbo 72e2637061 Merge branch 'master' of github.com:diasurgical/devilution 2020-10-25 17:38:06 +01:00
Gleb Mazovetskiy ec329e645c Fix all "no-write-strings" warnings 2020-10-25 15:37:51 +01:00
Anders Jenbo b62b3375bd Merge branch 'master' of github.com:diasurgical/devilution 2020-10-13 02:05:36 +02:00
Anders Jenbo 4e7e3e0b46 0 1 0 0 1 ... 2 2020-10-13 01:35:19 +02:00
Tyler ecde1f647e Adjust UI to any resoution 2020-09-28 07:01:27 +02:00
Anders Jenbo 893efd51ea Merge branch 'master' of github.com:diasurgical/devilution 2020-09-27 03:34:42 +02:00
Tyler c803c6aa66 Calculate position of screen elements 2020-09-27 00:21:54 +02:00
Joel Falcou 9ba87895ae Fix issue with NPC/Quest text scrolling
Scrolling text were abruptly closing while the audio
played right. This patch fix a simple error on the
scrolling loop so the corretc variable is used to make
the scrolling happens
2020-04-17 15:58:58 +02:00
Anders Jenbo 7108145a04 Merge branch 'master' of github.com:diasurgical/devilution 2020-04-14 15:30:49 +02:00
Robin Eklind 7873bd4356 minitext: fix variable names of minitext.cpp
The variable names were mixed up.

	sgLastScroll -> qtextSpd
	scrolltexty -> qtextDelay
	qtextSpd -> sgLastScroll
2020-04-14 01:12:28 +02:00
Anders Jenbo 3c5982083f Merge branch 'master' of github.com:diasurgical/devilution 2020-04-06 12:05:13 +02:00
Anders Jenbo 187a021b30 More documentation from sanctuary/notes (#2026) 2020-03-30 11:31:36 +02:00
Anders Jenbo 776ab10476 Merge branch 'master' of github.com:diasurgical/devilution 2020-03-29 23:40:05 +02:00
Anders Jenbo 0383f9abcd Add documentation to more files 2020-03-02 02:29:28 +01:00
Anders Jenbo 25993b4043 Merge branch 'master' of github.com:diasurgical/devilution 2020-02-14 23:03:31 +01:00
Anders Jenbo 20621a0642 add all.h and use in place of diablo.h (#2005)
Now diablo.h is treated in the same way as all other header files of
Source, as it only contains the declarations of global variables and
functions of diablo.cpp.

Besides consistency, this also enables mods to include diablo.h just
like any other header file without having to include every header file
(and without having to include C++ specific aspects of the now all.h).
2020-02-14 13:12:54 +01:00
Anders Jenbo 08aa6a860a Move generic helpers out of miniwin 2020-02-01 13:56:08 +01:00
Anders Jenbo d46ae517d0 Merge remote-tracking branch 'refs/remotes/devilution/master' 2019-10-28 03:14:06 +01:00
Anders Jenbo 71adfe509e Document more attributes 2019-10-28 03:05:40 +01:00
Anders Jenbo 4e8a8d2157 Merge remote-tracking branch 'refs/remotes/devilution/master' 2019-10-26 13:43:28 +02:00
Anders Jenbo 92ab05ea13 Decompose more magic numbers 2019-10-26 00:24:55 +02:00
Anders Jenbo 2348c3a8fd Documentations, enums and clean ups 2019-10-21 19:33:14 +02:00
Anders Jenbo d354bd9767 Lock framerate at vsync instead of 20fps
Since most animations are still controlled by the game logic the only
real benefit is smoother mouse and scrolling text, but it's a start :)
2019-10-20 15:59:47 +02:00