OpenAlchemist is a Tetris-like game developped with

the Clanlib framework. Its goal is to reimplement the
game www.naturalchimie.com with free software and
free licenses.

WWW: http://openalchemist.sourceforge.net

PR:		ports/121844
Submitted by:	Ganael LAPLANCHE <ganael.laplanche at martymac.com>
This commit is contained in:
Martin Wilke 2008-04-28 10:42:36 +00:00
parent b51d0320af
commit 6d1757413f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=212159
9 changed files with 201 additions and 0 deletions

View File

@ -538,6 +538,7 @@
SUBDIR += oneko-sakura
SUBDIR += oolite
SUBDIR += oonsoo
SUBDIR += openalchemist
SUBDIR += openarena
SUBDIR += openastromenace
SUBDIR += opencity

View File

@ -0,0 +1,27 @@
# New ports collection makefile for: openalchemist
# Date created: Sat Oct 01 09:30:00 UTC 2003
# Whom: Ganael LAPLANCHE <ganael.laplanche@martymac.com>
#
# $FreeBSD$
#
PORTNAME= openalchemist
PORTVERSION= 0.2
CATEGORIES= games
MASTER_SITES= SF
DISTNAME= ${PORTNAME}-${PORTVERSION}-src
MAINTAINER= ganael.laplanche@martymac.com
COMMENT= Tetris-like game
BUILD_DEPENDS= zip:${PORTSDIR}/archivers/zip
LIB_DEPENDS= clanCore-0.8:${PORTSDIR}/devel/clanlib
USE_GNOME= pkgconfig
MAKE_ENV+= PTHREAD_LIBS="${PTHREAD_LIBS}"
# Allow relocation of skins (by default, must be in the skins/ sub-dir)
post-patch:
@${REINPLACE_CMD} -E -e 's|CL_System::get_exe_path\(\) \+ "skins/|"${PREFIX}/share/games/${PORTNAME}/skins/|g' ${WRKSRC}/src/*.cpp
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
MD5 (openalchemist-0.2-src.tar.gz) = fc2ddfa6b37a6573fb262363804f0c84
SHA256 (openalchemist-0.2-src.tar.gz) = 5b81dead3532394683a3cec3f5164543ba9fd191ad54f5c1d8329442cea89b29
SIZE (openalchemist-0.2-src.tar.gz) = 2468509

View File

@ -0,0 +1,11 @@
--- includes/KeyboardKey.h.orig 2008-03-18 17:51:54.744835728 +0100
+++ includes/KeyboardKey.h 2008-03-18 17:52:13.290787518 +0100
@@ -38,7 +38,7 @@
/**
* Constructor
*/
- KeyboardKey::KeyboardKey(int key, bool repeat = false)
+ KeyboardKey(int key, bool repeat = false)
{
this->key = key;
this->repeat = repeat;

View File

@ -0,0 +1,48 @@
--- Makefile.orig 2006-08-13 19:18:16.000000000 +0200
+++ Makefile 2008-03-26 19:27:29.000000000 +0100
@@ -1,15 +1,13 @@
PACKAGES = clanCore-0.8 clanDisplay-0.8 clanApp-0.8 clanGL-0.8 clanSDL-0.8
-LIBS = `pkg-config --libs $(PACKAGES)`
-OPTIONS = -Iincludes -Wall -g
+LIBS = `pkg-config --libs $(PACKAGES)` $(PTHREAD_LIBS)
+OPTIONS = -Iincludes -I/usr/local/include -Wall -g
LINKER_OPTIONS = #-u malloc -lefence
STATIC_LIBS = `pkg-config --libs $(PACKAGES) --static`
CFLAGS = `pkg-config --cflags $(PACKAGES)`
-INSTALL_DIR = /usr/local/games/openalchemist
-
all: openalchemist
@echo "OK"
-
+
test:
@echo "Test dependances installation"
pkg-config --exists $(PACKAGES)
@@ -60,20 +58,13 @@
-rm openalchemist
-rm skins/aqua.zip
-rm skins/brushed.zip
-
+
install: openalchemist
- mkdir $(INSTALL_DIR)
- mkdir $(INSTALL_DIR)/skins
- cp openalchemist $(INSTALL_DIR)/
- cp skins/aqua.zip $(INSTALL_DIR)/skins/aqua.zip
- cp skins/brushed.zip $(INSTALL_DIR)/skins/brushed.zip
- ln -s $(INSTALL_DIR)/openalchemist /usr/local/bin/openalchemist
-
-uninstall: $(INSTALL_DIR)
- rm $(INSTALL_DIR)/* -R
- rmdir $(INSTALL_DIR)
- rm /usr/local/bin/openalchemist
-
+ mkdir -p $(PREFIX)/bin
+ mkdir -p $(PREFIX)/share/games/openalchemist/skins
+ cp openalchemist $(PREFIX)/bin/
+ cp skins/aqua.zip $(PREFIX)/share/games/openalchemist/skins/aqua.zip
+ cp skins/brushed.zip $(PREFIX)/share/games/openalchemist/skins/brushed.zip
static: includes/*.h bin/main.o bin/game.o bin/key_events.o bin/detect_to_destroy.o bin/detect_to_fall.o bin/drawing.o bin/hightscores.o bin/pause.o bin/preferences.o bin/skins-selector.o skins/aqua.zip skins/brushed.zip
@echo "On assemble le fichier final"

View File

@ -0,0 +1,82 @@
--- includes/game.h.orig 2008-03-18 17:50:34.816043102 +0100
+++ includes/game.h 2008-03-18 17:50:57.531984095 +0100
@@ -219,47 +219,47 @@
public:
//Constructor
- Game::Game(CL_DisplayWindow *window, bool opengl);
+ Game(CL_DisplayWindow *window, bool opengl);
//Destructor
- Game::~Game();
+ ~Game();
// Some methods
- void Game::choose_skin();
- void Game::load_gfx();
- void Game::unload_gfx();
- void Game::toggle_screen();
- void Game::main_loop();
+ void choose_skin();
+ void load_gfx();
+ void unload_gfx();
+ void toggle_screen();
+ void main_loop();
// Methods to draw the game
- void Game::draw_game();
- void Game::draw_playing();
- void Game::draw_falling();
- void Game::draw_destroying();
- void Game::draw_to_playing();
- void Game::draw_game_over();
- void Game::draw_new_hightscore();
- void Game::draw_pause();
+ void draw_game();
+ void draw_playing();
+ void draw_falling();
+ void draw_destroying();
+ void draw_to_playing();
+ void draw_game_over();
+ void draw_new_hightscore();
+ void draw_pause();
- void Game::draw_progress_bar();
- void Game::draw_skins_selector();
+ void draw_progress_bar();
+ void draw_skins_selector();
- void Game::calc_score();
+ void calc_score();
- void Game::load_preferences();
- void Game::save_preferences();
- void Game::read_scores();
- void Game::save_scores();
- void Game::key_events();
- void Game::key_events_playing();
- void Game::key_events_pause();
- void Game::key_events_skins_selector();
- void Game::undo_last();
- void Game::new_game(short difficulty);
- void Game::fall();
- void Game::detect_to_destroy();
- void Game::detect_to_fall();
+ void load_preferences();
+ void save_preferences();
+ void read_scores();
+ void save_scores();
+ void key_events();
+ void key_events_playing();
+ void key_events_pause();
+ void key_events_skins_selector();
+ void undo_last();
+ void new_game(short difficulty);
+ void fall();
+ void detect_to_destroy();
+ void detect_to_fall();
- void Game::stop();
+ void stop();
};

View File

@ -0,0 +1,17 @@
--- includes/piece.h.orig 2008-03-18 17:51:15.254937990 +0100
+++ includes/piece.h 2008-03-18 17:51:38.315878696 +0100
@@ -81,12 +81,12 @@
}
// Methods to display - be carefull, if current_prite is not initialized
- void Piece::draw(CL_GraphicContext* context = 0)
+ void draw(CL_GraphicContext* context = 0)
{
current_sprite -> draw(x, y, context);
}
- void Piece::draw_mini(CL_GraphicContext* context = 0)
+ void draw_mini(CL_GraphicContext* context = 0)
{
mini_sprite -> draw(x, y, context);
}

View File

@ -0,0 +1,6 @@
OpenAlchemist is a Tetris-like game developped with
the Clanlib framework. Its goal is to reimplement the
game www.naturalchimie.com with free software and
free licenses.
WWW: http://openalchemist.sourceforge.net

View File

@ -0,0 +1,6 @@
bin/openalchemist
share/games/openalchemist/skins/aqua.zip
share/games/openalchemist/skins/brushed.zip
@dirrm share/games/openalchemist/skins
@dirrm share/games/openalchemist
@dirrmtry share/games