Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
08.06.2007, 13:46
Munkey



hey folks,

in welcher datei befindet sich im sdk source von ricochet das hauptmenü. also quasi wo der pfad der bmp liegt etc.

vllt. kennt ihr ja noch seiten zum coden für hl1 wäre sehr nett wenn ihr die auch posten könntet.

danke schonmal im vorraus

gruß munkey

--

zum Seitenanfang zum Seitenende Profil || Suche
001
08.06.2007, 15:17
Xardas



das hauptmenü ist leider hardcoded :/ also leider nicht veränderbar , man kann lediglich bmps austauschen usw...

--

Music Artist / 2D Artist / Mapper

zum Seitenanfang zum Seitenende Profil || Suche
002
09.06.2007, 17:37
Munkey



hey [IDF] Xardas,

danke für die info, aber man kann doch bei hl1 wenn man das game startet auf custom ein anders game bzw. mod auswählen. sobald man diese dann aktiviert, bekommt man ein anders hauptmenü und is ja dann in der mod drin. jetz will ich nur wissen wie und wo man das festlegt im source des sdk!

danke aber schonmal für die info

gruß

munkey

--

zum Seitenanfang zum Seitenende Profil || Suche
003
09.06.2007, 18:54
Xardas



Wie gesagt, die bitmaps dafür liegen nicht dem sdk bei , sondern im valve/gfx/xxx ordner ...

--

Music Artist / 2D Artist / Mapper

zum Seitenanfang zum Seitenende Profil || Suche
004
10.06.2007, 02:10
Pyro Phoenix



[besserwissermodus]
Im 'großen' SDK liegt ein Action Script für Adobe Photoshop bei,
mit dem man das komplette Schriftbild von Half Life verändern kann.
[/besserwissermodus]

€dit:

Hier eine Alte PSD von mir.

--


Dieser Beitrag wurde am 10.06.2007 um 02:16 von Pyro Phoenix bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
005
10.06.2007, 12:18
Munkey



danke Pyro Phoenix,

und wie soll das heißen. und kann ich jetz nicht die namen ändern, also bin ich darauf angewiesen die datein soo zubennen wie sie heißen also head_controls anstatt einfach controls??

--

zum Seitenanfang zum Seitenende Profil || Suche
006
10.06.2007, 19:31
Pyro Phoenix



Die Dateinamen müssen so bleiben wie sie sind.
Der Inhalt kann aber nach belieben geändert werden, solange die Proportionen
gleich bleiben.
Da es sich hier um *.psd Dateien handelt, müssten die Dateien nach dem
bearbeiten in eine 8 bit Bitmap Datei (*.bmp) umgewandelt werden.

--


Dieser Beitrag wurde am 10.06.2007 um 19:33 von Pyro Phoenix bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
007
10.06.2007, 21:07
Protector



Wenn du ein Custommenü coden willst, kannst du mit OpenGL folgendes machen:

Zuerst musst du überprüfen ob der Spieler im Menü ist oder nicht. Nimm dafür eine neue Variable in CHud, nennen wir sie "player_menu":
Quellcode:bool player_menu;
Setze die Variable in CHud::Init() auf true (am Anfang ist der Spieler immer im Menü):
Quellcode:player_menu = true;
Nun gehe in die Funktion V_CalcNormalRefdef in der view.cpp und füge folgendes ganz am Anfang ein:
Quellcode:player_menu = false;
Zum Schluss kommt der wichtige Code in CHud::Think()
Erst löscht du mögliche Clip-Ebenen(siehe unten), danach fragst du die Variable player_menu ab. Steht sie auf false, setzt du sie auf true:
Quellcode:glDisable(GL_CLIP_PLANE0);

