pax_global_header00006660000000000000000000000064125235677740014534gustar00rootroot0000000000000052 comment=e7f20fb8c2c456bed70abb046c1a966462192b80 xjump-2.9.3/000077500000000000000000000000001252356777400127125ustar00rootroot00000000000000xjump-2.9.3/.gitignore000066400000000000000000000007301252356777400147020ustar00rootroot00000000000000# Compiled outputs #----------------- xjump xjump-*.tar.gz # Object files #------------- *.o # Libraries #---------- *.lib *.a *.la *.lo # Shared objects #--------------- *.so *.so.* # Automake #--------- Makefile.in Makefile /test-driver *.log *.trs # Autoconf #---------- /autoscan.log /autom4te.cache /aclocal.m4 /compile /configure /configure.scan /config.* /depcomp /install-sh /missing /stamp-h1 .deps/ # Linux Desktop #-------------- *~ .directory .Trash-* xjump-2.9.3/COPYING000066400000000000000000000007661252356777400137560ustar00rootroot00000000000000Copyright (C) 1997-1999 Tatsuya Kudoh(CDR/TK) Masato Taruishi This package was updated for Debian by Masato Taruishi Joshua Kwan This is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version without ANY WARRANTIES.xjump-2.9.3/Makefile.am000066400000000000000000000050301252356777400147440ustar00rootroot00000000000000AUTOMAKE_OPTIONS = foreign # Settings xjump_themes_dir = @datadir@/xjump/themes xjump_highscore_dir = @localstatedir@/xjump xjump_settings_dir = @sysconfdir@ xjump_default_theme = "default" xjump_highscore_filename = "highscores" xjump_highscore_number_of_entries = 20 xjump_config_filename = "xjump.conf" #### xjump_highscore_filepath = $(xjump_highscore_dir)/$(xjump_highscore_filename) # This gets appended later... EXTRA_DIST = # Sources AM_CFLAGS = --std=c99 --pedantic -Wall -O2 -fPIE AM_LDFLAGS = -pie AM_CPPFLAGS = \ -D_FORTIFY_SOURCE=2 \ -DXJUMP_THEMES_DIR=\"$(xjump_themes_dir)\" \ -DXJUMP_SPRITES_FILEPATH=\"$(xjump_themes_dir)/$(xjump_default_theme).xpm\" \ -DXJUMP_HIGHSCORE_FILEPATH=\"$(xjump_highscore_filepath)\" \ -DXJUMP_HIGHSCORE_ENTRIES=$(xjump_highscore_number_of_entries) \ -DXJUMP_GLOBAL_SETTINGS_DIR=\"$(xjump_settings_dir)\" \ -DXJUMP_CONFIG_FILENAME=\"$(xjump_config_filename)\" bin_PROGRAMS = xjump xjump_SOURCES = \ src/game.c \ src/main.c \ src/misc.c \ src/record.c \ src/record.h \ src/resource.c \ src/safestr.c \ src/safestr.h \ src/xjump.h \ src/icon.xbm \ src/icon_msk.xbm # Sprites themesdir = $(xjump_themes_dir) dist_themes_DATA = \ themes/default.xpm \ themes/ion.xpm \ themes/jumpnbump.xpm # Desktop menu integration EXTRA_DIST += \ xjump.desktop \ icons/xjump.xpm \ icons/32x32.png # Documentation dist_man_MANS = xjump.6 EXTRA_DIST += README.md # Scripts: dist_TESTS = \ scripts/check-desktop-files.sh install-exec-hook: install -D -m 644 xjump.desktop "$(DESTDIR)@datadir@/applications/xjump.desktop" install -D -m 644 icons/xjump.xpm "$(DESTDIR)@datadir@/pixmaps/xjump.xpm" for dim in '32x32'; do \ install -D -m 644 "icons/$${dim}.png" "$(DESTDIR)@datadir@/icons/hicolor/$${dim}/apps/xjump.png"; \ done if [ ! -e "$(DESTDIR)$(xjump_highscore_dir)/$(xjump_highscore_filename)" ]; then \ mkdir -p "$(DESTDIR)$(xjump_highscore_dir)"; \ echo > "$(DESTDIR)$(xjump_highscore_dir)/$(xjump_highscore_filename)"; \ fi # Make sure the highscore file has non-zero length to make rpmlint happy... if [ $$(id -u) = 0 ] && \ getent group games >/dev/null && \ getent passwd games >/dev/null; \ then \ chgrp games "$(DESTDIR)@bindir@/xjump"; \ chmod 2755 "$(DESTDIR)@bindir@/xjump"; \ chgrp games "$(DESTDIR)$(xjump_highscore_dir)/$(xjump_highscore_filename)"; \ chmod 0660 "$(DESTDIR)$(xjump_highscore_dir)/$(xjump_highscore_filename)"; \ fi uninstall-hook: rm -rf "$(DESTDIR)$(xjump_highscore_dir)" rm -rf "$(DESTDIR)@datadir@/xjump"xjump-2.9.3/README.md000066400000000000000000000043211252356777400141710ustar00rootroot00000000000000# FALLING TOWER Version 2.9 A game where you jump up and up while the tower collapses under your feet. ## Installation If you performed a git clone instead of downloading the source tarball, see the Development section of this README for instructions on how to generate the configure script. Once you have the configure script, install xjump using the usual configure + make install pattern: ./configure make sudo make install Run `./configure -- help` for a list of configuration options to tweak install locations, etc. To allow xjump to update the highscore file on behalf of regular user, your system must have a user and group namd `games`. We expect this to be standard in Linux distributions. ## Game controls To move: arrow keys, WASD, IJKL or the keypad arrow keys To jump: Up or Down arrow keys, Z or SPACE To pause and unpause: P or the Pause keypad. To exit the game: Shift+Q ## Configuring xjump To configure xjump create a configuration file at $HOME/.config/xjump.config You can use the following keys during configuration: * themeFile : Path to a custom sprite file. Ex.: /usr/share/xjump/themes/jumpnbump.xpm * theme : Name of a custom sprite theme bundled with xjump. Ex.: jumpnbump Here is an example of an xjump configuration file: # This is a comment theme = jumpnbump ## Custom graphics Xjump can use custom textures in xpm format. The required dimensions are 144x64. In the following diagram, each letter represents a 16x16 pixel area. 11223344A 11223344B 55667788C 55667788D Legend: 1 = Standing, moving left (1/2) 2 = Standing, moving right (1/2) 3 = Standing, moving left (2/2) 4 = Standing, moving right (2/2) 5 = Going up, moving left 6 = Going up, moving right 7 = Falling, moving left 8 = Falling, moving right A = Wall background B = Left column C = Right column D = Platform For examples, see the themes folder. ## Development To generate the configure script and the makefile templates you must have the GNU autotools installed and run autoreconf: autoreconf --install If you want to delete all thoss files the autotools generated, the best way is via Git itself: git clean -xd xjump-2.9.3/configure.ac000066400000000000000000000023601252356777400152010ustar00rootroot00000000000000# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) AC_INIT([xjump], [2.9.3], [hgualandi@gmail.com]) AC_DEFINE([MAJOR_VERSION], ["2.9"], [Major version number]) # To display inside game. Dunno how to automate this AC_CONFIG_SRCDIR([src/game.c]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([Makefile]) AM_INIT_AUTOMAKE # Checks for programs. AC_PROG_CC # Checks for libraries. # Checks for header files. AC_PATH_X AC_CHECK_HEADERS([fcntl.h limits.h stdlib.h stddef.h sys/file.h unistd.h]) # Checks for typedefs, structures, and compiler characteristics. AC_TYPE_SIZE_T AC_TYPE_UID_T # Checks for library functions. AC_FUNC_ERROR_AT_LINE AC_CHECK_FUNCS([ftruncate]) AC_CHECK_FUNCS([strchr]) # Check for dynamic libraries AC_CHECK_LIB(X11, XCreateBitmapFromData, [], [ echo "Error: You need to install libx11-dev" exit -1 ]) AC_CHECK_LIB(Xt, XtAddEventHandler, [], [ echo "Error: You need to install libxt-dev" exit -1 ]) AC_CHECK_LIB(Xpm, XpmReadFileToPixmap, [], [ echo "Error: You need to install libxpm-dev" exit -1 ]) AC_CHECK_LIB(Xaw, formWidgetClass, [], [ echo "Error: You need to install libxaw7-dev" exit -1 ]) # Done! AC_OUTPUTxjump-2.9.3/icons/000077500000000000000000000000001252356777400140255ustar00rootroot00000000000000xjump-2.9.3/icons/32x32.png000066400000000000000000000006431252356777400153170ustar00rootroot00000000000000PNG  IHDR TggAMA a cHRMz&u0`:pQ<PLTE&tRNS@fbKGDoIDAT(ϝ C ^  u.h?' [~'1w,q|NX ]@OY'WO2poeyZKXv__oWq/5z7Dxu6v| &r%tEXtdate:create2015-04-21T20:56:42-03:003%tEXtdate:modify2015-03-18T21:53:23-03:00lIENDB`xjump-2.9.3/icons/xjump.xpm000066400000000000000000000024031252356777400157150ustar00rootroot00000000000000/* XPM */ static char * xjump_icon_xpm[] = { "32 32 5 1", " c None", ". c #000000", "+ c #FFE7C7", "@ c #FF0000", "# c #00FF00", " ", " ", " ", " ..... ", " ......... ", " ........... ", " ............. ", " .......+++++. ", " ......++++++++. ", " .....+++++++++. ", " ....++++++..++. ", " ...+++++++..++. ", " ..++++++++++++. ", " ..+++++++++++.. ......", " .+++++++++++. ..@@@@@.", " ...........+++++++++...@@@@@@. ", ".@@@@@@@@@@@..+++++..@@@@@@@@. ", ".@@@@@@@@@@@@@.....@@@@@@@@.. ", " ..@@@@@@@@@@@@@@@@@@@@@@@. ", " ..@@@@@@@@@@@@@@@@@@@@. ", " ...@@@@@@@@@@@@@@@.. ", " ............... ", " .##############.... ", " ...###################. ", " ..#######################. ", " .##########################. ", " .############.....###########. ", ".#######...... ......######.", " ....... ....##.", " .. ", " ", " "}; xjump-2.9.3/scripts/000077500000000000000000000000001252356777400144015ustar00rootroot00000000000000xjump-2.9.3/scripts/check-desktop-files.sh000077500000000000000000000000641252356777400205640ustar00rootroot00000000000000#!/bin/sh set -e desktop-file-validate xjump.desktopxjump-2.9.3/src/000077500000000000000000000000001252356777400135015ustar00rootroot00000000000000xjump-2.9.3/src/game.c000066400000000000000000000114661252356777400145660ustar00rootroot00000000000000/***************************************** xjump version 2 game.c Movement and drawing routines (C) July 28, 1997 ROYALPANDA *****************************************/ #include #include #include #include #include"xjump.h" /* Macros */ #define max( a,b ) ( (a) > (b) ? (a) : (b) ) #define min( a,b ) ( (a) < (b) ? (a) : (b) ) /* Variables */ static int T_speed; /* Current scrolling speed */ static int T_count; /* Total scroll displacement */ /* Generate a new floor and draw it on the screen */ static void make_floor( int y ) { int f,x1,x2,fvec; static int fpos = WIDTH/2; f = Floor_top - y; if( f % 250 == 0 ){ floor_l(y) = 16; floor_r(y) = WIDTH*16-17; XCopyArea( Disp,Floor_p,Scr_d,Gc_nomask,0,0,WIDTH*16,16,0,y*16 ); return; } if( f % 5 == 0 ){ fvec = (rnd(2)*2-1) * ( rnd( (WIDTH-11)/4 ) + (WIDTH-11)/4 ); fpos = ( fpos + fvec +WIDTH-11 ) % (WIDTH-11); x1 = ( fpos+5 - rnd( 3 ) - 2)*16; x2 = ( fpos+5 + rnd( 3 ) + 2)*16+15; floor_l(y) = x1; floor_r(y) = x2; XCopyArea( Disp,Floor_p,Scr_d,Gc_nomask,x1,0,x2-x1+1,16,x1,y*16 ); }else{ floor_l(y) = WIDTH*16; floor_r(y) = 0; } } /* Draw the player sprite */ void draw_hero( void ) { int pic; int sx,sy; pic = Hero.pic * 2 + Hero.dir; sx = ( pic & 3 ) * 32; sy = ( pic >> 2 ) * 32; XSetClipOrigin( Disp,Gc_mask,Hero.x-sx,Hero.y-sy ); int hh = min(32, HEIGHT*16 - Hero.y); XCopyArea( Disp,Char_p,Scr_d,Gc_mask,sx,sy,32,hh,Hero.x,Hero.y ); } /* Undraw the player sprite */ static void del_hero( void ) { recover_scr( Hero.x, Hero.y, 32, 32 ); } /* Scroll up by one line */ static void scroll_up( void ) { int x,width,y; for( y = Floor_top % 5 ; y < HEIGHT ; y += 5 ){ x = floor_l(y); width = floor_r(y)-x+1; XCopyArea( Disp,Back_p,Scr_d,Gc_nomask,x,0,width,16,x,y*16 ); if( y < HEIGHT-1 ) XCopyArea( Disp,Floor_p,Scr_d,Gc_nomask,x,0,width,16,x,y*16+16 ); } Floor_top++; if( --Map_index < 0 ) Map_index = HEIGHT - 1; make_floor( 0 ); Hero.y += 16; } /* Determine if the hero is currently standing on a platform */ static int stand( void ) { int y; if( Hero.vy < 0 ) return 0; y = ( ( Hero.y + 32 ) / 16 ); if( y >= HEIGHT ) return 0; if( floor_l(y) < Hero.x+24 && Hero.x+8 < floor_r(y) ) return 1; else return 0; } /* Move the player sprite */ int move( void ) { int acc,st,floor; del_hero(); if( T_speed < 5000 ) T_speed++; T_count += T_speed; if( T_count > 20000 ){ T_count -= 20000; scroll_up(); } Hero.x += Hero.vx / 2; Hero.y += Hero.vy; if( Hero.x < 16 ){ Hero.x = 16; Hero.vx = -Hero.vx/2; }else if( Hero.x > WIDTH*16-48 ){ Hero.x = WIDTH*16-48; Hero.vx = -Hero.vx/2; } if( Hero.y < 80 ){ scroll_up(); T_count = 0; } else if( Hero.y >= HEIGHT*16 ) return DEAD; if( ( st = stand() ) ){ acc = 3; floor = (Floor_top - Hero.y / 16)/5 + 1; Hero.pic &= 1; Hero.y = (Hero.y / 16 ) * 16; Hero.vy = 0; if( ++Hero.g_count == 5 ){ Hero.g_count = 0; Hero.pic ^= 1; } if( Key[ KEY_UP ] ){ Hero.jump = abs(Hero.vx)/4+7; Hero.vy = -Hero.jump/2-12; Hero.pic = 2; st = 0; } }else{ acc = 2; floor = 0; } if( Key[ KEY_LEFT ] ){ Hero.vx -= acc; if( Hero.vx < -32 ) Hero.vx = -32; Hero.dir = 0; }else if( Key[ KEY_RIGHT ] ){ Hero.vx += acc; if( Hero.vx > 32 ) Hero.vx = 32; Hero.dir = 1; }else if( st ){ if( Hero.vx < -2 ) Hero.vx+=3; else if( Hero.vx > 2 ) Hero.vx-=3; else Hero.vx = 0; } if( !st ){ if( Hero.jump ){ Hero.vy = -Hero.jump/2-12; if( Key[ KEY_UP ] ) Hero.jump--; else Hero.jump = 0; }else{ Hero.vy+=2; if( Hero.vy > 0 ) Hero.pic = 3; if( Hero.vy > 16 ) Hero.vy = 16; } } draw_hero(); return floor; } /* Initialize the game */ void init_game( void ) { int y; Floor_top = HEIGHT - 4; for ( y = 0 ; y < HEIGHT ; y++ ){ XCopyArea( Disp,Back_p,Scr_d,Gc_nomask,0,0,WIDTH*16,16,0,y*16 ); make_floor(y); } Hero.x = WIDTH * 8 - 16; Hero.y = (HEIGHT - 4)*16-32; Hero.vx = Hero.vy = 0; Hero.pic = 0; Hero.dir = 0; Hero.g_count = 0; T_speed = 200; T_count = 0; Key[ KEY_UP ] = 0; draw_hero(); } /* Repaint the background in a portion of the screen */ void recover_scr( int x, int y, int width, int height ) { int xl,xr,y2; y2 = min(HEIGHT-1, (y+height-1) / 16); y /= 16; for( ; y <= y2 ; y++ ){ XCopyArea( Disp,Back_p,Scr_d,Gc_nomask,x,0,width,16,x,y*16 ); xl = max( x,floor_l(y) ); xr = min( x+width-1,floor_r(y) ); if( xl < xr ) XCopyArea( Disp,Floor_p,Scr_d,Gc_nomask,xl,0,xr-xl+1,16,xl,y*16 ); } } xjump-2.9.3/src/icon.xbm000066400000000000000000000015641252356777400151470ustar00rootroot00000000000000#define icon_width 32 #define icon_height 32 static unsigned char icon_bits[] = { 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0x61, 0x00, 0xa0, 0xf9, 0xb3, 0x00, 0x60, 0xfd, 0xd7, 0x00, 0xa0, 0x0e, 0xae, 0x00, 0x60, 0x05, 0xd4, 0x00, 0xa0, 0x06, 0xac, 0x00, 0x40, 0x0d, 0x56, 0x00, 0xc0, 0xfa, 0x6b, 0x00, 0x80, 0x55, 0x35, 0x00, 0x00, 0xab, 0x1a, 0x00, 0x00, 0x56, 0x0d, 0x00, 0x00, 0xac, 0x06, 0x00, 0x00, 0xfc, 0x07, 0x00, 0x00, 0xfe, 0x0f, 0x00, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xff, 0x1f, 0x00, 0x80, 0xff, 0x3f, 0x00, 0x80, 0xff, 0x3f, 0x00, 0x80, 0x1f, 0x3f, 0x00, 0xc0, 0x0f, 0x7e, 0x00, 0xc0, 0x07, 0x7c, 0x00, 0xc0, 0x43, 0x78, 0x00, 0x80, 0x41, 0x30, 0x00, 0x00, 0x48, 0x02, 0x00, 0x00, 0x48, 0x02, 0x00, 0x00, 0x49, 0x12, 0x00, 0x00, 0x09, 0x12, 0x00, 0x00, 0x09, 0x12, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00}; xjump-2.9.3/src/icon_msk.xbm000066400000000000000000000016001252356777400160100ustar00rootroot00000000000000#define icon_msk_width 32 #define icon_msk_height 32 static unsigned char icon_msk_bits[] = { 0xe0, 0xf9, 0xf3, 0x00, 0xf0, 0xff, 0xff, 0x01, 0xf0, 0xff, 0xff, 0x01, 0xf0, 0xff, 0xff, 0x01, 0xf0, 0xff, 0xff, 0x01, 0xf0, 0xff, 0xff, 0x01, 0xf0, 0xff, 0xff, 0x01, 0xf0, 0xff, 0xff, 0x01, 0xe0, 0xff, 0xff, 0x00, 0xe0, 0xff, 0xff, 0x00, 0xc0, 0xff, 0x7f, 0x00, 0x80, 0xff, 0x3f, 0x00, 0x00, 0xff, 0x1f, 0x00, 0x00, 0xff, 0x1f, 0x00, 0x80, 0xff, 0x3f, 0x00, 0x80, 0xff, 0x3f, 0x00, 0xc0, 0xff, 0x7f, 0x00, 0xc0, 0xff, 0x7f, 0x00, 0xc0, 0xff, 0x7f, 0x00, 0xe0, 0xff, 0xff, 0x00, 0xe0, 0xff, 0xff, 0x00, 0xe0, 0xff, 0xff, 0x00, 0xe0, 0xff, 0xff, 0x00, 0xe0, 0xff, 0xff, 0x00, 0xc0, 0xff, 0x7f, 0x00, 0x80, 0xff, 0x3f, 0x00, 0x80, 0xff, 0x3f, 0x00, 0x80, 0xff, 0x3f, 0x00, 0x80, 0x1f, 0x3f, 0x00, 0x80, 0x1f, 0x3f, 0x00, 0x80, 0x03, 0x38, 0x00, 0x80, 0x03, 0x38, 0x00}; xjump-2.9.3/src/main.c000066400000000000000000000365411252356777400146020ustar00rootroot00000000000000/***************************************** xjump version 2 main.c Initialization / X Intrinsics stuff (C) Oct 28, 1997 ROYALPANDA *****************************************/ #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "xjump.h" #include "record.h" #include "config.h" #include "safestr.h" #include"icon.xbm" #include"icon_msk.xbm" #define SPEED 25 typedef enum { TITLE=0, GAME=1, OVER=2, PAUSE=3 } GameState; extern char *DefaultResources[]; static XtAppContext App; static Widget Top, Score, Scr, Score_v, ScoreList, Gameover, Pause; static Colormap Cmap; static int IntervalState; static XtIntervalId IntervalId; static FILE *HighscoreFile = NULL; static char SpriteFilepath[PATH_MAX] = XJUMP_SPRITES_FILEPATH; static GameState GameMode; /* 0=Title; 1=Game; 2=GameOver; 3=Pause */ static int Sc_now; static char Score_list[45*(XJUMP_HIGHSCORE_ENTRIES+2)+1]=""; /* High score text buffer */ /* Prototypes */ static void timi( XtPointer c, XtIntervalId id ); /* Globals */ Display *Disp; GC Gc_nomask; GC Gc_mask; Drawable Scr_d; Pixmap Char_p; Pixmap Char_m; Pixmap Floor_p; Pixmap Back_p; int Key[3] = {0,0,0}; /* Keyboard state */ hero_t Hero; /* Hero state */ int Floor_L[ HEIGHT ]; /* Current floors */ int Floor_R[ HEIGHT ]; int Map_index; int Floor_top; record_t Record[ XJUMP_HIGHSCORE_ENTRIES ]; int Record_entry; /* Size of high-score list; -1 means scores are not being recorded */ char *Myname; /* Program name */ /* Show current score */ static void put_score( void ) { char buf[12]; sprintf( buf,"%010d",Sc_now ); XtVaSetValues( Score,XtNlabel,buf,NULL ); } /* Show highscores table */ static void make_score( void ) { int i; char *p; if( Record_entry == -1 ) return; p = Score_list; p += sprintf( p,"RANK FLOOR NAME\n\ ---- ---------- -------------------------------\n"); for( i = 0 ; i < Record_entry ; i++ ){ size_t space_available = sizeof(Score_list) - (p-Score_list); int nprinted = snprintf(p, space_available,"%4d %10d %-20.20s\n",i+1, Record[i].score, Record[i].name ); if(nprinted < 0){ break; }else if( (size_t) nprinted <= space_available){ p += nprinted; }else{ p += space_available; break; } } p--; *p = '\0'; XtVaSetValues( ScoreList, XtNlabel,Score_list, NULL ); } static void reset_timer( void ) { if( IntervalState ){ XtRemoveTimeOut( IntervalId ); IntervalState = 0; } } static void set_timer( void ) { if( IntervalState ) reset_timer(); IntervalId = XtAppAddTimeOut( App, SPEED ,(XtTimerCallbackProc)timi,NULL ); IntervalState = 1; } static void gameover( void ) { XtMapWidget( Gameover ); GameMode = OVER; save_record(HighscoreFile, Sc_now); make_score(); } static void title( void ) { reset_timer(); XtUnmapWidget( Gameover ); XtUnmapWidget( Scr ); GameMode = TITLE; if( Record_entry != -1 ) XtMapWidget( Score_v ); } static void timi( XtPointer c,XtIntervalId id ) { int floor; static int timer; IntervalState = 0; set_timer(); switch( GameMode ){ case GAME: floor = move(); if( floor == DEAD ){ gameover(); timer = 0; } else if( floor > Sc_now ){ Sc_now = floor; if( Sc_now > INT_MAX - 5) Sc_now = INT_MAX - 5; put_score(); } break; case OVER: if( ++timer > 250 ) title(); break; default: break; } } /* Expose-screen event handler */ static void expose( Widget w,XtPointer p,XEvent *e ) { recover_scr( e->xexpose.x,e->xexpose.y, e->xexpose.width,e->xexpose.height ); draw_hero(); } /* Action handler for quit-game shortcut */ static void quit_game( Widget w,XEvent *e,String *s,Cardinal *num ) { exit(0); } /* End-of-program handler if signal is received */ static void sig_handler( int i ) { exit(0); } /* Start game action handler */ static void start_game( Widget w,XEvent *e,String *s,Cardinal *num ) { switch( GameMode ){ case TITLE: XtUnmapWidget( Score_v ); XtUnmapWidget( Gameover ); reset_timer(); XtMapWidget( Scr ); init_game(); Sc_now = 0; GameMode = GAME; set_timer(); break; case OVER: title(); break; default: break; } } /* Pause game action handler */ static void try_pause() { if( GameMode == GAME ){ reset_timer(); XtMapWidget( Pause ); GameMode = PAUSE; } } static void try_unpause() { if( GameMode == PAUSE ){ GameMode = GAME; XtUnmapWidget( Pause ); set_timer(); } } static void pause_game( Widget w,XEvent *e,String *s,Cardinal *num ) { if( GameMode == GAME ){ try_pause(); }else if( GameMode == PAUSE ){ try_unpause(); } } static void focus_in( void ) { /* do nothing special */ } static void focus_out( void ) { try_pause(); } /* Focus change event handler */ static void focus( Widget w,XtPointer p,XEvent *e ) { if( e->type == FocusIn ) focus_in(); else focus_out(); } /* Keydown action handler */ static void key_on( Widget w,XEvent *e,String *s,Cardinal *num ) { if(GameMode == PAUSE){ try_unpause(); return; } switch( **s ){ case 'U': Key[ KEY_UP ] = 1; break; case 'R': Key[ KEY_RIGHT ] = 1; break; case 'L': Key[ KEY_LEFT ] = 1; break; } } /* Keyup action handler */ static void key_off( Widget w,XEvent *e,String *s,Cardinal *num ) { switch( **s ){ case 'U': Key[ KEY_UP ] = 0; break; case 'R': Key[ KEY_RIGHT ] = 0; break; case 'L': Key[ KEY_LEFT ] = 0; break; } } static void set_icon( void ) { Pixmap icon,mask; /* casting to char* is fine according to http://stackoverflow.com/a/12786292 */ icon = XCreateBitmapFromData( Disp,DefaultRootWindow(Disp), (char*) icon_bits, icon_width, icon_height ); mask = XCreateBitmapFromData( Disp,DefaultRootWindow(Disp), (char*) icon_msk_bits, icon_msk_width,icon_msk_height ); XtVaSetValues( Top,XtNiconPixmap,icon,XtNiconMask,mask,NULL ); } static void print_help_message() { fprintf( stderr,"Usage: %s [options]\n",Myname ); fprintf( stderr,"\t-help\t\t\tShow this help message\n" ); fprintf( stderr,"\t-theme \"file\"\t\tUse a sprite theme from share/xjump/themes\n" ); fprintf( stderr,"\t-themeFile \"file\"\tUse your own xpm graphic \"file\"\n" ); } /* Process command-line args */ static void read_command_line_options( int argc, char **argv ) { int i; for( i = 1 ; i < argc ; i++ ){ if( 0 == strcmp(argv[i], "-help")){ print_help_message(); exit(0); } if( 0 == strcmp(argv[i], "-graphic" ) || 0 == strcmp(argv[i], "-themeFile") ){ try_strncpy(SpriteFilepath, argv[++i], PATH_MAX); continue; } if( 0 == strcmp(argv[i], "-theme" )){ try_snprintf(SpriteFilepath, PATH_MAX, "%s/%s.xpm", XJUMP_THEMES_DIR, argv[++i]); continue; } fprintf(stderr,"%s: Unknown command line option \"%s\".\n",Myname,argv[i]); print_help_message(); exit(1); } } /* Remove whitespace from the start and end of the string */ static void trim_string(char *s) { char *in = s; char *out = s; /* Skip leading whitespace */ while(*in && isspace(*in)){ ++in; } while(*in){ *out++ = *in++; } /* Erase trailing whitespace */ while(s < out && isspace(*(out-1))){ --out; } *out = '\0'; } /* Proccess a configuration file and update the correspondig global variables*/ static void read_configuration_file(const char * filename) { FILE * file = fopen(filename, "r"); if (!file) return; size_t size_line = 0; char *line_buf = NULL; while(0 < getline(&line_buf, &size_line, file)){ { char *comment = strchr(line_buf, '#'); if(comment) *comment = '\0'; } { int allspace = 1; for(char *c=line_buf; *c; c++){ allspace = allspace && isspace(*c); } if(allspace) continue; } char *sep = strchr(line_buf, '='); if(!sep){ fprintf(stderr, "Syntax error in %s\n", filename); goto cleanup; } *sep = '\0'; char *key = line_buf; char *value = sep + 1; trim_string(key); trim_string(value); if (0 == strcmp(key, "theme")){ try_snprintf(SpriteFilepath, PATH_MAX, "%s/%s.xpm", XJUMP_THEMES_DIR, value); }else if(0 == strcmp(key, "themeFile")){ try_strncpy(SpriteFilepath, value, PATH_MAX); } } cleanup: fclose(file); free(line_buf); } /* Read configuration files from lowest to highest priority */ static void read_configuration_files(void) { const char *xdg_config_home = getenv("XDG_CONFIG_HOME"); const char *homedir = getenv("HOME"); if(!homedir){ fprintf(stderr, "$HOME doesn't exist\n"); exit(1); } char filename[PATH_MAX]; try_snprintf(filename, PATH_MAX, "%s/%s", XJUMP_GLOBAL_SETTINGS_DIR, XJUMP_CONFIG_FILENAME); read_configuration_file(filename); /* Location of user config files, per the Freedesktop spec. */ if(xdg_config_home && *xdg_config_home){ try_snprintf(filename, PATH_MAX, "%s/%s", xdg_config_home, XJUMP_CONFIG_FILENAME); }else{ try_snprintf(filename, PATH_MAX, "%s/.config/%s", homedir, XJUMP_CONFIG_FILENAME); } read_configuration_file(filename); } /* Initialize graphics and textures */ static void make_graphic( void ) { XpmAttributes attr; attr.valuemask = XpmColormap; attr.colormap = Cmap; const char *spriteFiles[] = { SpriteFilepath, XJUMP_SPRITES_FILEPATH, "./themes/default.xpm" }; int err = 0; for(unsigned i=0; i < 3; i++){ err = XpmReadFileToPixmap( Disp, DefaultRootWindow(Disp), spriteFiles[i], &Char_p,&Char_m,&attr ); if(err){ fprintf( stderr,"%s: %s - %s\n",Myname, spriteFiles[i], XpmGetErrorString(err) ); }else{ break; } } if( err ){ fprintf(stderr, "%s: Could not find background sprite files. Did you forget to run `make install`?\n", Myname); exit(1); } Gc_mask = XCreateGC( Disp,DefaultRootWindow(Disp),0,NULL ); XSetClipMask( Disp,Gc_mask,Char_m ); } /* Xlib initialization */ static void init_graph( void ) { int x; make_graphic(); Gc_nomask = XCreateGC( Disp,DefaultRootWindow(Disp),0,NULL ); Floor_p = XCreatePixmap( Disp,DefaultRootWindow(Disp), WIDTH*16,16, DefaultDepth(Disp,DefaultScreen(Disp)) ); XCopyArea( Disp,Char_p,Floor_p,Gc_nomask,128,16,16,16,0,0 ); XCopyArea( Disp,Char_p,Floor_p,Gc_nomask,128,32,16,16,WIDTH*16-16,0 ); for( x = 16 ; x < WIDTH*16-16 ; x+=16 ) XCopyArea( Disp,Char_p,Floor_p,Gc_nomask,128,48,16,16,x,0 ); Back_p = XCreatePixmap( Disp,DefaultRootWindow(Disp), WIDTH*16,16, DefaultDepth(Disp,DefaultScreen(Disp)) ); XCopyArea( Disp,Char_p,Back_p,Gc_nomask,128,16,16,16,0,0 ); XCopyArea( Disp,Char_p,Back_p,Gc_nomask,128,32,16,16,WIDTH*16-16,0 ); for( x = 16 ; x < WIDTH*16-16 ; x+=16 ) XCopyArea( Disp,Char_p,Back_p,Gc_nomask,128,0,16,16,x,0 ); } int main( int argc, char **argv ) { Myname = (argc > 0 ? argv[0] : PACKAGE_NAME); /* The first thing we do is open a handle to the highscore file and drop privileges. * This minimizes the ammount of code that is run setuid/setguid */ gid_t realgid = getgid(); uid_t realuid = getuid(); HighscoreFile = fopen(XJUMP_HIGHSCORE_FILEPATH, "r+"); if(!HighscoreFile){ perror( Myname ); fprintf( stderr,"%s: Could not open highscore file. Highscores will not be recorded.\n",Myname); Record_entry = -1; } /* When dropping privileges from root, the `setgroups` call will * remove any extraneous groups. If we don't call this, then even * though our uid has dropped, we may still have groups that enable * us to do super-user things. This will fail if we aren't root, so * don't bother checking the return value, this is just done as an * optimistic privilege dropping function. */ setgroups(0, NULL); if (setresgid(-1, realgid, realgid) != 0) { perror("Could not drop setgid privileges. Aborting."); exit(1); } /* Dropping user privileges must come last. * Otherwise we won't be able to drop group privileges anymore */ if (setresuid(-1, realuid, realuid) != 0) { perror("Could not drop setuid privileges. Aborting."); exit(1); } /* From now on we run with regular user privileges */ static XtActionsRec a_table[] = { {"start", (XtActionProc)start_game}, {"pause", (XtActionProc)pause_game}, {"quit", (XtActionProc)quit_game}, {"key_on", (XtActionProc)key_on}, {"key_off",(XtActionProc)key_off}, }; Widget game, w; XtSetLanguageProc( NULL,NULL,NULL ); Top = XtVaAppInitialize( &App,"XJump",NULL,0, &argc,argv,DefaultResources,NULL ); Disp = XtDisplay( Top ); Cmap = DefaultColormap( Disp,DefaultScreen(Disp) ); read_configuration_files(); read_command_line_options( argc,argv ); game = XtVaCreateManagedWidget( "game",formWidgetClass,Top,NULL ); XtVaCreateManagedWidget( "title",labelWidgetClass,game,NULL ); w = XtVaCreateManagedWidget( "scoreBoard",formWidgetClass,game, NULL ); XtVaCreateManagedWidget( "scLabel",labelWidgetClass,w, NULL ); Score = XtVaCreateManagedWidget( "score",labelWidgetClass,w, XtNlabel,"0000000000", NULL ); Gameover = XtVaCreateManagedWidget( "gameover",labelWidgetClass,game, XtNmappedWhenManaged,FALSE, NULL ); Pause = XtVaCreateManagedWidget( "pause",labelWidgetClass,game, XtNmappedWhenManaged,FALSE, NULL ); Scr = XtVaCreateManagedWidget( "scr",widgetClass,game, XtNwidth,WIDTH*16, XtNheight,HEIGHT*16, XtNmappedWhenManaged,FALSE, NULL ); Score_v = XtVaCreateManagedWidget( "record_v",viewportWidgetClass,game, XtNwidth,WIDTH*16, XtNheight,HEIGHT*16, NULL ); ScoreList = XtVaCreateManagedWidget( "record",labelWidgetClass,Score_v, XtNlabel,"", NULL ); XtVaCreateManagedWidget( "copyright",labelWidgetClass,game,NULL ); XtAddEventHandler( Top,FocusChangeMask,FALSE,(XtEventHandler)focus,NULL ); XtAddEventHandler( Scr,ExposureMask,FALSE,(XtEventHandler)expose,NULL ); XtAppAddActions( App,a_table,XtNumber(a_table) ); if( signal( SIGINT,SIG_IGN ) != SIG_IGN ) signal( SIGINT,sig_handler ); if( signal( SIGTERM,SIG_IGN ) != SIG_IGN ) signal( SIGTERM,sig_handler ); XtRealizeWidget( Top ); init_graph(); set_icon(); Map_index = 0; Scr_d = XtWindow( Scr ); init_record(HighscoreFile); if( Record_entry != -1 ) make_score(); srnd(); GameMode = TITLE; XtAppMainLoop( App ); return 0; } xjump-2.9.3/src/misc.c000066400000000000000000000005611252356777400146020ustar00rootroot00000000000000/***************************************** xjump version 2 misc.c Miscelaneous stuff (C) July 16, 1997 ROYALPANDA *****************************************/ #define _GNU_SOURCE #include #include #include int rnd( int range ) { return ( random() & 0xffff ) * range / 0xffff ; } void srnd( void ) { srandom( time(NULL) ); } xjump-2.9.3/src/record.c000066400000000000000000000075251252356777400151340ustar00rootroot00000000000000/***************************************** xjump version 2 record.c Highscore recording (C) July 16, 1997 ROYALPANDA *****************************************/ #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include"record.h" static int skipspace( FILE *fp ) { int c; for(;;){ c = fgetc(fp); if( c == EOF ) return -1; if( c == '\n' ) return -1; if( !isspace(c) ){ ungetc(c,fp); return 0; } } } static int read_num( FILE *fp ) { int c,i; int err; if( skipspace( fp ) ) return -1; i = 0; err = 1; for(;;){ c = fgetc( fp ); if( isdigit( c ) ){ i = i * 10 + c - '0'; err = 0; }else break; } ungetc( c,fp ); if( err ) return -1; else return i; } static void read_name( char *buf, FILE *fp ) { int l,c; if( skipspace( fp ) ){ *buf = '\0'; return; } for( l = 0 ; l < 31 ; l++ ){ c = fgetc( fp ); if( c < 0 || iscntrl( c ) ){ ungetc( c,fp ); break; } *buf++ = c; } *buf = '\0'; } static void void_line( FILE *fp ) { int c; while( ( c = fgetc(fp) ) != '\n' && c != EOF ) ; } /* Get real name given UID */ static char *get_name( int uid, char *name ) { struct passwd *pw; int i; if( ( pw = getpwuid( uid ) ) == NULL ) name[0] = '\0'; else{ i = 0; while( i < 31 && pw->pw_gecos[i] != '\0' && pw->pw_gecos[i] != ',' ){ name[i] = pw->pw_gecos[i]; i++; } if( i > 0 ) name[i] = '\0'; else /* Prevent any sort of overflow */ sprintf (name, "%.31s", pw->pw_name); } return name; } /* Read one entry from record file */ static int read_entry( FILE *fp, record_t *rec ) { if( ( rec->score = read_num( fp ) ) < 0 ) return -1; if( ( rec->uid = read_num( fp ) ) < 0 ) return -1; read_name( rec->name,fp ); if( rec->name[0] == '\0' ) get_name( rec->uid,rec->name ); return 0; } /* Read all entries from record file */ static void read_record( FILE *fp ) { rewind(fp); int i = 0; while( !feof( fp ) && i < XJUMP_HIGHSCORE_ENTRIES ){ if( read_entry( fp,&Record[i] ) == 0 ) i++; void_line( fp ); } Record_entry = i; } void init_record(FILE *fp) { if(!fp){ Record_entry = -1; return; } if(0 != flock( fileno(fp),LOCK_EX )){ exit(1); } read_record( fp ); if(0 != flock( fileno(fp),LOCK_UN )){ exit(1); }; } static int sort_cmp( record_t *r1, record_t *r2 ) { if( r1->score > r2->score ) return -1; else if( r1->score < r2->score ) return 1; else if( r1->rank > r2->rank ) return 1; else return -1; } static void sort_record( void ) { int i; for( i = 0 ; i < Record_entry ; i++ ) Record[i].rank = i; qsort( Record,Record_entry,sizeof(record_t), (int (*)(const void*, const void*)) sort_cmp ); } void save_record(FILE *fp, int sc ) { if(!fp){ Record_entry = -1; return; } if(0 != flock( fileno(fp),LOCK_EX )){ exit(1); } read_record( fp ); int uid = (int)getuid(); int r = -1; for(int i = 0 ; i < Record_entry ; i++ ){ if( Record[i].uid == uid ){ r = i; break; } } if( r == -1 ){ if( Record_entry < XJUMP_HIGHSCORE_ENTRIES ){ r = Record_entry++; Record[r].score = 0; }else r = XJUMP_HIGHSCORE_ENTRIES - 1; } if( sc > Record[r].score ){ Record[r].score = sc; Record[r].uid = uid; get_name( uid,Record[r].name ); sort_record(); rewind( fp ); if(0 != ftruncate( fileno(fp) ,0 )){ exit(1); } for(int i = 0 ; i < Record_entry ; i++ ) fprintf( fp,"%d %d %s\n", Record[i].score,Record[i].uid,Record[i].name ); fflush( fp ); } if(0 != flock( fileno(fp),LOCK_UN )){ exit(1); }; } xjump-2.9.3/src/record.h000066400000000000000000000005661252356777400151370ustar00rootroot00000000000000/***************************************** xjump version 2 record.h (C) July 16, 1997 ROYALPANDA *****************************************/ typedef struct { int score; int uid; char name[32]; int rank; } record_t; extern record_t Record[]; extern int Record_entry; extern char *Myname; void init_record(FILE *); void save_record(FILE *, int score); xjump-2.9.3/src/resource.c000066400000000000000000000072441252356777400155030ustar00rootroot00000000000000/***************************************** xjump version 2 resource.c Fallback resources (C) Nov 8, 1997 ROYALPANDA *****************************************/ #include #include "config.h" char *DefaultResources[] = { "XJump*font : -adobe-*-*-*-*-*-24-*-*-*-*-*-*-*", "XJump*foreground : white", "XJump*background : black", "XJump*borderColor : white", "XJump*defaultDistance : 16", "XJump*borderWidth : 0", "XJump*title.label : FALLING TOWER ver " MAJOR_VERSION , "XJump*title.horizDistance : 64", "XJump*title.foreground : white", "XJump*title.background : blue", "XJump*title.borderColor : navy", "XJump*title.borderWidth : 4", "XJump*scoreBoard.fromVert : title", "XJump*scoreBoard.horizDistance : 128", "XJump*scLabel.label : Floor", "XJump*score.fromHoriz : scLabel", "XJump*gameover.label : Game Over", "XJump*gameover.fromVert : scoreBoard", "XJump*gameover.horizDistance : 200", "XJump*gameover.vertDistance : 96", "XJump*gameover.foreground : white", "XJump*gameover.background : blue", "XJump*gameover.borderColor : navy", "XJump*gameover.borderWidth : 4", "XJump*pause.label : Pause", "XJump*pause.fromVert : scoreBoard", "XJump*pause.horizDistance : 224", "XJump*pause.vertDistance : 96", "XJump*pause.foreground : white", "XJump*pause.background : blue", "XJump*pause.borderColor : navy", "XJump*pause.borderWidth : 4", "XJump*scr.fromVert : scoreBoard", "XJump*scr.borderWidth : 0", "XJump*record_v.fromVert : scoreBoard", "XJump*record_v.allowVert : True", "XJump*record_v.allowHoriz : True", "XJump*record_v*borderWidth : 1", "XJump*record.font : -*-fixed-*-*-*-*-20-*-*-*-c-*-*-*", "XJump*copyright.label : (C) 1997 ROYALPANDA", "XJump*copyright.foreground : green", "XJump*copyright.fromVert : scr", "XJump*copyright.horizDistance : 64", "XJump*game.translations : #override \\n\ \ Left : key_on(LEFT) \\n\ Left : key_off(LEFT) \\n\ j : key_on(LEFT) \\n\ j : key_off(LEFT) \\n\ a : key_on(LEFT) \\n\ a : key_off(LEFT) \\n\ KP_4 : key_on(LEFT) \\n\ KP_4 : key_off(LEFT) \\n\ \ Right : key_on(RIGHT) \\n\ Right : key_off(RIGHT) \\n\ l : key_on(RIGHT) \\n\ l : key_off(RIGHT) \\n\ d : key_on(RIGHT) \\n\ d : key_off(RIGHT) \\n\ KP_6 : key_on(RIGHT) \\n\ KP_6 : key_off(RIGHT) \\n\ \ Up : key_on(UP)start() \\n\ Up : key_off(UP) \\n\ Down : key_on(UP)start() \\n\ Down : key_off(UP) \\n\ space : key_on(UP)start() \\n\ space : key_off(UP) \\n\ z : key_on(UP)start() \\n\ z : key_off(UP) \\n\ w : key_on(UP)start() \\n\ w : key_off(UP) \\n\ s : key_on(UP)start() \\n\ s : key_off(UP) \\n\ k : key_on(UP)start() \\n\ k : key_off(UP) \\n\ i : key_on(UP)start() \\n\ i : key_off(UP) \\n\ KP_8 : key_on(UP)start() \\n\ KP_8 : key_off(UP) \\n\ \ p : pause() \\n\ Pause : pause() \\n\ Shiftq : quit() \\n\ ", NULL}; xjump-2.9.3/src/safestr.c000066400000000000000000000010401252356777400153070ustar00rootroot00000000000000#include #include #include #include int try_snprintf(char *buf, size_t len, const char *fmt, ...) { va_list args; va_start(args, fmt); int n = vsnprintf(buf, len, fmt, args); if (n >= len){ fprintf(stderr, "fatal error: filename is too long\n"); exit(1); } va_end(args); return n; } char * try_strncpy(char *dest, const char *src, size_t n) { if(strlen(src) >= n){ fprintf(stderr, "fatal error: filename is too long\n"); exit(1); } return strncpy(dest, src, n); }xjump-2.9.3/src/safestr.h000066400000000000000000000003461252356777400153240ustar00rootroot00000000000000/* These alternatives to the library functions error out uf the buffer is too small */ #include int try_snprintf(char *buf, size_t len, const char *fmt, ...); char * try_strncpy(char *dest, const char *src, size_t n);xjump-2.9.3/src/xjump-icon.xpm000066400000000000000000000024031252356777400163170ustar00rootroot00000000000000/* XPM */ static char * xjump_icon_xpm[] = { "32 32 5 1", " c None", ". c #000000", "+ c #FFE7C7", "@ c #FF0000", "# c #00FF00", " ", " ", " ", " ..... ", " ......... ", " ........... ", " ............. ", " .......+++++. ", " ......++++++++. ", " .....+++++++++. ", " ....++++++..++. ", " ...+++++++..++. ", " ..++++++++++++. ", " ..+++++++++++.. ......", " .+++++++++++. ..@@@@@.", " ...........+++++++++...@@@@@@. ", ".@@@@@@@@@@@..+++++..@@@@@@@@. ", ".@@@@@@@@@@@@@.....@@@@@@@@.. ", " ..@@@@@@@@@@@@@@@@@@@@@@@. ", " ..@@@@@@@@@@@@@@@@@@@@. ", " ...@@@@@@@@@@@@@@@.. ", " ............... ", " .##############.... ", " ...###################. ", " ..#######################. ", " .##########################. ", " .############.....###########. ", ".#######...... ......######.", " ....... ....##.", " .. ", " ", " "}; xjump-2.9.3/src/xjump.h000066400000000000000000000021441252356777400150160ustar00rootroot00000000000000/***************************************** xjump version 2 xjump.h Header for non-highscore stuff (C) Oct 28, 1997 ROYALPANDA *****************************************/ /* Control keys */ #define KEY_UP 0 #define KEY_LEFT 1 #define KEY_RIGHT 2 /* For life and death decisions */ #define DEAD -1 /* Size of visible gameplay area */ #define WIDTH 32 #define HEIGHT 24 typedef struct{ int x; int y; int vx; int vy; int jump; int pic; int dir; int g_count; /* Animation counter */ } hero_t; extern int Floor_L[]; extern int Floor_R[]; extern int Map_index; extern hero_t Hero; extern int Key[]; extern int Floor_top; extern Display *Disp; extern Drawable Scr_d; extern Pixmap Floor_p; extern Pixmap Back_p; extern Pixmap Char_p; extern Pixmap Char_m; extern GC Gc_nomask; extern GC Gc_mask; void init_game( void ); int move( void ); void recover_scr( int x, int y, int x2, int y2 ); void draw_hero( void ); int rnd( int range ); void srnd( void ); /* Macros */ #define floor_r(y) Floor_R[ ( y+Map_index) % HEIGHT ] #define floor_l(y) Floor_L[ ( y+Map_index) % HEIGHT ] xjump-2.9.3/themes/000077500000000000000000000000001252356777400141775ustar00rootroot00000000000000xjump-2.9.3/themes/default.xpm000066400000000000000000000230021252356777400163460ustar00rootroot00000000000000/* XPM */ static char * picture_xpm[] = { "144 64 10 1", " s None c None", ". c black", "X c #AEBADB6CE79D", "o c #00000000FFFF", "O c #000000008207", "+ c #FFFFE79DC71B", "@ c #FFFF00000000", "# c #0000FFFF0000", "$ c #FFFFC30BCB2B", "% c #B2CA20812081", " ................", " XXXXXX.XXXXXXX.X", " ..... ..... ..... ..... oooooO.XoooooO.X", " ......... ......... ......... ......... OOOOOO.OOOOOOO.O", " ........... ........... ........... ........... ................", " ............. ............. ............. ............. XX.XXXXXXX.XXXXX", " .+++++....... .......+++++. .+++++....... .......+++++. oO.XoooooO.Xoooo", " .++++++++...... ......++++++++. .++++++++...... ......++++++++. OO.OOOOOOO.OOOOO", " .+++++++++..... .....+++++++++. .+++++++++..... .....+++++++++. ................", " . .++..++++++.... ....++++++..++. . .++..++++++.... ....++++++..++. XXXXXX.XXXXXXX.X", " .@. .++..+++++++... ...+++++++..++. .@. .++..+++++++... ...+++++++..++. oooooO.XoooooO.X", " .@@. .++++++++++++.. .. .. ..++++++++++++. .@@. .++++++++++++.. ..++++++++++++. OOOOOO.OOOOOOO.O", " .@@@. .+++++++++++. ..@@. .@@.. .+++++++++++. .@@@. ...... .+++++++++++. .+++++++++++. ......................", " .@@@. .+++++++++++. .@@@@. .@@@@. .+++++++++++. .@@@. .@@@@@.. .+++++++++++. .+++++++++++. ..@@@@@.XX.XXXXXXX.XXXXX", " .@@@@...+++++++++...@@@@. .@@@@...+++++++++...@@@@. .@@@@@@...+++++++++........... ...........+++++++++...@@@@@@. oO.XoooooO.Xoooo", " .@@@@@@@..+++++..@@@@@@. .@@@@@@..+++++..@@@@@@@. .@@@@@@@@..+++++..@@@@@@@@@@@..@@@@@@@@@@@..+++++..@@@@@@@@. OO.OOOOOOO.OOOOO", " .@@@@@@@@.....@@@@@@@. .@@@@@@@.....@@@@@@@@. ..@@@@@@@@.....@@@@@@@@@@@@@..@@@@@@@@@@@@@.....@@@@@@@@.. ................", " .@@@@@@@@@@@@@@@@@@. .@@@@@@@@@@@@@@@@@@. .@@@@@@@@@@@@@@@@@@@@@@@.. ..@@@@@@@@@@@@@@@@@@@@@@@. .XXXXXXXXXXXXXXX", " .@@@@@@@@@@@@@@@@. .@@@@@@@@@@@@@@@@. .@@@@@@@@@@@@@@@@@@@@.. ..@@@@@@@@@@@@@@@@@@@@. .XXXXXXXXXXXXXXO", " ..@@@@@@@@@@@@.. ..@@@@@@@@@@@@.. ..@@@@@@@@@@@@@@@... ...@@@@@@@@@@@@@@@.. .XXoooooooooooOO", " ............ ............ ............... ............... .XXoooooooooooOO", " ...############. .############... ....##############. .##############.... .XXoooooooooooOO", " .################. .################. .###################... ...###################. .XXoooooooooooOO", " .##################. .##################. .#######################.. ..#######################. .XXoooooooooooOO", " .##################. .##################. .##########################. .##########################. .XXoooooooooooOO", " .####################. .####################. .###########.....############. .############.....###########. .XXoooooooooooOO", " .######......########. .########......######. .######...... ......#######..#######...... ......######..XXoooooooooooOO", " .####.. ..#######. .#######.. ..####. .##.... ....... ....... ....##..XXoooooooooooOO", " .####. ...#####. .#####... .####. .. .. .XXoooooooooooOO", " .###. ...####. .####... .###. .XXoooooooooooOO", " .##. ..##. .##.. .##. .XOOOOOOOOOOOOOO", " .. .. .. .. .OOOOOOOOOOOOOOO", " ................", " .XXXXXXXXXXXXXXX", " .XXXXXXXXXXXXXXO", " .. .. .. .. .XXoooooooooooOO", " .@@. .@@. ....... ....##..##.... ....... .XXoooooooooooOO", " .@@@. .. .. .@@@. .#######...... ......######..######...... ......#######..XXoooooooooooOO", " .@@@. ..##..##.. .@@@. .############.....###########. .###########.....############. .XXoooooooooooOO", " .@@@@. ..####..####.. .@@@@. .##########################. .##########################. .XXoooooooooooOO", " .@@@@. ..#####. .#####.. .@@@@. ..#######################. .#######################.. .XXoooooooooooOO", " ..... .@@@@. .#######. .#######. .@@@@. ..... ...###################. .###################... .XXoooooooooooOO", " ..........@@@@. .#######. .#######. .@@@@.......... .##############.... ....##############. .XXoooooooooooOO", " .......+++.@@@@@.########. .########.@@@@@.+++....... ............... ............... .XXoooooooooooOO", " .......+++++.@@@@.#######.. ..#######.@@@@.+++++....... ...@@@@@@@@@@@@@@@.. ..@@@@@@@@@@@@@@@... .XXoooooooooooOO", " ......++++++.@@@@.#######. .#######.@@@@.++++++...... ..@@@@@@@@@@@@@@@@@@@@. .@@@@@@@@@@@@@@@@@@@@.. .XXoooooooooooOO", " ......++++++++.@@@.######.. ..######.@@@.++++++++...... ..@@@@@@@@@@@@@@@@@@@@@@@. .@@@@@@@@@@@@@@@@@@@@@@@.. .XOOOOOOOOOOOOOO", " .....+++++++++.@@@.######. .######.@@@.+++++++++..... .@@@@@@@@@@@@@.....@@@@@@@@.. ..@@@@@@@@.....@@@@@@@@@@@@@..OOOOOOOOOOOOOOO", " .....+++++++++.@@@.#####. .#####.@@@.+++++++++..... .@@@@@@@@@@@..+++++..@@@@@@@@. .@@@@@@@@..+++++..@@@@@@@@@@@.................", " ....++++++++++.@@@.#####. .#####.@@@.++++++++++.... ...........+++++++++...@@@@@@. .@@@@@@...+++++++++........... .$$$$$$$$$$$$$$$", " ....++++++++++.@@@.#####. .#####.@@@.++++++++++.... .+++++++++++. ..@@@@@..@@@@@.. .+++++++++++. .$$$$$$$$$$$$$$%", " ...+++..++++.@@@@.#####. .#####.@@@@.++++..+++... .+++++++++++. ............ .+++++++++++. .$$@@@@@@@@@@@%%", " ...+++..++++.@@@@.#####. .#####.@@@@.++++..+++... ..++++++++++++. .++++++++++++.. .$$@@@@@@@@@@@%%", " ..++++++++.@@@@@.#####. .#####.@@@@@.++++++++.. ...+++++++..++. .++..+++++++... .$$@@@@@@@@@@@%%", " ..+++++...@@@@@.######. .######.@@@@@...+++++.. ....++++++..++. .++..++++++.... .$$@@@@@@@@@@@%%", " ..... .@@@@. .#####. .#####. .@@@@. ..... .....+++++++++. .+++++++++..... .$$@@@@@@@@@@@%%", " .@@@@@. .######. .######. .@@@@@. ......++++++++. .++++++++...... .$$@@@@@@@@@@@%%", " .@@@@@. .#######. .#######. .@@@@@. .......+++++. .+++++....... .$$@@@@@@@@@@@%%", " .@@@@@. .#######. .#######. .@@@@@. ............. ............. .$$%%%%%%%%%%%%%", " .@@@@@. ..######..######.. .@@@@@. ........... ........... .$%%%%%%%%%%%%%%", " .@@@... ...###..###... ...@@@. ......... ......... ................", " ... ... ... ... ..... ..... XX.XXXXXXX.XXXXX", " oO.XoooooO.Xoooo", " OO.OOOOOOO.OOOOO"}; xjump-2.9.3/themes/ion.xpm000066400000000000000000000523501252356777400155170ustar00rootroot00000000000000/* XPM */ /* xjump theme */ /* Copyright (C) 2002 Johan Kiviniemi */ /* This is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version without ANY WARRANTIES. */ static char * gimp_temp_89948_xpm[] = { "144 64 165 2", " c None", ". c #333333", "+ c #A9A9A9", "@ c #B8B8B8", "# c #C1C1C1", "$ c #C5C5C5", "% c #BFBFBF", "& c #B6B6B6", "* c #A1A1A1", "= c #878787", "- c #CFCFCF", "; c #D2D2D2", "> c #D0D0D0", ", c #CACACA", "' c #C6C6C6", ") c #C0C0C0", "! c #BABABA", "~ c #B3B3B3", "{ c #A8A8A8", "] c #8C8C8C", "^ c #AFAFAF", "/ c #CDCDCD", "( c #D5D5D5", "_ c #D8D8D8", ": c #DADADA", "< c #D9D9D9", "[ c #D6D6D6", "} c #CCCCCC", "| c #B0B0B0", "1 c #A7A7A7", "2 c #959595", "3 c #6D6D6D", "4 c #CECECE", "5 c #D7D7D7", "6 c #DCDCDC", "7 c #E0E0E0", "8 c #E3E3E3", "9 c #E2E2E2", "0 c #DEDEDE", "a c #CBCBCB", "b c #C3C3C3", "c c #BBBBBB", "d c #B4B4B4", "e c #AAAAAA", "f c #949494", "g c #6B6B6B", "h c #C9C9C9", "i c #D4D4D4", "j c #E8E8E8", "k c #EBEBEB", "l c #EAEAEA", "m c #E4E4E4", "n c #BEBEBE", "o c #ACACAC", "p c #A3A3A3", "q c #9B9B9B", "r c #626262", "s c #9A9A9A", "t c #DFDFDF", "u c #E7E7E7", "v c #EEEEEE", "w c #F3F3F3", "x c #F1F1F1", "y c #C8C8C8", "z c #B7B7B7", "A c #AEAEAE", "B c #A4A4A4", "C c #9C9C9C", "D c #939393", "E c #7F7F7F", "F c #525252", "G c #ADADAD", "H c #F0F0F0", "I c #F5F5F5", "J c #A5A5A5", "K c #9D9D9D", "L c #8B8B8B", "M c #6A6A6A", "N c #C4C4C4", "O c #E5E5E5", "P c #ECECEC", "Q c #C7C7C7", "R c #7C7C7C", "S c #545454", "T c #C2C2C2", "U c #BDBDBD", "V c #B5B5B5", "W c #919191", "X c #898989", "Y c #818181", "Z c #5D5D5D", "` c #A0A0A0", " . c #B2B2B2", ".. c #989898", "+. c #8F8F8F", "@. c #000000", "#. c #0C0C0C", "$. c #191919", "%. c #262626", "&. c #3F3F3F", "*. c #4C4C4C", "=. c #595959", "-. c #666666", ";. c #727272", ">. c #7E7E7E", ",. c #858585", "'. c #7D7D7D", "). c #676767", "!. c #888888", "~. c #999999", "{. c #7A7A7A", "]. c #848484", "^. c #9F9F9F", "/. c #B1B1B1", "(. c #ABABAB", "_. c #8D8D8D", ":. c #787878", "<. c #979797", "[. c #A2A2A2", "}. c #BCBCBC", "|. c #9E9E9E", "1. c #636363", "2. c #656565", "3. c #A6A6A6", "4. c #767676", "5. c #6E6E6E", "6. c #575757", "7. c #969696", "8. c #797979", "9. c #4D4D4D", "0. c #737373", "a. c #8E8E8E", "b. c #929292", "c. c #6C6C6C", "d. c #444444", "e. c #838383", "f. c #555555", "g. c #686868", "h. c #8A8A8A", "i. c #909090", "j. c #5E5E5E", "k. c #404040", "l. c #505050", "m. c #6F6F6F", "n. c #868686", "o. c #757575", "p. c #707070", "q. c #7B7B7B", "r. c #717171", "s. c #696969", "t. c #515151", "u. c #777777", "v. c #747474", "w. c #616161", "x. c #5A5A5A", "y. c #4B4B4B", "z. c #646464", "A. c #585858", "B. c #5C5C5C", "C. c #565656", "D. c #535353", "E. c #474747", "F. c #383838", "G. c #5B5B5B", "H. c #3D3D3D", " . . . . . . . . . . . . . . . . ", " . . . . . . . . . . . . . . . . ", " . . . . . . . . . . . . . . . . ", " . . . . . . . . . . . . . . . . ", " . . . . . . . . . . . . . . . . ", " . . . . . . . . . . . . . . . . ", " . . . . . . . . . . . . . . . . ", " + @ # $ % & * = + @ # $ % & * = + @ # $ % & * = + @ # $ % & * = . . . . . . . . . . . . . . . . ", " % - ; > - , ' ) ! ~ { ] % - ; > - , ' ) ! ~ { ] % - ; > - , ' ) ! ~ { ] % - ; > - , ' ) ! ~ { ] . . . . . . . . . . . . . . . . ", " ^ / ( _ : < [ ; } ' % @ | 1 2 3 ^ / ( _ : < [ ; } ' % @ | 1 2 3 ^ / ( _ : < [ ; } ' % @ | 1 2 3 ^ / ( _ : < [ ; } ' % @ | 1 2 3 . . . . . . . . . . . . . . . . ", " ^ 4 5 6 7 8 9 0 _ ; a b c d e * f g ^ 4 5 6 7 8 9 0 _ ; a b c d e * f g ^ 4 5 6 7 8 9 0 _ ; a b c d e * f g ^ 4 5 6 7 8 9 0 _ ; a b c d e * f g . . . . . . . . . . . . . . . . ", " { h i 6 9 j k l m 0 [ - ' n & o p q ] r { h i 6 9 j k l m 0 [ - ' n & o p q ] r { h i 6 9 j k l m 0 [ - ' n & o p q ] r { h i 6 9 j k l m 0 [ - ' n & o p q ] r . . . . . . . . . . . . . . . . ", " s ) 4 [ t u v w x l 9 < > y ) z A B C D E F s ) 4 [ t u v w x l 9 < > y ) z A B C D E F s ) 4 [ t u v w x l 9 < > y ) z A B C D E F s ) 4 [ t u v w x l 9 < > y ) z A B C D E F . . . . . . . . . . . . . . . . ", " G ' 4 [ 7 j H I w k 8 : ; y ) @ A J K D L M G ' 4 [ 7 j H I w k 8 : ; y ) @ A J K D L M G ' 4 [ 7 j H I w k 8 : ; y ) @ A J K D L M G ' 4 [ 7 j H I w k 8 : ; y ) @ A J K D L M . . . . . . . . . . . . . . . . ", " q ! N / ( 0 O P H v j 7 _ > Q % & A B q D L R S q ! N / ( 0 O P H v j 7 _ > Q % & A B q D L R S q ! N / ( 0 O P H v j 7 _ > Q % & A B q D L R S q ! N / ( 0 O P H v j 7 _ > Q % & A B q D L R S . . . . . . . . . . . . . . . . ", " K ! T , ; : 7 O j u 9 6 ( 4 ' U V o p q W X Y Z K ! T , ; : 7 O j u 9 6 ( 4 ' U V o p q W X Y Z K ! T , ; : 7 O j u 9 6 ( 4 ' U V o p q W X Y Z K ! T , ; : 7 O j u 9 6 ( 4 ' U V o p q W X Y Z . . . . . . . . . . . . . . . . ", " ` z % ' 4 i : 0 7 t 6 [ > y T ! .+ ` ..+.= E r ` z % ' 4 i : 0 7 t 6 [ > y T ! .+ ` ..+.= E r ` z % ' 4 i : 0 7 t 6 [ > y T ! .+ ` ..+.= E r ` z % ' 4 i : 0 7 t 6 [ > y T ! .+ ` ..+.= E r @.#.$.%.. &.*.=.-.;.E ] ........", " >.p ~ ! T y 4 ; ( [ [ i > , N U & A J K f ] ,.'.). >.p ~ ! T y 4 ; ( [ [ i > , N U & A J K f ] ,.'.). >.p ~ ! T y 4 ; ( [ [ i > , N U & A J K f ] ,.'.). >.p ~ ! T y 4 ; ( [ [ i > , N U & A J K f ] ,.'.). @.#.$.%.. &.*.=.-.;.E ] ........", " !.B A V c T ' , 4 4 4 a y N n @ | + * ~.W X Y {.g !.B A V c T ' , 4 4 4 a y N n @ | + * ~.W X Y {.g !.B A V c T ' , 4 4 4 a y N n @ | + * ~.W X Y {.g !.B A V c T ' , 4 4 4 a y N n @ | + * ~.W X Y {.g @.#.$.%.. &.*.=.-.;.E ] ........", " ].^.{ ^ V ! % T N $ $ b ) U z /.(.B K f _.,.E :.). ].^.{ ^ V ! % T N $ $ b ) U z /.(.B K f _.,.E :.). ].^.{ ^ V ! % T N $ $ b ) U z /.(.B K f _.,.E :.). ].^.{ ^ V ! % T N $ $ b ) U z /.(.B K f _.,.E :.). @.#.$.%.. &.*.=.-.;.E ] ........", " R <.[.{ A ~ z ! }.}.}.! @ V | e J |.<.W X Y {.;.1. R <.[.{ A ~ z ! }.}.}.! @ V | e J |.<.W X Y {.;.1. R <.[.{ A ~ z ! }.}.}.! @ V | e J |.<.W X Y {.;.1. R <.[.{ A ~ z ! }.}.}.! @ V | e J |.<.W X Y {.;.1. @.#.$.%.. &.*.=.-.;.E ] ........", " 2.L q * 3.e ^ . .d ~ .| o { p |...W L ,.>.4.5.6. 2.L q * 3.e ^ . .d ~ .| o { p |...W L ,.>.4.5.6. 2.L q * 3.e ^ . .d ~ .| o { p |...W L ,.>.4.5.6. 2.L q * 3.e ^ . .d ~ .| o { p |...W L ,.>.4.5.6. @.#.$.%.. &.*.=.-.;.E ] ........", " '.2 ~.K * J + e (.(.e 1 p ^.q 7.W L ,.E 8.;.M 9. '.2 ~.K * J + e (.(.e 1 p ^.q 7.W L ,.E 8.;.M 9. '.2 ~.K * J + e (.(.e 1 p ^.q 7.W L ,.E 8.;.M 9. '.2 ~.K * J + e (.(.e 1 p ^.q 7.W L ,.E 8.;.M 9. @.#.$.%.. &.*.=.-.;.E ] ........", " 0.a.b.7.s K ^.* * * ^.|.q <.D +.L ,.E {.;.c.1.d. 0.a.b.7.s K ^.* * * ^.|.q <.D +.L ,.E {.;.c.1.d. 0.a.b.7.s K ^.* * * ^.|.q <.D +.L ,.E {.;.c.1.d. 0.a.b.7.s K ^.* * * ^.|.q <.D +.L ,.E {.;.c.1.d. @.#.$.%.. &.*.=.-.;.E ] ........", " 1.Y L a.W 2 <...~.~.<.2 D +.L !.e.>.{.0.3 -.f. 1.Y L a.W 2 <...~.~.<.2 D +.L !.e.>.{.0.3 -.f. 1.Y L a.W 2 <...~.~.<.2 D +.L !.e.>.{.0.3 -.f. 1.Y L a.W 2 <...~.~.<.2 D +.L !.e.>.{.0.3 -.f. @.#.$.%.. &.*.=.-.;.E ] ........", " g.e.= h._.+.+.i.i.+._.L !.].E R :.;.3 ).j.k. g.e.= h._.+.+.i.i.+._.L !.].E R :.;.3 ).j.k. g.e.= h._.+.+.i.i.+._.L !.].E R :.;.3 ).j.k. g.e.= h._.+.+.i.i.+._.L !.].E R :.;.3 ).j.k. @.#.$.%.. &.*.=.-.;.E ] ........", " l.m.E Y ].,.= = = n.,.e.E R 8.o.p.g -.j.*. l.m.E Y ].,.= = = n.,.e.E R 8.o.p.g -.j.*. l.m.E Y ].,.= = = n.,.e.E R 8.o.p.g -.j.*. l.m.E Y ].,.= = = n.,.e.E R 8.o.p.g -.j.*. @.#.$.%.. &.*.=.-.;.E ] ........", " 9.m.8.R >.E E E >.'.q.:.o.r.3 s.1.Z t. 9.m.8.R >.E E E >.'.q.:.o.r.3 s.1.Z t. 9.m.8.R >.E E E >.'.q.:.o.r.3 s.1.Z t. 9.m.8.R >.E E E >.'.q.:.o.r.3 s.1.Z t. @.#.$.%.. &.*.=.-.;.E ] ........", " 9.g 0.4.u.u.u.4.v.;.p.3 s.2.w.x.F 9.g 0.4.u.u.u.4.v.;.p.3 s.2.w.x.F 9.g 0.4.u.u.u.4.v.;.p.3 s.2.w.x.F 9.g 0.4.u.u.u.4.v.;.p.3 s.2.w.x.F @.#.$.%.. &.*.=.-.;.E ] ........", " y.1.c.3 5.5.3 g M ).z.w.Z A.9.. y.1.c.3 5.5.3 g M ).z.w.Z A.9.. y.1.c.3 5.5.3 g M ).z.w.Z A.9.. y.1.c.3 5.5.3 g M ).z.w.Z A.9.. @.#.$.%.. &.*.=.-.;.E ] ........", " A.z.1.z.z.2.z.w.B.C.D.E. A.z.1.z.z.2.z.w.B.C.D.E. A.z.1.z.z.2.z.w.B.C.D.E. A.z.1.z.z.2.z.w.B.C.D.E. @.#.$.%.. &.*.=.-.;.E ] ........", " k.C.g.p.m.2.t.F. k.C.g.p.m.2.t.F. k.C.g.p.m.2.t.F. k.C.g.p.m.2.t.F. @.#.$.%.. &.*.=.-.;.E ] ........", " ........] E ;.-.=.*.&.. %.$.#.@.", " ........] E ;.-.=.*.&.. %.$.#.@.", " ........] E ;.-.=.*.&.. %.$.#.@.", " ........] E ;.-.=.*.&.. %.$.#.@.", " ........] E ;.-.=.*.&.. %.$.#.@.", " ........] E ;.-.=.*.&.. %.$.#.@.", " ........] E ;.-.=.*.&.. %.$.#.@.", " + @ # $ % & * = + @ # $ % & * = + @ # $ % & * = + @ # $ % & * = ........] E ;.-.=.*.&.. %.$.#.@.", " % - ; > - , ' ) ! ~ { ] % - ; > - , ' ) ! ~ { ] % - ; > - , ' ) ! ~ { ] % - ; > - , ' ) ! ~ { ] ........] E ;.-.=.*.&.. %.$.#.@.", " ^ / ( _ : < [ ; } ' % @ | 1 2 3 ^ / ( _ : < [ ; } ' % @ | 1 2 3 ^ / ( _ : < [ ; } ' % @ | 1 2 3 ^ / ( _ : < [ ; } ' % @ | 1 2 3 ........] E ;.-.=.*.&.. %.$.#.@.", " ^ 4 5 6 7 8 9 0 _ ; a b c d e * f g ^ 4 5 6 7 8 9 0 _ ; a b c d e * f g ^ 4 5 6 7 8 9 0 _ ; a b c d e * f g ^ 4 5 6 7 8 9 0 _ ; a b c d e * f g ........] E ;.-.=.*.&.. %.$.#.@.", " { h i 6 9 j k l m 0 [ - ' n & o p q ] r { h i 6 9 j k l m 0 [ - ' n & o p q ] r { h i 6 9 j k l m 0 [ - ' n & o p q ] r { h i 6 9 j k l m 0 [ - ' n & o p q ] r ........] E ;.-.=.*.&.. %.$.#.@.", " s ) 4 [ t u v w x l 9 < > y ) z A B C D E F s ) 4 [ t u v w x l 9 < > y ) z A B C D E F s ) 4 [ t u v w x l 9 < > y ) z A B C D E F s ) 4 [ t u v w x l 9 < > y ) z A B C D E F ........] E ;.-.=.*.&.. %.$.#.@.", " G ' 4 [ 7 j H I w k 8 : ; y ) @ A J K D L M G ' 4 [ 7 j H I w k 8 : ; y ) @ A J K D L M G ' 4 [ 7 j H I w k 8 : ; y ) @ A J K D L M G ' 4 [ 7 j H I w k 8 : ; y ) @ A J K D L M ........] E ;.-.=.*.&.. %.$.#.@.", " q ! N / ( 0 O P H v j 7 _ > Q % & A B q D L R S q ! N / ( 0 O P H v j 7 _ > Q % & A B q D L R S q ! N / ( 0 O P H v j 7 _ > Q % & A B q D L R S q ! N / ( 0 O P H v j 7 _ > Q % & A B q D L R S ........] E ;.-.=.*.&.. %.$.#.@.", " K ! T , ; : 7 O j u 9 6 ( 4 ' U V o p q W X Y Z K ! T , ; : 7 O j u 9 6 ( 4 ' U V o p q W X Y Z K ! T , ; : 7 O j u 9 6 ( 4 ' U V o p q W X Y Z K ! T , ; : 7 O j u 9 6 ( 4 ' U V o p q W X Y Z ........] E ;.-.=.*.&.. %.$.#.@.", " ` z % ' 4 i : 0 7 t 6 [ > y T ! .+ ` ..+.= E r ` z % ' 4 i : 0 7 t 6 [ > y T ! .+ ` ..+.= E r ` z % ' 4 i : 0 7 t 6 [ > y T ! .+ ` ..+.= E r ` z % ' 4 i : 0 7 t 6 [ > y T ! .+ ` ..+.= E r ................................", " >.p ~ ! T y 4 ; ( [ [ i > , N U & A J K f ] ,.'.). >.p ~ ! T y 4 ; ( [ [ i > , N U & A J K f ] ,.'.). >.p ~ ! T y 4 ; ( [ [ i > , N U & A J K f ] ,.'.). >.p ~ ! T y 4 ; ( [ [ i > , N U & A J K f ] ,.'.). ................................", " !.B A V c T ' , 4 4 4 a y N n @ | + * ~.W X Y {.g !.B A V c T ' , 4 4 4 a y N n @ | + * ~.W X Y {.g !.B A V c T ' , 4 4 4 a y N n @ | + * ~.W X Y {.g !.B A V c T ' , 4 4 4 a y N n @ | + * ~.W X Y {.g ................................", " ].^.{ ^ V ! % T N $ $ b ) U z /.(.B K f _.,.E :.). ].^.{ ^ V ! % T N $ $ b ) U z /.(.B K f _.,.E :.). ].^.{ ^ V ! % T N $ $ b ) U z /.(.B K f _.,.E :.). ].^.{ ^ V ! % T N $ $ b ) U z /.(.B K f _.,.E :.). ................................", " R <.[.{ A ~ z ! }.}.}.! @ V | e J |.<.W X Y {.;.1. R <.[.{ A ~ z ! }.}.}.! @ V | e J |.<.W X Y {.;.1. R <.[.{ A ~ z ! }.}.}.! @ V | e J |.<.W X Y {.;.1. R <.[.{ A ~ z ! }.}.}.! @ V | e J |.<.W X Y {.;.1. a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.a.", " 2.L q * 3.e ^ . .d ~ .| o { p |...W L ,.>.4.5.6. 2.L q * 3.e ^ . .d ~ .| o { p |...W L ,.>.4.5.6. 2.L q * 3.e ^ . .d ~ .| o { p |...W L ,.>.4.5.6. 2.L q * 3.e ^ . .d ~ .| o { p |...W L ,.>.4.5.6. ].].].].].].].].].].].].].].].].", " '.2 ~.K * J + e (.(.e 1 p ^.q 7.W L ,.E 8.;.M 9. '.2 ~.K * J + e (.(.e 1 p ^.q 7.W L ,.E 8.;.M 9. '.2 ~.K * J + e (.(.e 1 p ^.q 7.W L ,.E 8.;.M 9. '.2 ~.K * J + e (.(.e 1 p ^.q 7.W L ,.E 8.;.M 9. {.{.{.{.{.{.{.{.{.{.{.{.{.{.{.{.", " 0.a.b.7.s K ^.* * * ^.|.q <.D +.L ,.E {.;.c.1.d. 0.a.b.7.s K ^.* * * ^.|.q <.D +.L ,.E {.;.c.1.d. 0.a.b.7.s K ^.* * * ^.|.q <.D +.L ,.E {.;.c.1.d. 0.a.b.7.s K ^.* * * ^.|.q <.D +.L ,.E {.;.c.1.d. p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.", " 1.Y L a.W 2 <...~.~.<.2 D +.L !.e.>.{.0.3 -.f. 1.Y L a.W 2 <...~.~.<.2 D +.L !.e.>.{.0.3 -.f. 1.Y L a.W 2 <...~.~.<.2 D +.L !.e.>.{.0.3 -.f. 1.Y L a.W 2 <...~.~.<.2 D +.L !.e.>.{.0.3 -.f. -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.", " g.e.= h._.+.+.i.i.+._.L !.].E R :.;.3 ).j.k. g.e.= h._.+.+.i.i.+._.L !.].E R :.;.3 ).j.k. g.e.= h._.+.+.i.i.+._.L !.].E R :.;.3 ).j.k. g.e.= h._.+.+.i.i.+._.L !.].E R :.;.3 ).j.k. G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.G.", " l.m.E Y ].,.= = = n.,.e.E R 8.o.p.g -.j.*. l.m.E Y ].,.= = = n.,.e.E R 8.o.p.g -.j.*. l.m.E Y ].,.= = = n.,.e.E R 8.o.p.g -.j.*. l.m.E Y ].,.= = = n.,.e.E R 8.o.p.g -.j.*. t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.t.", " 9.m.8.R >.E E E >.'.q.:.o.r.3 s.1.Z t. 9.m.8.R >.E E E >.'.q.:.o.r.3 s.1.Z t. 9.m.8.R >.E E E >.'.q.:.o.r.3 s.1.Z t. 9.m.8.R >.E E E >.'.q.:.o.r.3 s.1.Z t. E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.E.", " 9.g 0.4.u.u.u.4.v.;.p.3 s.2.w.x.F 9.g 0.4.u.u.u.4.v.;.p.3 s.2.w.x.F 9.g 0.4.u.u.u.4.v.;.p.3 s.2.w.x.F 9.g 0.4.u.u.u.4.v.;.p.3 s.2.w.x.F H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.H.", " y.1.c.3 5.5.3 g M ).z.w.Z A.9.. y.1.c.3 5.5.3 g M ).z.w.Z A.9.. y.1.c.3 5.5.3 g M ).z.w.Z A.9.. y.1.c.3 5.5.3 g M ).z.w.Z A.9.. . . . . . . . . . . . . . . . . ", " A.z.1.z.z.2.z.w.B.C.D.E. A.z.1.z.z.2.z.w.B.C.D.E. A.z.1.z.z.2.z.w.B.C.D.E. A.z.1.z.z.2.z.w.B.C.D.E. . . . . . . . . . . . . . . . . ", " k.C.g.p.m.2.t.F. k.C.g.p.m.2.t.F. k.C.g.p.m.2.t.F. k.C.g.p.m.2.t.F. . . . . . . . . . . . . . . . . "}; xjump-2.9.3/themes/jumpnbump.xpm000066400000000000000000000574131252356777400167540ustar00rootroot00000000000000/* XPM */ /* by Mendes 09/10/2006 baseado em jump'n bump */ static char * jnb3_xpm[] = { "144 64 346 2", " c None", ". c #006CD4", "+ c #848484", "@ c #B3B3B3", "# c #686868", "$ c #3E3E3E", "% c #6B6B6B", "& c #4F4F4F", "* c #868686", "= c #B5B5B5", "- c #6D6D6D", "; c #474747", "> c #717171", ", c #187CD8", "' c #8F8F8F", ") c #DBDBDB", "! c #D9D9D9", "~ c #CECECE", "{ c #BBBBBB", "] c #9F9F9F", "^ c #555555", "/ c #353535", "( c #A2A2A2", "_ c #B6B6B6", ": c #959595", "< c #747474", "[ c #5A5A5A", "} c #434343", "| c #A3A3A3", "1 c #979797", "2 c #C5C5C5", "3 c #B7B7B7", "4 c #737373", "5 c #A8A8A8", "6 c #808080", "7 c #969696", "8 c #DADADA", "9 c #D7D7D7", "0 c #CBCBCB", "a c #AFAFAF", "b c #9D9D9D", "c c #565656", "d c #454545", "e c #A6A6A6", "f c #CFCFCF", "g c #BABABA", "h c #9B9B9B", "i c #7D7D7D", "j c #757575", "k c #646464", "l c #4C4C4C", "m c #575757", "n c #828282", "o c #949494", "p c #9E9E9E", "q c #B2B2B2", "r c #666666", "s c #6E6E6E", "t c #C1C1C1", "u c #777777", "v c #3F3F3F", "w c #4D4D4D", "x c #929292", "y c #BDBDBD", "z c #D3D3D3", "A c #B4B4B4", "B c #9C9C9C", "C c #8B8B8B", "D c #656565", "E c #D5D5D5", "F c #BFBFBF", "G c #B1B1B1", "H c #A0A0A0", "I c #636363", "J c #B0B0B0", "K c #7C7C7C", "L c #393939", "M c #D0D0D0", "N c #A5A5A5", "O c #767676", "P c #6C6C6C", "Q c #989898", "R c #8D8D8D", "S c #898989", "T c #888888", "U c #797979", "V c #BEBEBE", "W c #B8B8B8", "X c #C2C2C2", "Y c #C4C4C4", "Z c #464646", "` c #A4A4A4", " . c #A7A7A7", ".. c #7B7B7B", "+. c #CCCCCC", "@. c #B9B9B9", "#. c #919191", "$. c #676767", "%. c #3D3D3D", "&. c #5E5E5E", "*. c #5B5B5B", "=. c #535353", "-. c #595959", ";. c #C3C3C3", ">. c #A1A1A1", ",. c #7E7E7E", "'. c #878787", "). c #525252", "!. c #909090", "~. c #939393", "{. c #9A9A9A", "]. c #CDCDCD", "^. c #8E8E8E", "/. c #7F7F7F", "(. c #5C5C5C", "_. c #626262", ":. c #727272", "<. c #ABABAB", "[. c #C9C9C9", "}. c #ACACAC", "|. c #AEAEAE", "1. c #C0C0C0", "2. c #AAAAAA", "3. c #8C8C8C", "4. c #616161", "5. c #444444", "6. c #6F6F6F", "7. c #787878", "8. c #4B4B4B", "9. c #D1D1D1", "0. c #4A4A4A", "a. c #696969", "b. c #E2E2E2", "c. c #C7C7C7", "d. c #8A8A8A", "e. c #A9A9A9", "f. c #BCBCBC", "g. c #373737", "h. c #838383", "i. c #DCDCDC", "j. c #CACACA", "k. c #ECECEC", "l. c #D6D6D6", "m. c #999999", "n. c #818181", "o. c #E4E4E4", "p. c #D8D8D8", "q. c #6A6A6A", "r. c #E6E6E6", "s. c #E0E0E0", "t. c #272727", "u. c #E9E9E9", "v. c #121C00", "w. c #601900", "x. c #863402", "y. c #3A3A3A", "z. c #707070", "A. c #C6C6C6", "B. c #383838", "C. c #E1E1E1", "D. c #F5F5F5", "E. c #F1F1F1", "F. c #858585", "G. c #DCDBDB", "H. c #EBE2E4", "I. c #F6E0E7", "J. c #F9E8ED", "K. c #F5F1F2", "L. c #EAEAEA", "M. c #DDDDDD", "N. c #D2D2D2", "O. c #7A7A7A", "P. c #D4D4D4", "Q. c #EEEEEE", "R. c #F4F0F1", "S. c #F9D7E2", "T. c #FAAEC6", "U. c #F1B6C9", "V. c #E7D9DE", "W. c #F3F3F3", "X. c #F0F0F0", "Y. c #E5E5E5", "Z. c #FEFEFE", "`. c #FFFFFF", " + c #FBFBFB", ".+ c #E7E7E7", "++ c #EBEBEB", "@+ c #F7F4F5", "#+ c #F7D9E2", "$+ c #E8A2B8", "%+ c #D19BAC", "&+ c #C3B6BA", "*+ c #EFEFEF", "=+ c #E3E3E3", "-+ c #EDEDED", ";+ c #F6D5DF", ">+ c #FFB1C9", ",+ c #F4CFDB", "'+ c #5D5D5D", ")+ c #DEDDDD", "!+ c #E1DADC", "~+ c #C9B7BC", "{+ c #AB9DA1", "]+ c #999697", "^+ c #585858", "/+ c #545454", "(+ c #606060", "_+ c #DEDEDE", ":+ c #F8F8F8", "<+ c #FBC8D8", "[+ c #F57EA4", "}+ c #DFA7B9", "|+ c #FAFAFA", "1+ c #5F5F5F", "2+ c #505050", "3+ c #E9D7DD", "4+ c #CBA2AF", "5+ c #A9959C", "6+ c #4E4E4E", "7+ c #F2F2F2", "8+ c #515151", "9+ c #ADADAD", "0+ c #363636", "a+ c #414141", "b+ c #3B3B3B", "c+ c #484848", "d+ c #DFDFDF", "e+ c #404040", "f+ c #323232", "g+ c #2D2D2D", "h+ c #343434", "i+ c #C8C8C8", "j+ c #424242", "k+ c #2C2C2C", "l+ c #2E2E2E", "m+ c #F4F4F4", "n+ c #F7F7F7", "o+ c #313131", "p+ c #D6D0D2", "q+ c #FBEBF0", "r+ c #FFF7F9", "s+ c #F0CBD7", "t+ c #FDA5C1", "u+ c #FFD1E0", "v+ c #FDFDFD", "w+ c #131313", "x+ c #FFD5E2", "y+ c #FF99B9", "z+ c #F6C2D2", "A+ c #73A95C", "B+ c #FFF3F7", "C+ c #FFE2EB", "D+ c #E1D1D6", "E+ c #557E06", "F+ c #5C9748", "G+ c #78A420", "H+ c #86B02E", "I+ c #80AA28", "J+ c #729E1A", "K+ c #6A9612", "L+ c #618D0D", "M+ c #CBC8C9", "N+ c #E1D3D7", "O+ c #F1E0E5", "P+ c #EAE9EA", "Q+ c #588F3F", "R+ c #699415", "S+ c #79A322", "T+ c #719D19", "U+ c #5B840C", "V+ c #5B8704", "W+ c #577100", "X+ c #D7D6D7", "Y+ c #E5D8DC", "Z+ c #F4BCCE", "`+ c #F8BBCE", " @ c #ECDEE2", ".@ c #ECEBEB", "+@ c #5A820B", "@@ c #608C08", "#@ c #608812", "$@ c #4D7404", "%@ c #587F0E", "&@ c #537A0B", "*@ c #436801", "=@ c #335200", "-@ c #FCFCFC", ";@ c #E5E4E4", ">@ c #F2E1E6", ",@ c #F1A4BC", "'@ c #EA95AF", ")@ c #D9C6CB", "!@ c #E3E2E2", "~@ c #F6F6F6", "{@ c #F9F9F9", "]@ c #494949", "^@ c #55620D", "/@ c #668F16", "(@ c #3F6300", "_@ c #50750C", ":@ c #689118", "<@ c #486C06", "[@ c #4D5101", "}@ c #C6BFC1", "|@ c #CAADB7", "1@ c #CAAAB4", "2@ c #C4BDBF", "3@ c #3F3B05", "4@ c #2F4605", "5@ c #3B5607", "6@ c #4A7006", "7@ c #294200", "8@ c #1C2D00", "9@ c #426402", "0@ c #462202", "a@ c #3D1D00", "b@ c #2F0C00", "c@ c #453B01", "d@ c #2E4A00", "e@ c #000000", "f@ c #180C00", "g@ c #383D01", "h@ c #290800", "i@ c #3A0A00", "j@ c #2B2000", "k@ c #903C04", "l@ c #9E4A04", "m@ c #933F04", "n@ c #883B04", "o@ c #752D02", "p@ c #5A1C00", "q@ c #A14D04", "r@ c #8E3B04", "s@ c #893702", "t@ c #8C3903", "u@ c #303030", "v@ c #883603", "w@ c #2F2F2F", "x@ c #6C1F00", "y@ c #631900", "z@ c #6B1E00", "A@ c #681C00", "B@ c #370900", "C@ c #490F00", "D@ c #5C1700", "E@ c #2B2B2B", " . . . . . . . . . . . . . . . . ", " . . . . . . . . . . . . . . . . ", " . . . . . . . . . . . . . . . . ", " . . . . . . . . . . . . . . . . ", " + @ @ # $ % % & & % % $ # @ @ + . . . . . . . . . . . . . . . . ", " * = @ - ; > - & & - > ; - @ = * . . . . . . , . . . . . . . . . ", " ' ) ! ~ { @ ] ^ / ( ~ _ : < % [ } } [ % < : _ ~ | / ^ ] @ { ~ ! ) ' 1 2 3 1 4 4 1 5 6 & & 6 5 1 4 4 1 3 2 1 . . . . . . , , . . . . . . . . ", " 7 8 9 0 3 a b c d e f g h i j k l l k j i h g f e d m b a 3 0 9 8 7 n e o p q r s { t = u v v u = t { s r q p o e n . . . . . . . . . . . . . . . . ", " w x y z 2 A | B C D 1 2 E 0 F A G H - w w - H G A F 0 E 2 1 D C B | A 2 z y x w I J B K L 1 { M N O L L O N M { 1 L K B J I . . . . . . . . . . . . . . . . ", " P a a 5 Q R S T U ] f 0 V A W X Y _ R m m R _ Y X W A V 0 f ] U T S R Q 5 a a 4 Z ` .7 L L ..+.@.#.$.%. %.$.#.@.+...L L 7 .` Z . . . . . . . . . . . . . . . . ", " &.&.*.=.-.P U P Q ;.>.u P < ,.'.n 4 ). ).4 n '.,.< P u >.;.Q P U P -.=.*.&.&. $ !.~.+ {.].! 6 6 ! ].{. + ~.!.$ . . . . . . , , , . . , . . . . ", " r ..^.+ /.(.1 @.: r m _._._.l l _._._.m r : @.1 (./.+ ^...r / K ,.:. <.[.}.[ [ }.[.<. :.,.K / . . . . . . . , . . , , . . . . ", " k R |.1.V N : 2.W <.3.4.5. 5.4.3.<.W 2.: N V 1.|.R - - 6.k / <.= 7.%. %.7.= <./ k 6.- . . . . . . . . . , , . . . . . ", " 8.,.~.` h = 9.|.' G [.{ B j c c j B { [.G ' |.9.= h ` ~.,.8. 0...}.|.5 n /.J A h 6.v v 6.h A J /.n 5 |.}...0. . . . . . . . . , . . . . , . . ", " a.<.t | r 3.0 x I |.b.c.>.i a.(. (.a.i >.c.b.|.I x 0 3.r | t <.a. 5.d.e.f.M 8 @ | W { A x a.g. g.a.x A { W | @ 8 M f.e.d.5. . . . . . . . . . . . . . . . . ", " h.M i.}.[ 6 j.C c |.k.l._ m.n.r Z ; r n.m._ l.k.|.c C j.6 [ }.i.M h. 4.Q y 1 c <.o.+ - c.p.@.x q.[ } } [ q.x @.p.c.- + o.<.c 1 y Q 4. . . . . . . . . . . . . . . . . ", " #.8 r.y < o 9.{.q.G r.9 X }.3.k } } k 3.}.X 9 r.G q.{.9.o < y r.8 #. R 0 s.o t.{.u.s =.f u.2 ( 6 < (. (.< 6 ( 2 u.f =.s u.{.t.o s.0 R v.v.v.v.v.w.w.w.w.w.w.x.x.x.x.x.", " y.z.] j.i.E F 9.u.[.e.g A.A e h ,.^ B. B.c ,.h e A A.g e.[.u.9.F E i.j.] z.y. p C.D.H t.{.u.s =.f E.8 t 5 F.(. (.F.5 t 8 E.f =.s u.{.t.H D.C.p v.v.v.v.v.w.w.w.w.w.w.x.x.x.x.x.", " =.m.@ 0 G.H.I.J.K.L.M.f y 2.m.S $.Z Z $.S m.2.y f M.L.K.J.I.H.G.0 @ m.=. m N E L.X F.A.E.( d.A.N.V J ( O.& & O.( J V N.A.d.( E.A.F.X L.E N m v.v.v.v.v.w.w.w.w.w.w.x.x.x.x.x.", " &.a P.Q.R.S.T.U.V.k.W.X.Y.M }.,.^ ^ ,.}.M Y.X.W.k.V.U.T.S.R.Q.P.a &. -.: 2.F E L.Z.`. +.+N.f. .~.' ^.D %. %.D ^.' ~. .f.N..+ +`.Z.L.E F 2.: -. v.v.v.v.v.w.w.w.w.w.w.x.x.x.x.x.", " l ' 1.++@+#+$+%+&+l.*+W.r.2 {.P w w P {.2 r.W.*+l.&+%+$+#+@+++1.#.l D |.f =+-+;+>+,+++Q.k.b.N.V b O.'+%. %.'+O.b V N.b.k.Q.++,+>+;+-+=+f |.D v.v.v.v.v.w.w.w.w.w.w.x.x.x.x.x.", " n X )+!+~+{+]+@ P.8 c.1 z.^+/+*.r (+8. 8.(+r *./+^+z.1 c.8 P.@ ]+{+~+!+)+X n (+<._+:+Z.<+[+}+9.++|+|+++9.b r m 5. 5.m r b 9.++|+|+++9.}+[+<+Z.:+_+<.(+ v.v.v.v.v.w.w.w.w.w.w.x.x.x.x.x.", " =.C B N Y Y G <.2.e.B ..D (.r j j s r [ 1+ 1+[ r s j j r (.D ..B e.2.<.G Y Y N B C =. 2+| 8 :+3+4+5+7 c.r.r.c.7 :.).[ 4.I % U 6+ 6+U % I 4.[ ).:.7 c.r.r.c.7 5+4+3+:+8 | 2+ v.v.v.v.v.w.w.w.w.w.w.x.x.x.x.x.", " u 0 7+b.a + n.n K u O /.F.s D #.( n.6+ 6+n.( #.D s F./.O u K n n.+ a b.7+0 u 4.o @ 1.c.<.1 a y y >.4 1+8+D O O.R q + + q R O.O D 8+1+4 >.y y a 1 <.c.1.@ o 4. v.v.v.v.v.w.w.w.w.w.w.x.x.x.x.x.", " ].`.*+G 6 x .e.e.e.e {.4 1+S x O ; ; O x S 1+4 {.e e.e.e. .x 6 G *+`.]. ,.Q.k.i.>.,.,.u - # r O.n.I j y G i u u i G y j I n.O.r # - u ,.,.>.i.k.Q.,. v.v.v.v.v.w.w.w.w.w.w.x.x.x.x.x.", " g X.k.G h.] t N.z c.f.2.+ $.6.4. 4.6.$.+ 2.f.c.z N.t ] h.G k.X.g % |+`.X.b j ^.Q Q Q Q h #.4._.B R *.c c *.R B _.4.#.h Q Q Q Q ^.j b X.`.|+% v.v.v.v.v.w.w.w.w.w.w.x.x.x.x.x.", " * c.b.G i h.N ! ) 3 9+|.H h.$. $.h.H |.9+3 ) ! N h.i G b.c.* % |+`.X.b h.F 9 9 9 9 X | $.8+# Z Z # 8+$.| X 9 9 9 9 F h.b X.`.|+% v.v.v.v.v.w.w.w.w.w.w.x.x.x.x.x.", " -.F.@ A.` n.d.| A.X H H a _ H r r H _ a H H X A.| d.n.` A.@ F.-. j 7 a 2._ _+s.j.A.A.c.@...[ ^+0+ 0+^+[ ..@.c.A.A.j.s._+_ 2.a 7 j v.v.v.v.v.w.w.w.w.w.w.x.x.x.x.x.", " (+#.t { 1 d.o y [.( ^.!.p q ;.{ n *.0. 0.*.n { ;.q p !.^.( [.y o d.1 { t #.(+ a+O.@.o.7+s.g <.( f.Y o z.(.b+ b+(.z.o Y f.( <.g s.7+o.@.O.a+ v.v.v.v.v.w.w.w.w.w.w.x.x.x.x.x.", " /+< 7 p : #.{.{ 1.x > D a.U 1 <.N o n q. q.n o N <.1 U a.D > x 1.{ {.#.: p 7 < /+ ).^ c+# ^.].L.E Y _ K %.- m.{ Y J R k 1+ 1+k R J Y { m.- %.K _ Y E L.].^.# c+^ ). v.v.v.v.v.w.w.w.w.w.w.x.x.x.x.x.", " x a 9+7 Q m.' a. h.t d+N.e.O e+ e+O e.N.d+t h. a.' m.Q 7 9+a x 0.7 ~.< !.a 9.9.b S S 0. _.>.f.9+x > s s > x 9+f.>._. 0.S S b 9.9.a !.< ~.7 0. v.v.v.v.v.w.w.w.w.w.w.x.x.x.x.x.", " ).$.r /+8+8+2+y. =.> T n a.; ; a.n T > [ b+2+8+8+/+r $.). ^ 7 p.1.d.f.b.f.S e+ e+S f.b.f.d.1.p.7 ^ v.v.v.v.v.w.w.w.w.w.w.x.x.x.x.x.", " } z.Q + (.n.{.4 ; ; 4 {.n.(.+ Q z.} x.x.x.x.x.w.w.w.w.w.w.v.v.v.v.v.", " x H T 0 ) {.f+ f+{.) 0 T H x x.x.x.x.x.w.w.w.w.w.w.v.v.v.v.v.", " o ( g+ C +.) h h+ h+h ) +.C g+( o x.x.x.x.x.w.w.w.w.w.w.v.v.v.v.v.", " -.5 q '+ ^ >.M ) ` c+ c+` ) M >.^ '+q 5 -. x.x.x.x.x.w.w.w.w.w.w.v.v.v.v.v.", " | f @.s s [.) ) ) [.3.2+ 2+3.[.) ) ) [.s s @.f | -.( 2 ~ q r ^ H i+E P.2.I I 2.P.E i+H ^ r q ~ 2 ( -. x.x.x.x.x.w.w.w.w.w.w.v.v.v.v.v.", " j N +.@.j 7.0 ) ) ) 0 o *.$ $ *.o 0 ) ) ) 0 7. j @.+.N j w #.1.) ) h. s 2 ) M g R =. =.R g M ) 2 s h.) ) 1.#.w x.x.x.x.x.w.w.w.w.w.w.v.v.v.v.v.", " '+m.A y = h O.c+ c+O <.E ) ) ) E 1.Q (.v v (.Q 1.E ) ) ) E <.O c+ c+O.h = y A m.4. 5.| 8 p.n r @.E Y m.1+ 1+m.Y E @.r n p.8 | 5. x.x.x.x.x.w.w.w.w.w.w.v.v.v.v.v.", " O p +.( ^.^.] W u 4 A 2 G |.G [.) ) W 6.} } 6.W ) ) [.G |.G 2 A 4 u W ] ^.^.( +.p O / P q l.j.u B.j q 2 G :. :.G 2 q j B. u j.l.q P / x.x.x.x.x.w.w.w.w.w.w.v.v.v.v.v.", " *.<.i+@.O O.c.{ ` ~.T T 7 @ d.> < h ) ) e.'+ '+e.) ) h < > d.@ 7 T T ~.` { c.O. O @.i+<.1+ # @.].M 3 q. '.j.) {.f+ f+{.) j.'. q.3 M ].@.# x.x.x.x.x.w.w.w.w.w.w.v.v.v.v.v.", " =.1 1 O.l _.{.F P.e ^. .@ @ i j+ '+1 1 z. z.1 1 '+ j+i @ @ .^.e P.F {._. l O.1 1 m # @.+.2 1 =. U { E {.f+ f+{.E { U =.1 2 +.@.# x.x.x.x.x.w.w.w.w.w.w.v.v.v.v.v.", " s I e+^.~ < w #.@ @ ~.I L L I ~.@ @ #.w < ~ ^.e+I s c ] ;.;.!.*. g.K a ;.3.g+ g+3.;.a K g. *.!.;.;.] c x.x.x.x.x.w.w.w.w.w.w.v.v.v.v.v.", " ).K >.7.k+d.8 - j+( j.@.Q > w 0+ 0+w > Q @.j.( j+- 8 d.k+7.>.K ). 2+ .N.V >.n.K F.p e 1 k k 1 e p F.K n.>.V N. .2+ x.x.x.x.x.w.w.w.w.w.w.v.v.v.v.v.", " ] E 9 ~.f+7 k.O 8.t .+1.m.:.q.4.0+ 0+4.q.:.m.1..+t 8.O k.7 f+~.9 E ] 1+A o.C.P.;.t V W | n ^+l+ l+^+n | W V t ;.P.C.o.A 1+ x.x.x.x.x.w.w.w.w.w.w.v.v.v.v.v.", " 8+~.N.=+0 _ ( 9.m+5 * g 9.+._ Q 6 k 0+ 0+k 6 Q _ +.9.g * 5 m+9.( _ 0 =+N.~./+ D W s.n+n+m+X.*+Y.j.N ,.k ).o+ o+).k ,.N j.Y.*+X.m+n+n+s.W D x.x.x.x.x.w.w.w.w.w.w.v.v.v.v.v.", " ^.C.7+u.A.p+q+r+|+E f.f.2 l.0 q 3._.0+ / 4.3.q 0 l.2 f.f.E |+r+q+p+A.u.7+C.^. -.` i.;.2 E._+W 9 k.p._ o K $.%. %.$.K o _ p.k.9 W _+E.2 ;.i.` -. x.x.x.x.x.w.w.w.w.w.w.v.v.v.v.v.", " ^.M.o..+r.s+t+u+v+*+r.r.=+M.;.H 7.=. ).7.H ;.M.=+r.r.*+v+u+t+s+r..+o.M.^. ^ }.! _+* K s._ (+e r.o.0 J x s j+ j+s x J 0 o.r.e (+_ s.K * _+! }.^ w+ x.x.x.x.x.w.w.w.w.w.w.v.v.v.v.v.", " s q i+d+:+x+y+z+Q.Q.Q.Q.r.9 _ R # ; ; # R _ 9 r.Q.Q.Q.Q.z+y+x+:+d+i+q s 6.9 W._+- &.! ` b+#.=+u.M q ^.% c Z Z c % ^.q M u.=+#.b+` ! &.- _+W.9 6. A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+A+", " 4 Q f m+B+C+D+Y Y Y Y X y >.U &.; ; &.U >.y X Y Y Y Y D+C+B+m+f Q 4 > 8 X.! ,.< _+a ).h b..+j.| K (+4.# b+ b+# 4.(+K | j..+b.h ).a _+< ,.! X.8 > A+A+A+E+E+E+F+G+G+F+E+E+E+A+A+A+", " D ] u.`.`.+.h h H 9+9+H S 6.1+=. ).1+6.S H 9+9+H h h +.`.`.u.] D r ;.l.].|.@ -+].x W d+b.Y : P /+l c+ g+u * h.> 6+ 6+> h.* u g+ c+l /+P : Y b.d+W x ].-+@ |.].l.;.r E+E+E+H+I+J+K+L+L+K+J+I+H+E+E+E+", " h.! `.`.3 < < /.( ( /.z.P a._.0+ / 4.a.P z./.( ( /.< < 3 `.`.! h. a.G ;.M+N+O+@+P+l.) s._+F * &.l L a.P.=+9 |.4 4 |.9 =+P.a. L l &.* F _+s.) l.P+@+O+N+M+;.G a. Q+R+S+T+U+E+V+W+W+V+E+U+T+S+R+Q+", " 6 l.`.`.@ s /.1 1.1.1 + K 4 q.r # ). ).# r q.4 K + 1 1.1.1 /.s @ `.`.l.6 (+Q 2 X+Y+Z+`+ @.@X.E.-+b.g 7.8+l 6+8. u g X.r.2 n } } n 2 r.X.g u 8.6+l 8+7.g b.-+E.X..@ @`+Z+Y+X+2 Q (+ +@@@#@$@%@&@*@=@=@*@&@%@$@#@@@+@", " /.E v+-@@ < {.1.u.L.t .o /.:.}.i+p a. a.p i+}.:./.o .t L.u.1.{.< @ -@v+E /. / ,.q N.;@>@,@'@)@!@~@{@E.8 <.# ]@).% ..2+ d W b.E 3 3.a+ a+3.3 E b.W d 2+..% ).]@# <.8 E.{@~@!@)@'@,@>@;@N.q ,./ ^@/@(@_@:@<@=@[@[@=@<@:@_@(@/@^@", " j Y C.P.F a F P.E.~@Y.N.V : 6.o B k k B o 6.: V N.Y.~@E.P.F a F P.C.Y j b+j a 1.}@|@1@2@].M.b.9 J + '+).I 6 o u & '+j {.R [ d h+ h+d [ R {.j '+& u o 6 I ).'++ J 9 b.M.].2@1@|@}@1.a j b+ 3@4@v.5@6@7@8@9@9@8@7@6@5@v.4@3@", " 1+] J b }.V [.l..+X.X.r.p.e.O...s s ..O.e.p.r.X.X..+l.[.V }.b J ] 1+ $ u h.3.q i+i+W ` W V b ,.% P /.b q 1 j ~.] 7.Z Z 7.] ~.j 1 q b /.P % ,.b V W ` W i+i+q 3.h.u $ 0@a@b@c@d@e@f@g@g@f@e@d@c@b@a@0@", " (.r *.k z.n e.a q q 3 V f.a P P a f.V 3 q q a e.n z.k *.r (. a+J E.E.( $ :.5 9+N >.>.<.2 E e.i = y w w y = i e.E 2 <.>.>.N 9+5 :.$ ( E.E.J a+ 0@0@0@0@0@h@i@j@j@i@h@0@0@0@0@0@", " m 4 F.o p N 2.@.F i i F @.2.N p o F.4 m a Z.Z.A m 6.!.1 p <.{ j.9 M | < '.i i '.< | M 9 j.{ <.p 1 !.6.m A Z.Z.a k@k@l@m@n@o@w.p@p@w.o@n@m@l@k@k@", " 2+z.H t W h {.H 5 q X 7 7 X q 5 H {.h W t H z.2+ a `.`.8 2.C O > n.( i+=+_+@.!.I / / I !.@._+=+i+( n.> O C 2.8 `.`.a k@q@q@k@k@r@m@m@m@m@r@k@k@q@q@k@", " ^+U a W <.b x |.[.o.0 x =. =.x 0 o.[.|.x b <.W a U ^+ |.E.P.A ~.D & - #.e.= = e.R I / / I R e.= = e.#.- & D ~.A P.E.|. k@s@s@k@k@t@m@m@m@m@t@k@k@s@s@k@", " )./.9+~ q !.o ( j.s.o.o o o.s.j.( o !.q ~ 9+/.). $ |.) 2.'.# B.u@< 5 @ p i q.(./ / (.q.i p @ 5 < u@B.# '.2.) |.$ k@k@k@v@k@x.m@m@m@m@x.k@v@k@k@k@", " & &.O k & & c - ,.S *. *.S ,.- c & & k O &.& /+1 J @ Q q.0+ S ;.V 3.w w@ w@w 3.V ;.S 0+q.Q @ J 1 /+ x@x@x@x@y@z@A@A@A@A@z@y@x@x@x@x@", " r 2.R U 4 ]@ U 5 B $. $.B 5 U ]@4 U R 2.r B@B@C@C@x@x@x@D@D@x@x@x@C@C@B@B@", " f+8+%.o+o+ 0+0.5. E@5.0.0+ o+o+%.8+f+ B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@B@"}; xjump-2.9.3/xjump.6000066400000000000000000000046741252356777400141570ustar00rootroot00000000000000.TH XJUMP 6 .\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection .\" other parms are allowed: see man(7), man(1) .SH NAME xjump \- a jumping game for X .SH SYNOPSIS .B xjump [ \-theme \fINAME\fR ] [ \-themeFile \fIFILE\fR ] ... .br .B xjump [ \-help ] .SH "DESCRIPTION" .B Xjump is a jumping game where you are in a Falling Tower. The floor you are standing on is sinking with the rest of the building; you will die once the floor gives way (disappears under the bottom of the display). To survive, you have to jump onto the upper floors of the tower. Because the entire tower is sinking, the upper floors will soon collapse, too, so you have to keep on jumping to higher floors. Your score is counted by how many floors you jump before you either fall off while trying to reach the next floor, or the floor you are standing on collapses. .SH OPTIONS .TP .BI \-theme " NAME" Use a different sprite theme. For example, \-theme jumpnbump. Sprite themes are stored on /usr/share/xjump/themes. .TP .BI \-themeFile " FILE" Use the XPM graphic file .I FILE for graphics. .TP .BR \-help Display a summary of command\-line syntax. .SH "GAME CONTROLS" To begin the game, press any key from the highscore screen. .PP Once the game begins, movement is controlled by the Left and Right arrow keys. To jump, use the Up or Down arrow key. You can also use WASD and IJKL for movement and the Space key for jumping. .PP Note that holding the Left or Right arrow keys will cause the player to go faster and jump higher. You can use this to reach floors that are far away. But be careful not to jump too far and miss! You can also change your speed while jumping through midair. If your reflexes are fast enough, you can salvage a bad jump this way. Good luck! .PP To pause the game press P .PP To quit the game, press shift\-Q. .SH "COPYRIGHT" Copyright (C) 1997\-1999 Tatsuya Kudoh(CDR/TK) Masato Taruishi .PP This is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version without ANY WARRANTIES. .SH "AUTHOR" .B xjump was written by Tatsuya Kudoh(CDR/TK) and Masato Taruishi . .PP This manual page was written by H. S. Teoh , for the Debian GNU/Linux system. The original game does not come with a manual page. xjump-2.9.3/xjump.desktop000066400000000000000000000003251252356777400154500ustar00rootroot00000000000000[Desktop Entry] Version=1.0 Type=Application Name=XJump Comment=A jumping game for X Comment[fr]=Un jeu de saut Comment[pt]=Um jogo de pulo para o X Exec=xjump Icon=xjump Terminal=false Categories=Game;ArcadeGame;