Commit graph

1552 commits

Author SHA1 Message Date
Rachael Alexanderson
a1bdc0582c - slow down frame updates for the start screen for slower GPU's, since this can increase loading time significantly 2024-03-30 12:14:07 -04:00
Boondorl
442ac3f78b Updated substitution logic to only replace pointers if safe 2024-03-28 15:48:23 -04:00
Ricardo Luís Vaz Silva
e85ec240bf Store type together with pointers to allow safe substitution 2024-03-28 15:48:23 -04:00
Magnus Norddahl
e8d8dde283
Ignore vid_maxfps when vsync is enabled.
Increase vid_maxfps to 500 as modern computers have monitors in the 240-500 hz range now.
2024-03-28 02:56:29 -04:00
Ricardo Luís Vaz Silva
682dd1b22d Can't narrow down the JIT bug yet, so block JIT for functions that call Function Pointers temporarily 2024-03-22 13:28:02 -03:00
Ricardo Luís Vaz Silva
071b5c5180 fix argument pointer wrapping in function pointers 2024-03-22 13:28:02 -03:00
Kyle Evans
b1f53e7eb5 src: filesystem: move includes out of the FileSys namespace
The previous situation is unfortunately not sustainable; header pollution
isn't consistent across all non-Windows platforms.  As a result, some of
the earlier includes may pull functions/types into the global namespace too
soon, and the later includes will have no visibility of them because they're
in a different namespace.  Re-including the necessary one doesn't work
because include guards will prevent their re-inclusion, and it's not a good
idea to try and #undefine include guards now that we're in a new namespace.

This fixes the build on FreeBSD, and likely some other systems as well.
2024-03-17 22:00:00 -04:00
Ricardo Luís Vaz Silva
458d81cede Make TArray take functions by forward-reference and call them by invoke
(1. avoids copying for lambdas, and 2. allows passing methods)
2024-03-17 18:07:50 -03:00
Ricardo Luís Vaz Silva
ce479e09ff Fix A_ChangeModel serialization
I overlooked this part on my first A_ChangeModel fix
2024-03-17 18:07:50 -03:00
Rachael Alexanderson
7f8ce13d24
- add missing include for macos 2024-03-17 00:58:24 -04:00
Rachael Alexanderson
c73ec97027
- accidentally added erroneous quotes to the last commit 2024-03-16 23:22:42 -04:00
Rachael Alexanderson
1e2a491f9e
- don't show path if longsavemessages is false. fixes https://github.com/ZDoom/gzdoom/issues/2467 2024-03-16 22:58:29 -04:00
Ricardo Luís Vaz Silva
cc88dfbe50 Unrevert two changes
* Sorted Delete for TArray
* Typed constructor for TObjPtr
2024-03-15 17:21:59 -03:00
Christoph Oelckers
520b960ca5 Reverted the path node system
Code reviews were unfavorable so better nix it before it finds wider use.
2024-03-15 20:24:39 +01:00
Boondorl
0ef042562e Fix for Morph virtual
Allows class<MorphedMonster> to be used as an argument type in place of class<Actor> within the third argument for backwards compatibility.
2024-03-08 20:10:40 +01:00
Ricardo Luís Vaz Silva
ad52e2cc1e AStar 2024-03-05 13:44:38 -05:00
Ricardo Luís Vaz Silva
3348822390 ... 2024-03-05 13:44:38 -05:00
Ricardo Luís Vaz Silva
cc51b486e0 TArray Binary Search 2024-03-05 13:44:38 -05:00
Rachael Alexanderson
08a093ffda
- merge pull request https://github.com/ZDoom/gzdoom/pull/1577/files 2024-03-01 05:56:15 -05:00
Christoph Oelckers
ef4c4ee503 fixed resource leak in OpenDecompressor 2024-02-27 07:20:40 +01:00
Boondorl
e37c19b5b4 New API for assigning unique network ids to objects 2024-02-26 06:23:12 -05:00
Ricardo Luís Vaz Silva
d848a57bac Fix readonly for SpecialBounceHit virtual 2024-02-23 07:07:56 +01:00
Magnus Norddahl
144caa0902
Fix precache unload bug in FHardwareTextureContainer::UnmarkAll 2024-02-19 06:45:30 -05:00
Magnus Norddahl
c9612b0cab
Fix memory leak due to IHardwareTexture forward declaration 2024-02-19 06:45:18 -05:00
Ricardo Luís Vaz Silva
bc26c54b15 Fix readonly native structs 2024-02-17 07:23:00 +01:00
Rachael Alexanderson
d8ef27e0ed
Squashed commit of the following:
commit ad25b50089b6e01b8e4291e34cfe3a008af9128d
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:12:46 2024 -0500

    Revert "Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom."

    This reverts commit d2c2c93cf1.

