MCPcopy Create free account
hub / github.com/OpenStarbound/OpenStarbound / WorldClient

Method WorldClient

source/game/StarWorldClient.cpp:31–96  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29
30const float WorldClient::DropDist = 6.0f;
31WorldClient::WorldClient(PlayerPtr mainPlayer, LuaRootPtr luaRoot) {
32 auto& root = Root::singleton();
33 auto assets = root.assets();
34
35 m_clientConfig = assets->json("/client.config");
36
37 m_currentStep = 0;
38 m_currentTime = 0;
39 m_fullBright = false;
40 m_asyncLighting = false;
41 m_worldDimTimer = GameTimer(m_clientConfig.getFloat("worldDimTime"));
42 m_worldDimTimer.setDone();
43 m_worldDimLevel = 0.0f;
44
45 m_parallaxFadeTimer = GameTimer(m_clientConfig.getFloat("parallaxFadeTime"));
46 m_parallaxFadeTimer.setDone();
47
48 m_collisionDebug = false;
49 m_inWorld = false;
50
51 m_luaRoot = luaRoot;
52
53 m_mainPlayer = mainPlayer;
54
55 centerClientWindowOnPlayer(Vec2U(100, 100));
56
57 m_collisionGenerator.init([this](int x, int y) {
58 if (!m_predictedTiles.empty()) {
59 if (auto p = m_predictedTiles.ptr({x, y})) {
60 if (p->collision)
61 return *p->collision;
62 }
63 }
64 return m_tileArray->tile({x, y}).collision;
65 });
66
67 m_modifiedTilePredictionTimeout = (int)round(m_clientConfig.getFloat("modifiedTilePredictionTimeout") / GlobalTimestep);
68
69 m_latency = 0.0;
70
71 m_blockDamageParticle = Particle(m_clientConfig.getObject("blockDamageParticle"));
72 m_blockDamageParticleVariance = Particle(m_clientConfig.getObject("blockDamageParticleVariance"));
73 m_blockDamageParticleProbability = m_clientConfig.getFloat("blockDamageParticleProbability");
74
75 m_blockDingParticle = Particle(m_clientConfig.getObject("blockDingParticle"));
76 m_blockDingParticleVariance = Particle(m_clientConfig.getObject("blockDingParticleVariance"));
77 m_blockDingParticleProbability = m_clientConfig.getFloat("blockDingParticleProbability");
78
79 m_damageNotificationBatchDuration = m_clientConfig.getFloat("damageNotificationBatchDuration");
80
81 m_ambientSounds.setTrackFadeInTime(assets->json("/interface.config:ambientTrackFadeInTime").toFloat());
82 m_ambientSounds.setTrackSwitchGrace(assets->json("/interface.config:ambientTrackSwitchGrace").toFloat());
83
84 m_musicTrack.setTrackSwitchGrace(assets->json("/interface.config:musicTrackSwitchGrace").toFloat());
85 m_musicTrack.setTrackFadeInTime(assets->json("/interface.config:musicTrackFadeInTime").toFloat());
86
87 m_altMusicTrack.setTrackFadeInTime(assets->json("/interface.config:musicTrackFadeInTime").toFloat());
88 m_altMusicTrack.setTrackSwitchGrace(assets->json("/interface.config:musicTrackFadeInTime").toFloat());

Callers

nothing calls this directly

Calls 15

singletonClass · 0.85
GameTimerClass · 0.85
roundFunction · 0.85
ParticleClass · 0.85
assetsMethod · 0.80
jsonMethod · 0.80
getFloatMethod · 0.80
setDoneMethod · 0.80
setTrackFadeInTimeMethod · 0.80
toFloatMethod · 0.80
setTrackSwitchGraceMethod · 0.80
initMethod · 0.45

Tested by

no test coverage detected