Commit graph

97 commits

Author SHA1 Message Date
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
Anders Jenbo
113b060e03 Use cel function to render PrintQTextChr 2019-10-20 15:59:47 +02:00