mirror of
https://github.com/ZDoom/gzdoom-last-svn.git
synced 2025-05-30 17:00:48 +00:00
Update to ZDoom r2022:
- fixed: Auto-COMPAT_SHORTTEX for IWADs must be set per IWAD, not in general for Doom. - added autodetection of Harmony's IWAD. - Added SnailMan's updated language.ita file. - Fixed: You should still be able to pick up ammo that has a max amount set at 0. - Added a few NULL screen checks. git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@655 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
parent
ea05417c36
commit
359f75e98b
10 changed files with 245 additions and 25 deletions
|
@ -1,3 +1,54 @@
|
|||
December 11, 2009 (Changes by Graf Zahl)
|
||||
- fixed: Auto-COMPAT_SHORTTEX for IWADs must be set per IWAD, not in general
|
||||
for Doom.
|
||||
- added autodetection of Harmony's IWAD.
|
||||
- Added SnailMan's updated language.ita file.
|
||||
|
||||
December 11, 2009
|
||||
- Fixed: You should still be able to pick up ammo that has a max amount set
|
||||
at 0.
|
||||
- Added a few NULL screen checks.
|
||||
|
||||
December 6, 2009 (Changes by Graf Zahl)
|
||||
- added some code that prevents overlapping monsters from getting stuck in
|
||||
each other. PIT_CheckThing will return true under the following contitions
|
||||
now:
|
||||
* It was called from P_Move
|
||||
* The actor that is blocking the move already overlaps with the monster
|
||||
that is being moved.
|
||||
* the move will take the 2 actors further apart.
|
||||
|
||||
December 1, 2009
|
||||
- Added another surface to receive a copy of the top back buffer immediately
|
||||
before it is presented. This effectively produces a copy of the front
|
||||
buffer without the performance penalty of GetFrontBufferData, so fullscreen
|
||||
wipe preparation and screenshots are faster now. At lower resolutions,
|
||||
always copying the backbuffer does incur a slight FPS hit, but it's
|
||||
practically free at higher resolutions.
|
||||
|
||||
November 30, 2009
|
||||
- The initial wipe screen is now kept in video memory. I had previously
|
||||
assumed that since the wipes only run at 35 FPS, the time spent DMA'ing
|
||||
it from system to video memory would be acceptable. Apparently I was wrong.
|
||||
In particular, updating the same surface several times probably has to
|
||||
synchronize between each one, making melt particularly slower than it
|
||||
needs to be.
|
||||
|
||||
November 29, 2009 (Changes by Graf Zahl)
|
||||
- fixed: Line_SetBlocking and Line_SetTextureScale were not in the list
|
||||
of action specials used by DECORATE or MAPINFO.
|
||||
- fixed: Teleport_NoStop was not in the line special function table.
|
||||
|
||||
November 28, 2009
|
||||
- Fixed: The FPS meter cannot use I_MSTime(), because if the game is started
|
||||
with +vid_fps 1, it can need the time before the timer is ready to start.
|
||||
- Initialize TempRenderTexture and the back buffer to black upon creation.
|
||||
- Fixed: Windowed mode always needs to draw to the temporary surface, even
|
||||
when not gamma correcting, so that D3DFB::GetCurrentScreen() can read from
|
||||
it.
|
||||
- Use the spawned class's scale as default for ScriptedMarine instead of
|
||||
DoomPlayer.
|
||||
|
||||
November 28, 2009 (Changes by Graf Zahl)
|
||||
- fixed: Morph weapons weren't destroyed because the code checked for
|
||||
them in the unmorphed player class.
|
||||
|
|
|
@ -1843,7 +1843,7 @@ static const char logbar[] = "\n<------------------------------->\n";
|
|||
|
||||
void C_MidPrint (FFont *font, const char *msg)
|
||||
{
|
||||
if (StatusBar == NULL)
|
||||
if (StatusBar == NULL || screen == NULL)
|
||||
return;
|
||||
|
||||
if (msg != NULL)
|
||||
|
|
|
@ -196,7 +196,7 @@ void CheckCompatibility(MapData *map)
|
|||
FCompatValues *flags;
|
||||
|
||||
// When playing Doom IWAD levels force COMPAT_SHORTTEX.
|
||||
if (Wads.GetLumpFile(map->lumpnum) == 1 && gameinfo.gametype == GAME_Doom && !(level.flags & LEVEL_HEXENFORMAT))
|
||||
if (Wads.GetLumpFile(map->lumpnum) == 1 && (gameinfo.flags & GI_COMPATSHORTTEX) && !(level.flags & LEVEL_HEXENFORMAT))
|
||||
{
|
||||
ii_compatflags = COMPATF_SHORTTEX;
|
||||
ib_compatflags = 0;
|
||||
|
|
|
@ -58,18 +58,18 @@ EIWADType gameiwad;
|
|||
const IWADInfo IWADInfos[NUM_IWAD_TYPES] =
|
||||
{
|
||||
// banner text, autoname, fg color, bg color
|
||||
{ "Final Doom: TNT - Evilution", "TNT", MAKERGB(168,0,0), MAKERGB(168,168,168), GAME_Doom, "mapinfo/tnt.txt", GI_MAPxx },
|
||||
{ "Final Doom: Plutonia Experiment", "Plutonia", MAKERGB(168,0,0), MAKERGB(168,168,168), GAME_Doom, "mapinfo/plutonia.txt", GI_MAPxx },
|
||||
{ "Final Doom: TNT - Evilution", "TNT", MAKERGB(168,0,0), MAKERGB(168,168,168), GAME_Doom, "mapinfo/tnt.txt", GI_MAPxx | GI_COMPATSHORTTEX },
|
||||
{ "Final Doom: Plutonia Experiment", "Plutonia", MAKERGB(168,0,0), MAKERGB(168,168,168), GAME_Doom, "mapinfo/plutonia.txt", GI_MAPxx | GI_COMPATSHORTTEX },
|
||||
{ "Hexen: Beyond Heretic", NULL, MAKERGB(240,240,240), MAKERGB(107,44,24), GAME_Hexen, "mapinfo/hexen.txt", GI_MAPxx },
|
||||
{ "Hexen: Deathkings of the Dark Citadel", "HexenDK", MAKERGB(240,240,240), MAKERGB(139,68,9), GAME_Hexen, "mapinfo/hexen.txt", GI_MAPxx },
|
||||
{ "Hexen: Demo Version", "HexenDemo",MAKERGB(240,240,240), MAKERGB(107,44,24), GAME_Hexen, "mapinfo/hexen.txt", GI_MAPxx | GI_SHAREWARE },
|
||||
{ "DOOM 2: Hell on Earth", "Doom2", MAKERGB(168,0,0), MAKERGB(168,168,168), GAME_Doom, "mapinfo/doom2.txt", GI_MAPxx },
|
||||
{ "DOOM 2: Hell on Earth", "Doom2", MAKERGB(168,0,0), MAKERGB(168,168,168), GAME_Doom, "mapinfo/doom2.txt", GI_MAPxx | GI_COMPATSHORTTEX },
|
||||
{ "Heretic Shareware", NULL, MAKERGB(252,252,0), MAKERGB(168,0,0), GAME_Heretic, "mapinfo/hereticsw.txt",GI_SHAREWARE },
|
||||
{ "Heretic: Shadow of the Serpent Riders", NULL, MAKERGB(252,252,0), MAKERGB(168,0,0), GAME_Heretic, "mapinfo/heretic.txt", GI_MENUHACK_EXTENDED },
|
||||
{ "Heretic", NULL, MAKERGB(252,252,0), MAKERGB(168,0,0), GAME_Heretic, "mapinfo/heretic.txt" },
|
||||
{ "DOOM Shareware", NULL, MAKERGB(168,0,0), MAKERGB(168,168,168), GAME_Doom, "mapinfo/doom1.txt", GI_SHAREWARE },
|
||||
{ "The Ultimate DOOM", "Doom1", MAKERGB(84,84,84), MAKERGB(168,168,168), GAME_Doom, "mapinfo/ultdoom.txt" },
|
||||
{ "DOOM Registered", "Doom1", MAKERGB(84,84,84), MAKERGB(168,168,168), GAME_Doom, "mapinfo/doom1.txt" },
|
||||
{ "DOOM Shareware", NULL, MAKERGB(168,0,0), MAKERGB(168,168,168), GAME_Doom, "mapinfo/doom1.txt", GI_SHAREWARE | GI_COMPATSHORTTEX },
|
||||
{ "The Ultimate DOOM", "Doom1", MAKERGB(84,84,84), MAKERGB(168,168,168), GAME_Doom, "mapinfo/ultdoom.txt", GI_COMPATSHORTTEX },
|
||||
{ "DOOM Registered", "Doom1", MAKERGB(84,84,84), MAKERGB(168,168,168), GAME_Doom, "mapinfo/doom1.txt", GI_COMPATSHORTTEX },
|
||||
{ "Strife: Quest for the Sigil", NULL, MAKERGB(224,173,153), MAKERGB(0,107,101), GAME_Strife, "mapinfo/strife.txt", GI_MAPxx },
|
||||
{ "Strife: Teaser (Old Version)", NULL, MAKERGB(224,173,153), MAKERGB(0,107,101), GAME_Strife, "mapinfo/strife.txt", GI_MAPxx | GI_SHAREWARE },
|
||||
{ "Strife: Teaser (New Version)", NULL, MAKERGB(224,173,153), MAKERGB(0,107,101), GAME_Strife, "mapinfo/strife.txt", GI_MAPxx | GI_SHAREWARE | GI_TEASER2 },
|
||||
|
@ -81,6 +81,7 @@ const IWADInfo IWADInfos[NUM_IWAD_TYPES] =
|
|||
{ "Chex(R) Quest", "Chex1", MAKERGB(255,255,0), MAKERGB(0,192,0), GAME_Chex, "mapinfo/chex.txt" },
|
||||
{ "Chex(R) Quest 3", "Chex3", MAKERGB(255,255,0), MAKERGB(0,192,0), GAME_Chex, "mapinfo/chex3.txt" },
|
||||
{ "Action Doom 2: Urban Brawl", "UrbanBrawl",MAKERGB(168,168,0), MAKERGB(168,0,0), GAME_Doom, "mapinfo/doom2.txt" },
|
||||
{ "Harmony", "Harmony", MAKERGB(110,180,230), MAKERGB(69,79,126), GAME_Doom, "mapinfo/doom2.txt" },
|
||||
//{ "ZDoom Engine", NULL, MAKERGB(168,0,0), MAKERGB(168,168,168) },
|
||||
};
|
||||
|
||||
|
@ -111,6 +112,7 @@ static const char *IWADNames[] =
|
|||
"chex.wad",
|
||||
"chex3.wad",
|
||||
"action2.wad",
|
||||
"harm1.wad",
|
||||
#ifdef unix
|
||||
"DOOM2.WAD", // Also look for all-uppercase names
|
||||
"PLUTONIA.WAD",
|
||||
|
@ -134,6 +136,7 @@ static const char *IWADNames[] =
|
|||
"CHEX.WAD",
|
||||
"CHEX3.WAD",
|
||||
"ACTION2.WAD",
|
||||
"HARM1.WAD",
|
||||
#endif
|
||||
NULL
|
||||
};
|
||||
|
@ -169,6 +172,9 @@ static EIWADType ScanIWAD (const char *iwad)
|
|||
"CYCLA1",
|
||||
"FLMBA1",
|
||||
"MAPINFO",
|
||||
"0HAWK01",
|
||||
"0CARA3",
|
||||
"0NOSE1",
|
||||
{ 'G','A','M','E','I','N','F','O' },
|
||||
"E2M1","E2M2","E2M3","E2M4","E2M5","E2M6","E2M7","E2M8","E2M9",
|
||||
"E3M1","E3M2","E3M3","E3M4","E3M5","E3M6","E3M7","E3M8","E3M9",
|
||||
|
@ -199,6 +205,9 @@ static EIWADType ScanIWAD (const char *iwad)
|
|||
Check_Cycla1,
|
||||
Check_Flmba1,
|
||||
Check_Mapinfo,
|
||||
Check_Hawk,
|
||||
Check_Car,
|
||||
Check_Nose,
|
||||
Check_Gameinfo,
|
||||
Check_e2m1
|
||||
};
|
||||
|
@ -287,6 +296,10 @@ static EIWADType ScanIWAD (const char *iwad)
|
|||
{
|
||||
return IWAD_ActionDoom2;
|
||||
}
|
||||
else if (lumpsfound[Check_Hawk] && lumpsfound[Check_Car] && lumpsfound[Check_Nose])
|
||||
{
|
||||
return IWAD_Harmony;
|
||||
}
|
||||
else if (lumpsfound[Check_FreeDoom])
|
||||
{
|
||||
// Is there a 100% reliable way to tell FreeDoom and FreeDM
|
||||
|
|
|
@ -560,7 +560,7 @@ void D_Display ()
|
|||
bool wipe;
|
||||
bool hw2d;
|
||||
|
||||
if (nodrawers)
|
||||
if (nodrawers || screen == NULL)
|
||||
return; // for comparative timing / profiling
|
||||
|
||||
cycle_t cycles;
|
||||
|
|
|
@ -81,6 +81,7 @@ enum EIWADType
|
|||
IWAD_ChexQuest,
|
||||
IWAD_ChexQuest3,
|
||||
IWAD_ActionDoom2,
|
||||
IWAD_Harmony,
|
||||
IWAD_Custom,
|
||||
|
||||
NUM_IWAD_TYPES
|
||||
|
|
|
@ -1190,7 +1190,7 @@ bool AInventory::TryPickup (AActor *&toucher)
|
|||
ItemFlags &= ~IF_PICKUPGOOD;
|
||||
GoAwayAndDie ();
|
||||
}
|
||||
else if (MaxAmount == 0)
|
||||
else if (MaxAmount == 0 && !IsKindOf(RUNTIME_CLASS(AAmmo)))
|
||||
{
|
||||
// Special case: If an item's MaxAmount is 0, you can still pick it
|
||||
// up if it is autoactivate-able.
|
||||
|
|
1
src/gi.h
1
src/gi.h
|
@ -42,6 +42,7 @@
|
|||
#define GI_SHAREWARE 0x00000002
|
||||
#define GI_MENUHACK_EXTENDED 0x00000004 // (Heretic)
|
||||
#define GI_TEASER2 0x00000008 // Alternate version of the Strife Teaser
|
||||
#define GI_COMPATSHORTTEX 0x00000010 // always force COMPAT_SHORTTEX for IWAD maps.
|
||||
|
||||
#include "gametype.h"
|
||||
|
||||
|
|
|
@ -586,8 +586,41 @@ void gl_RenderModel(GLSprite * spr, int cm)
|
|||
}
|
||||
|
||||
Matrix3x4 ModelToWorld;
|
||||
Matrix3x4 LightTransform;
|
||||
Matrix3x4 *mat;
|
||||
|
||||
// The light transform matrix only contains the inverse rotations and scalings
|
||||
/*
|
||||
LightTransform.MakeIdentity();
|
||||
|
||||
gl.Scalef(
|
||||
1./FIXED2FLOAT(spr->actor->scaleX) * smf->xscale,
|
||||
1./FIXED2FLOAT(spr->actor->scaleY) * smf->zscale, // y scale for a sprite means height, i.e. z in the world!
|
||||
1./FIXED2FLOAT(spr->actor->scaleX) * smf->yscale);
|
||||
|
||||
// [BB] Workaround for the missing pitch information.
|
||||
if ( (smf->flags & MDL_PITCHFROMMOMENTUM) )
|
||||
{
|
||||
const double x = static_cast<double>(spr->actor->velx);
|
||||
const double y = static_cast<double>(spr->actor->vely);
|
||||
const double z = static_cast<double>(spr->actor->velz);
|
||||
// [BB] Calculate the pitch using spherical coordinates.
|
||||
const double pitch = atan( z/sqrt(x*x+y*y) ) / M_PI * 180;
|
||||
|
||||
LightTransform.Rotate(0,0,1,-pitch);
|
||||
}
|
||||
if( smf->flags & MDL_ROTATING )
|
||||
{
|
||||
float offsetAngle = 0.;
|
||||
const float time = smf->rotationSpeed*GetTimeFloat()/200.;
|
||||
offsetAngle = ( (time - static_cast<int>(time)) *360. );
|
||||
|
||||
LightTransform.Rotate(smf->xrotate, smf->yrotate, smf->zrotate, -offsetAngle);
|
||||
}
|
||||
LightTransform.Rotate(0,1,0, ANGLE_TO_FLOAT(spr->actor->angle));
|
||||
*/
|
||||
|
||||
|
||||
if (gl_fogmode != 2)
|
||||
{
|
||||
// Model space => World space
|
||||
|
|
|
@ -31,6 +31,25 @@ QUITMSG12 = "senti amico, esci adesso\ne perdi il tuo body count!";
|
|||
QUITMSG13 = "esci pure. quanto tornerai\nti aspettero' con un bastone.";
|
||||
QUITMSG14 = "sei fortunato che non ti picchi\nper aver pensato di andartene.";
|
||||
|
||||
// Quit Strife messages
|
||||
QUITMSG15 = "dove stai andando?!\ne la ribellione?";
|
||||
QUITMSG16 = "macellus interruptus...\nche presa in giro!";
|
||||
QUITMSG17 = "ma tu sei la speranza\n-- la mia unica possibilita'!!";
|
||||
QUITMSG18 = "nessuno gira le spalle a Blackbird.";
|
||||
QUITMSG19 = "pensavo tu fossi diverso...";
|
||||
QUITMSG20 = "ma bravo! uccidi e scappi!";
|
||||
QUITMSG21 = "puoi uscire...\nma non puoi nasconderti...";
|
||||
QUITMSG22 = "eehi, che problema c'e'?\nla mamma ha detto che e' ora di cena?";
|
||||
|
||||
// Quit Chex messages
|
||||
QUITMSG23 = "Non uscire ora, ci sono ancora\nflemoidi a piede libero!";
|
||||
QUITMSG24 = "Non arrenderti -- i flemoidi\nci sopraffaranno!";
|
||||
QUITMSG25 = "Non andartene ora.\nCi serve il tuo aiuto!";
|
||||
QUITMSG26 = "Spero tu stia solo facendo un\nbreak per prendere un Chex(R) party mix.";
|
||||
QUITMSG27 = "non uscire ora!\nCi serve il tuo aiuto!";
|
||||
QUITMSG28 = "Non abbandonare la\nFederazione Intergalattica dei Cereali!";
|
||||
QUITMSG29 = "Il vero guerriero Chex(R)\nnon si arrenderebbe cosi' in fretta!";
|
||||
|
||||
LOADNET = "non puoi caricare una partita durante un netgame!\n\npremi un tasto.";
|
||||
QLOADNET = "non puoi fare un quickload durante un netgame!\n\npremi un tasto.";
|
||||
QSAVESPOT = "non hai ancora scelto uno slot per il quicksave!\n\npremi un tasto.";
|
||||
|
@ -91,6 +110,7 @@ PD_REDK = "Ti serve una chiave rossa per aprire questa porta";
|
|||
PD_YELLOWK = "Ti serve una chiave gialla per aprire questa porta";
|
||||
GGSAVED = "gioco salvato";
|
||||
HUSTR_MSGU = "[Messaggio non inviato]";
|
||||
PICKUP_PISTOL_DROPPED = "Raccolta una pistola.";
|
||||
|
||||
// Level names
|
||||
HUSTR_E1M1 = "E1M1: Hangar";
|
||||
|
@ -254,6 +274,8 @@ STSTR_BEHOLD = "inVuln, BerSerk, Invisib, Tuta anti-Rad, MAppa, o Amplif-Luce";
|
|||
STSTR_BEHOLDX = "Power-up concesso/tolto";
|
||||
STSTR_CHOPPERS = "Ora vai e segali tutti!";
|
||||
STSTR_CLEV = "Cambio di livello...\n";
|
||||
TXT_BUDDHAON = "Modalita' Buddha attivata";
|
||||
TXT_BUDDHAOFF = "Modalita' Buddha disattivata";
|
||||
|
||||
E1TEXT =
|
||||
"Una volta che hai eliminato i cattivi e\n"
|
||||
|
@ -559,13 +581,15 @@ PD_BLUESO = "ti serve una chiave-teschio blu per attivare questo oggetto ";
|
|||
PD_REDSO = "ti serve una chiave-teschio rossa per attivare questo oggetto ";
|
||||
PD_YELLOWSO = "ti serve una chiave-teschio gialla per attivare questo oggetto ";
|
||||
|
||||
PD_ALLKEYS = "Ti servono tutte le chiavi";
|
||||
|
||||
|
||||
// Gameflow messages
|
||||
TXT_FRAGLIMIT = "Fraglimit raggiunto.";
|
||||
TXT_TIMELIMIT = "Timelimit raggiunto.";
|
||||
|
||||
// Spree messages
|
||||
SPREEKILLSELF = "%o stava bene finche' %g non si e' ucciso!";
|
||||
SPREEKILLSELF = "%o stava andando bene finche' non si e' ucciso da solo!";
|
||||
SPREEOVER = "La sequela di frag di %o e' stata terminata da %k";
|
||||
SPREE5 = "%k e' preda di un momento omicida!";
|
||||
SPREE10 = "%k sta facendo un massacro!";
|
||||
|
@ -578,6 +602,10 @@ MULTI2 = "Frag doppio!";
|
|||
MULTI3 = "Frag multiplo!";
|
||||
MULTI4 = "Frag ultra!";
|
||||
MULTI5 = "Frag DA PAURA!";
|
||||
//MULTI2 = "Double kill!";
|
||||
//MULTI3 = "Multi kill!";
|
||||
//MULTI4 = "Ultra kill!";
|
||||
//MULTI5 = "Monster kill!";
|
||||
|
||||
// Obituary strings
|
||||
// First the self-kills, then the other-kills
|
||||
|
@ -588,24 +616,24 @@ OB_EXIT = "%o ha provato a uscire.";
|
|||
OB_WATER = "%o non sapeva nuotare.";
|
||||
OB_SLIME = "%o e' mutato.";
|
||||
OB_LAVA = "%o si e' sciolto.";
|
||||
OB_BARREL = "%o e' esploso.";
|
||||
OB_BARREL = "%o ha fatto bum.";
|
||||
OB_SPLASH = "%o si e' trovato nel posto sbagliato.";
|
||||
OB_R_SPLASH = "%o avrebbe dovuto allontanarsi.";
|
||||
OB_ROCKET = "%o avrebbe dovuto allontanarsi.";
|
||||
OB_KILLEDSELF = "%o ha ucciso se stesso.";
|
||||
|
||||
OB_STEALTHBABY = "%o pensava che %g avesse visto un arachnotron.";
|
||||
OB_STEALTHVILE = "%o pensava che %g avesse visto un Arch-Vile.";
|
||||
OB_STEALTHBARON = "%o pensava che %g avesse visto un Barone Infernale.";
|
||||
OB_STEALTHCACO = "%o pensava che %g avesse visto un cacodemone.";
|
||||
OB_STEALTHCHAINGUY = "%o pensava che %g avesse visto uno zombie commando.";
|
||||
OB_STEALTHDEMON = "%o pensava che %g avesse visto un demone.";
|
||||
OB_STEALTHKNIGHT = "%o pensava che %g avesse visto un Cavaliere Infernale.";
|
||||
OB_STEALTHIMP = "%o pensava che %g avesse visto un imp.";
|
||||
OB_STEALTHFATSO = "%o pensava che %g avesse visto un mancubo.";
|
||||
OB_STEALTHUNDEAD = "%o pensava che %g avesse visto un revenant.";
|
||||
OB_STEALTHSHOTGUY = "%o pensava che %g avesse visto un sergente.";
|
||||
OB_STEALTHZOMBIE = "%o pensava che %g avesse visto uno zombie.";
|
||||
OB_STEALTHBABY = "a %o sembrava di aver visto un arachnotron.";
|
||||
OB_STEALTHVILE = "a %o sembrava di aver visto un Arch-Vile.";
|
||||
OB_STEALTHBARON = "a %o sembrava di aver visto un Barone Infernale.";
|
||||
OB_STEALTHCACO = "a %o sembrava di aver visto un cacodemone.";
|
||||
OB_STEALTHCHAINGUY = "a %o sembrava di aver visto uno zombie commando.";
|
||||
OB_STEALTHDEMON = "a %o sembrava di aver visto un demone.";
|
||||
OB_STEALTHKNIGHT = "a %o sembrava di aver visto un Cavaliere Infernale.";
|
||||
OB_STEALTHIMP = "a %o sembrava di aver visto un imp.";
|
||||
OB_STEALTHFATSO = "a %o sembrava di aver visto un mancubo.";
|
||||
OB_STEALTHUNDEAD = "a %o sembrava di aver visto un revenant.";
|
||||
OB_STEALTHSHOTGUY = "a %o sembrava di aver visto un sergente.";
|
||||
OB_STEALTHZOMBIE = "a %o sembrava di aver visto uno zombie.";
|
||||
OB_UNDEADHIT = "%o e' stato massacrato da un revenant.";
|
||||
OB_IMPHIT = "%o e' stato squarciato da un imp.";
|
||||
OB_CACOHIT = "%o si e' avvicinato troppo a un cacodemone.";
|
||||
|
@ -629,6 +657,7 @@ OB_BABY = "%o ha permesso che un arachnotron l'uccidesse.";
|
|||
OB_CYBORG = "%o e' stato spiaccicato da un Cyberdemonio.";
|
||||
OB_WOLFSS = "%o ha incontrato un Nazista.";
|
||||
|
||||
OB_DOG = "%o e' stato sbranato da un cane.";
|
||||
OB_CHICKEN = "%o e' stato beccato a morte.";
|
||||
OB_BEAST = "%o e' stato carbonizzato da una bestia.";
|
||||
OB_CLINK = "%o e' stato squarciato da un lapillo.";
|
||||
|
@ -667,7 +696,7 @@ OB_MONTELEFRAG = "%o si e' fatto telefraggare.";
|
|||
|
||||
OB_DEFAULT = "%o e' morto.";
|
||||
OB_FRIENDLY1 = "%k falcia via un compagno.";
|
||||
OB_FRIENDLY2 = "%k controlla gli occhiali di %p.";
|
||||
OB_FRIENDLY2 = "%k si controlla gli occhiali.";
|
||||
OB_FRIENDLY3 = "%k regala un frag all'altro team.";
|
||||
OB_FRIENDLY4 = "%k perde un altro amico.";
|
||||
|
||||
|
@ -1016,3 +1045,95 @@ BBA_SCROTUM = "%o ha subito la separazione dello scroto";
|
|||
BBA_POPULATION = "%o si e' offerto per il controllo della popolazione";
|
||||
BBA_SUICIDE = "%o si e' suicidato";
|
||||
BBA_DARWIN = "%o ha ricevuto il Darwin Award";
|
||||
|
||||
// Chex Quest Strings
|
||||
CHUSTR_E1M1 = "E1M1: Zona di Atterraggio";
|
||||
CHUSTR_E1M2 = "E1M2: Struttura di Immagazzinamento";
|
||||
CHUSTR_E1M3 = "E1M3: Laboratorio Sperimentale";
|
||||
CHUSTR_E1M4 = "E1M4: Arboreto";
|
||||
CHUSTR_E1M5 = "E1M5: Caverne di Bazoik";
|
||||
|
||||
CE1TEXT =
|
||||
"Missione compiuta.\n"
|
||||
"\n"
|
||||
"Sei preparato per la prossima missione?\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"Premi il tasto 'esc' per continuare...";
|
||||
|
||||
CE2TEXT = "Ce l'hai fatta!";
|
||||
CE3TEXT = "Meraviglioso!";
|
||||
CE4TEXT = "Fantastico";
|
||||
|
||||
CLOADNET = "non puoi caricare una quest durante una net quest!\n\npress a key.";
|
||||
CQSPROMPT = "sovrascrivere il salvataggio\n\n'%s'?\n\npremi y oppure n.";
|
||||
CQLOADNET = "non puoi fare un quickload durante una netquest!\n\npremi un tasto.";
|
||||
CQLPROMPT = "vuoi fare un quickload della quest\n\n'%s'?\n\npremi y oppure n.";
|
||||
CNEWGAME = "non puoi iniziare una nuova quest\ndurante una quest in rete.\n\npremi un tasto.";
|
||||
|
||||
CNIGHTMARE = "Attento, sara' dura.\nVuoi continuare?\n\npremi y oppure n.";
|
||||
|
||||
CSWSTRING = "questa e' Chex(R) Quest. cerca\n\nfuturi livelli su www.chexquest.com.\n\npremi un tasto.";
|
||||
|
||||
CNETEND = "non puoi terminare una netquest!\n\npremi un tasto";
|
||||
CENDGAME = "sei sicuro di voler terminare la quest?\n\npremi y oppure n.";
|
||||
|
||||
GOTCHEXARMOR = "Raccolta un'Armatura Chex(R).";
|
||||
GOTSUPERCHEXARMOR = "Raccolta la Super Armatura Chex(R)!";
|
||||
GOTWATER = "Raccolto un bicchiere d'acqua.";
|
||||
GOTREPELLENT = "Raccolto del repellente allo slime.";
|
||||
GOTBREAKFAST = "Colazione da supercarica!";
|
||||
GOTCBLUEKEY = "Raccolta una chiave blu.";
|
||||
GOTCYELLOWKEY = "Raccolta una chiave gialla.";
|
||||
GOTCREDKEY = "Raccolta una chiave rossa.";
|
||||
GOTFRUIT = "Raccolto un vassoio di frutta.";
|
||||
GOTVEGETABLESNEED = "La verdura ti fa DAVVERO bene!";
|
||||
GOTVEGETABLES = "Raccolto un vassoio di verdura.";
|
||||
GOTSLIMESUIT = "Raccolto un vestito a prova di slime";
|
||||
GOTCHEXMAP = "Trovata una mappa computerizzata";
|
||||
|
||||
GOTZORCHRECHARGE = "Raccolta una ricarica di mini zorch.";
|
||||
GOTMINIZORCHPACK = "Raccolta una scatola di mini zorch.";
|
||||
GOTPROPULSORRECHARGE = "Raccolta una ricarica di zorch a propulsione.";
|
||||
GOTPROPULSORPACK = "Raccolta una scatola di zorch a propulsione.";
|
||||
GOTPHASINGZORCHERRECHARGE = "Raccolta una ricarica per zorcher a phasing";
|
||||
GOTPHASINGZORCHERPACK = "Raccolta una scatola per zorcher a phasing.";
|
||||
GOTLARGEZORCHERRECHARGE = "Raccolta una ricarica per zorcher grande.";
|
||||
GOTLARGEZORCHERPACK = "Raccolta una scatola per zorcher grande.";
|
||||
GOTZORCHPACK = "Raccolto uno ZorchZaino!";
|
||||
|
||||
GOTLAZDEVICE = "Hai trovato il dispositivo LAZ! Cavolo!";
|
||||
GOTRAPIDZORCHER = "Hai trovato il zorcher rapido!";
|
||||
GOTSUPERBOOTSPORK = "Hai trovato il super bootspork!";
|
||||
GOTZORCHPROPULSOR = "Hai trovato il propulsore zorch!";
|
||||
GOTPHASINGZORCHER = "Hai trovato il zorcher a phasing!";
|
||||
GOTLARGEZORCHER = "Hai trovato il zorcher grande!";
|
||||
GOTSUPERLARGEZORCHER = "Hai trovato il mega zorcher!";
|
||||
GOTMINIZORCHER = "Raccolto un mini zorcher.";
|
||||
|
||||
STSTR_CDQDON = "Modalita' invincibile attivata";
|
||||
STSTR_CDQDOFF = "Modalita' invincibile disattivata";
|
||||
STSTR_CFAADDED = "Zorch aggiunto";
|
||||
STSTR_CKFAADDED = "Super Zorch aggiunto";
|
||||
STSTR_CCHOPPERS = "... Mangia Chex(R)!";
|
||||
|
||||
OB_COMMONUS = "%o e' stato coperto di slime da un flemoid.";
|
||||
OB_BIPEDICUS = "%o e' stato coperto di slime da un bipedicus.";
|
||||
OB_BIPEDICUS2 = "%o e' stato coperto di slime da un bipedicus corazzato.";
|
||||
OB_CYCLOPTIS = "%o e' stato coperto di slime da un cycloptis.";
|
||||
OB_FLEMBRANE = "%o e' stato sconfitto dalla Flembrana.";
|
||||
|
||||
OB_MPSPOON = "%o e' stato imboccato da %k.";
|
||||
OB_MPBOOTSPORK = "%o e' stato mischiato ben bene dal bootspork di %k.";
|
||||
OB_MPZORCH = "%o e' stato zorchato da %k.";
|
||||
OB_MPMEGAZORCH = "%o e' stato colpito dal mega-zorcher di %k.";
|
||||
OB_MPRAPIDZORCH = "%o e' stato rapid-zorchato da %k.";
|
||||
OB_MPPROPULSOR = "%o e' stato zorchato dal propulsore di %k.";
|
||||
OB_MPP_SPLASH = "%o e' stato colpito dal propulsore di %k.";
|
||||
OB_MPPHASEZORCH = "%o e' stato phase-zorchato da %k.";
|
||||
OB_MPLAZ_BOOM = "%o e' stato preda del dispositivo LAZ di %k.";
|
||||
OB_MPLAZ_SPLASH = "%o e' stato lazzato da %k.";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue