| 473 | } |
| 474 | |
| 475 | void 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 | |
| 511 | STRING_REF cc_string Block_UNSAFE_GetName(BlockID block) { |
| 512 | return String_FromRaw(Block_NamePtr(block), STRING_SIZE); |
no test coverage detected