Gleb Mazovetskiy
c2917b1dc8
DiabloUi: Load animated PCX sprites as CEL
...
Reduces memory usage in menu (and thus the overall allocator pressure)
4 years ago
Gleb Mazovetskiy
52e0511479
DiabloUI: Always blit to `PalSurface`
...
Previously we were blitting to the output surface directly.
Blitting to `PalSurface` allows us to support CEL/CL2 rendering in the
main menu.
4 years ago
Anders Jenbo
1409e604f5
Reduce string conversions
4 years ago
obligaron
18fb40ee32
Settingsmenu: Implement KeyInput
4 years ago
staphen
af59f7e254
Update fullscreen option in settings menu after Alt+Enter
4 years ago
obligaron
8a235186f2
Settingsmenu: Clean up UI-Resources before switching options that require RecreateUI
4 years ago
obligaron
b5ab9758d0
Replace gbSpawned with gbIsSpawn
4 years ago
obligaron
d0dcb7f3ce
Remove unused enum entry MAINMENU_REPLAY_INTRO
4 years ago
obligaron
78c0ec1f49
Pass viewportSize to UiList constructor and calculate height from it
4 years ago
Gleb Mazovetskiy
7e1fea6f76
clang-format all files in {Source,test}/
...
Also includes a few manual tweaks to comments and newlines for better results.
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
4 years ago
obligaron
f02264f69c
Implement settings menu
4 years ago
obligaron
adfdb1e54f
Refactored UiList ViewPort Logic
4 years ago
Anders Jenbo
fdd5d2c0d6
Make start screen behave more in line with other similar menus
...
Double clicking a menu list was not intuitive and could leave some
people confused about how to progress from the very first screen.
This is unfortunatly more important then having a nice preview when
using arrow keys to high light the other option :(
5 years ago
obligaron
f51768a567
Add the possibility to switch to shareware
5 years ago
obligaron
1d0f4cb13d
Add new Extras menu with the possibility to switch game
5 years ago
obligaron
95b7380ae9
Startup game (diablo or hellfire) can be selected.
5 years ago
obligaron
8dc1829ac0
Remember last selected hero
5 years ago
Vladimir Olteanu
d4d89077cd
Don't free PalSurface when it was obtained from SDL_GetVideoSurface
5 years ago
ephphatha
8930b789d6
Rename UiType members to follow naming convention
...
Convention seems to be that scrollbar is treated as a single unhyphenated word so the UiScrollbar class was renamed to match.
5 years ago
obligaron
f5b437dd9c
Use save number to load/save games (instead of hero name)
5 years ago
Anders Jenbo
ef6275caac
Clean up private function names
5 years ago
Vladimir Olteanu
c57560674e
Use smart pointers for UI items
...
vector::push_back(new Foo(...)) leaks if resizing fails
5 years ago
Anders Jenbo
56d3b5d710
clang-tidy/Android Stuidio cleanups 5
5 years ago
Anders Jenbo
790f42d078
Clang-tidy: readability-inconsistent-declaration-parameter-name
5 years ago
Anders Jenbo
3b04f67194
🔥 Remove a chunk of miniwin types
5 years ago
Jmgr
c33182d6de
Modernize deprecated headers
5 years ago
Anders Jenbo
7912e510f0
🎨 Clean up overuse of SDL types
5 years ago
Anders Jenbo
cc164985a3
🎨 Correct type checks in src sub-folder
5 years ago
Anders Jenbo
f004c78824
🧹 performance-unnecessary-value-param
5 years ago
Anders Jenbo
d024f79b0e
🧹 performance-unnecessary-value-param
5 years ago
Gleb Mazovetskiy
92485ed222
DiabloUI: Support non-doublebuf HW surfaces
...
If using a hardware surface without double-buffering, perform
rendering in a single blit to avoid flickering and tearing.
5 years ago
Anders Jenbo
8c821e98d3
🚚 Restructure files
5 years ago
Anders Jenbo
6e1a106a38
🚚 Move header we implement into the project
5 years ago
Anders Jenbo
e7ae8ddd04
🚚 Move all enums to there respective headers
5 years ago
Anders Jenbo
93d42b62b8
♻️ Change BOOL to bool
5 years ago
Anders Jenbo
bfb3c11c2b
🎨 Change namespace to devilution
5 years ago
Gleb Mazovetskiy
87dcbcb6d7
Save 1.5 MiB RAM in-game by freeing more DiabloUI art
5 years ago
Gleb Mazovetskiy
a6019f4e55
DiabloUI: Render to DiabloUiSurface()
...
Use that instead of using `GetOutputSurface()` directly.
For the rg99 port, we'll want to render this to the `pal_surface`
instead of output surface directly.
Might also be useful for 3ds, perhaps to render to the bottom screen.
5 years ago
Anders Jenbo
e280432b92
🚨 Fix all SDL1 warnings
5 years ago
Anders Jenbo
39999791b3
Revamp ini options and sync in multiplayer
...
[NetMsg]
F12=Now you DIE!
F11=Here's something for you.
F10=Follow me.
F9=I need help! Come Here!
[Game]
Speed=50
Fast Walk=1
Grab Input=0
Theo Quest=0
Cow Quest=0
[Audio]
Sound Volume=0
Music Volume=0
Walking Sound=1
[Graphics]
Fullscreen=1
Fit to Screen=1
Scaling Quality=2
Integer Scaling=0
Vertical Sync=1
Blended Transparency=1
Gamma Correction=100
Color Cycling=1
[Diablo]
Intro=0
[Hellfire]
Intro=0
SItem=
[Phone Book]
Entry1=127.0.0.1
[Network]
Bind Address=0.0.0.0
5 years ago
Anders Jenbo
47004ddd35
Add widescreen menus
5 years ago
Anders Jenbo
bc3602486f
Fix type warnings in DiabloUI
6 years ago
Anders Jenbo
4e8843ee7c
Implement most of the Hellfire menu
...
Still missing is the support screen (functionally identical to the
credit screen)
This also fixes a long standing issue with the menu code where it would
some times return the index and some times the value of the selected
menu item. It now always returns the index and reciver must look up the
value.
6 years ago
Anders Jenbo
3ef2228d85
[switch] Leave TextInput running
...
Text mode is on by default. Calling SDL_StartTextInput() will start the
virual keyboard, but does not allow for a default value. Calling it as
well as switch_start_text_input() will start the keyboard a secound
time.
We still turn TextInput off on other platforms when it's not needed as
it can require additional resources.
6 years ago
Anders Jenbo
88c85c54de
[switch] Leave TextInput running
...
Text mode is on by default. Calling SDL_StartTextInput() will start the
virual keyboard, but does not allow for a default value. Calling it as
well as switch_start_text_input() will start the keyboard a secound
time.
We still turn TextInput off on other platforms when it's not needed as
it can require additional resources.
6 years ago
Anders Jenbo
3b4db47995
Correct placment of Diablo logo on title screen
...
Fixes #841
6 years ago
BDC
62de5f1600
Refactor DiabloUI to dynamic C++03 compatible code
...
This will help with porting the game to the original Xbox, and also make
it easier to implement dynamic resolutions and translations.
6 years ago
Anders Jenbo
7a90b9102a
When needed, clear buffer before rendering menu
6 years ago
Anders Jenbo
ca82f81582
Move menu elements to the center of the screen
...
Previously the rendering was just shifted which gave the mouse an odd
position and made it impossible to place new elements in the left side.
6 years ago
Anders Jenbo
82f72713ed
Load current heros level from save game when on difficulty screen
...
Fixes #566
The hero is unloaded before entering this screen from a game, hacking
the game to track the hero level would not work with single player
(planned to also have a select screen) so the only proper solution is to
load the info from the save game. Using gszHero allows us to stay synced
with the engine.
6 years ago