MCPcopy Create free account
hub / github.com/ClassiCube/ClassiCube / Block_ResetProps

Function Block_ResetProps

src/Block.c:475–509  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

473}
474
475void Block_ResetProps(BlockID block) {
476 const struct SimpleBlockDef* def = block <= Game_Version.MaxCoreBlock ? &core_blockDefs[block] : &invalid_blockDef;
477 const cc_string name = String_FromReadonly(def->name);
478
479 Blocks.BlocksLight[block] = def->blocksLight;
480 Blocks.Brightness[block] = def->brightness;
481 Blocks.FogCol[block] = def->fogColor;
482 Blocks.FogDensity[block] = def->fogDensity / 100.0f;
483 Block_SetCollide(block, def->collide);
484 Blocks.DigSounds[block] = def->digSound;
485 Blocks.StepSounds[block] = def->stepSound;
486 Blocks.SpeedMultiplier[block] = 1.0f;
487 Block_SetName(block, &name);
488 Blocks.Tinted[block] = false;
489 Blocks.SpriteOffset[block] = 0;
490
491 Blocks.Draw[block] = def->draw;
492 if (def->draw == DRAW_SPRITE) {
493 Vec3_Set(Blocks.MinBB[block], 2.50f/16.0f, 0, 2.50f/16.0f);
494 Vec3_Set(Blocks.MaxBB[block], 13.5f/16.0f, 1, 13.5f/16.0f);
495 } else {
496 Vec3_Set(Blocks.MinBB[block], 0, 0, 0);
497 Vec3_Set(Blocks.MaxBB[block], 1, def->height / 16.0f, 1);
498 }
499
500 Block_SetDrawType(block, def->draw);
501 Block_CalcRenderBounds(block);
502 Block_CalcLightOffset(block);
503
504 Block_Tex(block, FACE_YMAX) = def->topTexture;
505 Block_Tex(block, FACE_YMIN) = def->bottomTexture;
506 Block_SetSide(def->sideTexture, block);
507
508 Blocks.ParticleGravity[block] = 5.4f * (def->gravity / 100.0f);
509}
510
511STRING_REF cc_string Block_UNSAFE_GetName(BlockID block) {
512 return String_FromRaw(Block_NamePtr(block), STRING_SIZE);

Callers 3

Block_UndefineCustomFunction · 0.85
OnResetFunction · 0.85

Calls 7

String_FromReadonlyFunction · 0.85
Block_SetCollideFunction · 0.85
Block_SetNameFunction · 0.85
Block_SetDrawTypeFunction · 0.85
Block_CalcRenderBoundsFunction · 0.85
Block_CalcLightOffsetFunction · 0.85
Block_SetSideFunction · 0.85

Tested by

no test coverage detected