PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fragen zum Crysis Wars Source Code



Flow groover
15.10.2011, 13:46
Hi, ich habe ein paar Fragen zum Crysis Wars Source Code.
Nämlich, bin ich gerade dabei das Ding für ne SP Mod zu ändern.


Neues Spiel - Funktion
Die sfd Videos ein wenig umstellenRecht übersichtlich :)

1. Wenn ich jetzt im Hauptmenü auf "Neues Spiel" gehe, kommt ein Schwarzer Screen. Kennen die, die sich damit schon auseinander gesetzt haben sicher.

Nun zum Wesentlichen.
In der "FlashMenuObject.cpp" ist in CW ab Zeile 3264 die Funktion "CFlashMenuObject::OnPostUpdate".

Jetzt habe ich das Problem, das diese irgendwie komplett anders Strukturiert ist als die von Crysis.

In Crysis wird definiert, das nach beendigung das Intro Videos, das level Island geladen wird.

if(m_stateEntryMovies==eEMS_GameStop)
{
// map load
m_stateEntryMovies = eEMS_GameDone;
m_bUpdate = false;
if(m_pMusicSystem)
m_pMusicSystem->SetMood("menu_music", true, true);
PlaySound(ESound_MenuAmbience);

gEnv->pConsole->ExecuteString("map island nonblocking");

return;
}

Der ganze block fehlt, (im grunde genommen)

Da ich aber sowieso nicht vorhatte ein Intro Video einzubinden, müsste man nur einrichten das beim klicken auf "New Game" direkt " gEnv->pConsole->ExecuteString("map Island nonblocking");" aufgerufen wird.

Wo mache ich das am besten?

Wie habt ihr, Hamers und Masterside das gelöst?

2. In Crysis wird in der FlashMenuObject.cpp aufgelistet wo welche sfds gespeichert sind, welche davon überspringbar sind.
In Crysis Wars sind beide Listen nicht mehr da. Da wo die waren ist in CW nichts. Habe auch mit der Sufu mal "Trailer_Crytek.sfd" in der gesammten Projektmappe gegoogelt, kein Fund.
Wo finde ich diese "Skip" Liste? Ich möchte eigentlich blos alle Videos bis auf das von Crytek und einer eigenen deaktivieren.


Hoffe mir kann einer helfen. Ist ja jetzt nicht so schwer (hoffe ich :lol:).

MfG

Flow groover
15.10.2011, 14:23
void CFlashMenuObject::StartSingleplayerGame(const char *strDifficulty)
{

ICVar* ai = gEnv->pConsole->GetCVar("ai_systemUpdate");
if(ai)
ai->ForceSet("1");

[...]

gEnv->pConsole->ExecuteString("map island nonblocking");
}

Ist Theoretisch die Lösung, aber jetzt steht ein neues Problem im Raum.
Ich hatte schon bevor ich das so eingerichtet hatte, immer wenn der schwarze screen nach neuem Spiel kam, "map island" eingeben können. Hatte funktioniert. Das was ich jetzt bei der New Game Funktion gemacht habe ist im Grunde nichts anderes.

Aber ich hatte schon vorher das Problem, das man es 2 mal machen musste, da beim ersten mal "failed to initiate" in der Konsole wiedergegeben wird. Beim 2 mal wird das Level aber geladen.

Nun, wie löse ich diesen "Fehler" - "failed to initiate"?
Ich habe den sicherlich nicht verbockt (kann ja bei meinen kentnissen gut sein :) ), ich habe noch nicht sonderlich viel im Code geändert, und das meiste war nicht sehr tiefgreifend.

Flow groover
17.10.2011, 18:23
-push-

Hamers
18.10.2011, 11:15
Die sfd Videos ein wenig umstellen
In Crysis Wars wurde dafür ein neuer MovieManager geschrieben. Dieser lädt die movielist.xml in der Localized>German.pak bzw. English.pak.
Dort kannst du nun festlegen, welche Filme spielen sollen und mit welcher Skip Option.


Neues Spiel - Funktion
Da wir auch das ganz alte Optionsmenü wiederhaben und auch sonst Crysis Wars soweit wie möglich Crysis 1 angleichen wollten, habe ich den FlashMenuObject.cpp Code aus Crysis 1 für Crysis Wars adaptiert.

Dadurch hatte sich das New Game Problem gleich mit erledigt ;)

Allerdings sollte es auch mit Wars gehen. Du kannst dir ja mal den FGPlugin 1.5 Source Code für Wars angucken und den der SPMod, da sollte es auch gehen.

Warum macht das eigl nicht McDjuady für dich, sollte doch ein Kinderspiel sein. Dann kannst du dich auf das wesentliche konzentrieren ? :)

Flow groover
18.10.2011, 12:13
1. Danke :D
2. Ich habe schon wild rumgegoogelt, aber ich kann den Source Code für die SP Mod nirgends mehr finden. Entweder ist es nur die SP Mod, oder irgendwas das mit Crysis garnichts zu tun hat :lol: irgendwie lustig... Falls du die da haben solltest, wäre es cool wenn du das Pack hochladen könntest, oder besser, einen link. (hab sogar auf fantasie haze geschaut, kann nur die mod finden)

3. Kein Kommentar. :wink:

Vielen Dank nochmal.
Das das Moviesystem umgeschrieben wurde erklärt so einiges.

Hamers
18.10.2011, 17:07
@Flow groover
Den Source Code von der SP Mod habe ich auch nicht. Ich habe nur mit dem Source Code des FGPlugins gearbeitet und dort dann den Crysis 1 Code adaptiert ;)

Flow groover
16.03.2012, 16:47
Kann mir bitte einer eine Frage zu den Projektmappen beantworten?

In meiner Crysis Wars "GameDll.vcproj" habe ich irgendetwas gemacht, das in der Projektmappe nurnoch "GameDll" vorzufinden ist, "CryCommon" und "CryActionInterfaces" sehe ich im Projektmappen-Explorer nicht. Das erstellen der *.dll hatte bis jetzt aber auch ohne die beiden funktioniert. Jetzt müsste ich aber etwas an der IItem.h ändern, aber dafür müsste ich die beiden Fehlenden Rubriken haben? Kann mir bitte einer sagen wie ich sie in Visual Studio wieder sichtbar bekomme? :???: