Commit 4081dcee authored by Carlos Donizete Froes's avatar Carlos Donizete Froes 🐧

New upstream version 1.2.2

parents
**Changelog version: 1.2.2**
* Renamed the engine source file and moved to the 'src' directory
* Makefile: changed build in engine file
* Renamed from pk2 to pekka-kana-2
* Fixed path to home directory
* Debian packaging: data directory name changed to 'pekka-kana-2'
**Changelog version: 1.2.1**
* Initial source code release copied http://pistegamez.net/PK2
* Added icon in format (PNG) size 330 pixels
* Added the BSD-2-Clauses license file
* Functions Removed: Level Editor, Sprite Creator
* Created the basic game manpage and desktop files
* Changed and fixed the sprite and map files
* Main code changed to interact with the engine
* Fixed file paths, deleted some commented lines
* Fixed bugs and removed unused files
* Defined the SDL2 library in CFLAGS and LDFLAGS
* Fixed: Sprintf Buffer Overflow Detection
* Updated copyright years (2019)
* Makefile: Updated configuration directory definition
BSD 2-Clause License
Copyright (c) 2003 Janne Kivilahti
Copyright (c) 2010 Samuli Tuomola
Copyright (c) 2016-2019 Danilo Lemos
Copyright (c) 2018-2019 Carlos Donizete Froes [a.k.a coringao]
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Pekka Kana 2 by Janne Kivilahti from Piste Gamez (2003-2007)
# https://pistegamez.net/game_pk2.html
#
# This public release and rewritten is governed by a BSD-2-clause license.
#
# Makefile command:
# "make" - Creates Pekka Kana 2 binary
# "make clean" - Removes all objects, executables and dependencies
CPP = g++
CFLAGS += $(shell pkg-config --cflags sdl2) -g -O2 -std=gnu++17 -Wno-write-strings
LFLAGS += $(shell pkg-config --libs sdl2) -lSDL2_mixer
# Defines directories
SRC_DIR = src/
BIN_DIR = bin/
BUILD_DIR = build/
# Defines the engine and src used in main codes
ENGINE_SRC = $(wildcard $(SRC_DIR)*.cpp)
ENGINE_OBJ := $(basename $(ENGINE_SRC))
ENGINE_OBJ := $(notdir $(ENGINE_OBJ))
ENGINE_OBJ := $(addsuffix .o, $(ENGINE_OBJ))
ENGINE_OBJ := $(addprefix $(BUILD_DIR), $(ENGINE_OBJ))
PK2_SPRITE_SRC = $(SRC_DIR)sprite.cpp
PK2_SPRITE_OBJ = $(BUILD_DIR)sprite.o
PK2_MAP_SRC = $(SRC_DIR)map.cpp
PK2_MAP_OBJ = $(BUILD_DIR)map.o
PK2_SRC = $(SRC_DIR)pk2.cpp
PK2_OBJ = $(BUILD_DIR)pk2.o
# Defines the destination of each binary file
PK2_BIN = $(BIN_DIR)/pekka-kana-2
DEPENDENCIES := $(PK2_OBJ) $(PK2_SPRITE_OBJ) $(PK2_MAP_OBJ) $(ENGINE_OBJ)
DEPENDENCIES := $(basename $(DEPENDENCIES))
DEPENDENCIES := $(addsuffix .d, $(DEPENDENCIES))
pk2: makedirs $(PK2_BIN)
# Rules for generate the binaries using the object files
$(PK2_BIN): $(PK2_OBJ) $(PK2_SPRITE_OBJ) $(PK2_MAP_OBJ) $(ENGINE_OBJ)
@echo -Linking Pekka Kana 2
@$(CPP) $^ $(LFLAGS) -o $@
# Rules for generate any *.o file
-include $(DEPENDENCIES)
build/%.o : src/%.cpp
@echo -Some dependence of $@ was changed, updating
@$(CPP) $(CFLAGS) -I$(SRC_DIR) -o $@ -c $<
@$(CPP) -MM -MT $@ -I$(SRC_DIR) $< > build/$*.d
makedirs:
@mkdir -p $(BIN_DIR) >/dev/null
@mkdir -p $(BUILD_DIR) >/dev/null
clean:
@rm -rf $(BIN_DIR)
@rm -rf $(BUILD_DIR)
.PHONY: pk2 clean makedirs
Pekka Kana 2
============
**Pekka Kana 2** (Pekka the Rooster 2) is an oldschool 2D platformer where you
control a rooster called Pekka. Your mission in Pekka Kana 2 is to save Pekka's
chicken friends from an evil crow.
**Developed and contributed**
-----------------------------
> Developer: **Janne Kivilahti** from Piste Gamez (2003)
> https://pistegamez.net/game_pk2.html
>
> Ported to SDL by **Samuli Tuomola** (2010)
> https://github.com/stt/pk2
>
> Translated and ported to SDL2 by **Danilo Lemos** (2016/2019)
> https://github.com/danilolc/pk2
**Game Design**
---------------
The initial source code for this project was extracted from the official
developer link [PK2Source.zip](http://pistegamez.net/PK2) and modified for
better operation on the GNU/Linux distributions.
This package contains the source codes for the game **Pekka Kana 2**, written
by **Janne Kivilahti**.
The game and it's code are copyrighted by **Janne Kivilahti**, but you can
modify and use the code freely as long as the original author is mentioned.
**Compiling**
-------------
To compile **Pekka Kana 2** into Debian GNU/Linux based distributions,
you need the **SDL2**, **SDL2_image** and **SDL2_mixer** libraries installed on
the system. To get them just run the following command on the terminal:
# apt install g++ libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev make
Run the "**make**" command inside the "**Pekka Kana 2**" directory.
$ make
The PK2 binary will be in "**bin/**" directory.
$ ./bin/pekka-kana-2
To make the removal, within the compiled directory, execute this command:
$ make clean
**Licenses**
------------
> **Pekka Kana 2** is distributed individually under the terms of
> the BSD-2-Clause license that can be found in the [LICENSE](LICENSE) file.
> We encourage new contributors to distribute files under this license.
* Copyright (c) 2003 **Janne Kivilahti**
* Copyright (c) 2010 **Samuli Tuomola**
* Copyright (c) 2016-2019 **Danilo Lemos**
* Copyright (c) 2018-2019 Individual work by **Carlos Donizete Froes**
Setup
------------------------------------------------------------------------------------
*setup options:
*setup video modes:
*setup music & sounds:
*setup music:
*setup sounds:
*setup language:
*setup play:
*setup exit:
Intro
------------------------------------------------------------------------------------
*intro presents: predstavq 2003
*intro a game by: edna igra na
*intro original character design: originalen dizajn na geroq
*intro tested by: testvana ot
*intro thanks to: blagodarnosti na
*intro translation: bulgarski prevod
*intro translator: iv4n
Main Menu
------------------------------------------------------------------------------------
*main menu new game: zapochni nova igra
*main menu continue: produlzi
*main menu load game: zaredi igra
*main menu save game: zapazi igra
*main menu controls: kontroli
*main menu graphics: grafika
*main menu sounds: zvuk
*main menu exit game: izhod
*back to main menu: obratno kym glavnoto meniu
Load Game
------------------------------------------------------------------------------------
*load menu title: zaredi igra
*load menu info: klikni vurhu zapazenata igra, koqto iskash da zaredish
*load menu episode: epizod:
*load menu level: nivo:
Save Game
------------------------------------------------------------------------------------
*save menu title: zapazi igra
*save menu info: klikni slotut, kydeto iskash da zapazish
*save menu episode: epizod:
*save menu level: nivo:
Game Controls
------------------------------------------------------------------------------------
*controls menu title: kontroli
*controls menu move left: nalqvo
*controls menu move right: nadqsno
*controls menu jump: skachane
*controls menu duck: klqkane
*controls menu walk slow: bavno dvijenie
*controls menu egg attack: ataka s qitza
*controls menu doodle attack: ataka doodle
*controls menu use item: izpolzvane na predmeti
*controls menu edit: redaktirane
*controls menu keyboard def: kontroli po podrazbirane
*controls menu gamepad4: gamepad defaults 4 butona
*controls menu gamepad6: gamepad defaults 6 butona
Sounds
------------------------------------------------------------------------------------
*sounds menu title: zvutzi i muzika
*sounds menu sfx volume: sila na zvukovite efekti
*sounds menu music volume: sila na muzikata
*sounds menu more: poveche
*sounds menu less: po-malko
Graphics
------------------------------------------------------------------------------------
*graphics menu title: grafika
*graphics menu transparency fx on: transparency fx vkliuchen
*graphics menu transparency fx off: transparency fx izkliuchen
*graphics menu menus are transparent: transparent menu texts vkliuchen
*graphics menu menus are not transparent: transparent menu texts izkliuchen
*graphics menu item bar is visible: item bar e vidim
*graphics menu item bar is not visible: item bar ne e vidim
*graphics menu weather fx on: weather fx vkliuchen
*graphics menu weather fx off: weather fx izkliuchen
*graphics menu bg sprites on: background sprites vkliucheni
*graphics menu bg sprites off: background sprites izkliucheni
*graphics menu game speed normal: normalna skorost na igra
*graphics menu game speed double: udvoena skorost na igra
Player's name
------------------------------------------------------------------------------------
*player screen type your name: napishi svoeto ime
*player screen continue: gotovo
*player screen clear: izchisti
*player default name: pekka
Episodes
------------------------------------------------------------------------------------
*episode menu choose episode: izberi epizod
*episode menu get more episodes at: svali poveche epizodi ot http://pistegamez.cjb.net
*episode menu no maps: epizodyt nqma niva!?
Map
------------------------------------------------------------------------------------
*map screen total score: rezultat
*map screen next level: sledvashto nivo:
*episode best player: shampion na epizoda:
*episode hiscore: top rezultat
*level best player: naj-dobur igrach
*level hiscore: rezultat:
*level fastest player: naj-burz igrach
*level best time: vreme:
Scores
------------------------------------------------------------------------------------
*score screen title: obshto tochki
*score screen level score: rezultat na nivoto
*score screen bonus score: bonus rezultat
*score screen time score: vremevi bonus
*score screen energy score: bonus energiq
*score screen item score: bonus ot predmeti
*score screen continue: karta
*score screen total score: obshto
*score screen new level hiscore: ti pobedi naj-viskoiq rezultat!
*score screen new level best time: ti si naj-burziqt igrach!
*score screen new episode hiscore: ti si shampion na epizoda!
Game
------------------------------------------------------------------------------------
*score: rezultat:
*game time: vreme:
*energy: energiq:
*items: predmeti:
*attack 1: doodle:
*attack 2: qitza:
*keys: kliuchove:
*level clear: nivoto e minato!
*time bonus:
*game paused: pauza...
*knocked out: nokautiran si!
*time out: vremeto izteche!
*try again: probvaj pak!
*locks open: vsichki vrati sa otvoreni!
*new doodle attack: nov doodle!
*new egg attack: novo qitze!
*new item: nov predmet!
*loading: zarezda...
The End
------------------------------------------------------------------------------------
*end congratulations: pozdravleniq!
*end chickens saved: ti spasi piletata!
*end the end: kraj
Info Signs
------------------------------------------------------------------------------------
*info01: izpolzvaj megafona sreshtu vragovete si!
*info02: bombardiraj vragovete s qitza!
*info03: nameri znakut "izhod"!
*info04: vratite shte se otvorqt, ako suberesh vsichki kliuchove.
*info05: natiskaj prevkliuchvateli, kato skachash vurhu tqh.
*info06: zelenite prevkliuchvateli zadvizvat steni sus zeleni strelki.
*info07: sinite prevkliuchvateli zadvizvat steni sus sini strelki.
*info08: oranzhevite prevkliuchvateli spirat ogunq.
*info09: mojesh da izpolzvash predmeti kogato poiskash.
*info10: perata vuzvrushtat energiqta.
*info11: teleportite sa kovarni! vnimavaj da ne se izgubish!
*info12: nokautiraniqta i bonusite uvelichavat tvoq rezultat.
*info13: vinagi se oglezdaj za skriti bonusi!
*info14: vrata se otvarq, ako kliuch q dokosne.
*info15: vnimavaj za kapani! hee hee...
*info16: poburzaj! vremeto izticha!
*info17: vnimavaj za qdosani zhivotni!
*info18: vnimavaj za silen vqtur!
*info19: spasi piletata!
Setup
------------------------------------------------------------------------------------
*setup options: Controles
*setup video modes: Modos de Video
*setup music & sounds: Musica y efectos de sonido
*setup music: Musica
*setup sounds: Efectos de sonido
*setup language: Elige tu lenguaje
*setup play: Jugar
*setup exit: Salir
Intro
------------------------------------------------------------------------------------
*intro presents: presenta 2003
*intro a game by: un juego de
*intro original character design: creador de los caracteres originales
*intro tested by: testeado por
*intro thanks to: gracias a
*intro translation: traduccion al castellano por
*intro translator: Pi = 3.1416
Main Menu
------------------------------------------------------------------------------------
*main menu new game: nuevo juego
*main menu continue: continuar
*main menu load game: guardar juego
*main menu save game: salvar juego
*main menu controls: controles
*main menu graphics: graficos
*main menu sounds: sonidos
*main menu exit game: salir
*back to main menu: volver al menu principal
Load Game
------------------------------------------------------------------------------------
*load menu title: guardar juego
*load menu info: clickea sobre el juego salvado que quieres guardar
*load menu episode: episodio:
*load menu level: nivel:
Save Game
------------------------------------------------------------------------------------
*save menu title: salvar juego
*save menu info: clickea en la casilla en que quieres salvar tu juego
*save menu episode: episodio:
*save menu level: nivel:
Game Controls
------------------------------------------------------------------------------------
*controls menu title: controles
*controls menu move left: izquierda
*controls menu move right: derecha
*controls menu jump: saltar
*controls menu duck: agacharse
*controls menu walk slow: caminar despacio
*controls menu egg attack: ataque huevo
*controls menu doodle attack: ataque cacareo
*controls menu use item: usar item
*controls menu edit: editar
*controls menu keyboard def: teclado predefinido
*controls menu gamepad4: mando predefinido 4 botones
*controls menu gamepad6: mando predefinido 6 botones
Sounds
------------------------------------------------------------------------------------
*sounds menu title: sonido y musica
*sounds menu sfx volume: volumen de los efectos de sonido
*sounds menu music volume: volumen de la msica
*sounds menu more: mas
*sounds menu less: menos
Graphics
------------------------------------------------------------------------------------
*graphics menu title: graficos
*graphics menu transparency fx on: transparencia -efecto- si
*graphics menu transparency fx off: transparencia -efecto- no
*graphics menu menus are transparent: textos de menu transparentes si
*graphics menu menus are not transparent: textos de menu transparentes no
*graphics menu item bar is visible: barra de items es visible
*graphics menu item bar is not visible: barra de items no es visible
*graphics menu weather fx on: efectos de tiempo si
*graphics menu weather fx off: efectos de tiempo no
*graphics menu bg sprites on: detalles si
*graphics menu bg sprites off: detalles no
*graphics menu game speed normal: velocidad del juego normal
*graphics menu game speed double: velocidad del juego doble
Player's name
------------------------------------------------------------------------------------
*player screen type your name: escribe tu nombre
*player screen continue: listo!
*player screen clear: borrar
*player default name: pekka
Episodes
------------------------------------------------------------------------------------
*episode menu choose episode: elige un episodio
*episode menu get more episodes at: consigue mas episodios en http://pistegamez.cjb.net
*episode menu no maps: el episodio no tiene mapas!?
Map
------------------------------------------------------------------------------------
*map screen total score: puntaje
*map screen next level: proximo nivel
*episode best player: campion del episodio
*episode hiscore: maximo puntaje
*level best player: mejor jugador
*level hiscore: puntaje:
*level fastest player: jugador mas rapido
*level best time: tiempo:
Scores
------------------------------------------------------------------------------------
*score screen title: puntos totales
*score screen level score: puntaje del nivel
*score screen bonus score: puntaje de la bonificacion
*score screen time score: bonificacion por tiempo
*score screen energy score: bonificacion por energia
*score screen item score: bonificacion por items
*score screen continue: mapa
*score screen total score: puntaje total
*score screen new level hiscore: has roto una marca!
*score screen new level best time: eres el jugador mas rapido!
*score screen new episode hiscore: eres el campion del episodio!
Game
------------------------------------------------------------------------------------
*score: puntaje:
*game time: tiempo:
*energy: energia:
*items: items:
*attack 1: cacareo:
*attack 2: huevos:
*keys: llaves: