-
Notifications
You must be signed in to change notification settings - Fork 0
/
xash3d-fwgs-november-2023.html
executable file
·186 lines (174 loc) · 12.1 KB
/
xash3d-fwgs-november-2023.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title> Xash3D FWGS - November 2023 | blog.bds
</title>
<link rel="canonical" href="https://velaron.github.io/xash3d-fwgs-november-2023.html">
<link rel="apple-touch-icon" href="https://velaron.github.io/apple-touch-icon.png" sizes="180x180">
<link rel="icon" type="image/png" href="https://velaron.github.io/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="https://velaron.github.io/favicon-16x16.png" sizes="16x16">
<link rel="manifest" href="https://velaron.github.io/manifest.json">
<meta name="theme-color" content="#333333">
<link rel="stylesheet" href="https://velaron.github.io/theme/css/bootstrap.min.css">
<link rel="stylesheet" href="https://velaron.github.io/theme/css/fontawesome.min.css">
<link rel="stylesheet" href="https://velaron.github.io/theme/css/pygments/default.min.css">
<link rel="stylesheet" href="https://velaron.github.io/theme/css/theme.css">
<link rel="stylesheet" href="https://velaron.github.io/theme/css/oldstyle.css">
<link rel="alternate" type="application/atom+xml" title="Full Atom Feed"
href="https://velaron.github.io/feeds/all.atom.xml">
<link rel="alternate" type="application/atom+xml" title="Categories Atom Feed"
href="https://velaron.github.io/feeds/xash3d-fwgs.atom.xml">
<meta name="description" content="Catching up on what was going on with the engine until now (again).">
</head>
<body>
<header class="header">
<div class="container">
<div class="row">
<div class="col-sm-12">
<h1 class="title"><a href="https://velaron.github.io/">blog.bds</a></h1>
<p class="text-muted">i have crippling depression</p>
<ul class="list-inline">
<li class="list-inline-item"><a href="https://velaron.github.io/#" target="_blank">blog</a></li>
</ul>
</div>
</div> </div>
</header>
<div class="main">
<div class="container">
<h1> Xash3D FWGS - November 2023
</h1>
<hr>
<article class="article">
<header>
<ul class="list-inline">
<li class="list-inline-item text-muted" title="2023-11-22T12:00:00+02:00">
<i class="fas fa-clock"></i>
22/11/2023
</li>
<li class="list-inline-item">
<i class="fas fa-folder-open"></i>
<a href="https://velaron.github.io/category/xash3d-fwgs.html">Xash3D FWGS</a>
</li>
<li class="list-inline-item">
<i class="fas fa-user"></i>
<a href="https://velaron.github.io/author/velaron.html">Velaron</a> </li>
</ul>
</header>
<div class="content">
<p>While we want to do a stable release as soon as possible, there is still lots of stuff to do before we switch all our users to the new codebase.</p>
<h3>Consider Donating</h3>
<p><a href="https://github.com/a1batross"><strong>a1batross</strong></a></p>
<p>Initial Xash3D SDL2/Linux port author, Xash3D FWGS engine maintainer, creator of non-commercial Flying With Gauss organization.</p>
<ul>
<li>Boosty page: <a href="https://boosty.to/a1ba">https://boosty.to/a1ba</a></li>
</ul>
<p><a href="https://github.com/nekonomicon"><strong>nekonomicon</strong></a></p>
<p><a href="https://github.com/FWGS/hlsdk-portable">hlsdk-portable</a>, <a href="https://github.com/FWGS/xash3d-fwgs/tree/master/utils/mdldec">mdldec</a>, <a href="https://github.com/FWGS/xash3d-fwgs/blob/master/Documentation/opensource-mods.md">opensource-mods.md</a> maintainer and Xash3D FWGS <a href="https://github.com/FWGS/xash3d-fwgs/commits?author=nekonomicon">contributor</a> (*BSD/clang port, PNG support, etc).</p>
<ul>
<li>Boosty page: <a href="https://boosty.to/nekonomicon">https://boosty.to/nekonomicon</a></li>
</ul>
<p><a href="https://github.com/Velaron"><strong>Velaron</strong></a></p>
<p><a href="https://github.com/Velaron/cs16-client">cs16-client</a> & <a href="https://github.com/Velaron/tf15-client">tf15-client</a> maintainer and Xash3D FWGS <a href="https://github.com/FWGS/xash3d-fwgs/commits?author=Velaron">contributor</a> (Android port, voice chat, etc).</p>
<ul>
<li>Buy Me A Coffee page: <a href="https://www.buymeacoffee.com/velaron">https://www.buymeacoffee.com/velaron</a></li>
</ul>
<p><a href="https://github.com/SNMetamorph"><strong>SNMetamorph</strong></a></p>
<p><a href="https://github.com/SNMetamorph/PrimeXT">PrimeXT</a> & <a href="https://github.com/SNMetamorph/goldsrc-monitor">GoldSrc Monitor</a> maintainer and Xash3D FWGS <a href="https://github.com/FWGS/xash3d-fwgs/commits?author=SNMetamorph">contributor</a> (Windows port, voice chat, etc).</p>
<ul>
<li>BTC: <code>16GAzK3qei5AwBW7sggXp3yNcFHBtdpxXj</code></li>
<li>ETH (ERC20): <code>0xb580eeca9756e3881f9d6d026e28db28eb72a383</code></li>
<li>USDT (ERC20): <code>0xb580eeca9756e3881f9d6d026e28db28eb72a383</code></li>
<li>USDC (ERC20): <code>0xb580eeca9756e3881f9d6d026e28db28eb72a383</code></li>
</ul>
<h1>Tasty New Stuff</h1>
<h5>by <a href="https://github.com/FWGS"><strong>Flying With Gauss</strong></a></h5>
<ul>
<li>Fix for streaming and other overlays (OBS, Discord, etc.)</li>
<li>IPv6 support</li>
<li>Added support for looping .mp3 files with ID3v2 tags</li>
<li>Minidumps support for Windows</li>
<li>Demo RCE exploits fixed</li>
<li>Improved and faster filesystem for Linux</li>
<li>Borderless fullscreen support</li>
<li>VBO is back with bugfixes</li>
<li>New GLES3Compat renderer</li>
<li>PlayStation Vita port by <a href="https://github.com/fgsfdsfgs"><strong>fgsfds</strong></a></li>
<li>Nintendo Switch port by <a href="https://github.com/fgsfdsfgs"><strong>fgsfds</strong></a></li>
<li>MacOS port by <a href="https://github.com/sofakng"><strong>sofakng</strong></a></li>
<li>PlayStation Portable port by <a href="https://github.com/Crow_bar"><strong>Crow_bar</strong></a></li>
<li><strong>mdldec</strong> utility updated with bone weights support and bugfixes</li>
<li>KTX2 textures support</li>
<li>Initial SailfishOS/AuroraOS support</li>
</ul>
<h1>.pk3dir Support</h1>
<h5>by <a href="https://github.com/a1batross"><strong>a1batross</strong></a></h5>
<p>Xash3D FWGS now supports pk3dir convention. It first appeared in ioquake3, which then got supported in FTE and DarkPlaces.</p>
<p>What does it do? Well, if you're using PK3 and PAK archives, you may not waste your time on repacking the archive during development. Instead, you create a folder ".pk3dir" extension. Keeping the same directory hierarchy, as with PK3 and PAK, you can think of it as an archive. And engine will work with it, like it's an archive as well. Of course, it also gives you possibility to not spill over temporary assets and files onto game directory.</p>
<h1>Cross-platform Video Playback (WIP)</h1>
<h5>by <a href="https://github.com/a1batross"><strong>a1batross</strong></a></h5>
<p>Xash3D engine supported movie playback for a long time, but it utilizes Video for Windows API, which has downsides from obviously being closed source and Windows exclusive and requiring the user to install third-party software. It also sometimes just outright doesn't work for an unknown reason.</p>
<p>This time I have implemented video player using ffmpeg to the Xash3D FWGS engine, which actually was in the plan for a whopping eight years already.</p>
<p>The obvious improvement of using ffmpeg is a wide variety of codecs. It successfully worked with movie intros from Half-Life, Opposing Force and Paranoia mod.</p>
<p>But very VFW specific internal engine logic, bites me. Instead of normal playback, the engine tracks frames by itself and tries to seek over the movie stream. Seeking itself is harmless, but it makes playback very suboptimal, and some frames may be lost, which doesn't make the decoder happy. A random Bink file my friend found for me works, but it absolutely fails on VP9 streams, from refusing playing them at all or just showing random artifacts.</p>
<div class="embed-responsive embed-responsive-16by9">
<video allowfullscreen="" class="embed-responsive-item" controls="">
<source src="https://velaron.github.io/videos/valve.mp4" type="video/mp4"/>
</video>
</div>
<h1>GoldSrc Protocol / VGUI2 Support (WIP)</h1>
<h5>by <a href="https://github.com/a1batross"><strong>a1batross</strong></a></h5>
<p>Experimental support of GoldSrc protocol on <a href="https://github.com/FWGS/xash3d-fwgs/tree/goldsrc-proto"><strong>goldsrc-proto</strong></a> branch. Also progress being made on supporting VGUI2 on the <a href="https://github.com/FWGS/xash3d-fwgs/tree/new_vgui_support_api"><strong>new_vgui_support_api</strong></a> branch.</p>
<p><img alt="Screenshot" class="img-fluid" src="https://velaron.github.io/images/goldsrc-proto-1.png"/></p>
<p><img alt="Screenshot" class="img-fluid" src="https://velaron.github.io/images/goldsrc-proto-2.png"/></p>
<h1>FreeVGUI</h1>
<h5>by <a href="https://github.com/FWGS"><strong>Flying With Gauss</strong></a></h5>
<p>Announcing clean-er re-implementation of original Valve's GUI library from Half-Life 1 under the work title freevgui. I'm working on it since last year in my free time of free time of free time.</p>
<p>This implementation is intended to be used within Xash3D FWGS as a drop-in FOSS and cross-platform alternative to the proprietary vgui.dll library, but potentially can be used as a replacement in Half-Life mods as well, as it's both API and ABI compatible.</p>
<p>Unlike Nagist's implementation, this library specifically hasn't been derived from HLSDK code, and every line of code has been carefully restored from DWARF debug information and decompilation using Ghidra.</p>
<p>Source code will be published as soon as I finish implementing the controls library and when I decide on licensing. For now, it has dependency on 3-clause BSD licensed C++ templates library, and C utilities library from Xash3D FWGS which is GPLv2 licensed. I'll probably drop GPL dependency to allow it included in Half-Life mods as a bug fixed replacement of original vgui code, when it will have bug fixes in the first place.</p>
<h1>Software-like Water</h1>
<h5>by <a href="https://github.com/a1batross"><strong>a1batross</strong></a></h5>
<p>Water ripples from Half-Life's software renderer, works with OpenGL renderer, enabled with <strong>r_ripple</strong> CVar.</p>
<div class="embed-responsive embed-responsive-16by9">
<video allowfullscreen="" class="embed-responsive-item" controls="">
<source src="https://velaron.github.io/videos/water.mp4" type="video/mp4"/>
</video>
</div>
<h1>Half-Life 25th Anniversary</h1>
<h5>by <a href="https://github.com/FWGS"><strong>Flying With Gauss</strong></a></h5>
<p>With Half-Life turning whole 25 years, Valve released an update to the game which we now support too (make sure to update your engine to the latest version). I would like to personally thank everyone who has been supporting the developers and Xash3D FWGS all these years, stay tuned for more updates and have fun!</p>
</div>
</article>
<hr>
<div id="utterances_thread"></div>
<script src="https://utteranc.es/client.js"
repo="Velaron/velaron.github.io"
issue-term="pathname"
label="Comment"
theme="github-light"
crossorigin="anonymous"
async>
</script>
<noscript class="text-muted">
Please enable JavaScript to view the <a href="https://utteranc.es/" rel="nofollow">comments powered by utterances.</a>
</noscript> </div>
</div>
<footer class="footer">
<div class="container">
<div class="row">
<ul class="col-sm-6 list-inline">
<li class="list-inline-item"><a href="https://velaron.github.io/authors.html">Authors</a></li>
<li class="list-inline-item"><a href="https://velaron.github.io/archives.html">Archives</a></li>
<li class="list-inline-item"><a href="https://velaron.github.io/categories.html">Categories</a></li>
</ul>
<p class="col-sm-6 text-sm-right text-muted">
Generated by <a href="https://github.com/getpelican/pelican" target="_blank">Pelican</a>
/ <a href="https://github.com/nairobilug/pelican-alchemy" target="_blank">✨</a>
</p>
</div> </div>
</footer>
</body>
</html>