commit 8537f0d8db804f0076b90daa66b750e44dccf44c
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:12:41 2024 -0500

    Revert "Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars."

    This reverts commit dc897eacc0.

commit d45f6ebf11f31d246f2de4f3bbd11f7970783125
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:10:21 2024 -0500

    Revert "Restored r_orthographic behavior."

    This reverts commit 26908f5bc5.

commit be0836feef9b95f12828eeed4319c726ef13780d
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:09:15 2024 -0500

    Revert "Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom."

    This reverts commit 08b03e6b19.

commit 688288a9199b912203022cb4db37503f6270e0c3
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:09:06 2024 -0500

    Revert "Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars."

    This reverts commit d3405837ce.

commit 72b7df9fa1841d665c2846dd31a89c6f48123e55
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:08:59 2024 -0500

    Revert "Restored r_orthographic behavior."

    This reverts commit e171f4eb6a.

commit aa954132bf29f2f8a51bf09dae127e5ffe2c5670
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:08:48 2024 -0500

    Revert "Merged with latest master and made small change (zcenter -> center.Z) to hw_sprites.cpp. Now compiles and works."

    This reverts commit c8a7507e8e.

commit 3ce90e87a3a9956b615995b57b90619e89bbcff4
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 12:00:46 2024 -0500

    Revert "Cleaning up implementation of isometric camera with optional orthographic projection."

    This reverts commit 25f1407228.

commit 3aafd363e40c8d1d2ebbe3c61aeb2b80a74e565a
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 11:59:25 2024 -0500

    Revert "Small change to SpectatorCamera actor."

    This reverts commit 2b555d7556.

commit a41911f8907731c098de71ca3e14261ac432ec8c
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 11:59:16 2024 -0500

    Revert "SpectatorCamera can now follow the 'tracer' actor. Also added a 'lagdistance' property for lazy follow."

    This reverts commit 7fbb4cd06c.

commit 19398edd065b7b483b8c7be42cb16026695e241a
Author: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date:   Fri Feb 9 11:59:05 2024 -0500

    Revert "Minor addition toe SpectatorCamera. Added three chase modes to lazy follow. 0: Catch up until tracer is centered again. 1: Same but don't move if tracer isn't moving (camera moving when character is not is jarring). 2: Stop chasing if tracer is closer than lagdistance. Game modes benefit from a 'center camera' button but that doesn't have to be hard-baked into the engine."

    This reverts commit c3ca564cfc.
2024-02-09 12:15:17 -05:00
Ștefan Talpalaru
b5eb8f47db GCC-13 support, when precompiled headers are off 2024-02-05 17:40:37 +01:00
Christoph Oelckers
5b793958f9 fix uniform buffer size check 2024-02-04 23:06:02 +01:00
nashmuhandes
01a462e9d4 Fix the default controller axes on Linux. The third axis is actually the Left Trigger, which causes the player to uncontrollably look upwards. Fixed by mapping said axis to nothing. 2024-02-04 22:45:34 +01:00
Christoph Oelckers
f1db369883 moved a few things out of the common code that should be defined privately. 2024-02-04 13:54:25 +01:00
Christoph Oelckers
d0a2713820 limit uniform blocks to 64kb.
The GL uniform code is not capable of dealing with large blocks, so restrict it to what most drivers report as their maximum.
2024-02-04 13:36:25 +01:00
Christoph Oelckers
b37ea19f86 remove unnecessary #defines 2024-02-03 16:07:12 +01:00
nashmuhandes
f6bdc02a8a Use a better default deadzone value for Linux. Fixes uncontrollable menus 2024-02-02 09:43:40 +01:00
Dileep V. Reddy
25f1407228 Cleaning up implementation of isometric camera with optional orthographic projection.
All CVars, mapinfo variables, and playerinfo/playerpawn variables are gone.
A Camera actor named 'SpectatorCamera' is defined in warsrc/static/zscript/actors/shared/camera.zs

