mirror of
https://github.com/DrBeef/ioq3quest.git
synced 2024-11-26 05:52:03 +00:00
Several changes
- Additional credits screen for Quake3Quest - Fix for world moving when weapon is moved on a multiplayer server - Make player setup model move within a 90 degree arc so it always visible
This commit is contained in:
parent
5fb823ad95
commit
63c284f1b9
7 changed files with 100 additions and 20 deletions
|
@ -2,8 +2,8 @@
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="com.drbeef.ioq3quest"
|
package="com.drbeef.ioq3quest"
|
||||||
android:installLocation="preferExternal"
|
android:installLocation="preferExternal"
|
||||||
android:versionCode="35"
|
android:versionCode="36"
|
||||||
android:versionName="0.24.0">
|
android:versionName="0.25.0">
|
||||||
<uses-feature android:name="android.hardware.vr.headtracking" android:version="1" android:required="true" />
|
<uses-feature android:name="android.hardware.vr.headtracking" android:version="1" android:required="true" />
|
||||||
<uses-feature android:glEsVersion="0x00030001" />
|
<uses-feature android:glEsVersion="0x00030001" />
|
||||||
<!-- <uses-feature android:name="oculus.software.overlay_keyboard" android:required="false"/>-->
|
<!-- <uses-feature android:name="oculus.software.overlay_keyboard" android:required="false"/>-->
|
||||||
|
|
|
@ -2823,8 +2823,9 @@ void CG_DrawActive( void ) {
|
||||||
vec3_t pos, hmdposition, vieworg;
|
vec3_t pos, hmdposition, vieworg;
|
||||||
VectorClear(pos);
|
VectorClear(pos);
|
||||||
VectorSubtract(vr->hmdposition, vr->hmdorigin, hmdposition);
|
VectorSubtract(vr->hmdposition, vr->hmdorigin, hmdposition);
|
||||||
rotateAboutOrigin(hmdposition[2], hmdposition[0],
|
|
||||||
cg.refdefViewAngles[YAW] - vr->calculated_weaponangles[YAW], pos);
|
float angleYaw = SHORT2ANGLE(cg.predictedPlayerState.delta_angles[YAW]) + (vr->clientviewangles[YAW] - vr->hmdorientation[YAW]);
|
||||||
|
rotateAboutOrigin(hmdposition[2], hmdposition[0], angleYaw, pos);
|
||||||
VectorScale(pos, worldscale, pos);
|
VectorScale(pos, worldscale, pos);
|
||||||
VectorSubtract(cg.refdef.vieworg, pos, vieworg);
|
VectorSubtract(cg.refdef.vieworg, pos, vieworg);
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,7 @@ CREDITS
|
||||||
|
|
||||||
#include "ui_local.h"
|
#include "ui_local.h"
|
||||||
|
|
||||||
|
#include "../qcommon/qcommon.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
menuframework_s menu;
|
menuframework_s menu;
|
||||||
|
@ -84,6 +85,88 @@ static void UI_CreditMenu_Draw_ioq3( void ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
===============
|
||||||
|
UI_CreditMenu_Draw_ioq3
|
||||||
|
===============
|
||||||
|
*/
|
||||||
|
static void UI_CreditMenu_Draw_q3q( void ) {
|
||||||
|
int y;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
/*
|
||||||
|
Quake3Quest by Team Beef & Friends
|
||||||
|
-------------------------------------
|
||||||
|
Lead programmer
|
||||||
|
Dr Beef
|
||||||
|
|
||||||
|
Additional coding
|
||||||
|
Baggyg, MuaDiB, Lubos, Sparkie
|
||||||
|
|
||||||
|
Additional Contributions
|
||||||
|
Bummser, Skillfur, Ceno, Cukier, Eispfogel, Pizzaluigi
|
||||||
|
|
||||||
|
Dedicated Beta Testers
|
||||||
|
XQuader, Ceno, Cukier, Bummser, Retro1N, Benny91, April, Ikarus,
|
||||||
|
Bim, Lubos, MasakaPete, Config2, Maniac, Ghostdog72, Slydog43,
|
||||||
|
Cornelius, Ferret, RealityForge, PvtGenO, SatanSlayer
|
||||||
|
|
||||||
|
Special Thanks to the whole discord!
|
||||||
|
*/
|
||||||
|
|
||||||
|
y = 12;
|
||||||
|
|
||||||
|
UI_DrawProportionalString( 320, y, "Quake3Quest by Team Beef & Friends", UI_CENTER|UI_SMALLFONT, color_red );
|
||||||
|
y += PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
||||||
|
UI_DrawProportionalString( 320, y, "----------------------------------", UI_CENTER|UI_SMALLFONT, color_white );
|
||||||
|
|
||||||
|
y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
||||||
|
UI_DrawProportionalString( 320, y, "Team Beef are DrBeef, Baggyg, Bummser", UI_CENTER|UI_SMALLFONT, color_blue );
|
||||||
|
y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
||||||
|
UI_DrawProportionalString( 320, y, "Lead programmer", UI_CENTER|UI_SMALLFONT, color_red );
|
||||||
|
y += PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
||||||
|
UI_DrawString( 320, y, "DrBeef", UI_CENTER|UI_SMALLFONT, color_white );
|
||||||
|
|
||||||
|
y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
||||||
|
UI_DrawProportionalString( 320, y, "Companion App", UI_CENTER|UI_SMALLFONT, color_red );
|
||||||
|
y += PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
||||||
|
UI_DrawString( 320, y, "Baggyg", UI_CENTER|UI_SMALLFONT, color_white );
|
||||||
|
|
||||||
|
y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
||||||
|
UI_DrawProportionalString( 320, y, "Additional Quake3Quest coding", UI_CENTER|UI_SMALLFONT, color_red );
|
||||||
|
y += PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
||||||
|
UI_DrawString( 320, y, "Baggyg, MuadDiB, Lubos, Sparkie", UI_CENTER|UI_SMALLFONT, color_white );
|
||||||
|
|
||||||
|
y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
||||||
|
UI_DrawProportionalString( 320, y, "Additional Contributions", UI_CENTER|UI_SMALLFONT, color_red );
|
||||||
|
y += PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
||||||
|
UI_DrawString( 320, y, "Bummser, Skillfur, Ceno, Cukier, Eispfogel, Pizzaluigi", UI_CENTER|UI_SMALLFONT, color_white );
|
||||||
|
|
||||||
|
y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
||||||
|
UI_DrawProportionalString( 320, y, "Dedicated Beta Testers", UI_CENTER|UI_SMALLFONT, color_red );
|
||||||
|
y += PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
||||||
|
UI_DrawString( 320, y, "XQuader, Ceno, Cukier, Bummser, Retro1N, Benny91, April, Ikarus,", UI_CENTER|UI_SMALLFONT, color_white );
|
||||||
|
y += PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
||||||
|
UI_DrawString( 320, y, "Bim, Lubos, MasakaPete, Config2, Maniac, Ghostdog72, Slydog43,", UI_CENTER|UI_SMALLFONT, color_white );
|
||||||
|
y += PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
||||||
|
UI_DrawString( 320, y, "Cornelius, Ferret, RealityForge, PvtGenO, SatanSlayer", UI_CENTER|UI_SMALLFONT, color_white );
|
||||||
|
|
||||||
|
y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
||||||
|
UI_DrawProportionalString( 320, y, "Special Thanks to the whole Team Beef discord!", UI_CENTER|UI_SMALLFONT, color_red );
|
||||||
|
|
||||||
|
qboolean skipIOQ3Credits = trap_Cvar_VariableValue("skip_ioq3_credits") == 1.0f;
|
||||||
|
if (skipIOQ3Credits)
|
||||||
|
{
|
||||||
|
y += 1.42 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
||||||
|
UI_DrawProportionalString(320, y, "..and additional thanks to all the", UI_CENTER | UI_SMALLFONT, color_orange);
|
||||||
|
y += PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
||||||
|
UI_DrawProportionalString(320, y, "original ioquake3 contributors!", UI_CENTER | UI_SMALLFONT, color_orange);
|
||||||
|
}
|
||||||
|
|
||||||
|
UI_DrawString( 320, 459, "Quake3Quest: https://www.quake3.quakevr.com/", UI_CENTER|UI_SMALLFONT, color_red );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
=================
|
=================
|
||||||
UI_CreditMenu_Key
|
UI_CreditMenu_Key
|
||||||
|
@ -94,8 +177,15 @@ static sfxHandle_t UI_CreditMenu_Key( int key ) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
qboolean skipIOQ3Credits = trap_Cvar_VariableValue("skip_ioq3_credits") == 1.0f;
|
||||||
|
|
||||||
s_credits.frame++;
|
s_credits.frame++;
|
||||||
if (s_credits.frame == 1) {
|
if (s_credits.frame == 1) {
|
||||||
|
s_credits.menu.draw = UI_CreditMenu_Draw_q3q;
|
||||||
|
} else if (s_credits.frame == 2 && !skipIOQ3Credits) {
|
||||||
|
//Only show these once the first time someone plays
|
||||||
|
trap_Cvar_SetValue("skip_ioq3_credits", 1.0f);
|
||||||
|
trap_Cmd_ExecuteText( EXEC_APPEND, "writeconfig " Q3CONFIG_CFG "/n");
|
||||||
s_credits.menu.draw = UI_CreditMenu_Draw_ioq3;
|
s_credits.menu.draw = UI_CreditMenu_Draw_ioq3;
|
||||||
} else {
|
} else {
|
||||||
trap_Cmd_ExecuteText( EXEC_APPEND, "quit\n" );
|
trap_Cmd_ExecuteText( EXEC_APPEND, "quit\n" );
|
||||||
|
@ -158,7 +248,7 @@ static void UI_CreditMenu_Draw( void ) {
|
||||||
UI_DrawProportionalString( 320, y, "Eric Webb", UI_CENTER|UI_SMALLFONT, color_white );
|
UI_DrawProportionalString( 320, y, "Eric Webb", UI_CENTER|UI_SMALLFONT, color_white );
|
||||||
|
|
||||||
y += 1.35 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
y += 1.35 * PROP_HEIGHT * PROP_SMALL_SIZE_SCALE;
|
||||||
UI_DrawString( 320, y, "To order: 1-800-idgames www.quake3arena.com www.idsoftware.com", UI_CENTER|UI_SMALLFONT, color_red );
|
UI_DrawString( 320, y, "Buy the full game on Steam: https://store.steampowered.com/app/2200/Quake_III_Arena", UI_CENTER|UI_SMALLFONT, color_red );
|
||||||
y += SMALLCHAR_HEIGHT;
|
y += SMALLCHAR_HEIGHT;
|
||||||
UI_DrawString( 320, y, "Quake III Arena(c) 1999-2000, Id Software, Inc. All Rights Reserved", UI_CENTER|UI_SMALLFONT, color_red );
|
UI_DrawString( 320, y, "Quake III Arena(c) 1999-2000, Id Software, Inc. All Rights Reserved", UI_CENTER|UI_SMALLFONT, color_red );
|
||||||
}
|
}
|
||||||
|
|
|
@ -591,7 +591,7 @@ static void UI_PlayerAngles( playerInfo_t *pi, vec3_t legs[3], vec3_t torso[3],
|
||||||
float dest;
|
float dest;
|
||||||
float adjust;
|
float adjust;
|
||||||
|
|
||||||
pi->viewAngles[YAW] = AngleNormalize360(uis.realtime / 50.0f);
|
pi->viewAngles[YAW] = 180 + (45.0f * sinf(DEG2RAD(AngleNormalize360(uis.realtime / 40.0f))));
|
||||||
|
|
||||||
VectorCopy( pi->viewAngles, headAngles );
|
VectorCopy( pi->viewAngles, headAngles );
|
||||||
headAngles[YAW] = AngleMod( headAngles[YAW] );
|
headAngles[YAW] = AngleMod( headAngles[YAW] );
|
||||||
|
@ -805,8 +805,6 @@ void UI_DrawPlayer( float x, float y, float w, float h, playerInfo_t *pi, int ti
|
||||||
VectorCopy (legs.origin, legs.oldorigin);
|
VectorCopy (legs.origin, legs.oldorigin);
|
||||||
|
|
||||||
UI_ScaleModel(&legs);
|
UI_ScaleModel(&legs);
|
||||||
//UI_ScaleModel(&torso);
|
|
||||||
//UI_ScaleModel(&head);
|
|
||||||
|
|
||||||
trap_R_AddRefEntityToScene( &legs );
|
trap_R_AddRefEntityToScene( &legs );
|
||||||
|
|
||||||
|
|
|
@ -2947,7 +2947,7 @@ void Com_WriteConfiguration( void ) {
|
||||||
Com_WriteConfigToFile( Q3CONFIG_CFG );
|
Com_WriteConfigToFile( Q3CONFIG_CFG );
|
||||||
|
|
||||||
// not needed for dedicated or standalone
|
// not needed for dedicated or standalone
|
||||||
#if !defined(DEDICATED) && !defined(STANDALONE)
|
#if 0 //!defined(DEDICATED) && !defined(STANDALONE)
|
||||||
if(!com_standalone->integer)
|
if(!com_standalone->integer)
|
||||||
{
|
{
|
||||||
const char *gamedir;
|
const char *gamedir;
|
||||||
|
|
|
@ -57,6 +57,7 @@ engine_t* VR_Init( ovrJava java )
|
||||||
|
|
||||||
void VR_InitCvars( void )
|
void VR_InitCvars( void )
|
||||||
{
|
{
|
||||||
|
Cvar_Get ("skip_ioq3_credits", "0.0", CVAR_ARCHIVE);
|
||||||
vr_worldscale = Cvar_Get ("vr_worldscale", "32.0", CVAR_ARCHIVE);
|
vr_worldscale = Cvar_Get ("vr_worldscale", "32.0", CVAR_ARCHIVE);
|
||||||
vr_hudDepth = Cvar_Get ("vr_hudDepth", "3", CVAR_ARCHIVE);
|
vr_hudDepth = Cvar_Get ("vr_hudDepth", "3", CVAR_ARCHIVE);
|
||||||
vr_righthanded = Cvar_Get ("vr_righthanded", "1", CVAR_ARCHIVE);
|
vr_righthanded = Cvar_Get ("vr_righthanded", "1", CVAR_ARCHIVE);
|
||||||
|
|
|
@ -51,16 +51,6 @@ typedef struct {
|
||||||
vec3_t offhandposition;
|
vec3_t offhandposition;
|
||||||
|
|
||||||
vec2_t thumbstick_location[2]; //left / right thumbstick locations - used in cgame
|
vec2_t thumbstick_location[2]; //left / right thumbstick locations - used in cgame
|
||||||
|
|
||||||
//////////////////////////////////////
|
|
||||||
// Test stuff for weapon alignment
|
|
||||||
//////////////////////////////////////
|
|
||||||
|
|
||||||
char test_name[256];
|
|
||||||
float test_scale;
|
|
||||||
vec3_t test_angles;
|
|
||||||
vec3_t test_offset;
|
|
||||||
|
|
||||||
} vr_clientinfo_t;
|
} vr_clientinfo_t;
|
||||||
|
|
||||||
#endif //vr_clientinfo_h
|
#endif //vr_clientinfo_h
|
Loading…
Reference in a new issue