Oh boy, here comes a big one.
Doomreal development is officially back to life. Doomreal now depends on Doom Tournament, as it's an add-on for it. Most of the resources are in place right now, just a couple more things left to add in. Flak cannon is still incomplete and weapon development will be resumed soon. There is a main menu now, I hope you like it. Player classes don't have models assigned yet, so they will look weird. Overall this is not yet very playable.
This commit is contained in:
parent
f532f74d85
commit
d3b11d1ef2
1145 changed files with 1065 additions and 883 deletions
103
zscript/unrealmenus.zsc
Normal file
103
zscript/unrealmenus.zsc
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
// draws unreal-style main menu
|
||||
Class ListMenuItemUnrealBg : ListMenuItem
|
||||
{
|
||||
TextureID tex[3];
|
||||
|
||||
void Init( ListMenuDescriptor desc, String dummy )
|
||||
{
|
||||
Super.Init(0,0);
|
||||
tex[0] = TexMan.CheckForTexture("graphics/rmetal.png",TexMan.Type_Any);
|
||||
tex[1] = TexMan.CheckForTexture("graphics/menubarr.png",TexMan.Type_Any);
|
||||
tex[2] = TexMan.CheckForTexture("graphics/unlogo.png",TexMan.Type_Any);
|
||||
}
|
||||
|
||||
override void Drawer( bool selected )
|
||||
{
|
||||
double StartX = 0.5*CleanWidth_1-128;
|
||||
int num = (CleanHeight_1/512)+1;
|
||||
for ( int i=0; i<=num; i++ )
|
||||
Screen.DrawTexture(tex[0],false,StartX*CleanXFac_1,512*CleanYFac_1*i,DTA_CleanNoMove_1,true);
|
||||
Screen.DrawTexture(tex[1],false,StartX*CleanXFac_1,(CleanHeight_1-58)*CleanYFac_1,DTA_CleanNoMove_1,true,DTA_LegacyRenderStyle,STYLE_Add);
|
||||
Screen.DrawTexture(tex[2],false,StartX*CleanXFac_1,(CleanHeight_1-52)*CleanYFac_1,DTA_CleanNoMove_1,true);
|
||||
}
|
||||
}
|
||||
|
||||
Class ListMenuItemUnrealTextItem : ListMenuItemSelectable
|
||||
{
|
||||
String mText;
|
||||
Font mFont;
|
||||
int mColor;
|
||||
int mSpacing;
|
||||
|
||||
void Init( ListMenuDescriptor desc, String text, String hotkey, Name child, int param = 0 )
|
||||
{
|
||||
Super.Init(desc.mXpos,desc.mYpos,desc.mLinespacing,child,param);
|
||||
mText = text;
|
||||
mFont = Font.GetFont('ULargeFont');
|
||||
mColor = Font.CR_UNTRANSLATED;
|
||||
mSpacing = desc.mLineSpacing;
|
||||
mHotkey = hotkey.GetNextCodePoint(0);
|
||||
}
|
||||
|
||||
void InitDirect( double x, double y, int height, String hotkey, String text, Font font, int color, int color2, Name child, int param = 0 )
|
||||
{
|
||||
Super.Init(x,y,height,child,param);
|
||||
mText = text;
|
||||
mFont = Font.GetFont('ULargeFont');
|
||||
mColor = Font.CR_UNTRANSLATED;
|
||||
int pos = 0;
|
||||
mHotkey = hotkey.GetNextCodePoint(0);
|
||||
}
|
||||
|
||||
override void Drawer( bool selected )
|
||||
{
|
||||
let tFont = generic_ui?NewSmallFont:mFont;
|
||||
double basex = floor(0.5*(CleanWidth_1-tFont.StringWidth(StringTable.Localize(mText))));
|
||||
double basey = floor(0.25*(CleanHeight_1-mSpacing*5));
|
||||
Screen.DrawText(tFont,mColor,(basex+mXPos)*CleanXFac_1,(basey+mYpos)*CleanYFac_1,mText,DTA_CleanNoMove_1,true,DTA_Alpha,selected?1.0:0.5);
|
||||
}
|
||||
|
||||
override int GetWidth()
|
||||
{
|
||||
let tFont = generic_ui?NewSmallFont:mFont;
|
||||
return max(1,tFont.StringWidth(StringTable.Localize(mText)));
|
||||
}
|
||||
|
||||
override void DrawSelector( double xofs, double yofs, TextureID tex )
|
||||
{
|
||||
// nothing
|
||||
}
|
||||
}
|
||||
|
||||
// for hud config
|
||||
Class OptionMenuItemHudType : OptionMenuItem
|
||||
{
|
||||
TextureID tex[6];
|
||||
CVar mCVar;
|
||||
|
||||
OptionMenuItemHudType Init( String label )
|
||||
{
|
||||
Super.Init(label,"",true);
|
||||
mCVar = CVar.FindCVar('stinger_hudmode');
|
||||
tex[0] = TexMan.CheckForTexture("graphics/Hud1.png",TexMan.Type_Any);
|
||||
tex[1] = TexMan.CheckForTexture("graphics/Hud2.png",TexMan.Type_Any);
|
||||
tex[2] = TexMan.CheckForTexture("graphics/Hud3.png",TexMan.Type_Any);
|
||||
tex[3] = TexMan.CheckForTexture("graphics/Hud4.png",TexMan.Type_Any);
|
||||
tex[4] = TexMan.CheckForTexture("graphics/Hud5.png",TexMan.Type_Any);
|
||||
tex[5] = TexMan.CheckForTexture("graphics/Hud6.png",TexMan.Type_Any);
|
||||
return self;
|
||||
}
|
||||
|
||||
override bool Selectable()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
override int Draw( OptionMenuDescriptor desc, int y, int indent, bool selected )
|
||||
{
|
||||
int xpos = indent + CursorSpace();
|
||||
int ypos = y + OptionMenuSettings.mLinespacing*CleanYfac_1;
|
||||
Screen.DrawTexture(tex[mCVar.GetInt()],false,xpos,ypos,DTA_CleanNoMove_1,true);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue