Merge branch 'master' into hd_v2

This commit is contained in:
stalkerg
2021-09-05 20:53:36 +09:00
43 changed files with 1445 additions and 196 deletions

View File

@@ -27,3 +27,30 @@ http://www.gog.com/game/vangers
* clunk (https://github.com/stalkerg/clunk)
* ffmpeg
* zlib
## Server
To host server you can use Docker image or [build server](https://github.com/KranX/Vangers/wiki/Starting-up-server-compatible-with-web-&-native-versions)
manually.
To use docker image you need to pull `vangers-server` image and run it:
```sh
docker pull caiiiycuk/vangers-server:latest
docker run -v host-dir:container-dir -e SERVER=<server-name> -e CER_FILE=<path-to-cer-file> -e KEY_FILE=<path-to-key-file> caiiiycuk/vangers-server:latest
```
Vangers server requires cer/key files to host wss server.
For example, if you want to host server on `vangers.net` and your cer/key files are in `/root/websockify/` file, then you run command will be:
```
docker run -d -v /root/websockify:/root/websockify -e SERVER=vangers.net -e CER_FILE=/root/websockify/vangers.net.cer -e KEY_FILE=/root/websockify/vangers.net.key --network host caiiiycuk/vangers-server
```
Explanation:
* **-d**: means start in detached mode
* **-v /root/websockify:/root/websockify**: map host directory `/root/websockify` to container directory `/root/websockify`
* **-e SERVER=vangers.net**: should be name of domain you want to host server
* **-e CERT_FILE=/root/websockify/vangers.net.cer**: full path to cer file
* **-e KEY_FILE=/root/websockify/vangers.net.key**: full path to key file
* **--network host**: use host networking (reuired to bind on domain)

View File

@@ -17,7 +17,7 @@
#include "iscreen/scripts/main.inc"
#include "iscreen/scripts/cr_main1.inc"
#include "iscreen/scripts/cr_main2.inc"
/* ------------------------------ TEXT SECTION ------------------------------ */

View File

@@ -1,8 +1,8 @@
#define Credits0_More_Option_PosX 650
#define Credits0_More_Option_PosY 310
#define Credits0_Back_Option_PosX 10
#define Credits0_Back_Option_PosY 280
#define Credits0_More_Option_PosX 330
#define Credits0_More_Option_PosY 270
#define Credits0_Back_Option_PosX -330
#define Credits0_Back_Option_PosY 270
Screen "Credits0"
{
@@ -19,12 +19,13 @@ Screen "Credits0"
space 2
font 0
s_text "resource/iscreen/credits.txt"
s_text $iSTR_CreditsPathA
}
Object "Back Option"
{
x $Credits0_Back_Option_PosX
align_x center
align_x_offs $Credits0_Back_Option_PosX
y $Credits0_Back_Option_PosY
Element STRING {
@@ -76,9 +77,141 @@ Screen "Credits0"
}
Object "More Option"
{
x $Credits0_More_Option_PosX
align_x center
align_x_offs $Credits0_More_Option_PosX
y $Credits0_More_Option_PosY
Element STRING {
align_x center
terrain_num $TERRAIN2
font 3
space 2
null_level $DEFAULT_NULL
string $iSTR_MORE
}
Event {
key $VK_LBUTTON
time { $PRESS_OBJ_TIME + $MOVE2SCREEN_TIME + 1 }
EvComm {
low_obj "More Option"
time $PRESS_OBJ_TIME
start_time 0
}
EvComm {
move2screen "Credits4"
start_time $PRESS_OBJ_TIME
time $MOVE2SCREEN_TIME
}
}
Event {
key $VK_RBUTTON
time { $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME + $MOVE2SCREEN_TIME + 1 }
EvComm {
smooth_obj "More Option" 2
start_time 0
time $SMOOTH_OBJ_TIME
}
EvComm {
hide_obj "More Option"
start_time $SMOOTH_OBJ_TIME
time $HIDE_OBJ_TIME
}
EvComm {
move2screen "Credits4"
start_time { $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME }
time $MOVE2SCREEN_TIME
}
}
}
}
#define Credits4_More_Option_PosX 330
#define Credits4_More_Option_PosY 270
#define Credits4_Back_Option_PosX -330
#define Credits4_Back_Option_PosY 270
Screen "Credits4"
{
screen_offs 800
block_global_obj
default_obj "Back Option"
Object "Credits Text"{
null_level 200
align_x center
y 20
space 2
font 0
s_text $iSTR_CreditsPathB
}
Object "Back Option"
{
align_x center
align_x_offs $Credits4_Back_Option_PosX
y $Credits4_Back_Option_PosY
Element STRING {
align_x center
terrain_num $TERRAIN2
font 3
space 2
null_level $DEFAULT_NULL
string $iSTR_BACK
}
Event {
key $VK_LBUTTON
key $VK_ESCAPE
time { $PRESS_OBJ_TIME + $MOVE2SCREEN_TIME + 1 }
EvComm {
low_obj "Back Option"
time $PRESS_OBJ_TIME
start_time 0
}
EvComm {
move2screen "Credits0"
start_time $PRESS_OBJ_TIME
time $MOVE2SCREEN_TIME
}
}
Event {
key $VK_RBUTTON
time { $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME + $MOVE2SCREEN_TIME + 1 }
EvComm {
smooth_obj "Back Option" 2
start_time 0
time $SMOOTH_OBJ_TIME
}
EvComm {
hide_obj "Back Option"
start_time $SMOOTH_OBJ_TIME
time $HIDE_OBJ_TIME
}
EvComm {
move2screen "Credits0"
start_time { $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME }
time $MOVE2SCREEN_TIME
}
}
}
Object "More Option"
{
align_x center
align_x_offs $Credits4_More_Option_PosX
y $Credits4_More_Option_PosY
Element STRING {
align_x center
@@ -127,31 +260,43 @@ Screen "Credits0"
}
}
#define Credits3_Logo0_PosX 71
#define Credits3_Logo0_PosY 207
#define Credits3_Logo0_PosY 177
#define Credits3_Back_Option_PosX 616
#define Credits3_Back_Option_PosY 254
#define Credits3_Back_Option_PosY 324
Screen "Credits3"
{
screen_offs 800
screen_offs 0
block_global_obj
default_obj "Back Option"
Object "Credits Text"{
Object "Credits Text A"{
null_level 200
align_x center
y 20
align_x_offs -200
y 30
space 2
font 0
s_text "resource/iscreen/credits3.txt"
s_text $iSTR_CreditsPathCA
}
Object "Credits Text B"{
null_level 200
align_x center
align_x_offs 200
y 30
space 2
font 0
s_text $iSTR_CreditsPathCB
}
Object "Back Option"
{
x $Credits3_Back_Option_PosX
align_x center
align_x_offs 200
y $Credits3_Back_Option_PosY
Element STRING {
@@ -175,7 +320,7 @@ Screen "Credits3"
start_time 0
}
EvComm {
move2screen "Credits0"
move2screen "Credits4"
start_time $PRESS_OBJ_TIME
time $MOVE2SCREEN_TIME
}
@@ -195,7 +340,7 @@ Screen "Credits3"
time $HIDE_OBJ_TIME
}
EvComm {
move2screen "Credits0"
move2screen "Credits4"
start_time { $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME }
time $MOVE2SCREEN_TIME
}
@@ -203,7 +348,8 @@ Screen "Credits3"
}
#define LOGO_OBJ_ID "Logo0"
Object "Logo0" {
x $Credits3_Logo0_PosX
align_x center
align_x_offs 200
y $Credits3_Logo0_PosY
Element BITMAP {

View File

@@ -6,14 +6,25 @@ Screen "Credits1"
block_global_obj
default_obj "Back Option"
Object "Credits Text"{
Object "Credits Text A"{
null_level 200
align_x center
y 110
align_x_offs 130
y 30
space 2
font 0
s_text "resource/iscreen/credits1.txt"
s_text $iSTR_CreditsPathDA
}
Object "Credits Text B"{
null_level 200
align_x center
y 90
space 2
font 0
s_text $iSTR_CreditsPathDB
}
Object "Back Option"
@@ -21,7 +32,7 @@ Screen "Credits1"
align_x right
align_x_offs 20
align_y center
align_y_offs 70
align_y_offs 50
Element STRING {
align_x center
@@ -73,7 +84,8 @@ Screen "Credits1"
#define LOGO_OBJ_ID "Logo1"
Object "Logo1" {
align_x center
y 20
align_x_offs -250
y 10
Element BITMAP {
align_x center

View File

@@ -6,14 +6,25 @@ Screen "Credits2"
block_global_obj
default_obj "Back Option"
Object "Credits Text"{
Object "Credits Text A"{
null_level 200
align_x center
y 100
align_x_offs 180
y 35
space 2
font 0
s_text "resource/iscreen/credits2.txt"
s_text $iSTR_CreditsPathEA
}
Object "Credits Text B"{
null_level 200
align_x center
y 90
space 2
font 0
s_text $iSTR_CreditsPathEB
}
Object "Back Option"
@@ -21,7 +32,7 @@ Screen "Credits2"
align_x right
align_x_offs 20
align_y center
align_y_offs -90
align_y_offs -150
Element STRING {
align_x center
@@ -73,6 +84,7 @@ Screen "Credits2"
#define LOGO_OBJ_ID "Logo2"
Object "Logo2" {
align_x center
align_x_offs -160
y 20
Element BITMAP {

View File

@@ -0,0 +1,91 @@
Screen "Credits5"
{
screen_offs 0
block_global_obj
default_obj "Back Option"
Object "Credits Text"{
null_level 200
align_x center
y 110
space 2
font 0
s_text $iSTR_CreditsPathF
}
Object "Back Option"
{
align_x right
align_x_offs 30
y 30
Element STRING {
align_x center
terrain_num $TERRAIN2
font 3
space 2
null_level $DEFAULT_NULL
string $iSTR_BACK
}
Event {
key $VK_LBUTTON
key $VK_ESCAPE
time { $PRESS_OBJ_TIME + $MOVE2SCREEN_TIME + 1 }
EvComm {
low_obj "Back Option"
time $PRESS_OBJ_TIME
start_time 0
}
EvComm {
move2screen "Credits screen"
start_time $PRESS_OBJ_TIME
time $MOVE2SCREEN_TIME
}
}
Event {
key $VK_RBUTTON
time { $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME + $MOVE2SCREEN_TIME + 1 }
EvComm {
smooth_obj "Back Option" 2
start_time 0
time $SMOOTH_OBJ_TIME
}
EvComm {
hide_obj "Back Option"
start_time $SMOOTH_OBJ_TIME
time $HIDE_OBJ_TIME
}
EvComm {
move2screen "Credits screen"
start_time { $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME }
time $MOVE2SCREEN_TIME
}
}
}
#define LOGO_OBJ_ID "Logo1"
Object "Logo1" {
align_x center
y 10
Element BITMAP {
align_x center
align_y center
terrain_num $TERRAIN4
bmp_null_level 148
null_level 128
bmp_file "resource/iscreen/bitmap/community.bmp"
}
$LOGO_EV
}
}

View File

@@ -0,0 +1,369 @@
#define Credits6_More_Option_PosX 330
#define Credits6_More_Option_PosY 280
#define Credits6_Back_Option_PosX -330
#define Credits6_Back_Option_PosY 280
Screen "Credits6"
{
screen_offs 0
block_global_obj
default_obj "Back Option"
Object "Credits Text"{
null_level 200
align_x center
y 20
space 2
font 0
s_text $iSTR_CreditsPathG
}
Object "Back Option"
{
align_x center
align_x_offs $Credits6_Back_Option_PosX
y $Credits6_Back_Option_PosY
Element STRING {
align_x center
terrain_num $TERRAIN2
font 3
space 2
null_level $DEFAULT_NULL
string $iSTR_BACK
}
Event {
key $VK_LBUTTON
key $VK_ESCAPE
time { $PRESS_OBJ_TIME + $MOVE2SCREEN_TIME + 1 }
EvComm {
low_obj "Back Option"
time $PRESS_OBJ_TIME
start_time 0
}
EvComm {
move2screen "Credits screen"
start_time $PRESS_OBJ_TIME
time $MOVE2SCREEN_TIME
}
}
Event {
key $VK_RBUTTON
time { $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME + $MOVE2SCREEN_TIME + 1 }
EvComm {
smooth_obj "Back Option" 2
start_time 0
time $SMOOTH_OBJ_TIME
}
EvComm {
hide_obj "Back Option"
start_time $SMOOTH_OBJ_TIME
time $HIDE_OBJ_TIME
}
EvComm {
move2screen "Credits screen"
start_time { $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME }
time $MOVE2SCREEN_TIME
}
}
}
Object "More Option"
{
align_x center
align_x_offs $Credits6_More_Option_PosX
y $Credits6_More_Option_PosY
Element STRING {
align_x center
terrain_num $TERRAIN2
font 3
space 2
null_level $DEFAULT_NULL
string $iSTR_MORE
}
Event {
key $VK_LBUTTON
time { $PRESS_OBJ_TIME + $MOVE2SCREEN_TIME + 1 }
EvComm {
low_obj "More Option"
time $PRESS_OBJ_TIME
start_time 0
}
EvComm {
move2screen "Credits7"
start_time $PRESS_OBJ_TIME
time $MOVE2SCREEN_TIME
}
}
Event {
key $VK_RBUTTON
time { $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME + $MOVE2SCREEN_TIME + 1 }
EvComm {
smooth_obj "More Option" 2
start_time 0
time $SMOOTH_OBJ_TIME
}
EvComm {
hide_obj "More Option"
start_time $SMOOTH_OBJ_TIME
time $HIDE_OBJ_TIME
}
EvComm {
move2screen "Credits7"
start_time { $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME }
time $MOVE2SCREEN_TIME
}
}
}
}
#define Credits7_More_Option_PosX 330
#define Credits7_More_Option_PosY 280
#define Credits7_Back_Option_PosX -330
#define Credits7_Back_Option_PosY 280
Screen "Credits7"
{
screen_offs 800
block_global_obj
default_obj "Back Option"
Object "Credits Text"{
null_level 200
align_x center
y 20
space 2
font 0
s_text $iSTR_CreditsPathH
}
Object "Back Option"
{
align_x center
align_x_offs $Credits7_Back_Option_PosX
y $Credits7_Back_Option_PosY
Element STRING {
align_x center
terrain_num $TERRAIN2
font 3
space 2
null_level $DEFAULT_NULL
string $iSTR_BACK
}
Event {
key $VK_LBUTTON
key $VK_ESCAPE
time { $PRESS_OBJ_TIME + $MOVE2SCREEN_TIME + 1 }
EvComm {
low_obj "Back Option"
time $PRESS_OBJ_TIME
start_time 0
}
EvComm {
move2screen "Credits6"
start_time $PRESS_OBJ_TIME
time $MOVE2SCREEN_TIME
}
}
Event {
key $VK_RBUTTON
time { $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME + $MOVE2SCREEN_TIME + 1 }
EvComm {
smooth_obj "Back Option" 2
start_time 0
time $SMOOTH_OBJ_TIME
}
EvComm {
hide_obj "Back Option"
start_time $SMOOTH_OBJ_TIME
time $HIDE_OBJ_TIME
}
EvComm {
move2screen "Credits6"
start_time { $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME }
time $MOVE2SCREEN_TIME
}
}
}
Object "More Option"
{
align_x center
align_x_offs $Credits7_More_Option_PosX
y $Credits7_More_Option_PosY
Element STRING {
align_x center
terrain_num $TERRAIN2
font 3
space 2
null_level $DEFAULT_NULL
string $iSTR_MORE
}
Event {
key $VK_LBUTTON
time { $PRESS_OBJ_TIME + $MOVE2SCREEN_TIME + 1 }
EvComm {
low_obj "More Option"
time $PRESS_OBJ_TIME
start_time 0
}
EvComm {
move2screen "Credits8"
start_time $PRESS_OBJ_TIME
time $MOVE2SCREEN_TIME
}
}
Event {
key $VK_RBUTTON
time { $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME + $MOVE2SCREEN_TIME + 1 }
EvComm {
smooth_obj "More Option" 2
start_time 0
time $SMOOTH_OBJ_TIME
}
EvComm {
hide_obj "More Option"
start_time $SMOOTH_OBJ_TIME
time $HIDE_OBJ_TIME
}
EvComm {
move2screen "Credits8"
start_time { $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME }
time $MOVE2SCREEN_TIME
}
}
}
}
#define Credits8_Logo0_PosY 307
#define Credits8_Back_Option_PosX 616
#define Credits8_Back_Option_PosY 424
Screen "Credits8"
{
screen_offs 0
block_global_obj
default_obj "Back Option"
Object "Credits Text A"{
null_level 200
align_x center
align_x_offs -200
y 30
space 2
font 0
s_text $iSTR_CreditsPathIA
}
Object "Credits Text B"{
null_level 200
align_x center
align_x_offs 200
y 30
space 2
font 0
s_text $iSTR_CreditsPathIB
}
Object "Back Option"
{
align_x center
align_x_offs 200
y $Credits8_Back_Option_PosY
Element STRING {
align_x center
terrain_num $TERRAIN2
font 3
space 2
null_level $DEFAULT_NULL
string $iSTR_BACK
}
Event {
key $VK_LBUTTON
key $VK_ESCAPE
time { $PRESS_OBJ_TIME + $MOVE2SCREEN_TIME + 1 }
EvComm {
low_obj "Back Option"
time $PRESS_OBJ_TIME
start_time 0
}
EvComm {
move2screen "Credits7"
start_time $PRESS_OBJ_TIME
time $MOVE2SCREEN_TIME
}
}
Event {
key $VK_RBUTTON
time { $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME + $MOVE2SCREEN_TIME + 1 }
EvComm {
smooth_obj "Back Option" 2
start_time 0
time $SMOOTH_OBJ_TIME
}
EvComm {
hide_obj "Back Option"
start_time $SMOOTH_OBJ_TIME
time $HIDE_OBJ_TIME
}
EvComm {
move2screen "Credits7"
start_time { $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME }
time $MOVE2SCREEN_TIME
}
}
}
#define LOGO_OBJ_ID "Logo0"
Object "Logo0" {
align_x center
align_x_offs 200
y $Credits8_Logo0_PosY
Element BITMAP {
align_x center
align_y center
terrain_num $TERRAIN4
bmp_null_level 148
null_level 128
bmp_file "resource/iscreen/bitmap/kranx_logo.bmp"
}
$LOGO_EV
}
}

View File

@@ -72,6 +72,74 @@ Screen "Credits screen"
}
}
Object "SubtitleStrA"
{
align_x center
align_x_offs -200
y 90
Element STRING {
align_x center
terrain_num $TERRAIN3
font 4
null_level $DEFAULT_NULL
string $iSTR_CreditsSubA
}
}
Object "SubtitleStrBA"
{
align_x center
align_x_offs 200
y 90
Element STRING {
align_x center
terrain_num $TERRAIN3
font 4
null_level $DEFAULT_NULL
string $iSTR_CreditsSubBA
}
}
Object "SubtitleStrBB"
{
align_x center
align_x_offs 200
y 122
Element STRING {
align_x center
terrain_num $TERRAIN3
font 4
null_level $DEFAULT_NULL
string $iSTR_CreditsSubBB
}
}
Object "SubtitleStrCA"
{
align_x center
align_x_offs 200
y 250
Element STRING {
align_x center
terrain_num $TERRAIN3
font 4
null_level $DEFAULT_NULL
string $iSTR_CreditsSubCA
}
}
Object "SubtitleStrCB"
{
align_x center
align_x_offs 200
y 282
Element STRING {
align_x center
terrain_num $TERRAIN3
font 4
null_level $DEFAULT_NULL
string $iSTR_CreditsSubCB
}
}
Object "Main Menu Option"
{
align_x center
@@ -125,29 +193,12 @@ Screen "Credits screen"
}
}
Object "SiteLink" {
align_x center
align_y center
align_y_offs { -10 + $LOGO_DY }
Element STRING {
align_x center
terrain_num $TERRAIN4
font 0
null_level $DEFAULT_NULL
string "kranx.com"
}
}
#define LOGO_OBJ_ID "Logo0"
#define CREDITS_SCR_ID "Credits0"
Object "Logo0" {
align_x center
align_y center
/*align_y_offs { 100 - $LOGO_DY }*/
align_y_offs { -50 - $LOGO_DY }
align_x_offs -200
y 140
Element BITMAP {
align_x center
@@ -158,99 +209,16 @@ Screen "Credits screen"
bmp_null_level 148
null_level 128
/*bmp_file "resource/iscreen/bitmap/logo0.bmp" */
bmp_file "resource/iscreen/bitmap/kranx_logo.bmp"
bmp_file "resource/iscreen/bitmap/logo0.bmp"
}
$LOGO_EV
}
/*Object "NewCredits"
{
align_x center
y 400
Element STRING {
align_x center
terrain_num $TERRAIN2
font 0
null_level $DEFAULT_NULL
string "Re-release credits"
}
Event {
if_selected
key $VK_LBUTTON
key $VK_RETURN
key $VK_SPACE
time { $PRESS_OBJ_TIME + $MOVE2SCREEN_TIME + 1 }
EvComm {
low_obj "NewCredits"
start_time 0
time $PRESS_OBJ_TIME
}
EvComm {
move2screen "Controls screen"
start_time $PRESS_OBJ_TIME
time $MOVE2SCREEN_TIME
}
}
Event {
if_not_selected
key $VK_RBUTTON
time { $PRESS_OBJ_TIME + $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME + $MOVE2SCREEN_TIME + 1 }
EvComm {
jump_obj "NewCredits"
start_time $PRESS_OBJ_TIME
}
EvComm {
smooth_obj "NewCredits" 4
start_time $PRESS_OBJ_TIME
time $SMOOTH_OBJ_TIME
}
EvComm {
hide_obj "NewCredits"
start_time { $PRESS_OBJ_TIME + $SMOOTH_OBJ_TIME }
time $HIDE_OBJ_TIME
}
EvComm {
low_obj "SELECTED_OBJ"
start_time 0
time $PRESS_OBJ_TIME
}
EvComm {
rise_obj "NewCredits"
start_time 0
time $PRESS_OBJ_TIME
}
EvComm {
move2screen "Controls screen"
start_time { $PRESS_OBJ_TIME + $SMOOTH_OBJ_TIME + $HIDE_OBJ_TIME }
time $MOVE2SCREEN_TIME
}
}
#define OBJ1 "SELECTED_OBJ"
#define OBJ2 "NewCredits"
Event {
if_not_selected
key $VK_LBUTTON
key $VK_MOVE
$EV_CHANGE_OBJ
}
}*/
/*#define LOGO_OBJ_ID "Logo1"
#define LOGO_OBJ_ID "Logo1"
#define CREDITS_SCR_ID "Credits1"
Object "Logo1" {
align_x center
align_y center
align_y_offs { -10 - $LOGO_DY }
align_x_offs -200
y 290
Element BITMAP {
align_x center
@@ -269,8 +237,8 @@ Screen "Credits screen"
#define CREDITS_SCR_ID "Credits2"
Object "Logo2" {
align_x center
align_y center
align_y_offs { -100 - $LOGO_DY }
align_x_offs -200
y 390
Element BITMAP {
align_x center
@@ -284,7 +252,47 @@ Screen "Credits screen"
bmp_file "resource/iscreen/bitmap/logo2.bmp"
}
$LOGO_EV
}*/
}
#define LOGO_OBJ_ID "Logo3"
#define CREDITS_SCR_ID "Credits5"
Object "Logo3" {
align_x center
align_x_offs 200
y 160
Element BITMAP {
align_x center
align_y center
terrain_num $TERRAIN4
bmp_null_level 148
null_level 128
bmp_file "resource/iscreen/bitmap/community.bmp"
}
$LOGO_EV
}
#define LOGO_OBJ_ID "Logo4"
#define CREDITS_SCR_ID "Credits6"
Object "Logo4" {
align_x center
align_x_offs 200
y 340
Element BITMAP {
align_x center
align_y center
terrain_num $TERRAIN4
bmp_null_level 148
null_level 128
bmp_file "resource/iscreen/bitmap/kranx_logo.bmp"
}
$LOGO_EV
}
}
#define LOGO_EV Event { \
@@ -328,6 +336,8 @@ Screen "Credits screen"
} \
}
/*#include "iscreen/scripts/cr1.inc"
#include "iscreen/scripts/cr2.inc"*/
#include "iscreen/scripts/cr4.inc"
#include "iscreen/scripts/cr3.inc"
#include "iscreen/scripts/cr2.inc"
#include "iscreen/scripts/cr1.inc"
#include "iscreen/scripts/cr0.inc"

View File

@@ -72,10 +72,79 @@ Screen "Credits screen"
}
}
Object "SubtitleStrA"
{
align_x center
align_x_offs -200
y 90
Element STRING {
align_x center
terrain_num $TERRAIN3
font 4
null_level $DEFAULT_NULL
string $iSTR_CreditsSubA
}
}
Object "SubtitleStrBA"
{
align_x center
align_x_offs 200
y 90
Element STRING {
align_x center
terrain_num $TERRAIN3
font 4
null_level $DEFAULT_NULL
string $iSTR_CreditsSubBA
}
}
Object "SubtitleStrBB"
{
align_x center
align_x_offs 200
y 122
Element STRING {
align_x center
terrain_num $TERRAIN3
font 4
null_level $DEFAULT_NULL
string $iSTR_CreditsSubBB
}
}
Object "SubtitleStrCA"
{
align_x center
align_x_offs 200
y 250
Element STRING {
align_x center
terrain_num $TERRAIN3
font 4
null_level $DEFAULT_NULL
string $iSTR_CreditsSubCA
}
}
Object "SubtitleStrCB"
{
align_x center
align_x_offs 200
y 282
Element STRING {
align_x center
terrain_num $TERRAIN3
font 4
null_level $DEFAULT_NULL
string $iSTR_CreditsSubCB
}
}
Object "Main Menu Option"
{
align_x center
y 450
y 470
Element STRING {
align_x center
@@ -129,8 +198,8 @@ Screen "Credits screen"
#define CREDITS_SCR_ID "Credits0"
Object "Logo0" {
align_x center
align_y center
align_y_offs { 50 - $LOGO_DY }
align_x_offs -200
y 140
Element BITMAP {
align_x center
@@ -149,8 +218,8 @@ Screen "Credits screen"
#define CREDITS_SCR_ID "Credits1"
Object "Logo1" {
align_x center
align_y center
align_y_offs { -60 - $LOGO_DY }
align_x_offs -200
y 290
Element BITMAP {
align_x center
@@ -165,6 +234,66 @@ Screen "Credits screen"
}
$LOGO_EV
}
#define LOGO_OBJ_ID "Logo2"
#define CREDITS_SCR_ID "Credits2"
Object "Logo2" {
align_x center
align_x_offs -200
y 390
Element BITMAP {
align_x center
align_y center
terrain_num $TERRAIN4
bmp_null_level 148
null_level 128
bmp_file "resource/iscreen/bitmap/logo2.bmp"
}
$LOGO_EV
}
#define LOGO_OBJ_ID "Logo3"
#define CREDITS_SCR_ID "Credits5"
Object "Logo3" {
align_x center
align_x_offs 200
y 160
Element BITMAP {
align_x center
align_y center
terrain_num $TERRAIN4
bmp_null_level 148
null_level 128
bmp_file "resource/iscreen/bitmap/community.bmp"
}
$LOGO_EV
}
#define LOGO_OBJ_ID "Logo4"
#define CREDITS_SCR_ID "Credits6"
Object "Logo4" {
align_x center
align_x_offs 200
y 340
Element BITMAP {
align_x center
align_y center
terrain_num $TERRAIN4
bmp_null_level 148
null_level 128
bmp_file "resource/iscreen/bitmap/kranx_logo.bmp"
}
$LOGO_EV
}
}
#define LOGO_EV Event { \
@@ -208,6 +337,9 @@ Screen "Credits screen"
} \
}
#include "iscreen/scripts/cr4.inc"
#include "iscreen/scripts/cr3.inc"
#include "iscreen/scripts/cr2.inc"
#include "iscreen/scripts/cr1.inc"
#include "iscreen/scripts/cr0.inc"

View File

@@ -31,6 +31,21 @@
#define iSTR_Credits1 "Credits"
#define iSTR_Credits2 "<22><><E1AEA7><EFBFBD><E2A5AB>"
#define iSTR_CreditsSubA1 "Original, 1998"
#define iSTR_CreditsSubA2 "<22><EFBFBD><E0A8A3><EFBFBD><EFBFBD>, 1998"
#define iSTR_CreditsSubBA1 " Community,"
#define iSTR_CreditsSubBA2 " <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮,"
#define iSTR_CreditsSubBB1 "2002 - 2013"
#define iSTR_CreditsSubBB2 "2002 - 2013"
#define iSTR_CreditsSubCA1 " Re-release,"
#define iSTR_CreditsSubCA2 " <20><><EFBFBD><E0A5A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,"
#define iSTR_CreditsSubCB1 "2013 - present time"
#define iSTR_CreditsSubCB2 "2013 - <20><><EFBFBD><EFBFBD> <20><><EFBFBD>"
#define iSTR_MAIN_MENU1 "MAIN MENU"
#define iSTR_MAIN_MENU2 "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>"
@@ -634,3 +649,42 @@
#define iSTR_CurIP1 "Your IP:"
#define iSTR_CurIP2 "<22><><EFBFBD> IP:"
#define iSTR_CreditsPathA1 "resource/iscreen/text/eng/credits1.txt"
#define iSTR_CreditsPathA2 "resource/iscreen/text/rus/credits1.txt"
#define iSTR_CreditsPathB1 "resource/iscreen/text/eng/credits2.txt"
#define iSTR_CreditsPathB2 "resource/iscreen/text/rus/credits2.txt"
#define iSTR_CreditsPathCA1 "resource/iscreen/text/eng/credits31.txt"
#define iSTR_CreditsPathCA2 "resource/iscreen/text/rus/credits31.txt"
#define iSTR_CreditsPathCB1 "resource/iscreen/text/eng/credits32.txt"
#define iSTR_CreditsPathCB2 "resource/iscreen/text/rus/credits32.txt"
#define iSTR_CreditsPathDA1 "resource/iscreen/text/eng/credits41.txt"
#define iSTR_CreditsPathDA2 "resource/iscreen/text/rus/credits41.txt"
#define iSTR_CreditsPathDB1 "resource/iscreen/text/eng/credits42.txt"
#define iSTR_CreditsPathDB2 "resource/iscreen/text/rus/credits42.txt"
#define iSTR_CreditsPathEA1 "resource/iscreen/text/eng/credits51.txt"
#define iSTR_CreditsPathEA2 "resource/iscreen/text/rus/credits51.txt"
#define iSTR_CreditsPathEB1 "resource/iscreen/text/eng/credits52.txt"
#define iSTR_CreditsPathEB2 "resource/iscreen/text/rus/credits52.txt"
#define iSTR_CreditsPathF1 "resource/iscreen/text/eng/credits6.txt"
#define iSTR_CreditsPathF2 "resource/iscreen/text/rus/credits6.txt"
#define iSTR_CreditsPathG1 "resource/iscreen/text/eng/credits7.txt"
#define iSTR_CreditsPathG2 "resource/iscreen/text/rus/credits7.txt"
#define iSTR_CreditsPathH1 "resource/iscreen/text/eng/credits8.txt"
#define iSTR_CreditsPathH2 "resource/iscreen/text/rus/credits8.txt"
#define iSTR_CreditsPathIA1 "resource/iscreen/text/eng/credits91.txt"
#define iSTR_CreditsPathIA2 "resource/iscreen/text/rus/credits91.txt"
#define iSTR_CreditsPathIB1 "resource/iscreen/text/eng/credits92.txt"
#define iSTR_CreditsPathIB2 "resource/iscreen/text/rus/credits92.txt"

View File

@@ -6,6 +6,11 @@
#define iSTR_CREDITS $iSTR_CREDITS1
#define iSTR_EXIT $iSTR_EXIT1
#define iSTR_Credits $iSTR_Credits1
#define iSTR_CreditsSubA $iSTR_CreditsSubA1
#define iSTR_CreditsSubBA $iSTR_CreditsSubBA1
#define iSTR_CreditsSubBB $iSTR_CreditsSubBB1
#define iSTR_CreditsSubCA $iSTR_CreditsSubCA1
#define iSTR_CreditsSubCB $iSTR_CreditsSubCB1
#define iSTR_MAIN_MENU $iSTR_MAIN_MENU1
#define iSTR_HALL_OF_FAME $iSTR_HALL_OF_FAME1
@@ -251,3 +256,17 @@
#define iSTR_GameInfo $iSTR_GameInfo1
#define iSTR_CreditsPathA $iSTR_CreditsPathA1
#define iSTR_CreditsPathB $iSTR_CreditsPathB1
#define iSTR_CreditsPathCA $iSTR_CreditsPathCA1
#define iSTR_CreditsPathCB $iSTR_CreditsPathCB1
#define iSTR_CreditsPathDA $iSTR_CreditsPathDA1
#define iSTR_CreditsPathDB $iSTR_CreditsPathDB1
#define iSTR_CreditsPathEA $iSTR_CreditsPathEA1
#define iSTR_CreditsPathEB $iSTR_CreditsPathEB1
#define iSTR_CreditsPathF $iSTR_CreditsPathF1
#define iSTR_CreditsPathG $iSTR_CreditsPathG1
#define iSTR_CreditsPathH $iSTR_CreditsPathH1
#define iSTR_CreditsPathIA $iSTR_CreditsPathIA1
#define iSTR_CreditsPathIB $iSTR_CreditsPathIB1

View File

@@ -6,6 +6,11 @@
#define iSTR_CREDITS $iSTR_CREDITS2
#define iSTR_EXIT $iSTR_EXIT2
#define iSTR_Credits $iSTR_Credits2
#define iSTR_CreditsSubA $iSTR_CreditsSubA2
#define iSTR_CreditsSubBA $iSTR_CreditsSubBA2
#define iSTR_CreditsSubBB $iSTR_CreditsSubBB2
#define iSTR_CreditsSubCA $iSTR_CreditsSubCA2
#define iSTR_CreditsSubCB $iSTR_CreditsSubCB2
#define iSTR_MAIN_MENU $iSTR_MAIN_MENU2
#define iSTR_HALL_OF_FAME $iSTR_HALL_OF_FAME2
@@ -251,3 +256,17 @@
#define iSTR_GameInfo $iSTR_GameInfo2
#define iSTR_CreditsPathA $iSTR_CreditsPathA2
#define iSTR_CreditsPathB $iSTR_CreditsPathB2
#define iSTR_CreditsPathCA $iSTR_CreditsPathCA2
#define iSTR_CreditsPathCB $iSTR_CreditsPathCB2
#define iSTR_CreditsPathDA $iSTR_CreditsPathDA2
#define iSTR_CreditsPathDB $iSTR_CreditsPathDB2
#define iSTR_CreditsPathEA $iSTR_CreditsPathEA2
#define iSTR_CreditsPathEB $iSTR_CreditsPathEB2
#define iSTR_CreditsPathF $iSTR_CreditsPathF2
#define iSTR_CreditsPathG $iSTR_CreditsPathG2
#define iSTR_CreditsPathH $iSTR_CreditsPathH2
#define iSTR_CreditsPathIA $iSTR_CreditsPathIA2
#define iSTR_CreditsPathIB $iSTR_CreditsPathIB2

Binary file not shown.

Binary file not shown.

View File

@@ -1,29 +0,0 @@
<EFBFBD><EFBFBD><EFBFBD>ᨩ᪨<EFBFBD> ࠧࠡ<E0A0A7><E0A0A1><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> K-D LAB
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> HTTP://WWW.KDLAB.COM
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧࠡ<E0A0A7><E0A0A1><EFBFBD><E7A8AA>:
<EFBFBD><EFBFBD><EFBFBD>३ "<22><EFBFBD>" <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><E0AEA2> <20><><EFBFBD><EFBFBD><E6A5AF><EFBFBD>, <20><><EFBFBD><E5ADAE><EFBFBD><EFBFBD><EFBFBD>, ⥪<><E2A5AA><EFBFBD>, <20><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD>⪠" <20><><EFBFBD><EFBFBD><ECACA8>, <20><><EFBFBD>-<2D><><EFBFBD><E0A5AA><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>஢/<2F><><EFBFBD><EFBFBD><E1AEAD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>३ "<22>஭" <20><><EFBFBD><E5A0AD>, <20><><EFBFBD><EFBFBD><20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><E0AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, AI, <20><><EFBFBD><E4A5AA>, <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><EFBFBD><E2A8AB>" <20><EFBFBD><E3A4A5><EFBFBD>, <20><><EFBFBD><EFBFBD><20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>, 3D <20><><EFBFBD><E5ADAE><EFBFBD><EFBFBD><EFBFBD>, 䨧<><E4A8A7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD>, 3D <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><E0AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, 2D/3D <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD>, <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><>⨩, <20><><EFBFBD><E4A5AA>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><E0A5A2><>⮢, <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><EFBFBD>" <20><><EFBFBD><EFBFBD><E1ADAE><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EBAAA0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AD><EFBFBD><E0AEA2>, <20><><EFBFBD><E3AAAE><EFBFBD> <20><><EFBFBD><E4A5AA>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᥩ "<22><><EFBFBD><EFBFBD><EFBFBD>1001" <20><><EFBFBD><EFBFBD><E2ADA8><EFBFBD>, <20><><20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ࠡ<><E0A0A1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Surmap ART(tm) ᮧ<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> "<22><EFBFBD>" <20><><EFBFBD><EFBFBD><ECACA8><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> 3D-<2D><>ꥪ⮢ ᮧ<><E1AEA7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>஬ "<22><><EFBFBD><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> "<22><><EFBFBD>⪠" <20><><EFBFBD><EFBFBD><ECACA8><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1A5AB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><EFBFBD>" <20><><EFBFBD><EFBFBD><ECACA8>, <20><><EFBFBD><E5A0A8> "<22><><EFBFBD><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAE> <20> <20><><EFBFBD><EFBFBD> "<22><><EFBFBD>⪠" <20><><EFBFBD><EFBFBD><ECACA8><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><EFBFBD>" <20><><EFBFBD><EFBFBD><ECACA8> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><EFBFBD>" <20><><EFBFBD><EFBFBD><E1ADAE><EFBFBD><EFBFBD><E1AAAE>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>讥 ᯠᨡ<E1AFA0>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5A7><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><E1AEA7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A2A5>)

View File

@@ -0,0 +1,24 @@
K-D Lab Russian Game Development Company
Development team:
Andrey "KranK" Kouzmine, project leader, game design,
technology, scenario, music
Yulia "Ylitka" Kouzmina, art director,
worlds design, character design, environment design
Andrey "Kron" Soukhanov, senior programmer, engine,
game logic, visual effects
Eugene "Steeler" Hudenko, senior programmer, interface, system platform
Alexander "Sicher" Kotliar, senior programmer,
3D technology, physics model
Michail "ChSnark" Piskounov, 3D artist, game design, game texts
Vlad Spitsky, 2D/3D artist, worlds making, static graphics
Anatoly "Koto" Konyk, programmer, internal logic,
visual effects, algorithms
Vladimir Golidnichuk, translator, programmer
Victor "Ruber" Krasnokutsky, music arrangement, sound effects
Alexey "Alex1001" Postnikov, QA/PR manager
Alexey Ivanov, low-level programming, profiling
Administration:
Dmitry "Rooble" Radinovich,
general management

View File

@@ -0,0 +1,16 @@
K-D Lab Russian Game Development Company
Surmap ART(tm) technology
by Andrey "KranK" Kouzmine
3D-objects & physics model technology
by Alexander "Sicher" Kotliar
UNIVANG ideas by
Andrey "KranK" Kouzmine,
Michail "Snark" Piskounov,
Yulia "Ylitka" Kouzmina
Thanx to Vadim "Bogus" Lobanov (algorithms),
Sanan (some static graphics)
and Andrey Cherezov (multiplayer consulting)

View File

@@ -0,0 +1,20 @@
External Beta-Vangers,
"Vangers beta-testing Team":
Michael "3ABXO3" Fedorov
Alexey "Allex" Demakov
Alexey "Berserker" Vasilyev
Dmitriy "Crazy Sid" Itsko
Sergey "Damned" Gerasev
Alexey "Dead Pilot" Kaveshnikov
Alexander "Dekad" Shishiv
Paul "FlyHippo" Antonov
Alexander "Klarens Bodiker" Mayorov
Kh.Motolog
Alexander "Lem Zazul" Gorbatchev
Valentin "Master" Dobrinin
Sergey "Russian Panther" Vorobiev
Alexander "Saska" Semin
Alexander "Scar" Vershinin
Michael "Tolstiy" Kabanov
Valery "Varust" Bakieva

View File

@@ -0,0 +1,7 @@
Internal Beta-Vangers:
Yulia "Ylitka" Kouzmina
Denis "DM" Skaradyonok
Alexey "Alex1001" Postnikov
Victor "Ruber" Krasnokutsky
Dmitry "Rooble" Radinovich

View File

@@ -0,0 +1 @@
Buka Entertainment

View File

@@ -0,0 +1,16 @@
Igor Ustinov and Oleg Beloborodov - for being bosses and giving money
to those lazy developers with reckless hope in mind
Serge Kapoustin - for enumerous miles on dusty roads of the Chain driver
while searching for beebos, enemies and artefacts
Dmitriy Zakharov jr. - for testing as it is
Dmitriy Zakharov sn. - for so much efforts to promote the Product
Maxim Mikhaliov - as thanks to his translations certain thinhs
were caught by Interactive Magic in a proper way
Alexander Mikhailov - for brilliant marketing campaign,
the fruits of which will not keep waiting
Marina Beloborodova - for megs of press-releases
and enumerous words for those strange journalists
Konstantin Mironovich - for bringing a big super-booper once last summer,
still not working one, by the way
Serge Ignatiev - webmaster
Rest of Buka' staff - for eternal belief in project

View File

@@ -0,0 +1 @@
Interactive Magic

View File

@@ -1,7 +1,3 @@
Interactive Magic
HTTP://WWW.IMAGICGAMES.COM
HTTP://WWW.VANGERS.COM
Producer - Paul Potera
Product Marketing Manager - Tristan Hilderley
Quality Assurance Manager - Mark Moormans

View File

@@ -0,0 +1,16 @@
Vadim "Zamorochenniy" Zagidullin, support and community management
Andrey "Drunya" Bolshakov, forum support
and back-end of various community projects
Klim "klimrmad" Madygulov, development of zMod, 24/7 multiplayer server, rating
system and online tracker, first working post-release version of the SURMAP editor
Konstantin "capkoh" Sarychev, development of various tools
Dmitry "[W]Dimon" Tolkunov, support and community management
Alexander "<22><><EFBFBD>"/"Haedes" Dormidontov, support at later stages
Special thanks for all
who took part in community activities
in Vangers Community International Forum and IRC,
kept up traditions of regular online games
and competed in three worldwide Championships.
And thanks to K-D LAB and KranX Productions for their support and encouragement!

View File

@@ -0,0 +1,22 @@
New release and community support since 2013
Andrey "KranK" Kouzmine, idea, organization and development
of the original game, help and support of community initiatives
Alexey "Alex1001" Postnikov, initiative and organization of game re-release
Yury "stalkerg" Zhuravlev, rework of the source code,
publication of sources, crossplatform support,
updating of the game in Steam and GOG
Dmitry "AMDmi3" Marakasov, rework of the source code
Nikita "lpenguin" Prianichnikov, HD support
Aigars "Zuzon" Zeiza, 60 FPS support
Aleksander "caiiiycuk" Guryanov, updating of the original
SURMAP editor and its browser version, browser port of the game
Alexander "<22><><EFBFBD>"/"Haedes" Dormidontov, community support,
addition of new worlds

View File

@@ -0,0 +1,21 @@
Dmitry "[W]Dimon" Tolkunov,
support and community management,
work organization and initiatives, news in Steam
Dmitry "DileSoft" Leikin,
support and community management
Vadim "Zamorochenniy" Zagidullin,
support and community management
fau, news in Steam and their
translations, some designs
virosu, news in Steam and their translations
Localization from Levsha Games, 2013
Peter Keay, proofreading
Fedor Kulikov, localization manager
Also thanks to all who reviews the game
and tells people about it!

View File

@@ -0,0 +1,17 @@
New release and community
support since 2013
Contributors to GitHub repository
Aigars "Zuzon" Zeiza
Aleksei "alehay" Kudakov
Aleksander "caiiiycuk" Guryanov
Alexander "<22><><EFBFBD>"/"Haedes" Dormidontov
Andrew "ludwici" Volski
David "devnexen" Carlier
Dmitry "AMDmi3" Marakasov
Dmitry "DileSoft" Leikin
Dzmitry "kvark" Malyshau
EXL
Friedrich von Never / ForNeVeR
Ilya "Tstis" Nakonechny

View File

@@ -0,0 +1,14 @@
Klim "klimrmad" Madygulov
Michael "zorgrin" Vasilyev
Nikita "lpenguin" Prianichnikov
vaelund
Vasyl "vk" Kaigorodov
Vasily "shamazmazum" Postnicov
Vitaly "Fenex" Busko
XiadaOku
Yury "stalkerg" Zhuravlev
ZeeWanderer
And many thanks to all
who participated in the closed test
before the Steam release!

View File

@@ -0,0 +1,23 @@
<EFBFBD><EFBFBD><EFBFBD>ᨩ᪨<EFBFBD> ࠧࠡ<E0A0A7><E0A0A1><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> K-D LAB
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧࠡ<E0A0A7><E0A0A1><EFBFBD><E7A8AA>:
<EFBFBD><EFBFBD><EFBFBD>३ "<22><EFBFBD>" <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><E0AEA2> <20><><EFBFBD><EFBFBD><E6A5AF><EFBFBD>,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ⥪<><E2A5AA><EFBFBD>, <20><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD>⪠" <20><><EFBFBD><EFBFBD><ECACA8>, <20><><EFBFBD>-<2D><><EFBFBD><E0A5AA><EFBFBD>,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>஢/<2F><><EFBFBD><EFBFBD><E1AEAD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>३ "<22>஭" <20><><EFBFBD><E5A0AD>, <20><><EFBFBD><EFBFBD><20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, AI, <20><><EFBFBD><E4A5AA>, <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><EFBFBD><E2A8AB>" <20><EFBFBD><E3A4A5><EFBFBD>, <20><><EFBFBD><EFBFBD><20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><E2A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>,
3D <20><><EFBFBD><E5ADAE><EFBFBD><EFBFBD><EFBFBD>, 䨧<><E4A8A7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD>, 3D <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><E0AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, 2D/3D <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD>, <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><>⨩, <20><><EFBFBD><E4A5AA>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><E0A5A2><>⮢, <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><EFBFBD>" <20><><EFBFBD><EFBFBD><E1ADAE><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EBAAA0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A0AD><EFBFBD><E0AEA2>, <20><><EFBFBD><E3AAAE><EFBFBD> <20><><EFBFBD><E4A5AA>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᥩ "<22><><EFBFBD><EFBFBD><EFBFBD>1001" <20><><EFBFBD><EFBFBD><E2ADA8><EFBFBD>, <20><><20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A8AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ࠡ<><E0A0A1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>

View File

@@ -0,0 +1,22 @@
<EFBFBD><EFBFBD><EFBFBD>ᨩ᪨<EFBFBD> ࠧࠡ<E0A0A7><E0A0A1><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> K-D LAB
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Surmap ART(tm)
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> "<22><EFBFBD>" <20><><EFBFBD><EFBFBD><ECACA8><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> 3D-<2D><>ꥪ⮢
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>஬ "<22><><EFBFBD><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> "<22><><EFBFBD>⪠" <20><><EFBFBD><EFBFBD><ECACA8><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1A5AB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><EFBFBD>" <20><><EFBFBD><EFBFBD><ECACA8>,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD><E3ADAE>
<EFBFBD> <20><><EFBFBD><EFBFBD> "<22><><EFBFBD>⪠" <20><><EFBFBD><EFBFBD><ECACA8><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0A8AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><EFBFBD>" <20><><EFBFBD><EFBFBD><ECACA8> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><EFBFBD>" <20><><EFBFBD><EFBFBD><E1ADAE><EFBFBD><EFBFBD><E1AAAE>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>讥 ᯠᨡ<E1AFA0>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD>" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A5A7><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><E1AEA7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0A2A5>)

View File

@@ -1,4 +1,6 @@
Ž£à®¬­®¥ ᯠᨡ® ¯¥à¢ë¬ ­  ‡¥¬«¥ <20>¥â -‚ ­£¥à ¬:
Ž£à®¬­®¥ ᯠᨡ® ¯¥à¢ë¬
­  ‡¥¬«¥ <20>¥â -‚ ­£¥à ¬,
"Vangers beta-testing Team":
Œ¨å ¨« "3ABXO3" ”¥¤®à®¢
€«¥ªá¥© "Allex" „¥¬ ª®¢
@@ -16,10 +18,3 @@
€«¥ªá ­¤à "Scar" ‚¥à設¨­
Œ¨å ¨« "Tolstiy" Š ¡ ­®¢
‚ «¥à¨ï "Varust" <20> ª¨¥¢ 
‚­ãâ७­¨¥ ¡¥â -â¥áâ¥àë, ¨áª®«¥á¨¢è¨¥ –¥¯ì Œ¨à®¢ ¢¤®«ì ¨ ¯®¯¥à¥ª:
ž«¨ï "“«¨âª " Šã§ì¬¨­ 
„¥­¨á "DM" ‘ª à ¤¥­®ª
€«¥ªá¥© "€«¥ªá1001" <20>®áâ­¨ª®¢
‚¨ªâ®à "<22>ã¡¥à" Šà á­®ªãâ᪨©

View File

@@ -0,0 +1,7 @@
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<EFBFBD><EFBFBD><EFBFBD>ᨢ訥 <20><><EFBFBD><EFBFBD> <20><><20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>४:
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD>⪠" <20><><EFBFBD><EFBFBD><ECACA8>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "DM" <20><><EFBFBD><EFBFBD><E0A0A4><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᥩ "<22><><EFBFBD><EFBFBD><EFBFBD>1001" <20><><EFBFBD><EFBFBD><E2ADA8><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><EFBFBD>" <20><><EFBFBD><EFBFBD><E1ADAE><EFBFBD><EFBFBD>

View File

@@ -0,0 +1 @@
<EFBFBD><EFBFBD><EFBFBD>ᨩ᪠<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>

View File

@@ -1,6 +1,3 @@
<EFBFBD>®αᨩα<EFBFBD> ο <20>®¬― ­¨ο ¨§¤ β¥«μ <20>®¬―μξβ¥ΰ­λε ¨£ΰ <20><EFBFBD>
<EFBFBD>®α¥β¨β¥ ­ θ α ©β HTTP://WWW.BUKA.COM
ˆ£®àì “á⨭®¢ ¨ Ž«¥£ <20>¥«®¡®à®¤®¢ - §  â®, çâ® ®­¨ ­ ç «ìá⢮, ¤ î饥 ¡¨¡ë
à §à ¡®â稪 ¬ á § â ¥­­®© ­ ¤¥¦¤®© ­  â®, ç⮠⥠¢á¥-â ª¨ ᤥ« î⠯஥ªâ
‘¥à£¥© Š ¯ãá⨭ - §  ­¥¨¬®¢¥à­®¥ ª®«¨ç¥á⢮ ¬¨«ì, ­ ª â ­­ëå ¯®

View File

@@ -0,0 +1 @@
Interactive Magic

View File

@@ -0,0 +1,16 @@
Producer - Paul Potera
Product Marketing Manager - Tristan Hilderley
Quality Assurance Manager - Mark Moormans
Quality Assurance Coordinator - Mike Pearson
Manual - Sara Ley
Opening Animation - John Zwicker
Internal Testers - Carlin Gartrell, Chris Gardner, Sean McDaniels,
Joe Allen, James Cowgill, Chuck Rice, Adam Turner, Denham Hardman, Becky Starling,
JP Berard, Anthony Lazaro, Scott Jacobs, Beau Norris
External Testers - Jim Pedicord, Darrell Dik, Kent Coleman, Donald Vess,
Bryce Whitlock, William Baverstock, Andrew Lee, Chris Logan, Lance Eichman,
Paul Cabana, Jeffrey Vitous, Eric Strehl, Ronald Bruton, Andrew Burton, Bliksem Tobey,
Max Cates, Jason Sweat, Ronald Gretz, Anton Damm, Anthony Sage,
Tyler Robertson, Gary Turner, Matt McKeehan

View File

@@ -0,0 +1,16 @@
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "Zamorochenniy" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3ABAB>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><E0A3A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEADA8>
<EFBFBD><EFBFBD><EFBFBD>३ "Drunya" <20><><EFBFBD><EFBFBD><EFBFBD><E8A0AA>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
<EFBFBD> <20><><EFBFBD><E5ADA8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEADA8>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> "klimrmad" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ࠧࠡ<E0A0A7>⪠ zMod, <20><><EFBFBD><E3A3AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7ADAE> <20><><EFBFBD><E0A2A5> <20><><EFBFBD><EFBFBD><EFBFBD>஢,
३⨭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><EFBFBD><E0A5AA><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD>-५<><E0A5AB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᨨ ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SURMAP
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭⨭ "capkoh" <20><><EFBFBD><EFBFBD>祢, ࠧ<><E0A0A7><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3ACA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>਩ "[W]Dimon" <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><E0A3A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEADA8>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD>"/"Haedes" <20><><EFBFBD><E0ACA8><EFBFBD>⮢, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEADA8> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0ADAE><EFBFBD> <20>ᥬ ⥬,
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A8A2> <20><><EFBFBD><EFBFBD><EFBFBD><E2A2AE><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEADA8> <20><> <20><><20><><EFBFBD><EFBFBD><EFBFBD>஢᪮<E0AEA2> <20><><EFBFBD><20> IRC,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1ABA0><EFBFBD><EFBFBD> <20><EFBFBD>樨 ॣ<><E0A5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E2A5A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD> <20><><EFBFBD><E0AEAB> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>-<2D> <20><><EFBFBD> <20> KranX Productions <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><E0A5AD> <20><>樠⨢
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><20> <20><><EFBFBD><EFBFBD> <20><> <20><EFBFBD><E1A5A3> <20><><EFBFBD><EFBFBD><20> <20><><EFBFBD><EFBFBD><EFA4AA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8A8A9> <20><><EFBFBD> <20><EFBFBD><E0A5AC><EFBFBD>!

View File

@@ -0,0 +1,23 @@
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1AEAE><EFBFBD><EFBFBD><EFBFBD> <20> 2013 <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>३ "KranK" <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>, <20><EFBFBD><E0A3A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ࠧࠡ<E0A0A7>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>樠⨢<E6A8A0><E2A8A2><><E1AEAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᥩ "<22><><EFBFBD><EFBFBD><EFBFBD>1001" <20><><EFBFBD><EFBFBD><E2ADA8><EFBFBD>, <20><EFBFBD><E0A3A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A1> <20><> <20><><EFBFBD><E0A5A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>,
<EFBFBD><EFBFBD><EFBFBD>樠⨢<EFBFBD> <20><> <20><><EFBFBD><E0A5A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>਩ "stalkerg" <20><><EFBFBD><E0A0A2><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><E1AFAB><EFBFBD><EFBFBD><EFBFBD><E0ACA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A5AB><EFBFBD><EFBFBD> <20> Steam <20> GOG
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>਩ "AMDmi3" <20><><EFBFBD>ᮢ, <20><><EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "lpenguin" <20><>ﭨ筨<EFADA8><E7ADA8><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> HD <20> <20><><EFBFBD><EFBFBD>
Aigars "Zuzon" Zeiza, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 60 FPS <20> <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "caiiiycuk" <20><><EFBFBD><EFBFBD><EFBFBD>, ॠ<><E0A5A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SURMAP
<EFBFBD> <20><><EFBFBD> <20><><EFBFBD>㧥ୠ<E3A7A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD>"/"Haedes" <20><><EFBFBD><E0ACA8><EFBFBD>⮢, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEADA8>,
<EFBFBD><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>

View File

@@ -0,0 +1,20 @@
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1AEAE><EFBFBD><EFBFBD><EFBFBD> <20> 2013 <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>਩ "[W]Dimon" <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><E0A3A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEADA8>,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A0A1> <20> <20><><EFBFBD>樠⨢<E6A8A0>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> Steam
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>਩ "DileSoft" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><E0A3A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEADA8>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "Zamorochenniy" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E3ABAB>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><EFBFBD><E0A3A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEADA8>
fau, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> Steam <20> <20><> <20><><EFBFBD><E0A5A2>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E8A5AD>
virosu, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> Steam <20> <20><> <20><><EFBFBD><E0A5A2>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Levsha Games, 2013
Peter Keay, <20><><EFBFBD><EFBFBD>⪠ ⥪<>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E3ABA8><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᯠᨡ<E1AFA0> <20>ᥬ, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A5A2><EFBFBD> <20><><EFBFBD><EFBFBD>
<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EBA2A0> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A8A9><EFBFBD> <20><><EFBFBD>ᠬ,
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0ADAE><EFBFBD> - <20><EFBFBD><E3ABA4><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>!

View File

@@ -0,0 +1,18 @@
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 2013 <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E0A5AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> GitHub
Aigars "Zuzon" Zeiza
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᥩ "alehay" <20><EFBFBD><E3A4A0><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "caiiiycuk" <20><><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD>"/"Haedes" <20><><EFBFBD><E0ACA8><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD>३ "ludwici" <20><><EFBFBD><EFBFBD><EFBFBD>
David "devnexen" Carlier
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>਩ "AMDmi3" <20><><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>਩ "DileSoft" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Dzmitry "kvark" Malyshau
EXL
Friedrich von Never / ForNeVeR
I<EFBFBD><EFBFBD><EFBFBD> "Tstis" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

View File

@@ -0,0 +1,14 @@
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> "klimrmad" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD> "zorgrin" <20><>ᨫ쥢
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "lpenguin" <20><>ﭨ筨<EFADA8><E7ADA8><EFBFBD>
vaelund
Vasyl "vk" Kaigorodov
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> "shamazmazum" <20><><EFBFBD><EFBFBD><E2ADA8><EFBFBD>
Vitaly "Fenex" Busko
XiadaOku
<EFBFBD>਩ "stalkerg" <20><><EFBFBD><E0A0A2><EFBFBD>
ZeeWanderer
<EFBFBD> <20><><EFBFBD><EFBFBD>讥 ᯠᨡ<E1AFA0> <20>ᥬ,
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E2A2AE><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>। ५<><E0A5AB><EFBFBD><EFBFBD> <20> Steam!

51
server/Dockerfile Normal file
View File

@@ -0,0 +1,51 @@
FROM ubuntu:latest
ENV TZ=Europe/Moscow
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN apt-get -yqq update && \
apt-get install -yq --no-install-recommends \
make gcc g++ python3-pip \
git cmake libsdl2-dev libsdl2-net-dev libogg-dev \
libvorbis-dev libavcodec-dev libavformat-dev libavutil-dev && \
apt-get autoremove -y && \
apt-get clean -y
WORKDIR /opt/vangers
RUN GIT_SSL_NO_VERIFY=1 git clone https://github.com/novnc/websockify.git websockify
RUN cd websockify && \
pip3 install setuptools && \
python3 setup.py install && \
cd ..
RUN GIT_SSL_NO_VERIFY=1 git clone --depth 1 https://github.com/stalkerg/clunk.git clunk
RUN GIT_SSL_NO_VERIFY=1 git clone https://github.com/KranX/Vangers vangers
COPY ./*.h vangers/server/
COPY ./*.cpp vangers/server/
RUN mkdir clunk-build && \
cd clunk-build && \
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ ../clunk && \
make -j4 && \
make install && \
cd ..
# Debug build is required for generating core dump, see more:
# https://stackoverflow.com/questions/28335614/how-to-generate-core-file-in-docker-container
RUN mkdir build && \
cd build && \
cmake -DCMAKE_BUILD_TYPE=Debug ../vangers && \
make -j4 vangers_server && \
cd ..
RUN mkdir bin && \
cd bin && \
cp ../build/server/vangers_server ./server
COPY ./docker-cmd.sh ./
RUN chmod 777 docker-cmd.sh
CMD ["./docker-cmd.sh"]

12
server/docker-cmd.sh Normal file
View File

@@ -0,0 +1,12 @@
#!/bin/bash
# start websockify as daemon
websockify --cert $CER_FILE --key $KEY_FILE $SERVER:2198 $SERVER:2197 -D
status=$?
if [ $status -ne 0 ]; then
echo "Failed to start websockify: $status"
exit $status
fi
# start the vangers server
./bin/server