if (!player_menu)
{
player_menu = true;
}
else
{
...
}
Kommen wir nun zu else. Erstelle eine Clip-Ebene senkrecht zur z-Achse der Viewmatrix des Spielers:
Quellcode:GLdouble plane[4] = {0.0,0.0,1.0,0.0};
Jetzt muss der Bildschirminhalt gelöscht werden:
Quellcode:glColor4f(0,0,0,0);
glClearColor(0,0,0,0);
glClearDepth(0);
glClearStencil(0);
glClearAccum(0,0,0,0);
glClear(GL_COLOR_BUFFER_BIT);
glClear(GL_DEPTH_BUFFER_BIT);
glClear(GL_STENCIL_BUFFER_BIT);
glClear(GL_ACCUM_BUFFER_BIT);
Danach kommt dein Custom-Menü. Hier setze ich Selbstständigkeit voraus, da ich hier kein Menü coden sondern nur die Möglichkeiten schreiben will. Lade ein Hintergrundbild (Bitmap im Spielordner oder Screenshot aus dem Spiel) oder eine Animation (avi-File, Live-Szene aus dem Spiel, irgendein Modell etc) und danach die Buttons die du haben möchtest. Eventuelle Shader kannst du beliebig dazuladen.
Um das Menü funktionsfähig zu machen, musst du mit der VGUI-Api ein Ingame-Menü aktivieren, dessen Buttons an der Stelle sind, wo du die OpenGL-Buttons hast (dafür gibt es auch unzählige Tutorials auf resourcecode oder wavelength etc.)
Da kannst du dann wiederum Funktion festlegen, die Variablen ändern, anhand derer du die grafische Oberfläche des Menüs änderst (z.B. ein gedrückter Knopf oder ein rotierendes Menü etc)

Damit das Steam-Menü bei der Benutzung nicht interferiert, musst du die Menüdateien im Mod-Ordner leeren, damit das eigentliche Menü keine Buttons mehr hat. Die Hintergrundgrafik kannst du lassen, die sieht man eh nicht und ob ein HL-Hintergrund geladen und nicht gezeichnet wird oder ein Foto von Himbeereis mit Sahnesauce, ist weder Performance- noch sonstwie relevant.

Am Ende von else musst du die Clip-Ebene aktivieren, damit das Steam-Menü nicht über dein Menü gezeichnet wird:
Quellcode:glEnable(GL_CLIP_PLANE0);
glClipPlane(GL_CLIP_PLANE0, plane);

--


Dieser Beitrag wurde am 10.06.2007 um 21:10 von Protector bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
008
11.06.2007, 09:15
Munkey



wow protector,

das muss ich dann jetzt mal testen. hoffe das klappt bzw. ich mach das auch richtig..aber danke schonmal für die info!!!aber du schreibst am ende steam....ich habe aber die normale hl1 version also die es damals auf cd zukaufen gab. geht das dann damit auch...müsste ja..

btw. arbeitest du an der mod "half-life town"??? die sieht ja echt mal übel aus!!! also nicht falsch verstehn....also hammer hard!!

--


Dieser Beitrag wurde am 11.06.2007 um 09:29 von Munkey bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
009
11.06.2007, 11:57
Protector



Ich habe einen kleinen Fehler bemerkt. In V_CalcNormalRefdef muss Quellcode:gHUD.player_menu = false; stehen, damit der Wert in CHud geändert wird.

Ich weiß nicht, ob bei Won CHud::Think() aufgerufen wird, wenn man im Menü ist. Möglich ist es, falls nicht, musst du eine andere Funktion finden, die immer jedes Frame läuft. Die client.dll ist auf jeden Fall auch im Won-Menü aktiv.

Und ja, ich habe HL: Town ins Leben gerufen und bin da quasi Arsch für Alles.

--

zum Seitenanfang zum Seitenende Profil || Suche
010
13.06.2007, 14:43
Protector



So, da ich für HL: Town eh ein Custom-Menü machen wollte, habe ich das jetzt einfach mal in Angriff genommen. So sieht mein Steam-Menü jetzt aus:

http://hltown.de/userftp/protector/random_hlt/custommenu.png

Ich habe mich übrigens oben vertan. V_CalcNormalRefdef läuft jedes Frame, da setze ich player_menu auf true. HUD_Redraw läuft nur wenn man nicht im Menü ist, aber auch jedes Frame und nach V_CalcNormalRefdef. Da setze ich den Wert auf false. HUD_Frame ist eine Funktion, die immer rennt und zwar als erste im Frame. Sie läuft auch wenn man das Spiel gestartet hat und ganz zu Beginn im Menü ist. In dieser Funktion frage ich den Wert ab und rendere dann mein eigenes Menü.

--

zum Seitenanfang zum Seitenende Profil || Suche