static LevelInfo() { foreach (var levelInfo in sheet) { if (levelInfo.id == 0) { continue; } levelInfo.type = LevelType.sheet[levelInfo.levelTypeIndex]; levelInfo.preset = LevelPreset.Find(levelInfo.id); levelInfo.entryFile = @"data\local\ui\eng\act" + (levelInfo.act + 1) + @"\" + levelInfo._entryFile + ".dc6"; foreach (string mon in levelInfo._monsters) { if (mon != null && mon != "") { levelInfo.monsters.Add(mon); } } levelInfo.soundEnv = SoundEnvironment.Find(levelInfo.soundEnvId); levelInfo.maze = LevelMazeInfo.Find(levelInfo.id); nameIndex.Add(levelInfo.name, levelInfo); idMap.Add(levelInfo.id, levelInfo); while (byAct.Count <= levelInfo.act) { byAct.Add(new List <LevelInfo>()); } byAct[levelInfo.act].Add(levelInfo); } }
public static string GetSoundEnvironment(SoundEnvironment soundEnvironment) { switch (soundEnvironment) { case SoundEnvironment.Mountains: return("Default"); case SoundEnvironment.Lake: return("lake"); case SoundEnvironment.Psychotic: return("psychotic"); case SoundEnvironment.Dungeon: return("Dungeon"); default: return("Default"); } }
public static void LoadAll() { var sw = System.Diagnostics.Stopwatch.StartNew(); Translation.Load(); SoundInfo.Load(); SoundEnvironment.Load(); ObjectInfo.Load(); BodyLoc.Load(); ExpTable.Load(); LevelType.Load(); LevelWarpInfo.Load(); LevelPreset.Load(); LevelMazeInfo.Load(); LevelInfo.Load(); OverlayInfo.Load(); MissileInfo.Load(); ItemStat.Load(); ItemRatio.Load(); ItemType.Load(); ItemPropertyInfo.Load(); ItemSet.Load(); UniqueItem.Load(); SetItem.Load(); TreasureClass.Load(); MagicAffix.Load(); CharStatsInfo.Load(); MonLvl.Load(); MonPreset.Load(); MonSound.Load(); MonStatsExtended.Load(); MonStat.Load(); SuperUnique.Load(); SkillDescription.Load(); SkillInfo.Load(); SpawnPreset.Load(); StateInfo.Load(); Debug.Log("All txt files loaded in " + sw.ElapsedMilliseconds + " ms"); }
private FunctionSyntax GetMainFunctionSyntax(float left, float right, float top, float bottom, Tileset tileset, SoundEnvironment sound, params string[] initFunctions) { var statements = new List <NewStatementSyntax>() { JassSyntaxFactory.CallStatement( "SetCameraBounds", JassSyntaxFactory.ArgumentList( JassSyntaxFactory.VariableExpression("left"), JassSyntaxFactory.VariableExpression("bottom"), JassSyntaxFactory.VariableExpression("right"), JassSyntaxFactory.VariableExpression("top"), JassSyntaxFactory.VariableExpression("left"), JassSyntaxFactory.VariableExpression("top"), JassSyntaxFactory.VariableExpression("right"), JassSyntaxFactory.VariableExpression("bottom"))), JassSyntaxFactory.CallStatement( "SetDayNightModels", JassSyntaxFactory.ArgumentList( JassSyntaxFactory.ConstantExpression(LightEnvironmentProvider.GetTerrainLightEnvironmentModel(tileset)), JassSyntaxFactory.ConstantExpression(LightEnvironmentProvider.GetUnitLightEnvironmentModel(tileset)))), JassSyntaxFactory.CallStatement( "NewSoundEnvironment", JassSyntaxFactory.ConstantExpression(SoundEnvironmentProvider.GetSoundEnvironment(sound))), JassSyntaxFactory.CallStatement( "SetAmbientDaySound", JassSyntaxFactory.ConstantExpression(SoundEnvironmentProvider.GetAmbientDaySound(tileset))), JassSyntaxFactory.CallStatement( "SetAmbientNightSound", JassSyntaxFactory.ConstantExpression(SoundEnvironmentProvider.GetAmbientNightSound(tileset))), JassSyntaxFactory.CallStatement( "SetMapMusic", JassSyntaxFactory.ArgumentList( JassSyntaxFactory.ConstantExpression("Music"), JassSyntaxFactory.ConstantExpression(true), JassSyntaxFactory.ConstantExpression(0))), }; foreach (var initFunction in initFunctions) { statements.Add(JassSyntaxFactory.CallStatement(initFunction)); } return(JassSyntaxFactory.Function( JassSyntaxFactory.FunctionDeclaration("main"), JassSyntaxFactory.LocalVariableList( JassSyntaxFactory.VariableDefinition( JassSyntaxFactory.ParseTypeName("real"), "left", JassSyntaxFactory.BinaryAdditionExpression( JassSyntaxFactory.ConstantExpression(left), JassSyntaxFactory.InvocationExpression( "GetCameraMargin", JassSyntaxFactory.ArgumentList(JassSyntaxFactory.VariableExpression("CAMERA_MARGIN_LEFT"))))), JassSyntaxFactory.VariableDefinition( JassSyntaxFactory.ParseTypeName("real"), "right", JassSyntaxFactory.BinarySubtractionExpression( JassSyntaxFactory.ConstantExpression(right), JassSyntaxFactory.InvocationExpression( "GetCameraMargin", JassSyntaxFactory.ArgumentList(JassSyntaxFactory.VariableExpression("CAMERA_MARGIN_RIGHT"))))), JassSyntaxFactory.VariableDefinition( JassSyntaxFactory.ParseTypeName("real"), "top", JassSyntaxFactory.BinarySubtractionExpression( JassSyntaxFactory.ConstantExpression(top), JassSyntaxFactory.InvocationExpression( "GetCameraMargin", JassSyntaxFactory.ArgumentList(JassSyntaxFactory.VariableExpression("CAMERA_MARGIN_TOP"))))), JassSyntaxFactory.VariableDefinition( JassSyntaxFactory.ParseTypeName("real"), "bottom", JassSyntaxFactory.BinaryAdditionExpression( JassSyntaxFactory.ConstantExpression(bottom), JassSyntaxFactory.InvocationExpression( "GetCameraMargin", JassSyntaxFactory.ArgumentList(JassSyntaxFactory.VariableExpression("CAMERA_MARGIN_BOTTOM")))))), statements.ToArray())); }
public override void BuildMainFunction(string path, float left, float right, float top, float bottom, Tileset light, SoundEnvironment sound, params string[] initFunctions) { var fileSyntax = JassSyntaxFactory.File(GetMainFunctionSyntax(left, right, top, bottom, light, sound, initFunctions)); RenderFunctionToFile(path, fileSyntax); }
private LuaVariableListDeclarationSyntax GetMainFunctionSyntax(float left, float right, float top, float bottom, Tileset tileset, SoundEnvironment sound, params string[] initFunctions) { var localLeft = new LuaBinaryExpressionSyntax( new LuaFloatLiteralExpressionSyntax(left), LuaSyntaxNode.Tokens.Plus, new LuaInvocationExpressionSyntax("GetCameraMargin", "CAMERA_MARGIN_LEFT")); var localRight = new LuaBinaryExpressionSyntax( new LuaFloatLiteralExpressionSyntax(right), LuaSyntaxNode.Tokens.Sub, new LuaInvocationExpressionSyntax("GetCameraMargin", "CAMERA_MARGIN_RIGHT")); var localTop = new LuaBinaryExpressionSyntax( new LuaFloatLiteralExpressionSyntax(top), LuaSyntaxNode.Tokens.Sub, new LuaInvocationExpressionSyntax("GetCameraMargin", "CAMERA_MARGIN_TOP")); var localBottom = new LuaBinaryExpressionSyntax( new LuaFloatLiteralExpressionSyntax(bottom), LuaSyntaxNode.Tokens.Plus, new LuaInvocationExpressionSyntax("GetCameraMargin", "CAMERA_MARGIN_BOTTOM")); var locals = new[] { localLeft, localRight, localTop, localBottom, }; var statements = new List <LuaStatementSyntax> { new LuaLocalDeclarationStatementSyntax(new LuaLocalVariablesStatementSyntax( new[] { new LuaSymbolNameSyntax(new LuaIdentifierLiteralExpressionSyntax("left")), new LuaSymbolNameSyntax(new LuaIdentifierLiteralExpressionSyntax("right")), new LuaSymbolNameSyntax(new LuaIdentifierLiteralExpressionSyntax("top")), new LuaSymbolNameSyntax(new LuaIdentifierLiteralExpressionSyntax("bottom")), }, locals)), new LuaExpressionStatementSyntax( new LuaInvocationExpressionSyntax( "SetCameraBounds", "left", "bottom", "right", "top", "left", "top", "right", "bottom")), new LuaExpressionStatementSyntax(new LuaInvocationExpressionSyntax( "SetDayNightModels", new LuaStringLiteralExpressionSyntax(LightEnvironmentProvider.GetTerrainLightEnvironmentModel(tileset)), new LuaStringLiteralExpressionSyntax(LightEnvironmentProvider.GetUnitLightEnvironmentModel(tileset)))), new LuaExpressionStatementSyntax(new LuaInvocationExpressionSyntax("NewSoundEnvironment", new LuaStringLiteralExpressionSyntax(SoundEnvironmentProvider.GetSoundEnvironment(sound)))), new LuaExpressionStatementSyntax(new LuaInvocationExpressionSyntax("SetAmbientDaySound", new LuaStringLiteralExpressionSyntax(SoundEnvironmentProvider.GetAmbientDaySound(tileset)))), new LuaExpressionStatementSyntax(new LuaInvocationExpressionSyntax("SetAmbientNightSound", new LuaStringLiteralExpressionSyntax(SoundEnvironmentProvider.GetAmbientNightSound(tileset)))), new LuaExpressionStatementSyntax(new LuaInvocationExpressionSyntax( "SetMapMusic", new LuaStringLiteralExpressionSyntax("Music"), LuaIdentifierLiteralExpressionSyntax.False, LuaNumberLiteralExpressionSyntax.Zero)), }; foreach (var initFunction in initFunctions) { statements.Add(new LuaExpressionStatementSyntax(new LuaInvocationExpressionSyntax(initFunction))); } var functionSyntax = new LuaFunctionExpressionSyntax(); functionSyntax.AddStatements(statements); var mainFunctionDeclarator = new LuaVariableDeclaratorSyntax("main", functionSyntax); mainFunctionDeclarator.IsLocalDeclaration = false; var globalFunctionSyntax = new LuaVariableListDeclarationSyntax(); globalFunctionSyntax.Variables.Add(mainFunctionDeclarator); return(globalFunctionSyntax); }
public override void BuildMainFunction(string path, float left, float right, float top, float bottom, Tileset light, SoundEnvironment sound, params string[] initFunctions) { var fileSyntax = new LuaCompilationUnitSyntax(); fileSyntax.AddStatement(GetMainFunctionSyntax(left, right, top, bottom, light, sound, initFunctions)); RenderFunctionToFile(path, fileSyntax); }
public abstract void BuildMainFunction(string path, float left, float right, float top, float bottom, Tileset light, SoundEnvironment sound, params string[] initFunctions);