From 81776140c97d9bedb0a74fc0cb16c06704a44862 Mon Sep 17 00:00:00 2001 From: taysta Date: Fri, 20 Oct 2023 20:11:31 +0800 Subject: [PATCH 01/99] [jaPRO/Bucky] Improved AI --- codemp/game/NPC.c | 18 ++++--- codemp/game/ai_main.c | 121 +++++++++++++++++++++++++++++++----------- 2 files changed, 99 insertions(+), 40 deletions(-) diff --git a/codemp/game/NPC.c b/codemp/game/NPC.c index c199544276..2b02f640cc 100644 --- a/codemp/game/NPC.c +++ b/codemp/game/NPC.c @@ -1514,7 +1514,7 @@ NPC Behavior state thinking =============== */ -void NPC_ExecuteBState ( gentity_t *self)//, int msec ) +void NPC_ExecuteBState ( gentity_t *self, int msec ) { bState_t bState; @@ -1645,7 +1645,7 @@ void NPC_ExecuteBState ( gentity_t *self)//, int msec ) // run the bot through the server like it was a real client //=== Save the ucmd for the second no-think Pmove ============================ - NPCS.ucmd.serverTime = level.time - 50; + NPCS.ucmd.serverTime = level.time - msec; memcpy( &NPCS.NPCInfo->last_ucmd, &NPCS.ucmd, sizeof( usercmd_t ) ); if ( !NPCS.NPCInfo->attackHoldTime ) { @@ -1763,13 +1763,16 @@ Main NPC AI - called once per frame #if AI_TIMERS extern int AITime; #endif// AI_TIMERS +#define NPC_FRAMETIME (g_npcFixLerp.integer ? level.frameTime : (FRAMETIME/2)) void NPC_Think ( gentity_t *self)//, int msec ) { vec3_t oldMoveDir; int i = 0; gentity_t *player; + const int frameTime = NPC_FRAMETIME; - self->nextthink = level.time + FRAMETIME; + //self->nextthink = level.time + (g_npcFixLerp.integer ? level.frameTime : (FRAMETIME/2)); + self->nextthink = level.time + frameTime; SetNPCGlobals( self ); @@ -1809,8 +1812,7 @@ void NPC_Think ( gentity_t *self)//, int msec ) return; } - self->nextthink = level.time + FRAMETIME/2; - + //self->nextthink = level.time + frameTime; while (i < MAX_CLIENTS) { @@ -1872,7 +1874,7 @@ void NPC_Think ( gentity_t *self)//, int msec ) if ( NPCS.NPC->s.weapon == WP_SABER && g_npcspskill.integer >= 2 && NPCS.NPCInfo->rank > RANK_LT_JG ) {//Jedi think faster on hard difficulty, except low-rank (reborn) - NPCS.NPCInfo->nextBStateThink = level.time + FRAMETIME/2; + NPCS.NPCInfo->nextBStateThink = level.time + (FRAMETIME/2); } else {//Maybe even 200 ms? @@ -1883,7 +1885,7 @@ void NPC_Think ( gentity_t *self)//, int msec ) if (self->s.NPC_class != CLASS_VEHICLE || !self->m_pVehicle) { //ok, let's not do this at all for vehicles. - NPC_ExecuteBState( self ); + NPC_ExecuteBState( self, frameTime ); } #if AI_TIMERS @@ -1899,7 +1901,7 @@ void NPC_Think ( gentity_t *self)//, int msec ) { VectorCopy( oldMoveDir, self->client->ps.moveDir ); //or use client->pers.lastCommand? - NPCS.NPCInfo->last_ucmd.serverTime = level.time - 50; + NPCS.NPCInfo->last_ucmd.serverTime = level.time - frameTime; if ( !NPCS.NPC->next_roff_time || NPCS.NPC->next_roff_time < level.time ) {//If we were following a roff, we don't do normal pmoves. //FIXME: firing angles (no aim offset) or regular angles? diff --git a/codemp/game/ai_main.c b/codemp/game/ai_main.c index e39b33a122..73c0e2ac3c 100644 --- a/codemp/game/ai_main.c +++ b/codemp/game/ai_main.c @@ -154,11 +154,6 @@ void BotStraightTPOrderCheck(gentity_t *ent, int ordernum, bot_state_t *bs) } break; case TEAMPLAYSTATE_FOLLOWING: - bs->teamplayState = ordernum; - bs->isSquadLeader = 0; - bs->squadLeader = ent; - bs->wpDestSwitchTime = 0; - break; case TEAMPLAYSTATE_ASSISTING: bs->teamplayState = ordernum; bs->isSquadLeader = 0; @@ -345,7 +340,7 @@ int PassLovedOneCheck(bot_state_t *bs, gentity_t *ent); void ExitLevel( void ); -void QDECL BotAI_Print(int type, char *fmt, ...) { return; } +void QDECL BotAI_Print(int type, char *fmt, ...) { } qboolean WP_ForcePowerUsable( gentity_t *self, forcePowers_t forcePower ); @@ -552,7 +547,7 @@ BotInputToUserCommand */ void BotInputToUserCommand(bot_input_t *bi, usercmd_t *ucmd, int delta_angles[3], int time, int useTime) { vec3_t angles, forward, right; - short temp; + int temp; int j; float f, r, u, m; @@ -626,15 +621,15 @@ void BotInputToUserCommand(bot_input_t *bi, usercmd_t *ucmd, int delta_angles[3] //set the view independent movement f = DotProduct(forward, bi->dir); r = DotProduct(right, bi->dir); - u = fabs(forward[2]) * bi->dir[2]; - m = fabs(f); + u = fabsf(forward[2]) * bi->dir[2]; + m = fabsf(f); - if (fabs(r) > m) { - m = fabs(r); + if (fabsf(r) > m) { + m = fabsf(r); } - if (fabs(u) > m) { - m = fabs(u); + if (fabsf(u) > m) { + m = fabsf(u); } if (m > 0) { @@ -1205,11 +1200,7 @@ int PassWayCheck(bot_state_t *bs, int windex) } } - if (bs->wpDirection && (gWPArray[windex]->flags & WPFLAG_ONEWAY_FWD)) - { //we're not travelling in a direction on the trail that will allow us to pass this point - return 0; - } - else if (!bs->wpDirection && (gWPArray[windex]->flags & WPFLAG_ONEWAY_BACK)) + if ((bs->wpDirection && (gWPArray[windex]->flags & WPFLAG_ONEWAY_FWD)) || (!bs->wpDirection && (gWPArray[windex]->flags & WPFLAG_ONEWAY_BACK))) { //we're not travelling in a direction on the trail that will allow us to pass this point return 0; } @@ -4824,20 +4815,88 @@ void BotAimLeading(bot_state_t *bs, vec3_t headlevel, float leadAmount) #endif } - - if (bs->cur_ps.weapon == WP_SABER && g_entities[bs->client].client->ps.saberMove != LS_NONE && - g_entities[bs->client].client->ps.saberMove != LS_READY) { //Poke - vec3_t saberDiff; - VectorSubtract(bs->currentEnemy->client->ps.origin, g_entities[bs->client].client->saber[0].blade[0].trail.tip, saberDiff); - VectorAdd(saberDiff, predictedSpot, predictedSpot); - } - - VectorSubtract(predictedSpot, bs->eye, a); vectoangles(a, ang); VectorCopy(ang, bs->goalAngles); - - + bs->goalAngles[YAW] = AngleNormalize360(bs->goalAngles[YAW]); + bs->goalAngles[PITCH] = AngleNormalize360(bs->goalAngles[PITCH]); + + if (bs->cur_ps.weapon == WP_SABER && g_entities[bs->client].client->ps.saberMove != LS_NONE && + g_entities[bs->client].client->ps.saberMove != LS_READY) { //Poke and Wiggle + + /* + vec3_t saberEnd, saberAngs; + VectorCopy(g_entities[bs->client].client->saber[0].blade[0].trail.tip, saberEnd); //Vector of the tip of the saber + VectorSubtract(saberEnd, bs->origin, saberEnd);//This might be backwards, but its the vector of saber tip relative to us + + vectoangles(saberEnd, saberAngs); //Turn saber tip into angles + + saberAngs[YAW] -= 150; + + saberAngs[PITCH] += 25;//who knows! + + saberAngs[YAW] = AngleSubtract(saberAngs[YAW], bs->viewangles[YAW]); + saberAngs[PITCH] = AngleSubtract(saberAngs[PITCH], bs->viewangles[PITCH]); + + bs->goalAngles[YAW] -= saberAngs[YAW]; //Offset our ideal angles by this to keep saber tip always pointed at enemy? + bs->goalAngles[PITCH] -= saberAngs[PITCH] * 0.5; + */ + + //Poke + vec3_t saberPos = { 0 }, saberAngles = { 0 }, saberDiff = { 0 }; + + if (bs->frame_Enemy_Len >= BWEAPONRANGE_SABER) { + VectorCopy(g_entities[bs->client].client->saber[0].blade[0].trail.tip, saberPos); + } + else { + VectorCopy(g_entities[bs->client].client->saber[0].blade[0].trail.base, saberPos); + } + + VectorSubtract(saberPos, bs->eye, saberAngles); + vectoangles(saberAngles, saberAngles); + saberAngles[YAW] = AngleNormalize360(saberAngles[YAW]); + saberAngles[PITCH] = AngleNormalize180(saberAngles[PITCH]); + + AnglesSubtract(bs->cur_ps.viewangles, saberAngles, saberDiff); + saberDiff[YAW] = AngleNormalize360(saberDiff[YAW]); + saberDiff[PITCH] = AngleNormalize180(saberDiff[PITCH]); + + //wiggle + if (level.time % 100 > 50) { + saberDiff[YAW] = AngleNormalize360(saberDiff[YAW] + 3.0f); + } + else { + saberDiff[YAW] = AngleNormalize360(saberDiff[YAW] - 3.0f); + } + + if (level.time % 200 > 100) { + saberDiff[PITCH] = AngleNormalize180(saberDiff[PITCH] + 6.0f); + } + else { + saberDiff[PITCH] = AngleNormalize180(saberDiff[PITCH] - 6.0f); + } + + bs->goalAngles[YAW] = AngleNormalize360(bs->goalAngles[YAW] + saberDiff[YAW]); + bs->goalAngles[PITCH] = AngleNormalize180(bs->goalAngles[PITCH] + saberDiff[PITCH]); + + /*if (level.time % 100 > 50) { + bs->goalAngles[YAW] += 3.0f; + } + else { + bs->goalAngles[YAW] -= 3.0f; + } + + if (level.time % 200 > 100) { + bs->goalAngles[PITCH] += 6.0f; + } + else { + bs->goalAngles[PITCH] -= 6.0f; + } + + + bs->goalAngles[YAW] = AngleNormalize360(bs->goalAngles[YAW]); + bs->goalAngles[PITCH] = AngleNormalize360(bs->goalAngles[PITCH]);*/ + } if (bs->cur_ps.weapon == WP_SABER && g_entities[bs->client].client->ps.saberMove != LS_NONE && g_entities[bs->client].client->ps.saberMove != LS_READY) { //Poke and Wiggle @@ -4882,8 +4941,6 @@ void BotAimLeading(bot_state_t *bs, vec3_t headlevel, float leadAmount) bs->goalAngles[YAW] = AngleNormalize360(bs->goalAngles[YAW]); bs->goalAngles[PITCH] = AngleNormalize360(bs->goalAngles[PITCH]); } - - } //wobble our aim around based on our sk1llz @@ -7445,7 +7502,7 @@ void NewBotAI_GetLSForcepower(bot_state_t *bs) } } - if (bs->cur_ps.weaponstate != WEAPON_CHARGING_ALT && (level.clients[bs->client].ps.fd.forcePowerSelected == FP_PULL) && rand() > 0.5) + if (bs->cur_ps.weaponstate != WEAPON_CHARGING_ALT && (level.clients[bs->client].ps.fd.forcePowerSelected == FP_PULL) && Q_flrand(0.0f, 1.0f) > 0.5f) useTheForce = qfalse; if (useTheForce) { From 7cc8aa6edf03e17ebf4cc46d0685bb15c971ef18 Mon Sep 17 00:00:00 2001 From: taysta Date: Fri, 20 Oct 2023 20:36:31 +0800 Subject: [PATCH 02/99] [EternalJK/Bucky] Improved Russian/French language support --- assets/japro/gfx/2d/charsgrid_med.tga | Bin 0 -> 262162 bytes assets/japro/gfx/2d/charsgrid_med_cyr.tga | Bin 0 -> 262188 bytes assets/japro/gfx/2d/charsgrid_med_eng.tga | Bin 0 -> 262162 bytes .../gfx/2d/charsgrid_med_rus_original.tga | Bin 0 -> 262683 bytes assets/japro/models/players/jan/torso_rgb.tga | Bin 0 -> 1359005 bytes .../japro/models/players/jan/torso_white.tga | Bin 0 -> 1359005 bytes assets/japro/strings/French/academy1.str | 84 + assets/japro/strings/French/academy2.str | 106 + assets/japro/strings/French/academy3.str | 79 + assets/japro/strings/French/academy4.str | 73 + assets/japro/strings/French/academy5.str | 76 + assets/japro/strings/French/academy6.str | 91 + assets/japro/strings/French/briefings.str | 141 + assets/japro/strings/French/con_text.str | 53 + assets/japro/strings/French/credits.str | 20 + assets/japro/strings/French/hoth2.str | 94 + assets/japro/strings/French/hoth3.str | 116 + assets/japro/strings/French/keynames.str | 511 ++ assets/japro/strings/French/kor1.str | 113 + assets/japro/strings/French/kor2.str | 342 + assets/japro/strings/French/menus.str | 5691 +++++++++++++++++ assets/japro/strings/French/misc.str | 399 ++ assets/japro/strings/French/mp_ingame.str | 685 ++ assets/japro/strings/French/mp_svgame.str | 388 ++ assets/japro/strings/French/multiplayer.str | 539 ++ assets/japro/strings/French/objectives.str | 406 ++ assets/japro/strings/French/siege.str | 1195 ++++ assets/japro/strings/French/sp_ingame.str | 974 +++ assets/japro/strings/French/str_server.str | 23 + assets/japro/strings/French/t1_danger.str | 132 + assets/japro/strings/French/t1_fatal.str | 109 + assets/japro/strings/French/t1_inter.str | 62 + assets/japro/strings/French/t1_rail.str | 76 + assets/japro/strings/French/t1_sour.str | 125 + assets/japro/strings/French/t1_surprise.str | 88 + assets/japro/strings/French/t2_dpred.str | 92 + assets/japro/strings/French/t2_rancor.str | 138 + assets/japro/strings/French/t2_rogue.str | 55 + assets/japro/strings/French/t2_trip.str | 93 + assets/japro/strings/French/t2_wedge.str | 138 + assets/japro/strings/French/t3_bounty.str | 63 + assets/japro/strings/French/t3_byss.str | 124 + assets/japro/strings/French/t3_hevil.str | 56 + assets/japro/strings/French/t3_rift.str | 80 + assets/japro/strings/French/t3_stamp.str | 56 + assets/japro/strings/French/taspir1.str | 62 + assets/japro/strings/French/taspir2.str | 299 + assets/japro/strings/French/tier1.str | 41 + assets/japro/strings/French/tier2.str | 41 + assets/japro/strings/French/tier3.str | 41 + assets/japro/strings/French/tiervictory.str | 103 + assets/japro/strings/French/vjun1.str | 95 + assets/japro/strings/French/vjun2.str | 171 + assets/japro/strings/French/vjun3.str | 228 + assets/japro/strings/French/yavin1.str | 101 + assets/japro/strings/French/yavin1b.str | 201 + assets/japro/strings/French/yavin2.str | 221 + assets/japro/strings/Russian/academy1.str | 84 + assets/japro/strings/Russian/academy2.str | 106 + assets/japro/strings/Russian/academy3.str | 79 + assets/japro/strings/Russian/academy4.str | 73 + assets/japro/strings/Russian/academy5.str | 76 + assets/japro/strings/Russian/academy6.str | 91 + assets/japro/strings/Russian/briefings.str | 141 + assets/japro/strings/Russian/con_text.str | 53 + assets/japro/strings/Russian/credits.str | 20 + assets/japro/strings/Russian/hoth2.str | 94 + assets/japro/strings/Russian/hoth3.str | 116 + assets/japro/strings/Russian/keynames.str | 511 ++ assets/japro/strings/Russian/kor1.str | 113 + assets/japro/strings/Russian/kor2.str | 342 + assets/japro/strings/Russian/menus.str | 5691 +++++++++++++++++ assets/japro/strings/Russian/misc.str | 399 ++ assets/japro/strings/Russian/mp_ingame.str | 685 ++ assets/japro/strings/Russian/mp_svgame.str | 388 ++ assets/japro/strings/Russian/multiplayer.str | 539 ++ assets/japro/strings/Russian/objectives.str | 406 ++ assets/japro/strings/Russian/siege.str | 1195 ++++ assets/japro/strings/Russian/sp_ingame.str | 974 +++ assets/japro/strings/Russian/str_server.str | 23 + assets/japro/strings/Russian/t1_danger.str | 132 + assets/japro/strings/Russian/t1_fatal.str | 109 + assets/japro/strings/Russian/t1_inter.str | 62 + assets/japro/strings/Russian/t1_rail.str | 76 + assets/japro/strings/Russian/t1_sour.str | 125 + assets/japro/strings/Russian/t1_surprise.str | 88 + assets/japro/strings/Russian/t2_dpred.str | 92 + assets/japro/strings/Russian/t2_rancor.str | 138 + assets/japro/strings/Russian/t2_rogue.str | 55 + assets/japro/strings/Russian/t2_trip.str | 93 + assets/japro/strings/Russian/t2_wedge.str | 138 + assets/japro/strings/Russian/t3_bounty.str | 63 + assets/japro/strings/Russian/t3_byss.str | 124 + assets/japro/strings/Russian/t3_hevil.str | 56 + assets/japro/strings/Russian/t3_rift.str | 80 + assets/japro/strings/Russian/t3_stamp.str | 56 + assets/japro/strings/Russian/taspir1.str | 62 + assets/japro/strings/Russian/taspir2.str | 299 + assets/japro/strings/Russian/tier1.str | 41 + assets/japro/strings/Russian/tier2.str | 41 + assets/japro/strings/Russian/tier3.str | 41 + assets/japro/strings/Russian/tiervictory.str | 103 + assets/japro/strings/Russian/vjun1.str | 95 + assets/japro/strings/Russian/vjun2.str | 171 + assets/japro/strings/Russian/vjun3.str | 228 + assets/japro/strings/Russian/yavin1.str | 101 + assets/japro/strings/Russian/yavin1b.str | 201 + assets/japro/strings/Russian/yavin2.str | 221 + codemp/cgame/cg_cvar.c | 27 + codemp/cgame/cg_xcvar.h | 1 + codemp/client/cl_main.cpp | 22 +- codemp/qcommon/stringed_ingame.cpp | 22 - codemp/qcommon/stringed_ingame.h | 1 - 113 files changed, 30629 insertions(+), 24 deletions(-) create mode 100644 assets/japro/gfx/2d/charsgrid_med.tga create mode 100644 assets/japro/gfx/2d/charsgrid_med_cyr.tga create mode 100644 assets/japro/gfx/2d/charsgrid_med_eng.tga create mode 100644 assets/japro/gfx/2d/charsgrid_med_rus_original.tga create mode 100644 assets/japro/models/players/jan/torso_rgb.tga create mode 100644 assets/japro/models/players/jan/torso_white.tga create mode 100644 assets/japro/strings/French/academy1.str create mode 100644 assets/japro/strings/French/academy2.str create mode 100644 assets/japro/strings/French/academy3.str create mode 100644 assets/japro/strings/French/academy4.str create mode 100644 assets/japro/strings/French/academy5.str create mode 100644 assets/japro/strings/French/academy6.str create mode 100644 assets/japro/strings/French/briefings.str create mode 100644 assets/japro/strings/French/con_text.str create mode 100644 assets/japro/strings/French/credits.str create mode 100644 assets/japro/strings/French/hoth2.str create mode 100644 assets/japro/strings/French/hoth3.str create mode 100644 assets/japro/strings/French/keynames.str create mode 100644 assets/japro/strings/French/kor1.str create mode 100644 assets/japro/strings/French/kor2.str create mode 100644 assets/japro/strings/French/menus.str create mode 100644 assets/japro/strings/French/misc.str create mode 100644 assets/japro/strings/French/mp_ingame.str create mode 100644 assets/japro/strings/French/mp_svgame.str create mode 100644 assets/japro/strings/French/multiplayer.str create mode 100644 assets/japro/strings/French/objectives.str create mode 100644 assets/japro/strings/French/siege.str create mode 100644 assets/japro/strings/French/sp_ingame.str create mode 100644 assets/japro/strings/French/str_server.str create mode 100644 assets/japro/strings/French/t1_danger.str create mode 100644 assets/japro/strings/French/t1_fatal.str create mode 100644 assets/japro/strings/French/t1_inter.str create mode 100644 assets/japro/strings/French/t1_rail.str create mode 100644 assets/japro/strings/French/t1_sour.str create mode 100644 assets/japro/strings/French/t1_surprise.str create mode 100644 assets/japro/strings/French/t2_dpred.str create mode 100644 assets/japro/strings/French/t2_rancor.str create mode 100644 assets/japro/strings/French/t2_rogue.str create mode 100644 assets/japro/strings/French/t2_trip.str create mode 100644 assets/japro/strings/French/t2_wedge.str create mode 100644 assets/japro/strings/French/t3_bounty.str create mode 100644 assets/japro/strings/French/t3_byss.str create mode 100644 assets/japro/strings/French/t3_hevil.str create mode 100644 assets/japro/strings/French/t3_rift.str create mode 100644 assets/japro/strings/French/t3_stamp.str create mode 100644 assets/japro/strings/French/taspir1.str create mode 100644 assets/japro/strings/French/taspir2.str create mode 100644 assets/japro/strings/French/tier1.str create mode 100644 assets/japro/strings/French/tier2.str create mode 100644 assets/japro/strings/French/tier3.str create mode 100644 assets/japro/strings/French/tiervictory.str create mode 100644 assets/japro/strings/French/vjun1.str create mode 100644 assets/japro/strings/French/vjun2.str create mode 100644 assets/japro/strings/French/vjun3.str create mode 100644 assets/japro/strings/French/yavin1.str create mode 100644 assets/japro/strings/French/yavin1b.str create mode 100644 assets/japro/strings/French/yavin2.str create mode 100644 assets/japro/strings/Russian/academy1.str create mode 100644 assets/japro/strings/Russian/academy2.str create mode 100644 assets/japro/strings/Russian/academy3.str create mode 100644 assets/japro/strings/Russian/academy4.str create mode 100644 assets/japro/strings/Russian/academy5.str create mode 100644 assets/japro/strings/Russian/academy6.str create mode 100644 assets/japro/strings/Russian/briefings.str create mode 100644 assets/japro/strings/Russian/con_text.str create mode 100644 assets/japro/strings/Russian/credits.str create mode 100644 assets/japro/strings/Russian/hoth2.str create mode 100644 assets/japro/strings/Russian/hoth3.str create mode 100644 assets/japro/strings/Russian/keynames.str create mode 100644 assets/japro/strings/Russian/kor1.str create mode 100644 assets/japro/strings/Russian/kor2.str create mode 100644 assets/japro/strings/Russian/menus.str create mode 100644 assets/japro/strings/Russian/misc.str create mode 100644 assets/japro/strings/Russian/mp_ingame.str create mode 100644 assets/japro/strings/Russian/mp_svgame.str create mode 100644 assets/japro/strings/Russian/multiplayer.str create mode 100644 assets/japro/strings/Russian/objectives.str create mode 100644 assets/japro/strings/Russian/siege.str create mode 100644 assets/japro/strings/Russian/sp_ingame.str create mode 100644 assets/japro/strings/Russian/str_server.str create mode 100644 assets/japro/strings/Russian/t1_danger.str create mode 100644 assets/japro/strings/Russian/t1_fatal.str create mode 100644 assets/japro/strings/Russian/t1_inter.str create mode 100644 assets/japro/strings/Russian/t1_rail.str create mode 100644 assets/japro/strings/Russian/t1_sour.str create mode 100644 assets/japro/strings/Russian/t1_surprise.str create mode 100644 assets/japro/strings/Russian/t2_dpred.str create mode 100644 assets/japro/strings/Russian/t2_rancor.str create mode 100644 assets/japro/strings/Russian/t2_rogue.str create mode 100644 assets/japro/strings/Russian/t2_trip.str create mode 100644 assets/japro/strings/Russian/t2_wedge.str create mode 100644 assets/japro/strings/Russian/t3_bounty.str create mode 100644 assets/japro/strings/Russian/t3_byss.str create mode 100644 assets/japro/strings/Russian/t3_hevil.str create mode 100644 assets/japro/strings/Russian/t3_rift.str create mode 100644 assets/japro/strings/Russian/t3_stamp.str create mode 100644 assets/japro/strings/Russian/taspir1.str create mode 100644 assets/japro/strings/Russian/taspir2.str create mode 100644 assets/japro/strings/Russian/tier1.str create mode 100644 assets/japro/strings/Russian/tier2.str create mode 100644 assets/japro/strings/Russian/tier3.str create mode 100644 assets/japro/strings/Russian/tiervictory.str create mode 100644 assets/japro/strings/Russian/vjun1.str create mode 100644 assets/japro/strings/Russian/vjun2.str create mode 100644 assets/japro/strings/Russian/vjun3.str create mode 100644 assets/japro/strings/Russian/yavin1.str create mode 100644 assets/japro/strings/Russian/yavin1b.str create mode 100644 assets/japro/strings/Russian/yavin2.str diff --git a/assets/japro/gfx/2d/charsgrid_med.tga b/assets/japro/gfx/2d/charsgrid_med.tga new file mode 100644 index 0000000000000000000000000000000000000000..0c85767803fa206b2d3165d9b8a0efc6bf652fe1 GIT binary patch literal 262162 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 E{{gxaq5uE@ literal 0 HcmV?d00001 diff --git a/assets/japro/gfx/2d/charsgrid_med_cyr.tga b/assets/japro/gfx/2d/charsgrid_med_cyr.tga new file mode 100644 index 0000000000000000000000000000000000000000..f71d6c51585de6e10708d2356665a18e3c3290b1 GIT binary patch literal 262188 zcmeI52e@TLmHitDZl!>HU*M`y-A+6KhTF^qA>XFx_! z=VBTaLz@Grg*gt52?@$=F@w?=0EzuyzjJH9t}affbMNaHx@&*mdR4V+tzC8M>^kW^ znl)=Kw`Re1S+mRFN?W$t8dYb-oMIHh+C_*p>s+SMGk>=N=3Z(J7;8DrajXOl$KY1+ z{QImS`CbTvMLJ$$E!7^#T&r3(lQot;JQ#oO6{kcKaL4wZWk>{a})UdvkvhZT#ZuD)|Am#W6o=;(X=Y7Ps zxJ{*}ZkbbsV;>3BoA`D9dGWEaPzoHwK&az3`3mvPs5kNI{6q1_UOecjwRjwJ;bY)S zT?59$IA(OV7Nu|FYlFHgbNUH33mEZI=McxQ0_aEVuWJ{c>{O1UI=(th=nM7CeJn6{ zY+eYtZS_i^AEhw%jSVW>H1rjoJ5uRxYl^(U{iCViKbIN!|RZ z<BBxW*jNbtZFSSY z83~L}eLkqS>FFy3Y%I`r0*0S<8{lEa9aXKZ*OE3ZedsWocNf2@-{KI9dK0h7&w62F zp@~!HXU}5mgtDql#^0d&Sg6y)zQXI^W6UMyG_@;1z<1t3%qC5j--k%jGY&?~vZ`&Z zJMV8BFVw>)M(AtPhJBJ%X1>i)+x&4^cpfEvW5EfffZ=OHMG831JBq;9rjPr^UQb@d zeRb`^^XYTKNT6N{81)ovtk~N=hZG4~FIyOceSkS3Wn9Lk= zWf5rL6C?CB>0-YRvrvpxBd=p#+%6UrlgdUFtbghKF+Xm5+Cstp9SSk8t?d@nTPsCk z40xfHYB1J1@1))ZyXK%R1l9nf-leUG0S^u4gf1=p#%IhFeiO&yC`{74!#E>EGV;Za zog4@`P4yu{8U007yKKElYktPX#?{YB?pa?~=_Lzub>2~^?9$Q?4-40S;_0U+R_TRS zcWP5_LlJ1;mqO@k(}sOMOr=F1_O;dFV(W!aS61HcIG(mJZff2%&1vidk`qmw&|i2y zJ|~O>>ZO2DZ$nYBwmtvO`{--a(r0GJ%{pQup-XH1n-Rzcg8BNEMHON4gL)r5q=0(J7w>a?3+`8y6cPIashnsnx`i2AWXAb-aKmZG&7%oSt4r7s66t-q}tis!sW zMPC%P$ zYsGg$Xsk!bX{wi@D5}%fq%;2puL;K+d*2{IZ*k_tExZmNZR=|*ORuqWg%0DKwCSv` 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 E{{gxaq5uE@ literal 0 HcmV?d00001 diff --git a/assets/japro/gfx/2d/charsgrid_med_rus_original.tga b/assets/japro/gfx/2d/charsgrid_med_rus_original.tga new file mode 100644 index 0000000000000000000000000000000000000000..ac27ea241d6f8d052dd04e448435663f640076b4 GIT binary patch literal 262683 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