Repository Reference

From Blood Wiki
Revision as of 16:50, 1 August 2012 by VorteX (Talk | contribs)

Jump to: navigation, search
This page is actively undergoing a major edit
The person who added this notice will be listed in edits history

This reference explains a structure of Blood Omnicide SVN repository.

Contents

Introduction

Blood Omnicide repository stores all files needed for the development process of Blood Omnicide. It contains game files, media, sourcecodes, useful tools and other helpful stuff that makes life easier with working on various aspects of the game. Blood Omnicide repository stores project at it's very latest development state and all previous versions.

Before you start working with Blood Omnicide repository, be sure to learn how version control systems work and particulary subversion.

Getting a working copy

This is actually first step on work with Blood Omnicide repository - get a working copy of the repository.

Install SVN client (for Windows TortoiseSVN are recommended one). For executing svn checkout command you are only need to get repository address, password are not required.

Important: Make sure path to working copy folder is nice and doesnt contain non-lating characters and whitespaces:
Wrong:
c:\Documents and Settings\Администратор\Desktop\Blood Omnicide Repository
Correct:
c:\OmnicideSVN

Downloading full working copy takes about 3GB of bandwidth. Downloaded working copy takes about 10GB HDD speace, make sure you have at least double of that as it will grow up with time.

Tip: Download can be stopped and resumed at any time

Looking around

When download will be completed, you will see such folders in repository:

  • bin32 - game binaries for x86 platform
  • devkit - game sourcecodes and tools
  • kain - gamedir, all of Blood Omnicide files (textures, maps, scripts etc.)
  • kain_make - installation scripts and scripts to make installer
  • mapeditor - level editor
  • misc - help files, icons, map shots etc.

Key Concepts

Development vs Release

Blood Omnicide version that will be released is different from what you get in repository. Basically, in released version all development-related files are removed (except from ones leaved for SDK), all textures is compressed to DDS files and all game files are packed into the PK3 archives in order to save HDD space and raise loading time. With all of this operations, 'builded' version fo the game weights about 800Mb.

Linked to Blood Omen

By just downloading a working copy of repository you dont get a working game. Since Blood Omnicide is a port, it heavily depends on original game media files. Installation of Blood Omen files are done when Blood Omnicide builded version is being installed on a computer. Development version doesnt have such installer, but it have a test installation scripts, which does the same job. This is called test installation.

Sources are saved

All media files sources get saved to SVN, including source files for tools, textures and models. The only reason source files dont get saved, is when it's size are too big (>100Mb). Sources are saved in the same folder as their exported files. The code sources doesnt need an futher explanation, but textures and models apparently are:

Texture sources: Source are the base image (PSD or whatever) you are exporting to TGA texture.

Model sources: This have alot of variation. For static models its best to save sources as ASE files, if models are animated, store whatever source file you have (MAX, blend etc.)

Conventions

A number of rules that should be followed in order to keep repository clean.

Files names: All files, folders, file extensions must be lowercase with all-latin characters and with no spacers. Failing this rule can throw a number of problems like limited portability and SVN errors.

Commits: Dont commit files no one will use. SVN is not a light version of FTP. It stores all file versions, event if it was deleted. So abusing it with many unused files will waste HDD space.

Learn SVN

This was already mentioned in introduction. Good knowledge of SVN will help to avoid many problems.

Building a Game

Test installation

Updating

This is second SVN command to deal when wortking with Blood Omnicide subversion. Launch svn update command regularly to get all latest changes on repository made by other users.

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox