Christoph Oelckers
38ddbfe65f
- activated most of the support code for programmatically created menus again.
...
Blood's regular menu screens mostly work again
2020-10-07 01:31:41 +02:00
Christoph Oelckers
5726b693bd
- added back the menu transition, although it cannot be used yet, and all game specific menu CCMDs.
2020-10-07 01:12:57 +02:00
Christoph Oelckers
0968a9d97e
- renamed the Customizer to 'Delegate' because this works very much like a delegate in Objective-C.
...
- route menu sound calls through the delegate to better deal with differences between games.
2020-10-07 01:00:43 +02:00
Christoph Oelckers
603c3b50ec
- reimplemented Blood's menu items.
2020-10-07 00:50:26 +02:00
Christoph Oelckers
d22bdf9dc7
- use an alias for the menu bar texture in Blood.
...
Direct tile access has been disabled for now, hopefully this can be buried deep in the engine for all eternity.
2020-10-06 20:05:51 +02:00
Christoph Oelckers
55e7e34707
- added texture aliases so that tiles can given real names in the texture manager.
...
Use this to turn Duke's and RR's tile enums into real names, leaving out RRTILExx - the few that are needed were renamed.
2020-10-06 19:26:22 +02:00
Christoph Oelckers
3dbb8cbb11
- safety commit
2020-10-05 21:47:53 +02:00
Christoph Oelckers
29a4955f79
- missing global variables.
2020-10-05 20:44:30 +02:00
Christoph Oelckers
4d712cd5a0
- date code from GZDoom.
2020-10-05 20:28:19 +02:00
Christoph Oelckers
c03644ea76
- base.zs cleanup and extendable structs.
2020-10-05 20:03:28 +02:00
Christoph Oelckers
53980787b6
- added global offset for 2D drawer.
...
This is needed to handle Duke's scrolling menus transparently to the menu code.
2020-10-05 01:42:47 +02:00
Christoph Oelckers
9606b09ddd
- update of language code from GZDoom.
2020-10-05 00:46:24 +02:00
Christoph Oelckers
7c89db69bd
-menuCustomizer from GZDoom.
2020-10-05 00:23:30 +02:00
Christoph Oelckers
16431e9f0a
- SetupMenuColors restored.
2020-10-04 22:21:11 +02:00
Christoph Oelckers
6a4b72cfef
- removed obsolete calls from menudef.cpp.
2020-10-04 22:14:20 +02:00
Christoph Oelckers
27ff78ed51
- removed the GZDoom menu CCMDs.
2020-10-04 22:02:10 +02:00
Christoph Oelckers
f233345ba1
- move most of the menu code into the backend.
2020-10-04 21:57:35 +02:00
Christoph Oelckers
7f6b02c451
- merged string table and system callbacks.
2020-10-04 21:15:51 +02:00
Christoph Oelckers
5d76cbcbdb
- game compiles and starts again (without menu, of course)
...
Now it's time to rebuild the menu.
2020-10-04 20:53:37 +02:00
Christoph Oelckers
9cc318da93
- ugh
2020-10-04 20:14:15 +02:00
Christoph Oelckers
7be2d44108
- corrected includes.
2020-10-04 20:11:03 +02:00
Christoph Oelckers
82612a1330
- it compiles again (with lots of code commented out.)
2020-10-04 20:11:02 +02:00
Christoph Oelckers
46a1fe3826
- updated script definitions to silcence startup warnings.
2020-10-04 20:10:13 +02:00
Christoph Oelckers
dff8339ba3
- backend update from GZDoom.
2020-10-04 19:33:50 +02:00
Christoph Oelckers
f8caf88089
- backend update.
2020-10-03 17:04:45 +02:00
Christoph Oelckers
fe61ff09a4
- added remapping for Cyrillic characters to matching Latin counterparts.
2020-09-29 20:16:31 +02:00
Christoph Oelckers
b57e13ff62
- mouse code update.
...
May still need some tweaking of the factors.
2020-09-28 22:36:43 +02:00
Christoph Oelckers
012bccd916
- indexed rendering fixes
...
backported from GZDoom.
2020-09-28 21:26:21 +02:00
alexey.lysiuk
6cf921dbfe
- restored old mouse scaling for Cocoa backend
...
This reverts commit df2b3b6b17
.
2020-09-28 09:35:36 +03:00
Christoph Oelckers
9dd26c8196
- fixed explosion distance of Hexen Cleric's firestorm weapon.
2020-09-27 16:30:06 +02:00
Christoph Oelckers
02afa90202
- another backend update from merging several GZDoom PRs.
2020-09-27 16:16:53 +02:00
Christoph Oelckers
c326bcd308
- fixed i_net's GetPlayerName function's indexing.
2020-09-27 16:12:51 +02:00
Christoph Oelckers
af5e3dd1b8
- render backend update from GZDoom, mostly minor stuff.
2020-09-27 16:12:51 +02:00
Christoph Oelckers
4ca5bfdd46
- sanity check added for MoveLumpsInFolder
2020-09-27 16:12:51 +02:00
Christoph Oelckers
ba5da8ebc2
- UE1 model code update.
2020-09-27 16:12:51 +02:00
Christoph Oelckers
cb49bcb96d
- updated VM from GZDoom.
...
Just to be up to date.
2020-09-27 16:12:50 +02:00
Christoph Oelckers
0314cdec55
- texture manager fixes from GZDoom
...
* missing null check in FPngTexture.
* ignore identity translations when creating textures.
2020-09-27 16:12:50 +02:00
Christoph Oelckers
f8ae35f8a5
- macOS backend update, plus moving base64.cpp around.
2020-09-27 16:12:50 +02:00
Christoph Oelckers
0795c79a3a
- engine updates from GZDoom.
2020-09-27 16:12:50 +02:00
Christoph Oelckers
a9ca6c8081
- sound backend update from GZDoom.
2020-09-27 16:12:49 +02:00
Christoph Oelckers
03a0cf943e
-minor cleanup and backporting of con_pulsetext from Raze.
2020-09-27 16:12:49 +02:00
Christoph Oelckers
9285d91918
- added timescale support from GZDoom.
2020-09-27 16:12:49 +02:00
Christoph Oelckers
f0678f4f4e
- Font setup fix from GZDoom.
2020-09-27 07:33:43 +02:00
Christoph Oelckers
b93a9b478a
- implemented World Tour's developer commentaries.
2020-09-26 17:43:34 +02:00
Christoph Oelckers
3210dd5782
- fixed the noisiest value truncation warnings after shortly re-enabling them in the compiler, plus a few places where the warning pointed to incorrect code.
2020-09-26 11:59:24 +02:00
Christoph Oelckers
1e12bca0a6
- route World Tour's texts through the string table by adding an indirection option
...
This way they can be translated into all languages without duplicating all relevant content.
The original text files are no longer being used.
2020-09-26 10:08:48 +02:00
Christoph Oelckers
18ce5bed60
- add line feed after PALETTE_EMULATION #define
2020-09-26 08:52:11 +02:00
Christoph Oelckers
8450369a22
- must reset file pointer before reading the size from a patch texture.
2020-09-26 08:42:40 +02:00
Christoph Oelckers
77841b3154
- fixed application of detail textures.
2020-09-25 22:03:11 +02:00
Christoph Oelckers
ccfd20e074
- added some quick rejection checks for Doom patch textures.
...
Since the checker reads all lumps completely into memory to check them, this can take quite a while. Reject everything that can be just by looking at the size fields immediately, without loading the rest.
2020-09-25 19:06:19 +02:00
Christoph Oelckers
a27211dc34
- added support for SSI containers to the file system.
2020-09-19 10:07:53 +02:00
Christoph Oelckers
6776508239
- widescreen asset setup and consolidation of .def file loading.
2020-09-16 19:13:06 +02:00
Christoph Oelckers
b26a5b800e
- make sure that changing the texture filter mode does not clobber the global state
...
Need to rebind the samplers after modifying them to avoid undefined behavior.
Fixes #397
2020-09-15 22:00:15 +02:00
Christoph Oelckers
c98f7d304b
- added a list compare function to FScanner.
2020-09-15 21:21:16 +02:00
Christoph Oelckers
09a6534270
- redid scriptfile as a wrapper around FScanner
...
Another piece of Build licensed code gone, yay!
This will also allow gradual conversion of the DEF parser to our own code, unencumbered by the Build license. :)
2020-09-15 00:11:08 +02:00
Christoph Oelckers
c61a2c3486
- enable palette emulation for HUD weapon drawing.
...
Not correct yet but the basics are in.
2020-09-13 23:14:44 +02:00
Christoph Oelckers
1368c26d22
- fixed translation setup for palette mode.
2020-09-13 21:23:38 +02:00
Christoph Oelckers
6ad8046b47
- dual license d_net.cpp and i_net.cpp
...
The same source was available under both in GZDoom, so keep it.
2020-09-13 19:38:31 +02:00
Christoph Oelckers
57a9419f8e
- use FString for returning strings from the script parser.
...
This is mainly a preparation for merging the parser into sc_man, because sc_man does not keep token texts in a static variable.
This commit also fixes a handful of places that were flagged by the stricter conversion rules of FString.
2020-09-13 10:29:57 +02:00
Christoph Oelckers
9e81fa89a8
- fixed some of the issues with palette emulation
...
* the palette shader was not bound.
* the palette textures were not bound.
* palette mode still used regular lighting on top of the palette emulation
This works a lot better than before but is still not complete.
2020-09-12 21:23:14 +02:00
Christoph Oelckers
89316aea33
- demoted the SWCustom parser to the primitive Hexen interface after finding out that this is all the Build parser can do.
...
This also meant I had to add symbol support to the old style number parsers.
2020-09-12 10:23:47 +02:00
Christoph Oelckers
e5cf57917e
- FScanner::SkipToEndOfBlock
2020-09-11 00:18:13 +02:00
Christoph Oelckers
ef5ac2319e
- migrated SW's info script parser to sc_man.
2020-09-10 17:46:54 +02:00
Christoph Oelckers
d011a16c5b
- added a menu option for WT's music switch.
...
Fixes #370
2020-09-08 22:37:21 +02:00
Christoph Oelckers
29d990991b
- dug out Dynamo's BigFont for Exhumed from the forum.
...
This is not the font from GDX, it was a separate creation. The only character in here from GDX is the question mark because it was missing.
2020-09-08 01:12:23 +02:00
Christoph Oelckers
1b46a6fd9a
- removed bogus assert in buffer code.
...
An empty buffer is a perfectly valid construct that may not be asserted upon. The 3D scene does not use indices so the buffer receives no data and remains empty.
This made the softpoly renderer fail in debug builds. Performance issues aside it works fine now.
Fixes #314
2020-09-07 23:17:06 +02:00
Christoph Oelckers
703b142bad
- added a CVAR to disable WT's ogg music and a fallback for when it cannot be found.
...
Fixes #354
2020-09-07 21:26:07 +02:00
Christoph Oelckers
e8452a79e8
- implemented the automap serializer.
...
Also optimized the base64 encoder to avoid creating endless memory copies, thanks to using std::string which is a really poor container for this kind of stuff when workig with larger blocks of data.
2020-09-06 13:39:57 +02:00
Christoph Oelckers
36b9ac54b7
- added a parser for World Tour's language files.
2020-09-05 21:33:04 +02:00
Christoph Oelckers
443ddf670b
- let the ANM player wait until the sound has finished if it has reached the last frame before the sound ends.
...
In Shadow Warrior there's a few where the sound plays a bit longer than the video.
Fixes #341
2020-09-05 18:14:50 +02:00
Christoph Oelckers
e0b4dde3cd
- fixed: A screen job that fades out was not rendering its final (black) frame which could result in visual glitches.
...
Fixes #320
2020-09-05 15:59:32 +02:00
Christoph Oelckers
b23424485a
- re-implemented VP8 support.
...
Since the decoder cannot handle sound, there's two options:
1: Use the same sounds as the video it replaces.
2: If an identifiable streamable sound with the same base name is found, it will be played along with the video.
Fixes #133
2020-09-05 11:58:19 +02:00
Christoph Oelckers
2e8b808683
- added a C_ClearMessages function for the console and fixed game restart after death.
...
Fixes #322
2020-09-04 22:23:38 +02:00
Christoph Oelckers
66bf8113b8
- implemented the 'god' cheat as a network command.
...
This was mainly chosen as something simple to get the basics set up.
2020-09-03 00:29:17 +02:00
Christoph Oelckers
6726c19f9c
- removed constexpr from FloatToAngle.
...
I overlooked the xs_CRoundToInt call in there.
2020-09-01 19:48:21 +02:00
Christoph Oelckers
c957397573
- undid the workarounds for undefined-ness of negative shifts.
...
For any mainstream platform that is totally irrelevant and besides, in C++20 it will be well defined and all current compilers on the relevant platforms treat it accordingly.
This is not worth deoptimizing the code.
2020-09-01 19:47:01 +02:00
Christoph Oelckers
0cc019686d
- minor optimization of m_fixed.h
...
Use constexpr where possible to allow using these function in static initializers.
Avoid dividing by constant values. Better multiply with the inverse which is quite a bit faster.
2020-09-01 19:37:05 +02:00
Mitchell Richters
1354d52c05
- Major cleanup of Q16.16 utilisation within games and engine.
...
* Remove fix16.h/cpp and utilise library from m_fixed.h.
* Extend m_fixed.h with two inline functions for int to/from float operations.
* Replace fix16_floor operations with those from xs_Float.h
* Replace multiple Q16.16 conversions from 0 to just be 0.
* Replaced all found in-game bit-shifts and multiplications/divisions with inline functions from m_fixed.h
* Replaced many casts of FRACUNIT as double in SW's panel.cpp as it is converted to double by way of type promotion.
* Fixed missed precision fixes in SW's panel.cpp where some types weren't declared correctly.
* Replaced 100+ `Cos()/Sin() >> 16` operations for Blood with inline functions `CosScale16()/SinScale16()`.
2020-09-01 23:00:47 +10:00
Christoph Oelckers
ac5abd8aac
- removed ready2send variable.
...
It's a leftover from the old netcode.
2020-08-31 20:25:08 +02:00
Christoph Oelckers
367b4ce051
- this should be all we need from GZDoom to hook up the main loop.
2020-08-30 09:32:34 +02:00
Christoph Oelckers
1e0b8038e5
- removed I_ResetTime entirely and refactored SW's use of it.
2020-08-30 08:13:34 +02:00
Christoph Oelckers
d49aedacea
- continued work on main loop - added a few new entry points to the game interface.
2020-08-30 00:55:49 +02:00
Christoph Oelckers
15adf1f6e5
- hooked up ZDoom's i_net.cpp to compile within the project.
...
Note about the license: This file was available from GZDoom 2.4.x under the Doom source license which is compatible with Build.
This isn't used yet.
2020-08-29 22:07:47 +02:00
Mitchell Richters
8bb13bc4c2
- InputState: Exclude volume keys from setting AnyKeyStatus
to true.
2020-08-27 13:05:05 +02:00
Christoph Oelckers
4e846f8d66
- do not print game init messages to the notify display.
2020-08-26 20:19:54 +02:00
Mitchell Richters
62388e30be
- fix C_SetNotifyFontScale()
for RR.
...
Fixes #264 .
2020-08-26 22:33:19 +10:00
Mitchell Richters
be5419e77c
- i_time: Add I_GetBuildTimeFrac()
.
...
* Currently not needed, but adding for feature parity.
2020-08-25 19:48:26 +02:00
Mitchell Richters
2231386830
- Duke: Create function to reset timer and apply in game where timer restarts are needed.
2020-08-25 19:48:15 +02:00
Mitchell Richters
afb09456e0
- Duke: Migrate away from using totalclock
and use new game-specific gameclock
with underlying timer code in common.
...
* Build timer still requires initialisation due to multiple `timerSetCallback()` that still need to work.
# Conflicts:
# source/core/menu/menu.cpp
# source/games/duke/src/game.cpp
2020-08-25 19:47:31 +02:00
Christoph Oelckers
a55da24277
- hooked up the chat display.
...
Currently not really useful, aside from being usable to enter cheats. For this the cheat must be prefixed with a '#' to be recognized.
2020-08-25 18:51:56 +02:00
Christoph Oelckers
a0e4d6f62c
- implemented proper scaling support for the notify display - both the classic and advanced variant.
2020-08-25 18:03:15 +02:00
Christoph Oelckers
3a6ccac8ea
- fixed bad offset with vertically mirrored sprites.
...
Fixes #239
2020-08-24 21:15:22 +02:00
Christoph Oelckers
c09a5150a9
- added some predefined fullscreen modes
...
This is to cut down on boilerplate code because these encode the virtual screen size in the mode parameter, making it unnecessary to specify a virtual size separately.
2020-08-24 20:25:53 +02:00
Christoph Oelckers
1a0e413d5c
- use CCMDs for Exhumed's input where applicable.
...
- made crosshair toggle consistent across games.
2020-08-23 16:11:18 +02:00
Christoph Oelckers
98c064dcbc
- fixed the missing plasma effect in Exhumed's title screen.
2020-08-21 00:13:05 +02:00
Christoph Oelckers
d9e23c0ab9
- missing null check
2020-08-20 23:41:45 +02:00
Christoph Oelckers
da90bd3b6a
- fixed: When drawing fullscreen, ignore texture offsets.
...
Fixes #218 .
Exhumed also has a fullscreen image with bogus offsets.
2020-08-20 20:43:17 +02:00
Christoph Oelckers
94beac937d
- scale down the notify display by 2 in RR.
...
Its fonts are double the size as the other games and this must be factored in here for HUD scaling to work as expected.
2020-08-19 16:40:54 +02:00
Christoph Oelckers
7bb6b6a1ee
- do not call handleEvents outside the main loop.
...
In other places I_GetEvent should be used to call the system's message pump and keep the app responsive, but all game side processing should be skipped.
2020-08-16 10:00:13 +02:00
Christoph Oelckers
a690f44fc8
- use constexpr for translation utilities
2020-08-15 10:22:07 +02:00