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

Referência de fonte: GAMES/MINE/SKY.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 GAMES/MINE/SKY.CC
Lines 42
Bytes 946
SHA-256 65c67d3504d5e65bbd35bd7139ecd1a5caf7543e1e6b5cdd723ffc6435f28cd0
ChrisOS revision da3df29cb397932c43d32373871fb9380e688ade

Dependências sintáticas detectadas

Linha Include
— Nenhum include de preprocessor detectado.

Símbolos detectados

Linha Símbolo
1 clock_h
10 sky_frame
36 sky_flip

Fonte completa

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

int clock_h() {
    int t;
    t = ticks() + g_bias;
    if (t < 0)
        t = 0;
    t = (t / 40) % 24;
    return t;
}

void sky_frame() {
    int hour;
    float _Complex sun;
    float wave;
    int day;
    hour = clock_h();
    day = hour >= 6 && hour < 18;
    g_rain = hour >= 16 && hour < 19;
    sun.re = cos((float)hour * 15.0);
    sun.im = sin((float)hour * 15.0);
    clear(0);
    if (day) {
        light(sun.re * 8.0, 12.0 + sun.im, 4.0, 1.0, 0.95, 0.8);
        if (g_rain)
            fillrgb(0, 0, 800, 600, 0x00586870);
        else
            fillrgb(0, 0, 800, 600, 0x007BA3D4);
    } else {
        light(sun.re * 4.0, 3.0, -6.0, 0.25, 0.3, 0.55);
        fillrgb(0, 0, 800, 600, 0x00101828);
    }
    wave = (float)ticks();
    wave = wave % 100.0;
    tex_ofs(wave / 100.0, 0.04);
}

void sky_flip() {
    if (clock_h() >= 6 && clock_h() < 18)
        g_bias = g_bias + 400;
    else
        g_bias = g_bias - 400;
}

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-65c67d3504d5e65b Reviewed source: da3df29cb397 Class: generated-source-reference