public void Start(GamePlatform p_) { this.p = p_; //Initialize translations lang = new Language(); lang.platform = p; lang.LoadTranslations(); p.SetTitle(lang.GameName()); textColorRenderer = new TextColorRenderer(); textColorRenderer.platform = p_; p_.LoadAssetsAsyc(assets, assetsLoadProgress); overlap = 200; minspeed = 20; rnd = p.RandomCreate(); xRot = 0; xInv = false; xSpeed = minspeed + rnd.MaxNext(5); yRot = 0; yInv = false; ySpeed = minspeed + rnd.MaxNext(5); z = -5; filter = 0; mvMatrix = Mat4.Create(); pMatrix = Mat4.Create(); currentlyPressedKeys = new bool[256]; p.AddOnNewFrame(MainMenuNewFrameHandler.Create(this)); p.AddOnKeyEvent(MainMenuKeyEventHandler.Create(this)); p.AddOnMouseEvent(MainMenuMouseEventHandler.Create(this)); p.AddOnTouchEvent(MainMenuTouchEventHandler.Create(this)); }
public void Start() { textColorRenderer = new TextColorRenderer(); textColorRenderer.platform = platform; language.platform = platform; language.LoadTranslations(); GameData gamedata = new GameData(); gamedata.Start(); Config3d config3d = new Config3d(); if (platform.IsFastSystem()) { config3d.viewdistance = 128; } else { config3d.viewdistance = 32; } ITerrainTextures terrainTextures = new ITerrainTextures(); terrainTextures.game = this; d_TextureAtlasConverter = new TextureAtlasConverter(); d_TerrainTextures = terrainTextures; FrustumCulling frustumculling = new FrustumCulling(); frustumculling.d_GetCameraMatrix = this.CameraMatrix; frustumculling.platform = platform; d_FrustumCulling = frustumculling; TerrainChunkTesselatorCi terrainchunktesselator = new TerrainChunkTesselatorCi(); d_TerrainChunkTesselator = terrainchunktesselator; d_Batcher = new MeshBatcher(); d_Batcher.d_FrustumCulling = frustumculling; d_Batcher.game = this; d_FrustumCulling = frustumculling; d_Data = gamedata; d_DataMonsters = new GameDataMonsters(); d_Config3d = config3d; ModDrawParticleEffectBlockBreak particle = new ModDrawParticleEffectBlockBreak(); this.particleEffectBlockBreak = particle; this.d_Data = gamedata; d_TerrainTextures = terrainTextures; map.Reset(256, 256, 128); SunMoonRenderer sunmoonrenderer = new SunMoonRenderer(); d_SunMoonRenderer = sunmoonrenderer; d_SunMoonRenderer = sunmoonrenderer; d_Heightmap = new InfiniteMapChunked2d(); d_Heightmap.d_Map = this; d_Heightmap.Restart(); d_TerrainChunkTesselator = terrainchunktesselator; terrainchunktesselator.game = this; Packet_Inventory inventory = new Packet_Inventory(); inventory.RightHand = new Packet_Item[10]; GameDataItemsClient dataItems = new GameDataItemsClient(); dataItems.game = this; InventoryUtilClient inventoryUtil = new InventoryUtilClient(); d_Inventory = inventory; d_InventoryUtil = inventoryUtil; inventoryUtil.d_Inventory = inventory; inventoryUtil.d_Items = dataItems; d_Inventory = inventory; platform.AddOnCrash(OnCrashHandlerLeave.Create(this)); rnd = platform.RandomCreate(); clientmods = new ClientMod[128]; clientmodsCount = 0; modmanager.game = this; AddMod(new ModDrawMain()); AddMod(new ModUpdateMain()); AddMod(new ModNetworkProcess()); AddMod(new ModUnloadRendererChunks()); AddMod(new ModAutoCamera()); AddMod(new ModFpsHistoryGraph()); AddMod(new ModWalkSound()); AddMod(new ModFallDamageToPlayer()); AddMod(new ModBlockDamageToPlayer()); AddMod(new ModLoadPlayerTextures()); AddMod(new ModSendPosition()); AddMod(new ModInterpolatePositions()); AddMod(new ModRail()); AddMod(new ModCompass()); AddMod(new ModGrenade()); AddMod(new ModBullet()); AddMod(new ModExpire()); AddMod(new ModReloadAmmo()); AddMod(new ModPush()); if (platform.IsFastSystem()) { AddMod(new ModSkySphereAnimated()); } else { AddMod(new ModSkySphereStatic()); } AddMod(sunmoonrenderer); AddMod(new ModDrawTestModel()); AddMod(new ModDrawLinesAroundSelectedBlock()); AddMod(new ModDebugChunk()); AddMod(new ModDrawArea()); AddMod(new ModDrawTerrain()); AddMod(new ModDrawPlayers()); AddMod(new ModDrawPlayerNames()); AddMod(new ModDrawText()); AddMod(new ModDrawParticleEffectBlockBreak()); AddMod(new ModDrawSprites()); AddMod(new ModDrawMinecarts()); AddMod(new ModDrawHand2d()); AddMod(new ModDrawHand3d()); AddMod(new ModGuiCrafting()); AddMod(new ModDialog()); AddMod(new ModPicking()); AddMod(new ModClearInactivePlayersDrawInfo()); AddMod(new ModCameraKeys()); AddMod(new ModSendActiveMaterial()); AddMod(new ModCamera()); AddMod(new ModNetworkEntity()); AddMod(new ModGuiInventory()); AddMod(new ModGuiTouchButtons()); AddMod(new ModGuiEscapeMenu()); AddMod(new ModGuiMapLoading()); AddMod(new ModDraw2dMisc()); AddMod(new ModGuiChat()); AddMod(new ModScreenshot()); AddMod(new ModAudio()); s = new BlockOctreeSearcher(); s.platform = platform; //Prevent loding screen from immediately displaying lag symbol LastReceivedMilliseconds = platform.TimeMillisecondsFromStart(); ENABLE_DRAW_TEST_CHARACTER = platform.IsDebuggerAttached(); int maxTextureSize_ = platform.GlGetMaxTextureSize(); if (maxTextureSize_ < 1024) { maxTextureSize_ = 1024; } maxTextureSize = maxTextureSize_; MapLoadingStart(); platform.GlClearColorRgbaf(0, 0, 0, 1); if (d_Config3d.ENABLE_BACKFACECULLING) { platform.GlDepthMask(true); platform.GlEnableDepthTest(); platform.GlCullFaceBack(); platform.GlEnableCullFace(); } platform.GlEnableLighting(); platform.GlEnableColorMaterial(); platform.GlColorMaterialFrontAndBackAmbientAndDiffuse(); platform.GlShadeModelSmooth(); }