ChrisOS Research ProjectOperating systems · language systems · graphics · machine emulation
DOCUMENTATION ARCHIVEMAIN BRANCH
ChrisOS/Referência de fonte: LIB/HIT.CC

Referência de fonte: LIB/HIT.CC

Registro determinístico da fonte. O conteúdo completo do arquivo é reproduzido abaixo; esta página não substitui a interpretação arquitetural dos capítulos autorais.

Identidade do arquivo

Campo Valor
Path LIB/HIT.CC
Lines 26
Bytes 509
SHA-256 c61cbf7b1456bfa0b45c47e4084705a804e2aa6a1ba63f8f453d71a98d7e0c5b
ChrisOS revision da3df29cb397932c43d32373871fb9380e688ade

Dependências sintáticas detectadas

Linha Include
— Nenhum include de preprocessor detectado.

Símbolos detectados

Linha Símbolo
4 hit_solid_at
8 hit_sweep

Fonte completa

O bloco seguinte é o arquivo textual integral na revisão indicada. Não há elisão, abreviação ou paráfrase.

#ifndef HIT_CC_H
#define HIT_CC_H

int hit_solid_at(float x, float y, float z) {
    return sim_solid(voxel_get((int)x, (int)y, (int)z));
}

int hit_sweep(float x, float y, float z, float dx, float dy, float dz, int n) {
    int i;
    float t;
    float u;
    if (n < 1)
        n = 1;
    i = 1;
    while (i <= n) {
        t = (float)i;
        u = (float)n;
        if (hit_solid_at(x + dx * t / u, y + dy * t / u, z + dz * t / u))
            return i;
        i = i + 1;
    }
    return 0;
}

#endif

Papel deste registro

O atlas garante rastreabilidade arquivo-a-arquivo. Responsabilidade, invariantes, ownership, concorrência, segurança, desempenho e interação entre subsistemas pertencem aos capítulos autorais e devem citar este arquivo quando aplicável.

Registro do documento ID: source-c61cbf7b1456bfa0 Reviewed source: da3df29cb397 Class: generated-source-reference