Skip to content

Commit 47d311d

Browse files
committed
Bump version to v1.0, update README and credits
This commit: * updates version to v1.0, * updates README.md to note that Q3VR is out of the beta, * updates credits to include idSoftware/Q3A * adds "credits" on main screen (reference that this port is based on ioquake3 and Quake3Quest)
1 parent 3f70d3b commit 47d311d

File tree

9 files changed

+101
-67
lines changed

9 files changed

+101
-67
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,6 @@ body:
9696
attributes:
9797
label: Game version / build
9898
description: Which version of the app are you using?
99-
placeholder: e.g. beta, v1.0
99+
placeholder: e.g. v1.0
100100
validations:
101101
required: true

README.md

Lines changed: 46 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
# Quake 3 VR
1+
# [Quake 3 VR](https://ripper37.github.io/q3vr)
22

33
**Quake 3 VR** (a.k.a. `q3vr`) is a PCVR port of Quake 3 Arena game based on:
44

5-
* `ioquake3` - community maintained fork of idTech3 engine,
6-
* `Quake3Quest` - port of `ioquake3` to Quest 2/3 mobile headsets.
5+
* [ioquake3](https://github.com/ioquake/ioq3) - community maintained fork of
6+
idTech3 engine,
7+
* [Quake3Quest](https://github.com/Team-Beef-Studios/ioq3quest) - port of
8+
`ioquake3` to Quest 2/3 mobile headsets by **Team Beef**.
79

810
It includes several bugfixes, improvements and QoL features built specifically
911
for VR.
@@ -23,20 +25,16 @@ for VR.
2325
* zoom with reticle for railgun
2426
* comfort options like vignette, height adjustements, weapon lasers, etc.
2527

26-
> [!CAUTION]
27-
> Please bear in mind that this port is currently in **beta** state, which
28-
> means that there may be some bugs and compatibility issues that will be fixed
29-
> over time.
30-
3128

3229
## How to play
3330

3431
To download and set up the game:
3532

3633
* Go to [Releases](https://github.com/RippeR37/q3vr/releases) page and download
37-
the most recent release and install (or extract) to directory of your choosing
34+
the latest release and install (or extract, if selected portable version) to
35+
directory of your choosing,
3836
* If you own full version of the game, place `pak0.pk3` file from original game
39-
in the `baseq3/` subdirectory
37+
in the `baseq3/` subdirectory.
4038

4139
then any time you want to play simply:
4240

@@ -47,17 +45,17 @@ then any time you want to play simply:
4745
> It's highly recommended to go through configuration options in `Setup` menu -
4846
> before jumping into the game - to set controls and settings to your liking.
4947
48+
> [!NOTE]
49+
> The game has built-in update notifications. Whenever new version will be
50+
> released, you will be notified about it on game startup.
5051
51-
## Feedback / bug reporting
5252

53-
> [!IMPORTANT]
54-
> This project is currently in **beta**. Feedback from users is required to make
55-
> any further improvements and fix bugs. If you've spotted any problems or have
56-
> any improvement ideas, please open GitHub issue with details and/or reach out
57-
> on Discord.
53+
## Feedback / bug reporting
5854

59-
For your convienience this repository comes with a pre-defined template for
60-
creating issues which should make the process easier.
55+
If you've spotted any problems or have any improvement ideas, please open GitHub
56+
issue with details and/or reach out on Discord. For your convienience this
57+
repository comes with a pre-defined template for creating issues which should
58+
make the process easier.
6159

6260
Please remember to include any details that may help reproduce and analyze the
6361
problem such as logs, your computer configuration, etc.
@@ -72,8 +70,8 @@ your controlers.
7270

7371
* `B` on left hand opens/closes menu or goes one level up (like `ESC`)
7472
* `B` on right hand resets position of Virtual Screen
75-
* `Trigger` on active hand - selects currently selected option (like `LMB`)
76-
* `Trigger` on inactive hand - makes this hand active
73+
* `Trigger` on active hand - cursor click
74+
* `Trigger` on inactive hand - makes this hand the active one
7775

7876
### Controls as spectator
7977

@@ -92,10 +90,10 @@ made in the in-game `Setup` configuration menus.
9290

9391
### Changing bindings/setting custom actions
9492

95-
If you wish to change bindings, you can try doing so from your
96-
VR runtime's input configuration screen (e.g. Steam VR input bindings) or
97-
manually set specific actions to given keys. To do so, you need to create
98-
`autoexec.cfg` file in the `baseq3/` subdirectory and set custom bindings with:
93+
If you wish to change bindings, you can do so from your VR runtime's input
94+
configuration screen (e.g. Steam VR input bindings) or manually set specific
95+
game actions to given keys. To do so, you need to create `autoexec.cfg` file in
96+
the `baseq3/` subdirectory and set custom bindings with:
9997

10098
```
10199
set vr_button_map_<key> "<action>"
@@ -124,7 +122,10 @@ These are the default mappings:
124122
| `B` | `"+movedown"` | Crouch |
125123
| `A` | `"+moveup"` | Jump |
126124

127-
Please refer to [Quake 3 Quest website](https://quake3.quakevr.com/) for more
125+
Default controls for Valve Index:
126+
![Default controls for Valve Index](https://ripper37.github.io/q3vr/media/bindings.png)
127+
128+
Please refer to [Q3VR website](https://ripper37.github.io/q3vr) for more
128129
details.
129130

130131

@@ -146,8 +147,6 @@ If you're having some problems consider:
146147
* Checking if there isn't a newer verions of `Q3VR` available which may already
147148
have a fix for your problem
148149
* You can also check older versions to see if it worked before
149-
* **[BETA]** During beta, the game will open a console in the background with
150-
logs - they may contain something that will hint what's the problem
151150

152151
If you're unable to find solution to your problem yourself, please reach out to
153152
the community (see section below) or
@@ -178,7 +177,9 @@ cmake -S . -B build
178177
cmake --build build --config Release
179178
```
180179

181-
Check out [GitHub Actions workflow](.github/workflows/build.yml) for reference.
180+
Check out [GitHub Actions workflow](.github/workflows/build.yml) for reference
181+
and [GitHub Actions](https://github.com/RippeR37/q3vr/actions) for recent
182+
builds.
182183

183184

184185
## Contributions
@@ -198,3 +199,20 @@ on VR games, ports or tools you can do so via:
198199

199200
Please also consider supporting authors of `ioquake3` and `Quake3Quest`
200201
projects.
202+
203+
204+
## Credits
205+
206+
This port is based on work of:
207+
208+
* id Software (creators of idTech3 and Quake 3 Arena)
209+
* ioquake3 team (creators and maintainers of [ioquake3 fork](https://github.com/ioquake/ioq3))
210+
* Team Beef (creators of [Quake3Quest port](https://github.com/Team-Beef-Studios/ioq3quest))
211+
212+
I would also like to personally thank everyone who helped working specifically
213+
on this port with special thanks to:
214+
215+
* Royd0
216+
* @ernie
217+
* XQuader
218+
* Dteyn

cmake/identity.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
set(PROJECT_NAME q3vr)
2-
set(PROJECT_VERSION 0.9)
2+
set(PROJECT_VERSION 1.0)
33

44
set(SERVER_NAME q3vr-ded)
55
set(CLIENT_NAME q3vr)

cmake/platforms/windows.cmake

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,7 @@ if(MSVC)
4141
list(APPEND CLIENT_LINK_OPTIONS "/MANIFEST:NO")
4242
endif()
4343

44-
# Temporarily disable this to ensure logs are visible (for the beta)
45-
# set(CLIENT_EXECUTABLE_OPTIONS WIN32)
44+
set(CLIENT_EXECUTABLE_OPTIONS WIN32)
4645

4746
# It's only necessary to set this on Windows; elsewhere
4847
# CMAKE_EXECUTABLE_SUFFIX will be empty anyway, or we want

code/q3_ui/ui_atoms.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -830,6 +830,11 @@ void UI_DrawString( int x, int y, const char* str, int style, vec4_t color )
830830
charw = SMALLCHAR_WIDTH;
831831
charh = SMALLCHAR_HEIGHT;
832832
}
833+
else if (style & UI_TINYFONT)
834+
{
835+
charw = SMALLCHAR_WIDTH / 2;
836+
charh = SMALLCHAR_HEIGHT / 2;
837+
}
833838
else if (style & UI_GIANTFONT)
834839
{
835840
charw = GIANTCHAR_WIDTH;

code/q3_ui/ui_credits.c

Lines changed: 36 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -103,10 +103,15 @@ static void UI_CreditMenu_Draw_q3vr( void )
103103
y += 2 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
104104
UI_DrawString( 320, y, "by RippeR37", UI_CENTER|UI_BIGFONT, color_silver );
105105

106-
y = 300;
106+
y = 320;
107107
UI_DrawString( 320, y, " based on ioquake3 based on Quake3Quest ", UI_CENTER|UI_SMALLFONT, color_grey );
108108
y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
109109
UI_DrawString( 320, y, " https://ioquake3.org https://quake3.quakevr.com", UI_CENTER|UI_SMALLFONT, color_url );
110+
111+
y = 400;
112+
UI_DrawString( 320, y, " port of Quake 3 Arena by id Software ", UI_CENTER|UI_SMALLFONT, color_grey );
113+
y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
114+
UI_DrawString( 320, y, " https://idsoftware.com ", UI_CENTER|UI_SMALLFONT, color_url );
110115
}
111116

112117

@@ -194,35 +199,6 @@ Special Thanks to the whole discord!
194199
}
195200

196201

197-
/*
198-
=================
199-
UI_CreditMenu_Key
200-
=================
201-
*/
202-
static sfxHandle_t UI_CreditMenu_Key( int key ) {
203-
if( key & K_CHAR_FLAG ) {
204-
return 0;
205-
}
206-
207-
qboolean skipIOQ3Credits = trap_Cvar_VariableValue("skip_ioq3_credits") == 1.0f;
208-
209-
s_credits.frame++;
210-
if (s_credits.frame == 1) {
211-
s_credits.menu.draw = UI_CreditMenu_Draw_q3vr;
212-
} else if (s_credits.frame == 2 && !skipIOQ3Credits) {
213-
s_credits.menu.draw = UI_CreditMenu_Draw_q3q;
214-
} else if (s_credits.frame == 3 && !skipIOQ3Credits) {
215-
//Only show these once the first time someone plays
216-
trap_Cvar_SetValue("skip_ioq3_credits", 1.0f);
217-
trap_Cmd_ExecuteText( EXEC_APPEND, "writeconfig " Q3CONFIG_CFG "/n");
218-
s_credits.menu.draw = UI_CreditMenu_Draw_ioq3;
219-
} else {
220-
trap_Cmd_ExecuteText( EXEC_APPEND, "quit\n" );
221-
}
222-
return 0;
223-
}
224-
225-
226202
/*
227203
===============
228204
UI_CreditMenu_Draw
@@ -283,6 +259,35 @@ static void UI_CreditMenu_Draw( void ) {
283259
}
284260

285261

262+
/*
263+
=================
264+
UI_CreditMenu_Key
265+
=================
266+
*/
267+
static sfxHandle_t UI_CreditMenu_Key( int key ) {
268+
if( key & K_CHAR_FLAG ) {
269+
return 0;
270+
}
271+
272+
const qboolean skipCredits = trap_Cvar_VariableValue("skip_full_credits") == 1.0f;
273+
274+
s_credits.frame++;
275+
if (s_credits.frame == 1 && !skipCredits) {
276+
s_credits.menu.draw = UI_CreditMenu_Draw;
277+
} else if (s_credits.frame == 2 && !skipCredits) {
278+
s_credits.menu.draw = UI_CreditMenu_Draw_q3q;
279+
} else if (s_credits.frame == 3 && !skipCredits) {
280+
//Only show these once the first time someone plays
281+
trap_Cvar_SetValue("skip_full_credits", 1.0f);
282+
trap_Cmd_ExecuteText( EXEC_APPEND, "writeconfig " Q3CONFIG_CFG "/n");
283+
s_credits.menu.draw = UI_CreditMenu_Draw_ioq3;
284+
} else {
285+
trap_Cmd_ExecuteText( EXEC_APPEND, "quit\n" );
286+
}
287+
return 0;
288+
}
289+
290+
286291
/*
287292
===============
288293
UI_CreditMenu
@@ -291,7 +296,7 @@ UI_CreditMenu
291296
void UI_CreditMenu( void ) {
292297
memset( &s_credits, 0 ,sizeof(s_credits) );
293298

294-
s_credits.menu.draw = UI_CreditMenu_Draw;
299+
s_credits.menu.draw = UI_CreditMenu_Draw_q3vr;
295300
s_credits.menu.key = UI_CreditMenu_Key;
296301
s_credits.menu.fullscreen = qtrue;
297302
UI_PushMenu ( &s_credits.menu );

code/q3_ui/ui_menu.c

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -246,16 +246,22 @@ static void Main_MenuDraw( void ) {
246246
UI_DrawString( 320, yPos, "Quake III Arena(c) 1999-2000, Id Software, Inc. All Rights Reserved", UI_CENTER|UI_SMALLFONT, color );
247247
}
248248

249-
vec4_t color_grey = {0.3f, 0.3f, 0.3f, 1.0f};
249+
vec4_t color_grey = {0.35f, 0.35f, 0.35f, 1.0f};
250+
vec4_t color_dark_grey = {0.23f, 0.23f, 0.23f, 1.0f};
250251

251252
yPos += SMALLCHAR_HEIGHT + 12;
252253
UI_DrawString( 320, yPos, "Quake 3 VR", UI_CENTER|UI_SMALLFONT, color_white );
253254
yPos += SMALLCHAR_HEIGHT + 2;
254255
UI_DrawString( 320, yPos, "by RippeR37", UI_CENTER|UI_SMALLFONT, color_grey );
255256

257+
yPos += 2;
258+
UI_DrawString( 20, yPos, "based on ioquake3", UI_LEFT|UI_TINYFONT, color_dark_grey );
259+
yPos += SMALLCHAR_HEIGHT / 2 + 1;
260+
UI_DrawString( 20, yPos, "based on Quake3Quest", UI_LEFT|UI_TINYFONT, color_dark_grey );
261+
256262
// Version
257-
vec4_t color_red = {0.65f, 0.0f, 0.0f, 1.0f};
258-
UI_DrawString( 610, 455, "BETA", UI_CENTER|UI_SMALLFONT|UI_PULSE|UI_LEFT, color_red );
263+
vec4_t color_dark_red = {0.65f, 0.0f, 0.0f, 1.0f};
264+
UI_DrawString( 610, 455, "v1.0", UI_CENTER|UI_SMALLFONT|UI_PULSE|UI_LEFT, color_dark_red );
259265
}
260266

261267

code/qcommon/q_shared.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,7 @@ typedef enum {
327327
#define UI_SMALLFONT 0x00000010
328328
#define UI_BIGFONT 0x00000020 // default
329329
#define UI_GIANTFONT 0x00000040
330+
#define UI_TINYFONT 0x00000080
330331
#define UI_DROPSHADOW 0x00000800
331332
#define UI_BLINK 0x00001000
332333
#define UI_INVERSE 0x00002000

code/vr/vr_cvars.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ cvar_t *q3vr_update_version_check = NULL;
5151

5252
void VR_InitCvars( void )
5353
{
54-
Cvar_Get ("skip_ioq3_credits", "0.0", CVAR_ARCHIVE);
54+
Cvar_Get ("skip_full_credits", "0.0", CVAR_ARCHIVE);
5555
vr_worldscale = Cvar_Get ("vr_worldscale", "32.0", CVAR_ARCHIVE);
5656
vr_worldscaleScaler = Cvar_Get ("vr_worldscaleScaler", "1.0", CVAR_ARCHIVE);
5757
vr_hudDepth = Cvar_Get ("vr_hudDepth", "15", CVAR_ARCHIVE);

0 commit comments

Comments
 (0)