1K Intro

From SizeCoding
Revision as of 01:26, 12 April 2024 by Superogue (talk | contribs)

Jump to: navigation, search

Introduction

This category is dedicated to 1K Intros for Windows 32.

Windows 1K Intros can be setup in C or Aseembler, or a combination of both, with only the few windows calls that are used being linked in. In general writing everything in assembler should give you a little more freedom in pushing/popping your function arguments but in th past quality intros have been written in both languages.

Graphics are usualy done using OpenGL+GLSL, but there are 1K intros out there that have used D3D instead.

Setup (OpenGL)

  • ChangeDisplaySettings(&screenSettings, CDS_FULLSCREEN) - Initialise fullscreen view
  • CreateWindow((LPCSTR)0xC018, 0, WS_POPUP | WS_VISIBLE | WS_MAXIMIZE, 0, 0, 0, 0, 0, 0, 0, 0) - Setting up a Maximised Window
  • ShowCursor(NULL) - Hide mousecursor (usually required by compo rules
  • GetDC() - Get DeviceContext handle
  • ChoosePixelFormat(hDC, &pfd) - Set pixelformat describer by pfd to DeviceContext handle
  • wglCreateContext(hDC) - Create OpenGL context
  • Initialising GLSL Shader
  • Mainloop that

Graphics / effect

  • Passed time via glColor (no uniforms used)
  • GLSL Shadercode

Sound

  • Win32 Single Note MIDI
  • Win32 MIDI player
  • Bytebeat softsynth
  • Bytebeat softsynth

Compression

  • Microsoft Cabinet decmpression
  • Crinkler

Frameworks

1K intros for Windows