The following new flag bits were defined in the 'DViewPosition' struct for use with actor->ViewPos in src/playsim/actor.h:
	VPSF_ALLOWOUTOFBOUNDS =		1 << 3,			// Allow viewpoint to go out of bounds (hardware renderer only).
	VPSF_ORTHOGRAPHIC =		1 << 4,			// Use orthographic projection.
	VPSF_ISOMETRICSPRITES =		1 << 5,			// Displace sprites towards camera and don't billboard (drawn from isometric perspective).

Basically, spawn a SpectatorCamera actor with the appropriate flags and set it to player.camera.
See example template: https://www.mediafire.com/file/fv8rytayjt9l6g1/isometric_actor_wads.zip/file

Has been tested with multiplayer death and disconnection (and respawns). Not tested with portals.
Still only works with hardware renderer (mostly). But should be compatible with older mods and libraries.
2024-02-01 08:43:34 -05:00
Ricardo Luís Vaz Silva
2002396b8b Fix .. to root folder in relative include 2024-01-31 07:48:59 -05:00
jekyllgrim
3e7d304de0 Fixed missing field definition for mCenterText 2024-01-30 14:09:30 -05:00
jekyllgrim
decaf07637 Add CenterText MENUDEF flag 2024-01-29 15:21:49 -05:00
inkoalawetrust
56803317f5 Added new AutomapOffsets property.
This Vector2 property allows you visually offset the XY position of an actors' sprites on the automap.
2024-01-28 09:48:41 -05:00
dpjudas
9ff1193dab Update backend to use ColorBlendAttachmentBuilder 2024-01-25 22:50:20 -05:00
Dileep V. Reddy
d3405837ce Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars. 2024-01-21 12:13:42 -05:00
Dileep V. Reddy
08b03e6b19 Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom. 2024-01-21 12:13:42 -05:00
Rachael Alexanderson
af08413e10
- reverting pull request #2361 - apparently pull request #2364 changed some behaviour and these two do not play nice together. One or the other unfortunately has to be rolled back to allow GZDoom to build properly again.
Revert "Restored r_orthographic behavior."

This reverts commit 26908f5bc5.

Revert "Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars."

This reverts commit dc897eacc0.

Revert "Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom."

This reverts commit d2c2c93cf1.
2024-01-21 08:18:16 -05:00
Dileep V. Reddy
dc897eacc0 Changed all of the isometric functionality to mapinfo and playerinfo variables. Retained function of most of the CVars. 2024-01-21 03:34:00 -05:00
Dileep V. Reddy
d2c2c93cf1 Adding isometric camera mode with orthographic projection to current state of master branch of GZDoom. 2024-01-21 03:34:00 -05:00
Professor Hastig
cfb4e4f105 fix file names in mounted directories.
This used the normalized file name for access which only works on case insensitive file systems and only as long as no character gets mangled by Unicode normalization.
2024-01-18 07:05:32 +01:00
Ricardo Luís Vaz Silva
98e6330eaa allow modeldef flags to be overriden 2024-01-16 10:27:08 -05:00
Major Cooke
d789676b26 Fixed music unpausing when alt-tabbing back. 2024-01-12 16:53:56 +01:00
Andrey Shustov
0aa140194d Fix "unexpected end of TTF file" error
Changed returnv vector size to 3 by default and set size 5 for WIN32
only.
2024-01-11 16:35:38 +01:00
Rachael Alexanderson
64096658e5
- reverse allowduplicates check since it is a misnomer to what it actually did 2024-01-11 08:02:44 -05:00
Magnus Norddahl
8cc531e283 Implement mouse event propagation 2024-01-10 23:23:13 +01:00
Christoph Oelckers
c7778b9332 implemented language selection on the IWAD picker. 2024-01-09 20:52:52 +01:00
Christoph Oelckers
f7a4f00177 adapted string table so that it can be initialized without full game data being available.
This is for the IWAD picker which runs before many things are known.
2024-01-09 17:22:59 +01:00
Christoph Oelckers
963209e8af removed external stuff from tarray.h 2024-01-09 16:47:24 +01:00
Christoph Oelckers
0838433d1f make adjustments to the font substitution and load Japanese and Korean fonts from the Windows font folder. 2024-01-09 16:37:17 +01:00
Ricardo Luís Vaz Silva
8ae93fb87f use map instead of linear search to find texture indices for animation 2024-01-09 06:38:08 -05:00
Christoph Oelckers
0e51c5832d fix compilation 2024-01-07 10:05:03 +01:00
Christoph Oelckers
f13ae3b706 addressed a few things pointed out by static analysis
* marking move assignments noexcept
* using [[fallthrough]] consistently.
* getting rid of alloca.
2024-01-07 08:46:47 +01:00
Ricardo Luís Vaz Silva
35e56d3f42 Minor optimizations to VisualThinker
* remove duplicated fields
* make native functions use direct calls
* remove unnecessary pointer from particle_t
* create HWSprite directly in Construct
2024-01-06 20:06:57 -05:00
Christoph Oelckers
83aa9388ca backend update from Raze
* moving large allocations off the stack
* use proper printf formatters for size_t and ptrdiff_t.
* adding some missing 'noexcept'.
2024-01-06 15:24:10 +01:00
Christoph Oelckers
a020b8c2f5 do not compile the first shader in the shader manager's constructor
This was crashing with the move of the V_Init2 call. Instead do it when we first render something so that we can open the window without immediately making the full backend operational.
This was only working on GLES because it performs lazy shader compilation.
2024-01-05 16:55:11 +01:00
Professor Hastig
c446af41ae fixed TArray::push_back 2024-01-05 16:42:40 +01:00
Christoph Oelckers
c62ecc44e2 eliminated the small white part of the initial window content after the IWAD picker. 2024-01-04 22:21:27 +01:00
Christoph Oelckers
9ced091b19 fixed Linux include 2024-01-04 21:10:00 +01:00
Christoph Oelckers
e7ac2fe741 moved launcher window out of common.
This needs to be different for Raze so it cannot be in shared code.
2024-01-04 20:44:27 +01:00
Christoph Oelckers
a2a7667442 added render backend selection to the new IWAD picker.
Unlike VkDoom we still need this.
2024-01-04 19:25:25 +01:00
Christoph Oelckers
15e9c95419 fixed playback of external sound files over cutscenes when started from the console. 2024-01-04 18:22:24 +01:00
Magnus Norddahl
99fc43932b Add the additional parameters edit control from the mac version 2024-01-03 16:50:57 +01:00
Magnus Norddahl
b463c8e656 Fix text word wrapping under scrollbar 2024-01-03 16:50:57 +01:00
Magnus Norddahl
e953f3a0c7 Add scrollbar to the log 2024-01-03 16:50:57 +01:00
Christoph Oelckers
e27cbe5bd9 convert more files to UTF-8.
It was mostly degree signs causing these issues.
2024-01-02 21:54:29 +01:00
Christoph Oelckers
243006987d remove old GTK-based Linux picker dialog. 2024-01-02 21:30:28 +01:00
Christoph Oelckers
ec227383ed fixed bad comment with non-UTF-8 extended character which MSVC warns about when compiling with /utf-8 2024-01-02 21:05:31 +01:00
Christoph Oelckers
b31ae22f25 fixed loading of 7z files. 2024-01-02 20:50:45 +01:00
Christoph Oelckers
f5c4964902 use a more complete font did some primitive font substitution logic.
NotoSans was chosen because it contains all Latin, Cyrillic and Greek characters in one file.
To test the substitution the separate font files for Armenian and Georgian were also added, even though the languages have not been translated.
2024-01-02 18:58:39 +01:00
Christoph Oelckers
4afe1686da hide the old main window as it no longer contains the startup. 2024-01-02 17:23:05 +01:00
Christoph Oelckers
2431d214e6 adapt widget reader to new resource file API. 2024-01-02 17:05:13 +01:00
Magnus Norddahl
2863c89af7 Hook up the zwidget launcher window on Linux 2024-01-02 16:56:19 +01:00
Magnus Norddahl
426837e7d4 Implement the timer class
Support calling ShowNetStartPane multiple times
2024-01-02 16:55:52 +01:00
Magnus Norddahl
efde75877d Fix the abort button 2024-01-02 16:55:52 +01:00
Magnus Norddahl
16e578a0f8 Implement NetStartWindow
# Conflicts:
#	src/p_setup.cpp
2024-01-02 16:55:52 +01:00
Magnus Norddahl
da83b546ad Finish the error window implementation 2024-01-02 16:55:27 +01:00
Magnus Norddahl
19c2ea171d Implement launcher window base functionality 2024-01-02 16:55:27 +01:00
Magnus Norddahl
787eb625e5 Use a better font
# Conflicts:
#	wadsrc/static/newmenufont.ttf
2024-01-02 16:55:26 +01:00
Magnus Norddahl
71ff4d3685 Load widget resources from lumps
Add banner
2024-01-02 16:55:17 +01:00
Magnus Norddahl
3f50136c8d Create initial error and netstart windows 2024-01-02 16:55:17 +01:00
Magnus Norddahl
787d18e12b Add launcher window 2024-01-02 16:55:17 +01:00
Magnus Norddahl
e7285cd6d9 Theme the caption bar when playing windowed mode 2024-01-02 16:54:51 +01:00
Christoph Oelckers
5b90b2d80c account for resorted directories when accessing the local file path array in file_directory.cpp 2023-12-31 23:39:58 +01:00
Professor Hastig
16e8e71971 fixed infinite recursion in vid_preferbackend. 2023-12-28 17:11:17 +01:00
Professor Hastig
51e014c858 do MIDI device lookup by lump index as well, for the same reasons as doing it for the volume. 2023-12-28 17:10:33 +01:00
Christoph Oelckers
eb2f263803 perform music volume lookup by lump number instead of name.
This way any setting will work for both short and long file names of the same content.
2023-12-27 20:08:22 +01:00
Christoph Oelckers
958303556f warnings and debug code cleanup 2023-12-26 22:16:21 +01:00
Christoph Oelckers
133b415b84 music volume.
* this now applies the factor to the source data instead of setting a gain factor in OpenAL to allow better control
* $musicvolume will now also accept values in dB,  by postfixing the parameter with 'dB'.
* removed some useless cruft from the automatic replay gain handling.
2023-12-26 22:01:51 +01:00
Cacodemon345
a368588db6 Export FScanner parser to ZScript as ScriptScanner 2023-12-25 10:52:56 +01:00
Christoph Oelckers
fd9b762106 moved animlib to thirdparty folder. 2023-12-25 08:45:47 +01:00
Christoph Oelckers
59b0b0620a got rid of the redundant copy of alext.h 2023-12-24 09:15:41 +01:00
Christoph Oelckers
36651fffaa deleted unused toWide declaration from file_directory.cpp 2023-12-24 08:51:52 +01:00
Christoph Oelckers
baa9251741 simplified the directory reader a little bit
* we do not need to make a second allocation for the systemFilePath
* as systemFilePath is never null, there is no need to check for that case.
* moved systemFilePath into a separate array to save memory on other file types.
2023-12-24 08:35:47 +01:00
Vasilii Shirokii
f8dcc33e6d Code style 2023-12-24 08:22:40 +01:00
Vasilii Shirokii
90d672e345 Maintain the actual on-disk path (FResourceEntry::SystemFilePath) for the directory filesystem, because the FResourceEntry::FileName can be modified by game filter-s 2023-12-24 08:22:40 +01:00