├── rr_fullscreen.bat ├── src ├── rr.rc ├── rr.ico ├── libbulletml.a ├── bulletml │ ├── tree.h │ ├── formula.h │ ├── bulletmltree.h │ ├── bulletmlparser.h │ ├── bulletmlrunner.h │ ├── boost │ │ ├── config │ │ │ ├── compiler │ │ │ │ ├── .zhistory │ │ │ │ ├── compaq_cxx.hpp │ │ │ │ ├── sgi_mipspro.hpp │ │ │ │ ├── greenhills.hpp │ │ │ │ ├── kai.hpp │ │ │ │ ├── common_edg.hpp │ │ │ │ ├── vacpp.hpp │ │ │ │ ├── mpw.hpp │ │ │ │ ├── hp_acc.hpp │ │ │ │ ├── comeau.hpp │ │ │ │ ├── gcc.hpp │ │ │ │ ├── metrowerks.hpp │ │ │ │ ├── sunpro_cc.hpp │ │ │ │ └── intel.hpp │ │ │ ├── .zhistory │ │ │ ├── platform │ │ │ │ ├── amigaos.hpp │ │ │ │ ├── solaris.hpp │ │ │ │ ├── beos.hpp │ │ │ │ ├── irix.hpp │ │ │ │ ├── aix.hpp │ │ │ │ ├── cygwin.hpp │ │ │ │ ├── bsd.hpp │ │ │ │ ├── macos.hpp │ │ │ │ ├── hpux.hpp │ │ │ │ ├── win32.hpp │ │ │ │ └── linux.hpp │ │ │ ├── stdlib │ │ │ │ ├── vacpp.hpp │ │ │ │ ├── modena.hpp │ │ │ │ ├── libstdcpp3.hpp │ │ │ │ ├── libcomo.hpp │ │ │ │ ├── msl.hpp │ │ │ │ ├── dinkumware.hpp │ │ │ │ └── sgi.hpp │ │ │ ├── user.hpp │ │ │ ├── select_stdlib_config.hpp │ │ │ ├── select_compiler_config.hpp │ │ │ ├── select_platform_config.hpp │ │ │ └── posix_features.hpp │ │ ├── detail │ │ │ ├── lwm_gcc.hpp │ │ │ ├── lwm_nop.hpp │ │ │ ├── lwm_irix.hpp │ │ │ ├── lwm_pthreads.hpp │ │ │ ├── lwm_linux.hpp │ │ │ ├── lwm_win32_cs.hpp │ │ │ ├── workaround.hpp │ │ │ └── lwm_win32.hpp │ │ ├── smart_ptr.hpp │ │ ├── throw_exception.hpp │ │ ├── assert.hpp │ │ ├── checked_delete.hpp │ │ ├── config.hpp │ │ ├── scoped_array.hpp │ │ └── scoped_ptr.hpp │ ├── bulletmlparser-tinyxml.h │ └── bulletmlcommon.h ├── brgmng_mtd.h ├── rand.h ├── soundmanager.h ├── laser.h ├── letterrender.h ├── degutil.h ├── background.h ├── rand.c ├── genmcr.h ├── shot.h ├── boss_mtd.h ├── foe_mtd.h ├── rr.h ├── vector.h ├── frag.h ├── ship.h ├── barragemanager.h ├── Makefile ├── attractmanager.h ├── foecommand.h ├── barragemanager.cc ├── vector.c ├── foe.h ├── shot.c ├── letterrender.c ├── degutil.c ├── foecommand.cc ├── boss.h ├── screen.h ├── laser.c └── soundmanager.c ├── .gitignore ├── SDL.dll ├── rr.exe ├── SDL_mixer.dll ├── images ├── star.bmp ├── smoke.bmp └── title.bmp ├── sounds ├── bomb.wav ├── grz.wav ├── miss.wav ├── shot.wav ├── change.wav ├── damage.wav ├── extend.wav ├── grzinv.wav ├── laser.wav ├── stg_a.ogg ├── stg_b.ogg ├── stg_c.ogg ├── destroied.wav ├── ref_ready.wav ├── reflec1.wav ├── reflec2.wav ├── explosion1.wav ├── explosion2.wav └── laser_start.wav ├── simple ├── aim.xml ├── naim.xml ├── rollway.xml ├── 2way2side.xml ├── 16way.xml ├── nway.xml ├── side_cracker.xml ├── sideshot.xml ├── rollbar.xml ├── 8way.xml ├── roll_battery.xml └── sidenway.xml ├── morph ├── reverse.xml ├── fire_slowshot.xml ├── slowdown.xml ├── divide.xml ├── side_back_shot.xml ├── bar.xml ├── change_straight.xml ├── wide.xml ├── [ketsui]_r1_boss_bit_shot.xml ├── backshot.xml ├── aim_accel_90deg.xml ├── [ketsui]_r4_boss_change_aim.xml ├── [Guwange]_round_4_boss_eye_ball.xml └── 6gt.xml ├── normal ├── [Psyvariar]_X-A_boss_opening.xml ├── allround.xml ├── 22way.xml ├── grow.xml ├── wide_spread.xml ├── 88way.xml ├── nway.xml ├── [Guwange]_round_2_boss_circle_fire.xml ├── spread2blt.xml ├── [Progear]_round_3_boss_wave_bullets.xml ├── [daiouzyou]_r1_boss_2.xml ├── 57way.xml ├── forward_3way.xml ├── beewinder.xml ├── mnway.xml ├── [ketsui]_r4_boss_rb_rockets.xml ├── [daiouzyou]_r1_boss_1.xml └── growround.xml ├── morph_heavy ├── side_front_shot.xml ├── 88way.xml ├── [ketsui]_r2_boss_rkt.xml ├── [Progear]_round_1_boss_grow_bullets.xml ├── fire_vrt.xml ├── [Progear]_round_5_middle_boss_rockets.xml ├── [Progear]_round_3_boss_wave_bullets.xml ├── side_cracker.xml ├── [Guwange]_round_4_boss_eye_ball.xml ├── roll_slow.xml ├── oval.xml └── [ketsui]_r4_boss_rb_rockets.xml ├── reversible ├── roll2way.xml ├── 4way.xml ├── [ketsui]_r3_boss_fastspread.xml ├── shotgun.xml ├── nwroll.xml ├── 2round.xml ├── roll4way.xml ├── rollbar.xml ├── double_roll_seeds.xml ├── [daiouzyou]_r1_boss_3.xml └── spread_bf.xml ├── psy └── bar_s.xml └── LICENSE.txt /rr_fullscreen.bat: -------------------------------------------------------------------------------- 1 | rr.exe -fullscreen 2 | -------------------------------------------------------------------------------- /src/rr.rc: -------------------------------------------------------------------------------- 1 | rr ICON PRELOAD "rr.ico" 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | rr.prf 2 | stdout.txt 3 | *.o 4 | -------------------------------------------------------------------------------- /SDL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/SDL.dll -------------------------------------------------------------------------------- /rr.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/rr.exe -------------------------------------------------------------------------------- /src/rr.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/src/rr.ico -------------------------------------------------------------------------------- /SDL_mixer.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/SDL_mixer.dll -------------------------------------------------------------------------------- /images/star.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/images/star.bmp -------------------------------------------------------------------------------- /sounds/bomb.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/bomb.wav -------------------------------------------------------------------------------- /sounds/grz.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/grz.wav -------------------------------------------------------------------------------- /sounds/miss.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/miss.wav -------------------------------------------------------------------------------- /sounds/shot.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/shot.wav -------------------------------------------------------------------------------- /images/smoke.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/images/smoke.bmp -------------------------------------------------------------------------------- /images/title.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/images/title.bmp -------------------------------------------------------------------------------- /sounds/change.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/change.wav -------------------------------------------------------------------------------- /sounds/damage.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/damage.wav -------------------------------------------------------------------------------- /sounds/extend.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/extend.wav -------------------------------------------------------------------------------- /sounds/grzinv.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/grzinv.wav -------------------------------------------------------------------------------- /sounds/laser.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/laser.wav -------------------------------------------------------------------------------- /sounds/stg_a.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/stg_a.ogg -------------------------------------------------------------------------------- /sounds/stg_b.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/stg_b.ogg -------------------------------------------------------------------------------- /sounds/stg_c.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/stg_c.ogg -------------------------------------------------------------------------------- /src/libbulletml.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/src/libbulletml.a -------------------------------------------------------------------------------- /sounds/destroied.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/destroied.wav -------------------------------------------------------------------------------- /sounds/ref_ready.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/ref_ready.wav -------------------------------------------------------------------------------- /sounds/reflec1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/reflec1.wav -------------------------------------------------------------------------------- /sounds/reflec2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/reflec2.wav -------------------------------------------------------------------------------- /src/bulletml/tree.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/src/bulletml/tree.h -------------------------------------------------------------------------------- /sounds/explosion1.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/explosion1.wav -------------------------------------------------------------------------------- /sounds/explosion2.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/explosion2.wav -------------------------------------------------------------------------------- /sounds/laser_start.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/sounds/laser_start.wav -------------------------------------------------------------------------------- /src/bulletml/formula.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/src/bulletml/formula.h -------------------------------------------------------------------------------- /src/bulletml/bulletmltree.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/src/bulletml/bulletmltree.h -------------------------------------------------------------------------------- /src/bulletml/bulletmlparser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/src/bulletml/bulletmlparser.h -------------------------------------------------------------------------------- /src/bulletml/bulletmlrunner.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/src/bulletml/bulletmlrunner.h -------------------------------------------------------------------------------- /src/bulletml/boost/config/compiler/.zhistory: -------------------------------------------------------------------------------- 1 | : 1048517277:0;d 2 | : 1048517278:0;l gcc.hpp 3 | : 1048520083:0;man convert 4 | -------------------------------------------------------------------------------- /src/bulletml/boost/detail/lwm_gcc.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/src/bulletml/boost/detail/lwm_gcc.hpp -------------------------------------------------------------------------------- /src/bulletml/bulletmlparser-tinyxml.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abagames/rrootage/HEAD/src/bulletml/bulletmlparser-tinyxml.h -------------------------------------------------------------------------------- /src/bulletml/boost/config/.zhistory: -------------------------------------------------------------------------------- 1 | : 1050396198:0;d 2 | : 1050396199:0;du 3 | : 1050396222:0;cd 4 | : 1050396235:0;d 5 | : 1050397262:0;cd 6 | -------------------------------------------------------------------------------- /src/bulletml/bulletmlcommon.h: -------------------------------------------------------------------------------- 1 | #ifndef bulletmlcommon_h_ 2 | #define bulletmlcommon_h_ 3 | 4 | #ifdef WIN32_DLL_EXPORT 5 | # define DECLSPEC __declspec(dllexport) 6 | #else 7 | # define DECLSPEC 8 | #endif 9 | 10 | #endif // ! bulletmlcommon_h_ 11 | 12 | -------------------------------------------------------------------------------- /src/brgmng_mtd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: brgmng_mtd.h,v 1.1.1.1 2003/03/16 07:03:49 kenta Exp $ 3 | * 4 | * Copyright 2002 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Stage data. 9 | * 10 | * @version $Revision: 1.1.1.1 $ 11 | */ 12 | void initBarragemanager(); 13 | void closeBarragemanager(); 14 | -------------------------------------------------------------------------------- /src/rand.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: rand.h,v 1.1.1.1 2003/03/16 07:03:49 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Make random number function. 9 | * 10 | * @version $Revision: 1.1.1.1 $ 11 | */ 12 | void setSeed(unsigned long s); 13 | unsigned long nextRand(); 14 | -------------------------------------------------------------------------------- /simple/aim.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 50-$rank*25 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /simple/naim.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 60-$rand*120 10 | 11 | 12 | 40-$rank*20 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /morph/reverse.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 32+$rank*48 9 | 10 | -1-$rank*0.3 11 | 30+$rank*30 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/soundmanager.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: soundmanager.h,v 1.1.1.1 2003/03/16 07:03:49 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * BGM/SE manager header file. 9 | * 10 | * @version $Revision: 1.1.1.1 $ 11 | */ 12 | void closeSound(); 13 | void initSound(); 14 | void playMusic(int idx); 15 | void fadeMusic(); 16 | void stopMusic(); 17 | void playChunk(int idx); 18 | void haltChunk(int idx); 19 | -------------------------------------------------------------------------------- /src/laser.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: laser.h,v 1.1.1.1 2003/03/16 07:03:49 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Players laser. 9 | * 10 | * @version $Revision: 1.1.1.1 $ 11 | */ 12 | #include "vector.h" 13 | 14 | typedef struct { 15 | int y; 16 | int color; 17 | int cnt; 18 | } Laser; 19 | 20 | void initLasers(); 21 | void moveLasers(); 22 | void drawLasers(); 23 | void addLaser(); 24 | -------------------------------------------------------------------------------- /src/letterrender.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: letterrender.h,v 1.1.1.1 2003/03/16 07:03:49 kenta Exp $ 3 | * 4 | * Copyright 2002 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Letter render header file. 9 | * 10 | * @version $Revision: 1.1.1.1 $ 11 | */ 12 | 13 | void drawLetter(int idx, int lx, int ly, int ltSize, int d, 14 | int r, int g, int b); 15 | void drawString(char *str, int lx, int ly, int ltSize, int d, 16 | int r, int g, int b); 17 | -------------------------------------------------------------------------------- /morph/fire_slowshot.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | $rank*30 9 | 10 | 0 11 | -0.2-$rank*0.2 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /normal/[Psyvariar]_X-A_boss_opening.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | -45+$rand*90 10 | 0.4+$rand*0.8 11 | 12 | 13 | 200/(16+$rank*36) 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /simple/rollway.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 999 9 | 10 | 24-$rank*12 11 | 12 | 30 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/degutil.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: degutil.h,v 1.1.1.1 2003/03/16 07:03:49 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Degutil header file. 9 | * 10 | * @version $Revision: 1.1.1.1 $ 11 | */ 12 | #define DIV 1024 13 | #define TAN_TABLE_SIZE 1024 14 | #define SC_TABLE_SIZE 1024 15 | 16 | extern int sctbl[]; 17 | 18 | void initDegutil(); 19 | int getDeg(int x, int y); 20 | int getDistance(int x, int y); 21 | float getDistanceFloat(float x, float y); 22 | -------------------------------------------------------------------------------- /morph/slowdown.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 0.1 10 | 30+$rank*30 11 | 12 | 30+$rank*30 13 | 14 | 1+$rank*0.5 15 | 30 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /simple/2way2side.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 50 10 | 11 | 12 | 32-$rank*16 13 | 14 | -50 15 | 16 | 17 | 32-$rank*16 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/background.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: background.h,v 1.1.1.1 2003/03/16 07:03:49 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Screen background. 9 | * 10 | * @version $Revision: 1.1.1.1 $ 11 | */ 12 | 13 | typedef struct { 14 | float x, y, z, ox, oy; 15 | float mx, my; 16 | int d1; 17 | float width, height; 18 | int xn, yn; 19 | int r, g, b, a; 20 | } Plane; 21 | 22 | void initBackground(); 23 | void moveBackground(); 24 | void drawBackground(); 25 | -------------------------------------------------------------------------------- /normal/allround.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 4+$rank*36 9 | 10 | 11 | 360/(4+$rank*36-1) 12 | 1 13 | 14 | 15 | 16 | 17 | 100 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/rand.c: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: rand.c,v 1.1.1.1 2003/03/16 07:03:49 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Make random number(Using Mersenne Twister). 9 | * 10 | * @version $Revision: 1.1.1.1 $ 11 | */ 12 | #include "rand.h" 13 | 14 | extern void init_genrand(unsigned long s); 15 | extern unsigned long genrand_int32(); 16 | 17 | void setSeed(unsigned long s) { 18 | init_genrand(s); 19 | } 20 | 21 | unsigned long nextRand() { 22 | return genrand_int32(); 23 | } 24 | -------------------------------------------------------------------------------- /morph_heavy/side_front_shot.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 16 9 | 10 | 11 | 45 12 | 0 13 | 14 | 15 | 30-$rank*15 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/genmcr.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: genmcr.h,v 1.1.1.1 2003/03/16 07:03:49 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * General macros. 9 | * 10 | * @version $Revision: 1.1.1.1 $ 11 | */ 12 | #include "rand.h" 13 | 14 | #define randN(N) ((int)(nextRand()>>5)%(N)) 15 | #define randNS(N) (((int)(nextRand()>>5))%(N<<1)-N) 16 | #define randNS2(N) ((((int)(nextRand()>>5))%(N)-(N>>1)) + (((int)(nextRand()>>5))%(N)-(N>>1))) 17 | #define absN(a) ((a) < 0 ? - (a) : (a)) 18 | 19 | #define NOT_EXIST -999999 20 | -------------------------------------------------------------------------------- /simple/16way.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 6+$rank*10 9 | 10 | 11 | 360/(6+$rank*10) 12 | 13 | 14 | 100/(6+$rank*10) 15 | 16 | 17 | 60 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /morph/divide.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 4+$rank*8 10 | 0 11 | 12 | 13 | 14 | (4+$rank*8)*(-1) 15 | 0 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /morph/side_back_shot.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 20+$rank*20 9 | 10 | -135 11 | 0 12 | 13 | 14 | 15 | 135 16 | 0 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/shot.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: shot.h,v 1.1 2003/03/21 02:59:49 kenta Exp $ 3 | * 4 | * Copyright 2002 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Shot data. 9 | * 10 | * @version $Revision: 1.1 $ 11 | */ 12 | #include "vector.h" 13 | 14 | typedef struct { 15 | float x, y, mx, my; 16 | float d; 17 | int cnt, color; 18 | float width, height; 19 | } Shot; 20 | 21 | #define SHOT_MAX 64 22 | 23 | extern Shot shot[]; 24 | 25 | void initShots(); 26 | void moveShots(); 27 | void drawShots(); 28 | void addShot(int x, int y, int ox, int oy, int color); 29 | -------------------------------------------------------------------------------- /src/boss_mtd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: boss_mtd.h,v 1.2 2003/03/21 02:59:48 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Boss methods. 9 | * 10 | * @version $Revision: 1.2 $ 11 | */ 12 | #include "vector.h" 13 | 14 | void createBoss(int seed, double rank, int round); 15 | void initBoss(); 16 | void moveBoss(); 17 | void drawBoss(); 18 | int checkHitDownside(int x); 19 | int checkHitUpside(); 20 | void damageBoss(int dmg); 21 | void damageBossLaser(int cnt); 22 | void weakenBoss(); 23 | void drawBossState(); 24 | Vector* getBossPos(); 25 | -------------------------------------------------------------------------------- /morph_heavy/88way.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 20+$rand*20 9 | 6+$rank*16 10 | 11 | 12 | 360/(6+$rank*16-1) 13 | 14 | 0.8 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /simple/nway.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 180-(3+$rank*6)*25/2 10 | 11 | 12 | 3+$rank*6 13 | 14 | 15 | 25 16 | 17 | 18 | 19 | 20 | 80 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/platform/amigaos.hpp: -------------------------------------------------------------------------------- 1 | 2 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 3 | // distribute this software is granted provided this copyright notice appears 4 | // in all copies. This software is provided "as is" without express or implied 5 | // warranty, and with no claim as to its suitability for any purpose. 6 | 7 | // See http://www.boost.org for most recent version. 8 | 9 | #define BOOST_PLATFORM "AmigaOS" 10 | 11 | #define BOOST_DISABLE_THREADS 12 | #define BOOST_NO_CWCHAR 13 | #define BOOST_NO_STD_WSTRING 14 | #define BOOST_NO_INTRINSIC_WCHAR_T 15 | 16 | -------------------------------------------------------------------------------- /simple/side_cracker.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 2+$rank*6 10 | 11 | 12 | 20+$rand*80 13 | 14 | 15 | 16 | -20-$rand*80 17 | 18 | 19 | 20+$rank*12 20 | 21 | 22 | 90 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/stdlib/vacpp.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | #if __IBMCPP__ <= 501 9 | # define BOOST_NO_STD_ALLOCATOR 10 | #endif 11 | 12 | #define BOOST_HAS_MACRO_USE_FACET 13 | 14 | #define BOOST_STDLIB "Visual Age default standard library" 15 | 16 | 17 | -------------------------------------------------------------------------------- /reversible/roll2way.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 99 9 | 10 | 11 | 180-10 12 | 13 | 14 | 15 | 180 16 | 17 | 18 | 10-$rank*6 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /simple/sideshot.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 90 10 | 11 | 12 | 13 | 270 14 | 15 | 16 | 36-$rank*16 17 | 18 | 19 | 20 | 0.7 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /morph/bar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 0 10 | 0 11 | 12 | 13 | 1+$rank*3 14 | 15 | 16 | 0 17 | 0.12+$rank*0.12 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /morph/change_straight.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | $rank*30+$rand*60 9 | 10 | 180 11 | 60 12 | 13 | 14 | 0 15 | 40 16 | 17 | 40 18 | 19 | 0.6+$rand*0.8 20 | 20 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /psy/bar_s.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 0 10 | 0 11 | 12 | 13 | 1+$rank*3 14 | 15 | 16 | 0 17 | 0.1+$rank*0.1 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/platform/solaris.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // sun specific config options: 9 | 10 | #define BOOST_PLATFORM "sun" 11 | 12 | #define BOOST_HAS_GETTIMEOFDAY 13 | 14 | // boilerplate code: 15 | #define BOOST_HAS_UNISTD_H 16 | #include 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/foe_mtd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: foe_mtd.h,v 1.3 2003/04/04 03:46:21 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Foe methods. 9 | * 10 | * @version $Revision: 1.3 $ 11 | */ 12 | #define FOE_ENEMY_POS_RATIO 1024 13 | 14 | #define BULLET_COLOR_NUM 4 15 | #define BULLET_TYPE_NUM 3 16 | 17 | extern int processSpeedDownBulletsNum; 18 | extern int nowait; 19 | 20 | void initFoes(); 21 | void closeFoes(); 22 | void moveFoes(); 23 | void clearFoes(); 24 | void clearFoesZako(); 25 | void wipeBullets(Vector *pos, int width); 26 | void drawBulletsWake(); 27 | void drawFoes(); 28 | void drawBullets(); 29 | -------------------------------------------------------------------------------- /src/rr.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: rr.h,v 1.4 2003/04/26 03:24:16 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * rRootage header file. 9 | * 10 | * @version $Revision: 1.4 $ 11 | */ 12 | #define CAPTION "rRootage" 13 | #define VERSION_NUM 22 14 | 15 | #define INTERVAL_BASE 16 16 | 17 | extern int status; 18 | extern int interval; 19 | extern int tick; 20 | 21 | #define TITLE 0 22 | #define IN_GAME 1 23 | #define GAMEOVER 2 24 | #define STAGE_CLEAR 3 25 | #define PAUSE 4 26 | 27 | void quitLast(); 28 | void initTitleStage(int stg); 29 | void initTitle(); 30 | void initGame(); 31 | void initGameover(); 32 | -------------------------------------------------------------------------------- /morph_heavy/[ketsui]_r2_boss_rkt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 16 10 | 11 | 45-$rank*25 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 0.1 21 | 22 | 23 | 1 24 | 60 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/compiler/compaq_cxx.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // Dec Alpha True64 C++ compiler setup: 9 | 10 | #define BOOST_COMPILER "Dec Alpha True64 " BOOST_STRINGIZE(__DECCXX_VER) 11 | 12 | #include "boost/config/compiler/common_edg.hpp" 13 | 14 | // 15 | // versions check: 16 | // Nothing to do here? 17 | 18 | 19 | -------------------------------------------------------------------------------- /morph_heavy/[Progear]_round_1_boss_grow_bullets.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 0 10 | 60 11 | 12 | 60 13 | 14 | 0.6 15 | 16 | 17 | 2+$rank*6 18 | 19 | 20 | 0.12 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /morph_heavy/fire_vrt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 8 9 | 10 | 11 | 180 12 | 13 | 14 | 30-$rank*15 15 | 16 | 17 | 18 | 19 | 20 | 0.1 21 | 22 | 23 | 0.9 24 | 40 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /morph/wide.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 0 10 | 0 11 | 12 | 13 | 14 | 1.5+$rank*1.5 15 | 0 16 | 17 | 18 | 19 | -1.5-$rank*1.5 20 | 0 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /morph/[ketsui]_r1_boss_bit_shot.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 1+$rank*4 9 | 10 | 11 | 0 12 | 13 | 14 | 12 15 | 16 | 17 | 18 | 19 | 20 | 0.1 21 | 22 | 16 23 | 24 | 0.8 25 | 60 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /morph/backshot.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | $rank*30 9 | 1+$rank*2 10 | 11 | 12 | 180 13 | 0 14 | 15 | 16 | 4 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 1+$rank*0.3 25 | 10 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /simple/rollbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 5+$rank*12 9 | 10 | 11 | 180 12 | 13 | 14 | 15 | 160 16 | 17 | 18 | 200/(5+$rank*12) 19 | 20 | 21 | 100 22 | 23 | 24 | 25 | 2.5 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /morph_heavy/[Progear]_round_5_middle_boss_rockets.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 16 9 | 10 | 11 | 90 12 | 13 | 24-$rank*12 14 | 15 | -90 16 | 17 | 24-$rank*12 18 | 19 | 20 | 21 | 22 | 23 | $1-25+$rand*50 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /src/bulletml/boost/smart_ptr.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // smart_ptr.hpp 3 | // 4 | // For compatibility, this header includes the headers for the four "classic" 5 | // smart pointer class templates. 6 | // 7 | // Copyright (c) 1998-2002 boost.org 8 | // 9 | // Permission to copy, use, modify, sell and distribute this software 10 | // is granted provided this copyright notice appears in all copies. 11 | // This software is provided "as is" without express or implied 12 | // warranty, and with no claim as to its suitability for any purpose. 13 | // 14 | // http://www.boost.org/libs/smart_ptr/smart_ptr.htm 15 | // 16 | 17 | #include 18 | #include 19 | #include 20 | #include 21 | -------------------------------------------------------------------------------- /normal/22way.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 15-$rank*5 10 | 11 | 12-$rank*7 12 | 13 | -15+$rank*5 14 | 15 | 12-$rank*7 16 | 17 | 18 | 19 | 20 | $1 21 | 22 | 23 | 24 | 25 | 26 | 27 | 1 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /simple/8way.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 24 10 | 11 | 12 | -24 13 | 14 | 92 15 | 16 | 17 | 18 | 19 | 20 | $1 21 | 22 | 23 | 24 | $rank*4 25 | 26 | 27 | $1/2 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/platform/beos.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // BeOS specific config options: 9 | 10 | #define BOOST_PLATFORM "BeOS" 11 | 12 | #define BOOST_NO_CWCHAR 13 | #define BOOST_NO_CWCTYPE 14 | #define BOOST_HAS_UNISTD_H 15 | 16 | #define BOOST_HAS_BETHREADS 17 | 18 | #ifndef BOOST_DISABLE_THREADS 19 | # define BOOST_HAS_THREADS 20 | #endif 21 | 22 | // boilerplate code: 23 | #include 24 | 25 | 26 | -------------------------------------------------------------------------------- /reversible/4way.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 99 9 | 10 | 11 | -32 12 | 13 | 14 | 3 15 | 16 | 17 | 20 18 | 19 | 20 | 21 | 22 | 30-$rank*20 23 | 24 | 25 | 26 | 27 | 28 | 1 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/vector.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: vector.h,v 1.1.1.1 2003/03/16 07:03:49 kenta Exp $ 3 | * 4 | * Copyright 2002 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Vector data. 9 | * 10 | * @version $Revision: 1.1.1.1 $ 11 | */ 12 | #ifndef DEF_VECTOR 13 | #define absN(a) ((a) < 0 ? - (a) : (a)) 14 | 15 | typedef struct { 16 | int x, y; 17 | } Vector; 18 | #define DEF_VECTOR 19 | #endif 20 | 21 | float vctInnerProduct(Vector *v1, Vector *v2); 22 | Vector vctGetElement(Vector *v1, Vector *v2); 23 | void vctAdd(Vector *v1, Vector *v2); 24 | void vctSub(Vector *v1, Vector *v2); 25 | void vctMul(Vector *v1, int a); 26 | void vctDiv(Vector *v1, int a); 27 | int vctCheckSide(Vector *checkPos, Vector *pos1, Vector *pos2); 28 | int vctSize(Vector *v); 29 | int vctDist(Vector *v1, Vector *v2); 30 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/platform/irix.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // SGI Irix specific config options: 9 | 10 | #define BOOST_PLATFORM "SGI Irix" 11 | 12 | #define BOOST_NO_SWPRINTF 13 | // 14 | // these are not auto detected by POSIX feature tests: 15 | // 16 | #define BOOST_HAS_GETTIMEOFDAY 17 | #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE 18 | 19 | 20 | // boilerplate code: 21 | #define BOOST_HAS_UNISTD_H 22 | #include 23 | 24 | 25 | -------------------------------------------------------------------------------- /morph/aim_accel_90deg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 0.2 10 | 20+$rank*16 11 | 12 | 20+$rank*16 13 | 14 | 90 15 | 16 | 17 | 18 | 0 19 | 20 | 21 | 22 | 23 | 24 | 25 | 0.2 26 | 27 | 28 | 1 29 | 60 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /morph/[ketsui]_r4_boss_change_aim.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 0.2 10 | 10+$rank*25 11 | 12 | 10+$rank*25 13 | 14 | 0.2 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 0 24 | 10 25 | 26 | 6 27 | 28 | 1+$rank*0.3 29 | 20 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /normal/grow.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 30-$rand*60 10 | 0.4 11 | 12 | 13 | 14 | 5-$rand*10 15 | 16 | 92 17 | 18 | 19 | 20 | 5+$rank*16 21 | 22 | 23 | $1 24 | 0.05 25 | 26 | 27 | 5 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /morph_heavy/[Progear]_round_3_boss_wave_bullets.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 8-$rand*16 10 | 11 | 12 | 13 | 14 | 15 | 16 | 0 17 | 18 | 19 | 2+$rank*4 20 | 21 | 5 22 | 23 | $1 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 1 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /morph_heavy/side_cracker.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10-$rand*20 10 | 11 | 12 | 13 | 14 | 15 | 0.5 16 | 60 17 | 18 | 32+$rand*24 19 | 20 | 1 21 | 22 | 23 | 24 | 2+$rank*4 25 | 26 | 27 | $1 28 | -0.1 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /morph_heavy/[Guwange]_round_4_boss_eye_ball.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 16 9 | 10 | 11 | 90 12 | 13 | 14 | 15 | -90 16 | 17 | 18 | 28-$rank*14 19 | 20 | 21 | 22 | 23 | 24 | 0.1 25 | 26 | 27 | 0.8 28 | 30 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/compiler/sgi_mipspro.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // SGI C++ compiler setup: 9 | 10 | #define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION) 11 | 12 | #include "boost/config/compiler/common_edg.hpp" 13 | 14 | // 15 | // Threading support: 16 | // Turn this on unconditionally here, it will get turned off again later 17 | // if no threading API is detected. 18 | // 19 | #define BOOST_HAS_THREADS 20 | // 21 | // version check: 22 | // probably nothing to do here? 23 | 24 | -------------------------------------------------------------------------------- /reversible/[ketsui]_r3_boss_fastspread.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 1 10 | 11 | 45 12 | 13 | -1 14 | 15 | 45 16 | 17 | 18 | 19 | 20 | (-10)*$1 21 | 1.0 22 | 23 | 24 | 3+$rank*12 25 | 26 | 27 | 12*$1 28 | -0.06 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/stdlib/modena.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // Modena C++ standard library (comes with KAI C++) 9 | 10 | #if !defined(MSIPL_COMPILE_H) 11 | # include 12 | # if !defined(__MSIPL_COMPILE_H) 13 | # error "This is not the Modena C++ library!" 14 | # endif 15 | #endif 16 | 17 | #ifndef MSIPL_NL_TYPES 18 | #define BOOST_NO_STD_MESSAGES 19 | #endif 20 | 21 | #ifndef MSIPL_WCHART 22 | #define BOOST_NO_STD_WSTRING 23 | #endif 24 | 25 | #define BOOST_STDLIB "Modena C++ standard library" 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /src/bulletml/boost/detail/lwm_nop.hpp: -------------------------------------------------------------------------------- 1 | #ifndef BOOST_DETAIL_LWM_NOP_HPP_INCLUDED 2 | #define BOOST_DETAIL_LWM_NOP_HPP_INCLUDED 3 | 4 | #if _MSC_VER >= 1020 5 | #pragma once 6 | #endif 7 | 8 | // 9 | // boost/detail/lwm_nop.hpp 10 | // 11 | // Copyright (c) 2002 Peter Dimov and Multi Media Ltd. 12 | // 13 | // Permission to copy, use, modify, sell and distribute this software 14 | // is granted provided this copyright notice appears in all copies. 15 | // This software is provided "as is" without express or implied 16 | // warranty, and with no claim as to its suitability for any purpose. 17 | // 18 | 19 | namespace boost 20 | { 21 | 22 | namespace detail 23 | { 24 | 25 | class lightweight_mutex 26 | { 27 | public: 28 | 29 | typedef lightweight_mutex scoped_lock; 30 | }; 31 | 32 | } // namespace detail 33 | 34 | } // namespace boost 35 | 36 | #endif // #ifndef BOOST_DETAIL_LWM_NOP_HPP_INCLUDED 37 | -------------------------------------------------------------------------------- /simple/roll_battery.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 3+$rank*3 12 | 13 | 14 | 360/(4+$rank*3) 15 | 16 | 17 | 18 | 19 | 80 20 | 21 | 22 | 23 | 24 | 25 | 4 26 | 999 27 | 28 | 32 29 | 30 | 0 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /reversible/shotgun.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 180 10 | 11 | 12 | 90 13 | 14 | 15 | 16 | 1.2 17 | 18 | 19 | -25 20 | 1 21 | 22 | 23 | 24 | 2+$rank*7 25 | 26 | 5-$rank*2 27 | 28 | 12-$rank*4 29 | 1 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /simple/sidenway.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 45 10 | 11 | 36 12 | 13 | 225 14 | 15 | 36 16 | 17 | 18 | 19 | 20 | $1 21 | 22 | 23 | 2+$rank*3 24 | 25 | 26 | 90/(2+$rank*3) 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 1 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /morph/[Guwange]_round_4_boss_eye_ball.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 1+$rank*1.5 9 | 10 | 50-$rank*10 11 | 12 | 90 13 | 14 | 15 | 50-$rank*10 16 | 17 | -90 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 0.1 26 | 27 | 10 28 | 29 | 0.6+$rank*0.1 30 | 20 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /normal/wide_spread.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | $rand*150-75 10 | 11 | 12 | 30 13 | 14 | 15 | 16 | 17 | 18 | -5-$rank*8 19 | 20 | 21 | 2+$rank*5 22 | 23 | 24 | 2.5 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 1 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/stdlib/libstdcpp3.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // config for libstdc++ v3 9 | // not much to go in here: 10 | 11 | #define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__) 12 | 13 | #ifndef _GLIBCPP_USE_WCHAR_T 14 | # define BOOST_NO_CWCHAR 15 | # define BOOST_NO_CWCTYPE 16 | # define BOOST_NO_STD_WSTRING 17 | # define BOOST_NO_STD_WSTREAMBUF 18 | #endif 19 | 20 | #ifndef _GLIBCPP_USE_LONG_LONG 21 | // May have been set by compiler/*.hpp, but "long long" without library 22 | // support is useless. 23 | # undef BOOST_HAS_LONG_LONG 24 | #endif 25 | 26 | -------------------------------------------------------------------------------- /src/frag.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: frag.h,v 1.2 2003/03/21 02:59:49 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Fragment data. 9 | * 10 | * @version $Revision: 1.2 $ 11 | */ 12 | #include "vector.h" 13 | 14 | #define FRAG_COLOR_NUM 2 15 | 16 | typedef struct { 17 | float x, y, z; 18 | float mx, my, mz; 19 | float width, height; 20 | int d1, d2, md1, md2; 21 | int r[FRAG_COLOR_NUM], g[FRAG_COLOR_NUM], b[FRAG_COLOR_NUM]; 22 | int cnt; 23 | } Frag; 24 | 25 | #define FRAG_MAX 512 26 | 27 | void initFrags(); 28 | void moveFrags(); 29 | void drawFrags(); 30 | void addLaserFrag(int x, int y, int width); 31 | void addBossFrag(float x, float y, float z, float width, int d); 32 | void addShipFrag(float x, float y); 33 | void addGrazeFrag(int x, int y, int mx, int my); 34 | void addShapeFrag(GLfloat x, GLfloat y, GLfloat size, int d, int cnt, int type, int mx, int my); 35 | -------------------------------------------------------------------------------- /morph_heavy/roll_slow.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 15-$rand*30 10 | 11 | 12 | 13 | 14 | 40-$rank*20 15 | 16 | 0.1 17 | 50 18 | 19 | 20 | $rand*360 21 | 22 | 23 | 8+$rank*8 24 | 25 | 5 26 | 27 | $1 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 0.9 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /normal/88way.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 2+$rank*7 9 | 10 | 11 | 360/(2+$rank*7-1) 12 | 13 | 14 | 100/(6+$rank*10) 15 | 16 | 17 | 90 18 | 19 | 20 | 21 | $rand*0.5+0.5 22 | 23 | 20+$rand*40 24 | 16 25 | 26 | 27 | 22.5 28 | 29 | 0.7 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /src/ship.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: ship.h,v 1.2 2003/03/21 02:59:49 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Players ship. 9 | * 10 | * @version $Revision: 1.2 $ 11 | */ 12 | #include "vector.h" 13 | 14 | #define FIELD_WIDTH 320 15 | #define FIELD_HEIGHT 480 16 | #define FIELD_WIDTH_8 (FIELD_WIDTH<<8) 17 | #define FIELD_HEIGHT_8 (FIELD_HEIGHT<<8) 18 | 19 | #define FIELD_SCREEN_RATIO 10000.0f 20 | 21 | typedef struct { 22 | Vector pos, bombPos; 23 | int cnt, laserCnt; 24 | int speed; 25 | int invCnt; 26 | int bombCnt, bombWdt; 27 | int grzCnt, grzInvCnt, rollingCnt, grzWdt, grzf; 28 | float d; 29 | int color, colorChgCnt, fldWdt, absEng; 30 | int rfCnt, rfMtr, rfMtrDec, rfWdt, reflects; 31 | } Ship; 32 | 33 | extern Ship ship; 34 | extern int bonusScore, bomb; 35 | 36 | void initShip(); 37 | void moveShip(); 38 | void drawShip(); 39 | void destroyShip(); 40 | int getPlayerDeg(int x, int y); 41 | -------------------------------------------------------------------------------- /reversible/nwroll.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 99 9 | 10 | 11 | 112 12 | 13 | 14 | 16 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 0 23 | 24 | 25 | 1+$rank*5 26 | 27 | 28 | 5 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 0.8 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /normal/nway.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 0 10 | 11 | 12 | 1+$rank*5 13 | 14 | 15 | 20 16 | 17 | 18 | 19 | 20 | 21 | -16 22 | 23 | 24 | 1+$rank*5-1 25 | 26 | 27 | -20 28 | 29 | 30 | 31 | 32 | 56 33 | 34 | 35 | 36 | 1 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /reversible/2round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 5 12 | 13 | 14 | 59 15 | 16 | 17 | 18 | 19 | 10 20 | 1+$rank*4 21 | 22 | 6 23 | 24 | 25 | 59 26 | 27 | 28 | 29 | 30 | 10 31 | 32 | 33 | 20 34 | 35 | 36 | 37 | 1.2 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/compiler/greenhills.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // Greenhills C++ compiler setup: 9 | 10 | #define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs) 11 | 12 | #include "boost/config/compiler/common_edg.hpp" 13 | 14 | // 15 | // versions check: 16 | // we don't support Greenhills prior to version 0: 17 | #if __ghs < 0 18 | # error "Compiler not supported or configured - please reconfigure" 19 | #endif 20 | // 21 | // last known and checked version is 0: 22 | #if (__ghs > 0) 23 | # if defined(BOOST_ASSERT_CONFIG) 24 | # error "Unknown compiler version - please run the configure tests and report the results" 25 | # endif 26 | #endif 27 | 28 | -------------------------------------------------------------------------------- /src/barragemanager.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: barragemanager.h,v 1.3 2003/04/04 03:46:20 kenta Exp $ 3 | * 4 | * Copyright 2002 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Barrage data. 9 | * 10 | * @version $Revision: 1.3 $ 11 | */ 12 | #ifndef BARRAGEMANAGER_H_ 13 | #define BARRAGEMANAGER_H_ 14 | 15 | #include "bulletml/bulletmlparser.h" 16 | #include "bulletml/bulletmlparser-tinyxml.h" 17 | #include "bulletml/bulletmlrunner.h" 18 | 19 | typedef struct { 20 | BulletMLParser *bulletml; 21 | double maxRank, rank; 22 | } Barrage; 23 | 24 | #define BARRAGE_TYPE_NUM 6 25 | #define BARRAGE_PATTERN_MAX 32 26 | 27 | #define NORMAL_BARRAGE 0 28 | #define REVERSIBLE_BARRAGE 1 29 | #define MORPH_BARRAGE 2 30 | #define SIMPLE_BARRAGE 3 31 | #define MORPH_HEAVY_BARRAGE 4 32 | #define PSY_MORPH_BARRAGE 5 33 | 34 | extern Barrage barragePattern[BARRAGE_TYPE_NUM][BARRAGE_PATTERN_MAX]; 35 | extern int barragePatternNum[BARRAGE_TYPE_NUM]; 36 | 37 | extern "C" { 38 | #include "brgmng_mtd.h" 39 | } 40 | #endif 41 | -------------------------------------------------------------------------------- /normal/[Guwange]_round_2_boss_circle_fire.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 180-45+90*$rand 10 | 11 | 60-$rank*30 12 | 13 | 14 | 15 | 4+$rank*6 16 | 17 | 18 | 360/(4+$rank*6-1) 19 | $1 20 | 21 | 22 | 23 | 24 | 25 | 26 | $1 27 | 5 28 | 29 | 30 | 1 31 | 32 | $2 33 | 1 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /normal/spread2blt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 120 10 | 11 | 12 | 13 | 240 14 | 15 | 16 | 100 17 | 18 | 19 | 20 | 1 21 | 22 | 23 | 0.2 24 | 40 25 | 26 | 30 27 | 5+$rank*30 28 | 29 | 30 | 31 | $rand*360 32 | 0.4+$rand 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /reversible/roll4way.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 0 10 | 11 | 12 | 3 13 | 14 | 15 | 90 16 | 17 | 18 | 19 | 20 | 99 21 | 22 | 30-$rank*20 23 | 24 | 90+(2+20*$rank) 25 | 26 | 27 | 3 28 | 29 | 30 | 90 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 1 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/platform/aix.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // IBM/Aix specific config options: 9 | 10 | #define BOOST_PLATFORM "IBM Aix" 11 | 12 | #define BOOST_HAS_UNISTD_H 13 | #define BOOST_HAS_NL_TYPES_H 14 | #define BOOST_HAS_NANOSLEEP 15 | #define BOOST_HAS_CLOCK_GETTIME 16 | 17 | // This needs support in "boost/cstdint.hpp" exactly like FreeBSD. 18 | // This platform has header named which includes all 19 | // the things needed. 20 | #define BOOST_HAS_STDINT_H 21 | 22 | // Threading API's: 23 | #define BOOST_HAS_PTHREADS 24 | #define BOOST_HAS_PTHREAD_DELAY_NP 25 | #define BOOST_HAS_SCHED_YIELD 26 | //#define BOOST_HAS_PTHREAD_YIELD 27 | 28 | // boilerplate code: 29 | #include 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /reversible/rollbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 99 9 | 10 | 11 | 180 12 | 13 | 90 14 | 15 | 16 | 17 | 160 18 | 19 | -90 20 | 21 | 22 | 20-$rank*10 23 | 24 | 25 | 26 | 27 | 28 | 3 29 | 30 | 1+$rank*3 31 | 32 | 1 33 | 34 | $1 35 | 36 | 0.7 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/stdlib/libcomo.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // Commeau STL: 9 | 10 | #if !defined(__LIBCOMO__) 11 | # include 12 | # if !defined(__LIBCOMO__) 13 | # error "This is not the Comeau STL!" 14 | # endif 15 | #endif 16 | 17 | // 18 | // std::streambuf is non-standard: 19 | // 20 | #if __LIBCOMO_VERSION__ <= 22 21 | # define BOOST_NO_STD_WSTREAMBUF 22 | #endif 23 | 24 | // 25 | // Intrinsic type_traits support. 26 | // The SGI STL has it's own __type_traits class, which 27 | // has intrinsic compiler support with SGI's compilers. 28 | // Whatever map SGI style type traits to boost equivalents: 29 | // 30 | #define BOOST_HAS_SGI_TYPE_TRAITS 31 | 32 | #define BOOST_STDLIB "Commeau standard library" BOOST_STRINGIZE(__LIBCOMO_VERSION__) 33 | 34 | -------------------------------------------------------------------------------- /morph_heavy/oval.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 10+$rand*30 9 | 10 | $rand*360 11 | 0.6 12 | 13 | 14 | 15 | 3+$rank*4 16 | 0.1 17 | 18 | 19 | 3+$rank*4 20 | -0.1 21 | 22 | 23 | 3+$rank*4 24 | 0.1 25 | 26 | 27 | 3+$rank*4 28 | -0.1 29 | 30 | 31 | 32 | 33 | 34 | $1 35 | 36 | 37 | 90/$1 38 | $2 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /src/bulletml/boost/throw_exception.hpp: -------------------------------------------------------------------------------- 1 | #ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED 2 | #define BOOST_THROW_EXCEPTION_HPP_INCLUDED 3 | 4 | #if _MSC_VER >= 1020 5 | #pragma once 6 | #endif 7 | 8 | // 9 | // boost/throw_exception.hpp 10 | // 11 | // Copyright (c) 2002 Peter Dimov and Multi Media Ltd. 12 | // 13 | // Permission to copy, use, modify, sell and distribute this software 14 | // is granted provided this copyright notice appears in all copies. 15 | // This software is provided "as is" without express or implied 16 | // warranty, and with no claim as to its suitability for any purpose. 17 | // 18 | // http://www.boost.org/libs/utility/throw_exception.html 19 | // 20 | 21 | #include 22 | 23 | #ifdef BOOST_NO_EXCEPTIONS 24 | # include 25 | #endif 26 | 27 | namespace boost 28 | { 29 | 30 | #ifdef BOOST_NO_EXCEPTIONS 31 | 32 | void throw_exception(std::exception const & e); // user defined 33 | 34 | #else 35 | 36 | template void throw_exception(E const & e) 37 | { 38 | throw e; 39 | } 40 | 41 | #endif 42 | 43 | } // namespace boost 44 | 45 | #endif // #ifndef BOOST_THROW_EXCEPTION_HPP_INCLUDED 46 | -------------------------------------------------------------------------------- /normal/[Progear]_round_3_boss_wave_bullets.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 50 10 | 11 | -5 12 | 13 | 14 | 40 15 | 16 | -50 17 | 18 | 5 19 | 20 | 21 | 40 22 | 23 | 24 | 25 | 1.6 26 | 27 | 28 | 0 29 | 30 | 31 | 2+$rank*5.2 32 | 33 | 8 34 | 35 | $1 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 1 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /reversible/double_roll_seeds.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 1 10 | 11 | 12 | 13 | 14 | 15 | -1 16 | 17 | 18 | 19 | 20 | 21 | 0 22 | 23 | 24 | 25 | 180 26 | 27 | 28 | 99 29 | 30 | 18-9*$rank 31 | 32 | (15-$rank*10)*$1 33 | 34 | 35 | 36 | 180 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 1.2 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /normal/[daiouzyou]_r1_boss_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | -30 10 | 0.5 11 | 12 | 13 | 2 14 | 15 | 16 | 30 17 | 0 18 | 19 | 20 | 21 | 22 | 4 23 | 1+$rank*9 24 | 25 | 26 | -30 27 | 0.2 28 | 29 | 30 | 2 31 | 32 | 33 | 30 34 | 0 35 | 36 | 37 | 38 | 39 | 4 40 | 41 | 42 | 36 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /normal/57way.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | -24 10 | 11 | 12 | 4 13 | 14 | 15 | 12 16 | 17 | 18 | 19 | 20 | 72-$rank*32 21 | 22 | 23 | 24 | 16-$rank*8 25 | 26 | -27 27 | 28 | 29 | 6 30 | 31 | 32 | 9 33 | 34 | 35 | 36 | 37 | 40-$rank*30 38 | 39 | 40 | 41 | 0.7 42 | 43 | 44 | 45 | 1 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /normal/forward_3way.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 90-$rand*180 10 | 11 | 12 | 60 13 | 14 | 15 | 16 | 0.4 17 | 18 | 19 | $rand*360 20 | 1 21 | 22 | 23 | 2 24 | 25 | 26 | 118 27 | 1 28 | 29 | 30 | 31 | 32 | 2+$rank*12 33 | 34 | 10-$rank*6 35 | 3 36 | 37 | 38 | 118 39 | 1 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /normal/beewinder.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 1.6 10 | 11 | 12 | 13 | 14 | 15 | 0-1.6 16 | 17 | 18 | 19 | 20 | 21 | (19+$rank*19)*$1 22 | 23 | 24 | 12 25 | 26 | 8 27 | 28 | (0-0.5-$rank*2.5)*$1 29 | 30 | 31 | 32 | 33 | 12 34 | 35 | 8 36 | 37 | (0.5+$rank*2.5)*$1 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 1.5 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/compiler/kai.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // Kai C++ compiler setup: 9 | 10 | #include "boost/config/compiler/common_edg.hpp" 11 | 12 | # if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG) 13 | // at least on Sun, the contents of is not in namespace std 14 | # define BOOST_NO_STDC_NAMESPACE 15 | # endif 16 | 17 | // see also common_edg.hpp which needs a special check for __KCC 18 | # if !defined(_EXCEPTIONS) 19 | # define BOOST_NO_EXCEPTIONS 20 | # endif 21 | 22 | #define BOOST_COMPILER "Kai C++ version " BOOST_STRINGIZE(__KCC_VERSION) 23 | 24 | // 25 | // last known and checked version is 4001: 26 | #if (__KCC_VERSION > 4001) 27 | # if defined(BOOST_ASSERT_CONFIG) 28 | # error "Unknown compiler version - please run the configure tests and report the results" 29 | # endif 30 | #endif 31 | 32 | 33 | -------------------------------------------------------------------------------- /reversible/[daiouzyou]_r1_boss_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 1.1 11 | 0 12 | 13 | 14 | 15 | 16 | 0.9 17 | 7 18 | 19 | 20 | 21 | 22 | 0.7 23 | 14 24 | 25 | 26 | 100 27 | 28 | 29 | 30 | 0 31 | 32 | 33 | $2 34 | $1 35 | 36 | 37 | 2+$rank*20 38 | 39 | 40 | 360/(3+$rank*20) 41 | $1 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /src/Makefile: -------------------------------------------------------------------------------- 1 | # rRootage makefile 2 | # gcc version 7.2.0 (Rev1, Built by MSYS2 project) 3 | # Target: i686-w64-mingw32 4 | 5 | NAME = rr 6 | O = o 7 | RM = rm -f 8 | CC = gcc 9 | CXX = g++ 10 | 11 | PROG = $(NAME).exe 12 | 13 | DEFAULT_CFLAGS = `sdl-config --cflags` 14 | LDFLAGS = -static-libgcc -static-libstdc++ -Wl,-Bstatic,--whole-archive -lwinpthread -Wl,--no-whole-archive -lglu32 -lopengl32 -lmingw32 -L/usr/lib -lSDLmain -L. -lbulletml -Wl,-Bdynamic -L.. -lSDL -lSDL_mixer -mwindows 15 | 16 | MORE_CFLAGS = -O2 -Wall 17 | 18 | CFLAGS = $(DEFAULT_CFLAGS) $(MORE_CFLAGS) 19 | CXXFLAGS = $(DEFAULT_CFLAGS) $(MORE_CFLAGS) -I./bulletml/ 20 | 21 | OBJS = $(NAME).$(O) \ 22 | foe.$(O) foecommand.$(O) barragemanager.$(O) boss.$(O) ship.$(O) laser.$(O) \ 23 | frag.$(O) background.$(O) letterrender.$(O) shot.$(O) \ 24 | screen.$(O) vector.$(O) degutil.$(O) rand.$(O) mt19937int.$(O) \ 25 | soundmanager.$(O) attractmanager.$(O) \ 26 | $(NAME)_res.$(O) 27 | 28 | $(PROG): $(OBJS) 29 | $(CXX) -o $(PROG) $(OBJS) $(LDFLAGS) 30 | mv $(PROG) .. 31 | 32 | $(NAME)_res.o: $(NAME).rc 33 | windres -i $(NAME).rc -o $(NAME)_res.o 34 | 35 | clean: 36 | $(RM) ../$(PROG) *.$(O) 37 | -------------------------------------------------------------------------------- /src/bulletml/boost/assert.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // boost/assert.hpp - BOOST_ASSERT(expr) 3 | // 4 | // Copyright (c) 2001, 2002 Peter Dimov and Multi Media Ltd. 5 | // 6 | // Permission to copy, use, modify, sell and distribute this software 7 | // is granted provided this copyright notice appears in all copies. 8 | // This software is provided "as is" without express or implied 9 | // warranty, and with no claim as to its suitability for any purpose. 10 | // 11 | // Note: There are no include guards. This is intentional. 12 | // 13 | // See http://www.boost.org/libs/utility/assert.html for documentation. 14 | // 15 | 16 | #undef BOOST_ASSERT 17 | 18 | #if defined(BOOST_DISABLE_ASSERTS) 19 | 20 | # define BOOST_ASSERT(expr) ((void)0) 21 | 22 | #elif defined(BOOST_ENABLE_ASSERT_HANDLER) 23 | 24 | #include 25 | 26 | namespace boost 27 | { 28 | 29 | void assertion_failed(char const * expr, char const * function, char const * file, long line); // user defined 30 | 31 | } // namespace boost 32 | 33 | #define BOOST_ASSERT(expr) ((expr)? ((void)0): ::boost::assertion_failed(#expr, BOOST_CURRENT_FUNCTION, __FILE__, __LINE__)) 34 | 35 | #else 36 | # include 37 | # define BOOST_ASSERT(expr) assert(expr) 38 | #endif 39 | -------------------------------------------------------------------------------- /reversible/spread_bf.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 4+$rank*12 10 | 120/(4+$rank*12) 11 | 120/(-4-$rank*12) 12 | 13 | 14 | 15 | 16 | 17 | 120 18 | 19 | 20 | 99 21 | 22 | $1 23 | 24 | 10-$rank*5 25 | 26 | $2 27 | 28 | 29 | 30 | 31 | $1 32 | 33 | 34 | $3 35 | 36 | 37 | 6-$rank*3 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 1 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /morph_heavy/[ketsui]_r4_boss_rb_rockets.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 5 10 | 11 | 10+$rand*32 12 | 13 | 14 | 15 | 16 | 17 | 0 18 | 19 | $1 20 | 21 | 22 | 23 | 0 24 | 25 | $1*(-1) 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | $1 35 | 0 36 | 37 | 38 | 2+$rank*5 39 | 40 | 5 41 | 42 | $1 43 | 0 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /normal/mnway.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 3+$rank*9 10 | 80/(3+$rank*9) 11 | 80/(-3-$rank*9) 12 | 13 | 14 | 15 | 16 | 99 17 | 18 | 19 | 0 20 | 21 | 22 | $1 23 | 24 | 25 | $2 26 | 27 | 28 | 29 | 30 | 31 | 0 32 | 33 | 34 | $1 35 | 36 | 37 | $3 38 | 39 | 40 | 41 | 42 | 72 43 | 44 | 45 | 46 | 47 | 48 | 1 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /normal/[ketsui]_r4_boss_rb_rockets.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 2+$rand*16 10 | 40-$rand*80 11 | 12 | 80 13 | 14 | 15 | 16 | 17 | 18 | $2 19 | 20 | $1 21 | 22 | 23 | 24 | $2 25 | 26 | $1*(-1) 27 | 28 | 29 | 30 | 31 | 32 | 1.5 33 | 34 | 35 | $1 36 | 37 | 38 | 3+$rank*6 39 | 40 | 3 41 | 42 | $1 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 0.8 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/platform/cygwin.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // cygwin specific config options: 9 | 10 | #define BOOST_PLATFORM "Cygwin" 11 | #define BOOST_NO_CWCTYPE 12 | #define BOOST_NO_CWCHAR 13 | #define BOOST_NO_SWPRINTF 14 | #define BOOST_HAS_DIRENT_H 15 | 16 | // 17 | // Threading API: 18 | // See if we have POSIX threads, if we do use them, otherwise 19 | // revert to native Win threads. 20 | #define BOOST_HAS_UNISTD_H 21 | #include 22 | #if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) 23 | # define BOOST_HAS_PTHREADS 24 | # define BOOST_HAS_SCHED_YIELD 25 | # define BOOST_HAS_GETTIMEOFDAY 26 | # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE 27 | # define BOOST_HAS_SIGACTION 28 | #else 29 | # if !defined(BOOST_HAS_WINTHREADS) 30 | # define BOOST_HAS_WINTHREADS 31 | # endif 32 | # define BOOST_HAS_FTIME 33 | #endif 34 | 35 | // boilerplate code: 36 | #include 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/stdlib/msl.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // Metrowerks standard library: 9 | 10 | #ifndef __MSL_CPP__ 11 | # include 12 | # ifndef __MSL_CPP__ 13 | # error This is not the MSL standard library! 14 | # endif 15 | #endif 16 | 17 | #if __MSL_CPP__ >= 0x6000 // Pro 6 18 | # define BOOST_HAS_HASH 19 | # define BOOST_STD_EXTENSION_NAMESPACE Metrowerks 20 | #endif 21 | #define BOOST_HAS_SLIST 22 | 23 | #if __MSL_CPP__ < 0x6209 24 | # define BOOST_NO_STD_MESSAGES 25 | #endif 26 | 27 | // check C lib version for 28 | #include 29 | 30 | #if defined(__MSL__) && (__MSL__ >= 0x5000) 31 | # define BOOST_HAS_STDINT_H 32 | # define BOOST_HAS_UNISTD_H 33 | // boilerplate code: 34 | # include 35 | #endif 36 | 37 | #if _MWMT 38 | # define BOOST_HAS_THREADS 39 | #endif 40 | 41 | 42 | #define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__) 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /normal/[daiouzyou]_r1_boss_1.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 99 9 | 10 | 150/(3+9*$rank) 11 | 12 | $rand*90+135 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 90 21 | 6 22 | 23 | $1 24 | 25 | 26 | 3 27 | 28 | 29 | 60 30 | 6 31 | 32 | $1 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | $1+$rand*20-10 42 | 43 | 44 | 45 | 46 | 1 47 | 48 | $1 49 | 1 50 | 51 | 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | License 2 | 3 | Copyright 2003 Kenta Cho. All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, 6 | with or without modification, are permitted provided that 7 | the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, 10 | this list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, 17 | INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 18 | FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL 19 | THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 20 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 21 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 22 | OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 23 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 24 | OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 25 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /morph/6gt.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 1 9 | 10 | 11 | 0 12 | 13 | 120 14 | 15 | 16 | 17 | 18 | 19 | 0 20 | 21 | 0 22 | 23 | 24 | 25 | 26 | 27 | 0 28 | 29 | -120 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 3+$rank*1 39 | 1 40 | 41 | 42 | $1 43 | 1 44 | 45 | 2 46 | 47 | 0-$1 48 | 1 49 | 50 | 51 | 1 52 | 1 53 | 54 | 1 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /normal/growround.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 1+$rank*6 12 | 13 | 16 14 | 15 | -20+$rank*10 16 | 17 | 18 | 19 | 20 | 72 21 | 22 | 23 | 24 | 25 | 26 | 27 | 1+$rank*6 28 | 29 | 16 30 | 31 | 20-$rank*10 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 0 42 | 43 | 0.6 44 | 45 | 46 | 1+$rank*2 47 | 48 | 49 | 0 50 | 0.2 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /src/attractmanager.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: attractmanager.h,v 1.2 2003/03/21 02:59:48 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Attraction manager header file. 9 | * 10 | * @version $Revision: 1.2 $ 11 | */ 12 | #define STAGE_NUM 40 13 | #define SAME_RANK_STAGE_NUM 4 14 | #define MODE_NUM 4 15 | 16 | typedef struct { 17 | int score[MODE_NUM][STAGE_NUM]; 18 | int cleard[MODE_NUM][STAGE_NUM]; 19 | int stage, mode; 20 | } HiScore; 21 | 22 | extern int score, left, stage; 23 | extern unsigned long seed; 24 | extern int bombUsed, shipUsed; 25 | 26 | #define NORMAL_MODE 0 27 | #define PSY_MODE 1 28 | #define IKA_MODE 2 29 | #define GW_MODE 3 30 | 31 | extern int mode; 32 | 33 | void loadPreference(); 34 | void savePreference(); 35 | void initStageState(int stg); 36 | void initGameStateFirst(); 37 | void initGameState(int stg); 38 | void addScore(int s); 39 | int extendShip(); 40 | int decrementShip(); 41 | void addLeftBonus(); 42 | void setClearScore(); 43 | void setHiScore(); 44 | void showScore(); 45 | void drawScore(); 46 | void drawRPanel(); 47 | void initAttractManager(); 48 | int initTitleAtr(); 49 | void drawTitle(); 50 | void drawTitleMenu(); 51 | void initGameoverAtr(); 52 | void moveGameover(); 53 | void drawGameover(); 54 | void moveTitleMenu(); 55 | void movePause(); 56 | void drawPause(); 57 | void drawTitle(); 58 | void initBossScoreAtr(int bs); 59 | void moveBossScoreAtr(); 60 | void drawBossScoreAtr(); 61 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/compiler/common_edg.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // 9 | // Options common to all edg based compilers. 10 | // 11 | // This is included from within the individual compiler mini-configs. 12 | 13 | #ifndef __EDG_VERSION__ 14 | # error This file requires that __EDG_VERSION__ be defined. 15 | #endif 16 | 17 | #if (__EDG_VERSION__ <= 238) 18 | # define BOOST_NO_INTEGRAL_INT64_T 19 | #endif 20 | 21 | #if (__EDG_VERSION__ <= 240) 22 | # define BOOST_NO_VOID_RETURNS 23 | #endif 24 | 25 | #if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) 26 | # define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP 27 | #endif 28 | 29 | #if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES) 30 | # define BOOST_NO_TEMPLATE_TEMPLATES 31 | #endif 32 | 33 | // See also kai.hpp which checks a Kai-specific symbol for EH 34 | # if !defined(__KCC) && !defined(__EXCEPTIONS) 35 | # define BOOST_NO_EXCEPTIONS 36 | # endif 37 | 38 | # if !defined(__NO_LONG_LONG) 39 | # define BOOST_HAS_LONG_LONG 40 | # endif 41 | 42 | #ifdef c_plusplus 43 | // EDG has "long long" in non-strict mode 44 | // However, some libraries have insufficient "long long" support 45 | // #define BOOST_HAS_LONG_LONG 46 | #endif 47 | 48 | 49 | -------------------------------------------------------------------------------- /src/bulletml/boost/checked_delete.hpp: -------------------------------------------------------------------------------- 1 | #ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED 2 | #define BOOST_CHECKED_DELETE_HPP_INCLUDED 3 | 4 | #if _MSC_VER >= 1020 5 | #pragma once 6 | #endif 7 | 8 | // 9 | // boost/checked_delete.hpp 10 | // 11 | // Copyright (c) 1999, 2000, 2001, 2002 boost.org 12 | // Copyright (c) 2002, 2003 Peter Dimov 13 | // 14 | // Permission to copy, use, modify, sell and distribute this software 15 | // is granted provided this copyright notice appears in all copies. 16 | // This software is provided "as is" without express or implied 17 | // warranty, and with no claim as to its suitability for any purpose. 18 | // 19 | // See http://www.boost.org/libs/utility/checked_delete.html for documentation. 20 | // 21 | 22 | namespace boost 23 | { 24 | 25 | // verify that types are complete for increased safety 26 | 27 | template inline void checked_delete(T * x) 28 | { 29 | typedef char type_must_be_complete[sizeof(T)]; 30 | delete x; 31 | } 32 | 33 | template inline void checked_array_delete(T * x) 34 | { 35 | typedef char type_must_be_complete[sizeof(T)]; 36 | delete [] x; 37 | } 38 | 39 | template struct checked_deleter 40 | { 41 | typedef void result_type; 42 | typedef T * argument_type; 43 | 44 | void operator()(T * x) const 45 | { 46 | boost::checked_delete(x); 47 | } 48 | }; 49 | 50 | template struct checked_array_deleter 51 | { 52 | typedef void result_type; 53 | typedef T * argument_type; 54 | 55 | void operator()(T * x) const 56 | { 57 | boost::checked_array_delete(x); 58 | } 59 | }; 60 | 61 | } // namespace boost 62 | 63 | #endif // #ifndef BOOST_CHECKED_DELETE_HPP_INCLUDED 64 | -------------------------------------------------------------------------------- /src/foecommand.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: foecommand.h,v 1.1.1.1 2003/03/16 07:03:49 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Foe commands data. 9 | * 10 | * @version $Revision: 1.1.1.1 $ 11 | */ 12 | #ifndef FOECOMMAND_H_ 13 | #define FOECOMMAND_H_ 14 | 15 | #include "bulletml/bulletmlparser.h" 16 | #include "bulletml/bulletmlparser-tinyxml.h" 17 | #include "bulletml/bulletmlrunner.h" 18 | #include "foe.h" 19 | 20 | #define COMMAND_SCREEN_SPD_RATE 512 21 | #define COMMAND_SCREEN_VEL_RATE 512 22 | 23 | class FoeCommand : public BulletMLRunner { 24 | public: 25 | FoeCommand(BulletMLParser* parser, struct foe* f); 26 | FoeCommand(BulletMLState* state, struct foe* f); 27 | 28 | virtual ~FoeCommand(); 29 | 30 | virtual double getBulletDirection(); 31 | virtual double getAimDirection(); 32 | virtual double getBulletSpeed(); 33 | virtual double getDefaultSpeed(); 34 | virtual double getRank(); 35 | virtual void createSimpleBullet(double direction, double speed); 36 | virtual void createBullet(BulletMLState* state, double direction, double speed); 37 | virtual int getTurn(); 38 | virtual void doVanish(); 39 | 40 | virtual void doChangeDirection(double d); 41 | virtual void doChangeSpeed(double s); 42 | /*virtual void FoeCommand::doAccelX(double ax); 43 | virtual void FoeCommand::doAccelY(double ay); 44 | virtual double FoeCommand::getBulletSpeedX(); 45 | virtual double FoeCommand::getBulletSpeedY();*/ 46 | virtual void doAccelX(double ax); 47 | virtual void doAccelY(double ay); 48 | virtual double getBulletSpeedX(); 49 | virtual double getBulletSpeedY(); 50 | 51 | private: 52 | struct foe *foe; 53 | }; 54 | #endif 55 | 56 | 57 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/compiler/vacpp.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // Visual Age (IBM) C++ compiler setup: 9 | 10 | #if __IBMCPP__ <= 501 11 | # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS 12 | # define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS 13 | #endif 14 | 15 | #if (__IBMCPP__ <= 502) 16 | # define BOOST_NO_MEMBER_TEMPLATE_KEYWORD 17 | #endif 18 | 19 | #if (__IBMCPP__ <= 502) || !defined(BOOST_STRICT_CONFIG) 20 | // Actually the compiler supports inclass member initialization but it 21 | // requires a definition for the class member and it doesn't recognize 22 | // it as an integral constant expression when used as a template argument. 23 | # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION 24 | # define BOOST_NO_INTEGRAL_INT64_T 25 | #endif 26 | 27 | // 28 | // On AIX thread support seems to be indicated by _THREAD_SAFE: 29 | // 30 | #ifdef _THREAD_SAFE 31 | # define BOOST_HAS_THREADS 32 | #endif 33 | 34 | #define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__) 35 | 36 | // 37 | // versions check: 38 | // we don't support Visual age prior to version 5: 39 | #if __IBMCPP__ < 500 40 | #error "Compiler not supported or configured - please reconfigure" 41 | #endif 42 | // 43 | // last known and checked version is 500: 44 | #if (__IBMCPP__ > 502) 45 | # if defined(BOOST_ASSERT_CONFIG) 46 | # error "Unknown compiler version - please run the configure tests and report the results" 47 | # endif 48 | #endif 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /src/bulletml/boost/detail/lwm_irix.hpp: -------------------------------------------------------------------------------- 1 | #ifndef BOOST_DETAIL_LWM_IRIX_HPP_INCLUDED 2 | #define BOOST_DETAIL_LWM_IRIX_HPP_INCLUDED 3 | 4 | #if _MSC_VER >= 1020 5 | #pragma once 6 | #endif 7 | 8 | // 9 | // boost/detail/lwm_irix.hpp 10 | // 11 | // Copyright (c) 2002 Peter Dimov and Multi Media Ltd. 12 | // Copyright (c) 2002 Dan Gohman 13 | // 14 | // Permission to copy, use, modify, sell and distribute this software 15 | // is granted provided this copyright notice appears in all copies. 16 | // This software is provided "as is" without express or implied 17 | // warranty, and with no claim as to its suitability for any purpose. 18 | // 19 | 20 | #include 21 | #include 22 | #include 23 | 24 | namespace boost 25 | { 26 | 27 | namespace detail 28 | { 29 | 30 | class lightweight_mutex 31 | { 32 | private: 33 | 34 | __uint32_t l_; 35 | 36 | lightweight_mutex(lightweight_mutex const &); 37 | lightweight_mutex & operator=(lightweight_mutex const &); 38 | 39 | public: 40 | 41 | lightweight_mutex(): l_(0) 42 | { 43 | } 44 | 45 | class scoped_lock; 46 | friend class scoped_lock; 47 | 48 | class scoped_lock 49 | { 50 | private: 51 | 52 | lightweight_mutex & m_; 53 | 54 | scoped_lock(scoped_lock const &); 55 | scoped_lock & operator=(scoped_lock const &); 56 | 57 | public: 58 | 59 | explicit scoped_lock(lightweight_mutex & m): m_(m) 60 | { 61 | while( test_and_set32(&m_.l_, 1) ) 62 | { 63 | sched_yield(); 64 | } 65 | } 66 | 67 | ~scoped_lock() 68 | { 69 | m_.l_ = 0; 70 | } 71 | }; 72 | }; 73 | 74 | } // namespace detail 75 | 76 | } // namespace boost 77 | 78 | #endif // #ifndef BOOST_DETAIL_LWM_IRIX_HPP_INCLUDED 79 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/compiler/mpw.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // MPW C++ compilers setup: 9 | 10 | # if defined(__SC__) 11 | # define BOOST_COMPILER "MPW SCpp version " BOOST_STRINGIZE(__SC__) 12 | # elif defined(__MRC__) 13 | # define BOOST_COMPILER "MPW MrCpp version " BOOST_STRINGIZE(__MRC__) 14 | # else 15 | # error "Using MPW compiler configuration by mistake. Please update." 16 | # endif 17 | 18 | // 19 | // MPW 8.90: 20 | // 21 | #if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG) 22 | # define BOOST_NO_CV_SPECIALIZATIONS 23 | # define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS 24 | # define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS 25 | # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION 26 | # define BOOST_NO_INTRINSIC_WCHAR_T 27 | # define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION 28 | # define BOOST_NO_USING_TEMPLATE 29 | 30 | # define BOOST_NO_CWCHAR 31 | # define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS 32 | 33 | # define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */ 34 | #endif 35 | 36 | // 37 | // versions check: 38 | // we don't support MPW prior to version 8.9: 39 | #if MPW_CPLUS < 0x890 40 | # error "Compiler not supported or configured - please reconfigure" 41 | #endif 42 | // 43 | // last known and checked version is 0x890: 44 | #if (MPW_CPLUS > 0x890) 45 | # if defined(BOOST_ASSERT_CONFIG) 46 | # error "Unknown compiler version - please run the configure tests and report the results" 47 | # endif 48 | #endif 49 | 50 | -------------------------------------------------------------------------------- /src/barragemanager.cc: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: barragemanager.cc,v 1.4 2003/04/26 03:24:15 kenta Exp $ 3 | * 4 | * Copyright 2002 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Handle barrages. 9 | * 10 | * @version $Revision: 1.4 $ 11 | */ 12 | extern "C" { 13 | #include "SDL.h" 14 | #include 15 | #include 16 | #include "genmcr.h" 17 | #include "brgmng_mtd.h" 18 | } 19 | 20 | #include "barragemanager.h" 21 | 22 | Barrage barragePattern[BARRAGE_TYPE_NUM][BARRAGE_PATTERN_MAX]; 23 | int barragePatternNum[BARRAGE_TYPE_NUM]; 24 | 25 | static const char *BARRAGE_DIR_NAME[BARRAGE_TYPE_NUM] = { 26 | "normal", "reversible", "morph", "simple", "morph_heavy", "psy", 27 | }; 28 | 29 | static int readBulletMLFiles(const char *dirPath, Barrage brg[]) { 30 | DIR *dp; 31 | struct dirent *dir; 32 | int i = 0; 33 | char fileName[256]; 34 | if ( (dp = opendir(dirPath)) == NULL ) { 35 | fprintf(stderr, "Can't open directory: %s\n", dirPath); 36 | exit(1); 37 | } 38 | while ((dir = readdir(dp)) != NULL) { 39 | if ( strcmp(strrchr(dir->d_name, '.'), ".xml") != 0 ) continue; // Read .xml files. 40 | strcpy(fileName, dirPath); 41 | strcat(fileName, "/"); 42 | strncat(fileName, dir->d_name, sizeof(fileName)-strlen(fileName)-1); 43 | brg[i].bulletml = new BulletMLParserTinyXML(fileName); 44 | brg[i].bulletml->build(); i++; 45 | printf("%s\n", fileName); 46 | } 47 | closedir(dp); 48 | return i; 49 | } 50 | 51 | void initBarragemanager() { 52 | for ( int i=0 ; i but does not 25 | // advertise the fact in : 26 | // 27 | #if defined(__FreeBSD__) && (__FreeBSD__ >= 3) 28 | # define BOOST_HAS_NL_TYPES_H 29 | #endif 30 | 31 | // 32 | // FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in 33 | // and not in 34 | // 35 | #if defined(__FreeBSD__) && (__FreeBSD__ <= 3) 36 | # define BOOST_HAS_PTHREADS 37 | #endif 38 | 39 | // 40 | // No wide character support in the BSD header files: 41 | // 42 | #define BOOST_NO_CWCHAR 43 | 44 | // 45 | // The BSD has macros only, no functions: 46 | // 47 | #define BOOST_NO_CTYPE_FUNCTIONS 48 | 49 | // 50 | // thread API's not auto detected: 51 | // 52 | #define BOOST_HAS_SCHED_YIELD 53 | #define BOOST_HAS_NANOSLEEP 54 | #define BOOST_HAS_GETTIMEOFDAY 55 | #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE 56 | #define BOOST_HAS_SIGACTION 57 | 58 | // boilerplate code: 59 | #define BOOST_HAS_UNISTD_H 60 | #include 61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /src/vector.c: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: vector.c,v 1.1.1.1 2003/03/16 07:03:49 kenta Exp $ 3 | * 4 | * Copyright 2002 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Vector functions. 9 | * 10 | * @version $Revision: 1.1.1.1 $ 11 | */ 12 | #include 13 | 14 | #include "vector.h" 15 | 16 | float vctInnerProduct(Vector *v1, Vector *v2) { 17 | return (float)v1->x*v2->x + (float)v1->y*v2->y; 18 | } 19 | 20 | Vector vctGetElement(Vector *v1, Vector *v2) { 21 | Vector ans; 22 | int ll = v2->x*v2->x + v2->y*v2->y; 23 | if ( ll != 0 ) { 24 | int mag = vctInnerProduct(v1, v2); 25 | ans.x = mag*v2->x/ll; 26 | ans.y = mag*v2->y/ll; 27 | } else { 28 | ans.x = ans.y = 0; 29 | } 30 | return ans; 31 | } 32 | 33 | void vctAdd(Vector *v1, Vector *v2) { 34 | v1->x += v2->x; 35 | v1->y += v2->y; 36 | } 37 | 38 | void vctSub(Vector *v1, Vector *v2) { 39 | v1->x -= v2->x; 40 | v1->y -= v2->y; 41 | } 42 | 43 | void vctMul(Vector *v1, int a) { 44 | v1->x *= a; 45 | v1->y *= a; 46 | } 47 | 48 | void vctDiv(Vector *v1, int a) { 49 | v1->x /= a; 50 | v1->y /= a; 51 | } 52 | 53 | int vctCheckSide(Vector *checkPos, Vector *pos1, Vector *pos2) { 54 | int xo = pos2->x-pos1->x, yo = pos2->y-pos1->y; 55 | if ( xo == 0 ) { 56 | if ( yo == 0 ) return 0; 57 | return checkPos->x - pos1->x; 58 | } else if ( yo == 0 ) { 59 | return pos1->y - checkPos->y; 60 | } else { 61 | if ( xo*yo > 0 ) { 62 | return (checkPos->x-pos1->x)/xo - (checkPos->y-pos1->y)/yo; 63 | } else { 64 | return -(checkPos->x-pos1->x)/xo + (checkPos->y-pos1->y)/yo; 65 | } 66 | } 67 | } 68 | 69 | int vctSize(Vector *v) { 70 | return sqrt(v->x*v->x + v->y*v->y); 71 | } 72 | 73 | int vctDist(Vector *v1, Vector *v2) { 74 | int ax = absN(v1->x - v2->x), ay = absN(v1->y - v2->y); 75 | if ( ax > ay ) { 76 | return ax + (ay>>1); 77 | } else { 78 | return ay + (ax>>1); 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/compiler/hp_acc.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // HP aCC C++ compiler setup: 9 | 10 | #if (__HP_aCC <= 33100) 11 | # define BOOST_NO_INTEGRAL_INT64_T 12 | # define BOOST_NO_OPERATORS_IN_NAMESPACE 13 | # if !defined(_NAMESPACE_STD) 14 | # define BOOST_NO_STD_LOCALE 15 | # define BOOST_NO_STRINGSTREAM 16 | # endif 17 | #endif 18 | 19 | #if (__HP_aCC <= 33300) 20 | // member templates are sufficiently broken that we disable them for now 21 | # define BOOST_NO_MEMBER_TEMPLATES 22 | # define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS 23 | #endif 24 | 25 | #if (__HP_aCC <= 33900) || !defined(BOOST_STRICT_CONFIG) 26 | # define BOOST_NO_UNREACHABLE_RETURN_DETECTION 27 | # define BOOST_NO_TEMPLATE_TEMPLATES 28 | # define BOOST_NO_SWPRINTF 29 | # define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS 30 | // std lib config should set this one already: 31 | //# define BOOST_NO_STD_ALLOCATOR 32 | #endif 33 | 34 | // optional features rather than defects: 35 | #if (__HP_aCC >= 33900) 36 | # define BOOST_HAS_LONG_LONG 37 | # define BOOST_HAS_PARTIAL_STD_ALLOCATOR 38 | #endif 39 | 40 | #define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC) 41 | 42 | // 43 | // versions check: 44 | // we don't support HP aCC prior to version 0: 45 | #if __HP_aCC < 33000 46 | # error "Compiler not supported or configured - please reconfigure" 47 | #endif 48 | // 49 | // last known and checked version is 0: 50 | #if (__HP_aCC > 33900) 51 | # if defined(BOOST_ASSERT_CONFIG) 52 | # error "Unknown compiler version - please run the configure tests and report the results" 53 | # endif 54 | #endif 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /src/bulletml/boost/detail/lwm_pthreads.hpp: -------------------------------------------------------------------------------- 1 | #ifndef BOOST_DETAIL_LWM_PTHREADS_HPP_INCLUDED 2 | #define BOOST_DETAIL_LWM_PTHREADS_HPP_INCLUDED 3 | 4 | #if _MSC_VER >= 1020 5 | #pragma once 6 | #endif 7 | 8 | // 9 | // boost/detail/lwm_pthreads.hpp 10 | // 11 | // Copyright (c) 2002 Peter Dimov and Multi Media Ltd. 12 | // 13 | // Permission to copy, use, modify, sell and distribute this software 14 | // is granted provided this copyright notice appears in all copies. 15 | // This software is provided "as is" without express or implied 16 | // warranty, and with no claim as to its suitability for any purpose. 17 | // 18 | 19 | #include 20 | 21 | namespace boost 22 | { 23 | 24 | namespace detail 25 | { 26 | 27 | class lightweight_mutex 28 | { 29 | private: 30 | 31 | pthread_mutex_t m_; 32 | 33 | lightweight_mutex(lightweight_mutex const &); 34 | lightweight_mutex & operator=(lightweight_mutex const &); 35 | 36 | public: 37 | 38 | lightweight_mutex() 39 | { 40 | 41 | // HPUX 10.20 / DCE has a nonstandard pthread_mutex_init 42 | 43 | #if defined(__hpux) && defined(_DECTHREADS_) 44 | pthread_mutex_init(&m_, pthread_mutexattr_default); 45 | #else 46 | pthread_mutex_init(&m_, 0); 47 | #endif 48 | } 49 | 50 | ~lightweight_mutex() 51 | { 52 | pthread_mutex_destroy(&m_); 53 | } 54 | 55 | class scoped_lock; 56 | friend class scoped_lock; 57 | 58 | class scoped_lock 59 | { 60 | private: 61 | 62 | pthread_mutex_t & m_; 63 | 64 | scoped_lock(scoped_lock const &); 65 | scoped_lock & operator=(scoped_lock const &); 66 | 67 | public: 68 | 69 | scoped_lock(lightweight_mutex & m): m_(m.m_) 70 | { 71 | pthread_mutex_lock(&m_); 72 | } 73 | 74 | ~scoped_lock() 75 | { 76 | pthread_mutex_unlock(&m_); 77 | } 78 | }; 79 | }; 80 | 81 | } // namespace detail 82 | 83 | } // namespace boost 84 | 85 | #endif // #ifndef BOOST_DETAIL_LWM_PTHREADS_HPP_INCLUDED 86 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/platform/macos.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // Mac OS specific config options: 9 | 10 | #define BOOST_PLATFORM "Mac OS" 11 | 12 | #if __MACH__ && !defined(_MSL_USING_MSL_C) 13 | 14 | // Using the Mac OS X system BSD-style C library. 15 | 16 | # define BOOST_NO_CTYPE_FUNCTIONS 17 | # define BOOST_NO_CWCHAR 18 | # ifndef BOOST_HAS_UNISTD_H 19 | # define BOOST_HAS_UNISTD_H 20 | # endif 21 | // boilerplate code: 22 | # ifndef TARGET_CARBON 23 | # include 24 | # endif 25 | # ifndef BOOST_HAS_STDINT_H 26 | # define BOOST_HAS_STDINT_H 27 | # endif 28 | 29 | // 30 | // BSD runtime has pthreads, sigaction, sched_yield and gettimeofday, 31 | // of these only pthreads are advertised in , so set the 32 | // other options explicitly: 33 | // 34 | # define BOOST_HAS_SCHED_YIELD 35 | # define BOOST_HAS_GETTIMEOFDAY 36 | # define BOOST_HAS_SIGACTION 37 | 38 | # ifndef __APPLE_CC__ 39 | 40 | // GCC strange "ignore std" mode works better if you pretend everything 41 | // is in the std namespace, for the most part. 42 | 43 | # define BOOST_NO_STDC_NAMESPACE 44 | # endif 45 | 46 | #else 47 | 48 | // Using the MSL C library. 49 | 50 | // We will eventually support threads in non-Carbon builds, but we do 51 | // not support this yet. 52 | # if TARGET_CARBON 53 | 54 | # define BOOST_HAS_MPTASKS 55 | 56 | // The MP task implementation of Boost Threads aims to replace MP-unsafe 57 | // parts of the MSL, so we turn on threads unconditionally. 58 | # define BOOST_HAS_THREADS 59 | 60 | // The remote call manager depends on this. 61 | # define BOOST_BIND_ENABLE_PASCAL 62 | 63 | # endif 64 | 65 | #endif 66 | 67 | -------------------------------------------------------------------------------- /src/foe.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: foe.h,v 1.5 2003/08/15 07:06:52 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Battery/Bullet data. 9 | * 10 | * @version $Revision: 1.5 $ 11 | */ 12 | #ifndef FOE_H_ 13 | #define FOE_H_ 14 | 15 | extern "C" { 16 | #include "vector.h" 17 | #include "foe_mtd.h" 18 | } 19 | 20 | #include "bulletml/bulletmlparser.h" 21 | #include "bulletml/bulletmlparser-tinyxml.h" 22 | #include "bulletml/bulletmlrunner.h" 23 | #include "foecommand.h" 24 | #include "barragemanager.h" 25 | #include "boss.h" 26 | 27 | #define BATTERY 0 28 | #define ACTIVE_BULLET 1 29 | #define BULLET 2 30 | 31 | #define NOT_EXIST_TMP (NOT_EXIST-1) 32 | 33 | struct foe { 34 | Vector pos, vel, ppos, spos, mv; 35 | int d, spd; 36 | FoeCommand *cmd; 37 | double rank; 38 | int spc; 39 | int cnt, cntTotal; 40 | int xReverse; 41 | int fireCnt; 42 | int slowMvCnt; 43 | BulletMLParser *parser; 44 | 45 | BulletMLParser *morphParser[MORPH_PATTERN_MAX]; 46 | int morphCnt; 47 | int morphHalf; 48 | double morphRank; 49 | double speedRank; 50 | 51 | int color; 52 | int shapeType; 53 | int bulletShape[3]; 54 | float bulletSize[3]; 55 | 56 | struct limiter *limiter; 57 | 58 | int ikaType; 59 | 60 | int grzRng; 61 | }; 62 | 63 | typedef struct foe Foe; 64 | 65 | Foe* addFoeBattery(int x, int y, double rank, int d, int spd, int xReverse, 66 | BulletMLParser *morphParser[], int morphCnt, int morphHalf, double morphRank, 67 | double speedRank, 68 | int color, int bulletShape[], float bulletSize[], 69 | struct limiter *limiter, 70 | int ikaType, 71 | BulletMLParser *parser); 72 | void addFoeActiveBullet(Foe *foe, int d, int spd, int color, BulletMLState *state); 73 | void addFoeNormalBullet(Foe *foe, int d, int spd, int color); 74 | void removeFoeCommand(Foe *fe); 75 | void removeFoe(Foe *fe); 76 | void removeFoeForced(Foe *fe); 77 | void wipeBullets(Vector *pos, int width); 78 | #endif 79 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/platform/hpux.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // hpux specific config options: 9 | 10 | #define BOOST_PLATFORM "HP-UX" 11 | 12 | // In principle, HP-UX has a nice under the name 13 | // However, it has the following problem: 14 | // Use of UINT32_C(0) results in "0u l" for the preprocessed source 15 | // (verifyable with gcc 2.95.3, assumed for HP aCC) 16 | // #define BOOST_HAS_STDINT_H 17 | 18 | #define BOOST_NO_SWPRINTF 19 | #define BOOST_NO_CWCTYPE 20 | 21 | // boilerplate code: 22 | #define BOOST_HAS_UNISTD_H 23 | #include 24 | 25 | // HPUX has an incomplete pthreads implementation, so it doesn't 26 | // define _POSIX_THREADS, but it might be enough to implement 27 | // Boost.Threads. 28 | #if !defined(BOOST_HAS_PTHREADS) && defined(_POSIX_THREAD_ATTR_STACKADDR) 29 | # define BOOST_HAS_PTHREADS 30 | #endif 31 | 32 | // the following are always available: 33 | #ifndef BOOST_HAS_GETTIMEOFDAY 34 | # define BOOST_HAS_GETTIMEOFDAY 35 | #endif 36 | #ifndef BOOST_HAS_SCHED_YIELD 37 | # define BOOST_HAS_SCHED_YIELD 38 | #endif 39 | #ifndef BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE 40 | # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE 41 | #endif 42 | #ifndef BOOST_HAS_NL_TYPES_H 43 | # define BOOST_HAS_NL_TYPES_H 44 | #endif 45 | #ifndef BOOST_HAS_NANOSLEEP 46 | # define BOOST_HAS_NANOSLEEP 47 | #endif 48 | #ifndef BOOST_HAS_GETTIMEOFDAY 49 | # define BOOST_HAS_GETTIMEOFDAY 50 | #endif 51 | #ifndef BOOST_HAS_DIRENT_H 52 | # define BOOST_HAS_DIRENT_H 53 | #endif 54 | #ifndef BOOST_HAS_CLOCK_GETTIME 55 | # define BOOST_HAS_CLOCK_GETTIME 56 | #endif 57 | #ifndef BOOST_HAS_SIGACTION 58 | # define BOOST_HAS_SIGACTION 59 | #endif 60 | 61 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/platform/win32.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // Win32 specific config options: 9 | 10 | #define BOOST_PLATFORM "Win32" 11 | 12 | #if defined(__GNUC__) && !defined(BOOST_NO_SWPRINTF) 13 | # define BOOST_NO_SWPRINTF 14 | #endif 15 | 16 | #ifndef BOOST_DISABLE_WIN32 17 | // 18 | // Win32 will normally be using native Win32 threads, 19 | // but there is a pthread library avaliable as an option: 20 | // 21 | #ifndef BOOST_HAS_PTHREADS 22 | # define BOOST_HAS_WINTHREADS 23 | #endif 24 | 25 | // WEK: Added 26 | #define BOOST_HAS_FTIME 27 | 28 | #endif 29 | 30 | // 31 | // disable min/max macros: 32 | // 33 | #ifdef min 34 | # undef min 35 | #endif 36 | #ifdef max 37 | # undef max 38 | #endif 39 | #ifndef NOMINMAX 40 | # define NOMINMAX 41 | #endif 42 | 43 | #ifdef BOOST_MSVC 44 | namespace std{ 45 | // Apparently, something in the Microsoft libraries requires the "long" 46 | // overload, because it calls the min/max functions with arguments of 47 | // slightly different type. (If this proves to be incorrect, this 48 | // whole "BOOST_MSVC" section can be removed.) 49 | inline long min(long __a, long __b) { 50 | return __b < __a ? __b : __a; 51 | } 52 | inline long max(long __a, long __b) { 53 | return __a < __b ? __b : __a; 54 | } 55 | // The "long double" overload is required, otherwise user code calling 56 | // min/max for floating-point numbers will use the "long" overload. 57 | // (SourceForge bug #495495) 58 | inline long double min(long double __a, long double __b) { 59 | return __b < __a ? __b : __a; 60 | } 61 | inline long double max(long double __a, long double __b) { 62 | return __a < __b ? __b : __a; 63 | } 64 | } 65 | using std::min; 66 | using std::max; 67 | # endif 68 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/compiler/comeau.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // Comeau C++ compiler setup: 9 | 10 | #include "boost/config/compiler/common_edg.hpp" 11 | 12 | #if (__COMO_VERSION__ <= 4245) || !defined(BOOST_STRICT_CONFIG) 13 | # if defined(_MSC_VER) && _MSC_VER <= 1300 14 | # define BOOST_NO_STDC_NAMESPACE 15 | # define BOOST_NO_SWPRINTF 16 | # if _MSC_VER > 100 17 | // only set this in non-strict mode: 18 | # define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP 19 | # endif 20 | # endif 21 | 22 | // Void returns don't work when emulating VC 6 (Peter Dimov) 23 | 24 | # if defined(_MSC_VER) && (_MSC_VER == 1200) 25 | # define BOOST_NO_VOID_RETURNS 26 | # endif 27 | 28 | 29 | #endif // version 4245 30 | 31 | // 32 | // enable __int64 support in VC emulation mode 33 | // we should also set BOOST_HAS_LONG_LONG when that is 34 | // supported, but there is no way we can detect it: 35 | // 36 | # if defined(_MSC_VER) && (_MSC_VER >= 1200) 37 | # define BOOST_HAS_MS_INT64 38 | # endif 39 | 40 | // 41 | // disable win32 support unless we are in VC emulation mode, 42 | // (what does this do to Como on top of Borland?): 43 | // 44 | #if defined(_WIN32) && (_MSC_VER+0 < 1000) 45 | # define BOOST_DISABLE_WIN32 46 | #endif 47 | 48 | #define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__) 49 | 50 | // 51 | // versions check: 52 | // we don't know Comeau prior to version 4245: 53 | #if __COMO_VERSION__ < 4245 54 | # error "Compiler not configured - please reconfigure" 55 | #endif 56 | // 57 | // last known and checked version is 4245: 58 | #if (__COMO_VERSION__ > 4245) 59 | # if defined(BOOST_ASSERT_CONFIG) 60 | # error "Unknown compiler version - please run the configure tests and report the results" 61 | # endif 62 | #endif 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /src/bulletml/boost/detail/lwm_linux.hpp: -------------------------------------------------------------------------------- 1 | #ifndef BOOST_DETAIL_LWM_LINUX_HPP_INCLUDED 2 | #define BOOST_DETAIL_LWM_LINUX_HPP_INCLUDED 3 | 4 | #if _MSC_VER >= 1020 5 | #pragma once 6 | #endif 7 | 8 | // 9 | // boost/detail/lwm_linux.hpp 10 | // 11 | // Copyright (c) 2002 Peter Dimov and Multi Media Ltd. 12 | // 13 | // Permission to copy, use, modify, sell and distribute this software 14 | // is granted provided this copyright notice appears in all copies. 15 | // This software is provided "as is" without express or implied 16 | // warranty, and with no claim as to its suitability for any purpose. 17 | // 18 | 19 | // 20 | // This implementation uses . This is a kernel header; 21 | // using kernel headers in a user program may cause a number of problems, 22 | // and not all flavors of Linux provide the atomic instructions. 23 | // 24 | // This file is only provided because the performance of this implementation 25 | // is about 3.5 times higher than the pthreads version. Use at your own risk 26 | // (by defining BOOST_USE_ASM_ATOMIC_H.) 27 | // 28 | 29 | #include 30 | #include 31 | 32 | namespace boost 33 | { 34 | 35 | namespace detail 36 | { 37 | 38 | class lightweight_mutex 39 | { 40 | private: 41 | 42 | atomic_t a_; 43 | 44 | lightweight_mutex(lightweight_mutex const &); 45 | lightweight_mutex & operator=(lightweight_mutex const &); 46 | 47 | public: 48 | 49 | lightweight_mutex() 50 | { 51 | atomic_t a = ATOMIC_INIT(1); 52 | a_ = a; 53 | } 54 | 55 | class scoped_lock; 56 | friend class scoped_lock; 57 | 58 | class scoped_lock 59 | { 60 | private: 61 | 62 | lightweight_mutex & m_; 63 | 64 | scoped_lock(scoped_lock const &); 65 | scoped_lock & operator=(scoped_lock const &); 66 | 67 | public: 68 | 69 | explicit scoped_lock(lightweight_mutex & m): m_(m) 70 | { 71 | while( !atomic_dec_and_test(&m_.a_) ) 72 | { 73 | atomic_inc(&m_.a_); 74 | sched_yield(); 75 | } 76 | } 77 | 78 | ~scoped_lock() 79 | { 80 | atomic_inc(&m_.a_); 81 | } 82 | }; 83 | }; 84 | 85 | } // namespace detail 86 | 87 | } // namespace boost 88 | 89 | #endif // #ifndef BOOST_DETAIL_LWM_LINUX_HPP_INCLUDED 90 | -------------------------------------------------------------------------------- /src/bulletml/boost/config.hpp: -------------------------------------------------------------------------------- 1 | // Boost config.hpp configuration header file ------------------------------// 2 | 3 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 4 | // distribute this software is granted provided this copyright notice appears 5 | // in all copies. This software is provided "as is" without express or implied 6 | // warranty, and with no claim as to its suitability for any purpose. 7 | 8 | // See http://www.boost.org/libs/config for most recent version. 9 | 10 | // Boost config.hpp policy and rationale documentation has been moved to 11 | // http://www.boost.org/libs/config 12 | // 13 | // CAUTION: This file is intended to be completely stable - 14 | // DO NOT MODIFY THIS FILE! 15 | // 16 | 17 | #ifndef BOOST_CONFIG_HPP 18 | #define BOOST_CONFIG_HPP 19 | 20 | // if we don't have a user config, then use the default location: 21 | #if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG) 22 | # define BOOST_USER_CONFIG 23 | #endif 24 | // include it first: 25 | #ifdef BOOST_USER_CONFIG 26 | # include BOOST_USER_CONFIG 27 | #endif 28 | 29 | // if we don't have a compiler config set, try and find one: 30 | #if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG) 31 | # include 32 | #endif 33 | // if we have a compiler config, include it now: 34 | #ifdef BOOST_COMPILER_CONFIG 35 | # include BOOST_COMPILER_CONFIG 36 | #endif 37 | 38 | // if we don't have a std library config set, try and find one: 39 | #if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) 40 | # include 41 | #endif 42 | // if we have a std library config, include it now: 43 | #ifdef BOOST_STDLIB_CONFIG 44 | # include BOOST_STDLIB_CONFIG 45 | #endif 46 | 47 | // if we don't have a platform config set, try and find one: 48 | #if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG) 49 | # include 50 | #endif 51 | // if we have a platform config, include it now: 52 | #ifdef BOOST_PLATFORM_CONFIG 53 | # include BOOST_PLATFORM_CONFIG 54 | #endif 55 | 56 | // get config suffix code: 57 | #include 58 | 59 | #endif // BOOST_CONFIG_HPP 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/compiler/gcc.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // GNU C++ compiler setup: 9 | 10 | # if __GNUC__ == 2 && __GNUC_MINOR__ == 91 11 | // egcs 1.1 won't parse shared_ptr.hpp without this: 12 | # define BOOST_NO_AUTO_PTR 13 | # endif 14 | # if __GNUC__ == 2 && __GNUC_MINOR__ < 95 15 | // 16 | // Prior to gcc 2.95 member templates only partly 17 | // work - define BOOST_MSVC6_MEMBER_TEMPLATES 18 | // instead since inline member templates mostly work. 19 | // 20 | # define BOOST_NO_MEMBER_TEMPLATES 21 | # if __GNUC_MINOR__ >= 9 22 | # define BOOST_MSVC6_MEMBER_TEMPLATES 23 | # endif 24 | # endif 25 | 26 | # if __GNUC__ == 2 && __GNUC_MINOR__ <= 97 27 | # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS 28 | # define BOOST_NO_OPERATORS_IN_NAMESPACE 29 | # endif 30 | 31 | // 32 | // Threading support: Turn this on unconditionally here (except for 33 | // MinGW, where we can know for sure). It will get turned off again 34 | // later if no threading API is detected. 35 | // 36 | #if !defined(__MINGW32__) || defined(_MT) 37 | # define BOOST_HAS_THREADS 38 | #endif 39 | 40 | // 41 | // gcc has "long long" 42 | // 43 | #define BOOST_HAS_LONG_LONG 44 | 45 | // 46 | // gcc implements the named return value optimization since version 3.1 47 | // 48 | #if __GNUC__ > 3 || ( __GNUC__ == 3 && __GNUC_MINOR__ >= 1 ) 49 | #define BOOST_HAS_NRVO 50 | #endif 51 | 52 | #define BOOST_COMPILER "GNU C++ version " __VERSION__ 53 | 54 | // 55 | // versions check: 56 | // we don't know gcc prior to version 2.90: 57 | #if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90) 58 | # error "Compiler not configured - please reconfigure" 59 | #endif 60 | // 61 | // last known and checked version is 3.2: 62 | #if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ > 2)) 63 | # if defined(BOOST_ASSERT_CONFIG) 64 | # error "Unknown compiler version - please run the configure tests and report the results" 65 | # else 66 | # warning "Unknown compiler version - please run the configure tests and report the results" 67 | # endif 68 | #endif 69 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/compiler/metrowerks.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // Metrowerks C++ compiler setup: 9 | 10 | // locale support is disabled when linking with the dynamic runtime 11 | # ifdef _MSL_NO_LOCALE 12 | # define BOOST_NO_STD_LOCALE 13 | # endif 14 | 15 | # if __MWERKS__ <= 0x2301 // 5.3 16 | # define BOOST_NO_FUNCTION_TEMPLATE_ORDERING 17 | # define BOOST_NO_POINTER_TO_MEMBER_CONST 18 | # define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS 19 | # define BOOST_NO_MEMBER_TEMPLATE_KEYWORD 20 | # endif 21 | 22 | # if __MWERKS__ <= 0x2401 // 6.2 23 | //# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING 24 | # endif 25 | 26 | # if(__MWERKS__ <= 0x2407) // 7.x 27 | # define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS 28 | # define BOOST_NO_UNREACHABLE_RETURN_DETECTION 29 | # endif 30 | 31 | # if(__MWERKS__ <= 0x3003) // 8.x 32 | # define BOOST_NO_MEMBER_TEMPLATE_FRIENDS 33 | # endif 34 | 35 | #if !__option(wchar_type) 36 | # define BOOST_NO_INTRINSIC_WCHAR_T 37 | #endif 38 | 39 | #if !__option(exceptions) 40 | # define BOOST_NO_EXCEPTIONS 41 | #endif 42 | 43 | # if __MWERKS__ == 0x3000 44 | # define BOOST_COMPILER_VERSION 8.0 45 | # elif __MWERKS__ == 0x3001 46 | # define BOOST_COMPILER_VERSION 8.1 47 | # elif __MWERKS__ == 0x3002 48 | # define BOOST_COMPILER_VERSION 8.2 49 | # elif __MWERKS__ == 0x3003 50 | # define BOOST_COMPILER_VERSION 8.3 51 | # else 52 | # define BOOST_COMPILER_VERSION __MWERKS__ 53 | # endif 54 | 55 | #define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) 56 | 57 | // 58 | // versions check: 59 | // we don't support Metrowerks prior to version 5.3: 60 | #if __MWERKS__ < 0x2301 61 | # error "Compiler not supported or configured - please reconfigure" 62 | #endif 63 | // 64 | // last known and checked version: 65 | #if (__MWERKS__ > 0x3003) 66 | # if defined(BOOST_ASSERT_CONFIG) 67 | # error "Unknown compiler version - please run the configure tests and report the results" 68 | # endif 69 | #endif 70 | 71 | 72 | 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /src/shot.c: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: shot.c,v 1.2 2003/04/26 03:24:16 kenta Exp $ 3 | * 4 | * Copyright 2002 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Handle players shots(in IKA_MODE and GW_MODE). 9 | * 10 | * @version $Revision: 1.2 $ 11 | */ 12 | #include "SDL.h" 13 | #include 14 | #include 15 | 16 | #include "genmcr.h" 17 | #include "screen.h" 18 | #include "vector.h" 19 | #include "degutil.h" 20 | #include "ship.h" 21 | #include "shot.h" 22 | #include "attractmanager.h" 23 | #include "boss_mtd.h" 24 | 25 | Shot shot[SHOT_MAX]; 26 | 27 | void initShots() { 28 | int i; 29 | for ( i=0 ; i= SHOT_MAX ) return; 47 | st = &(shot[shotIdx]); 48 | st->x = (float)x/FIELD_SCREEN_RATIO; st->y = -(float)y/FIELD_SCREEN_RATIO; 49 | d = getDeg(-ox, oy); ds = getDistance(ox, oy); 50 | st->mx = -(float)sctbl[d] *SHOT_SPEED/(FIELD_SCREEN_RATIO*256); 51 | st->my = (float)sctbl[d+256]*SHOT_SPEED/(FIELD_SCREEN_RATIO*256); 52 | st->d = (float)d*360/1024; 53 | st->color = color; 54 | st->cnt = ds/SHOT_SPEED; 55 | st->width = 0.07; 56 | st->height = 0.1; 57 | } 58 | 59 | void moveShots() { 60 | int i; 61 | Shot *st; 62 | if ( mode != IKA_MODE && mode != GW_MODE ) return; 63 | for ( i=0 ; ix += st->mx/2; 67 | st->y += st->my/2; 68 | st->height += SHOT_HEIHGT_SPEED/2; 69 | st->cnt--; 70 | if ( st->cnt < 0 ) { 71 | switch ( mode ) { 72 | case IKA_MODE: 73 | damageBoss(64); 74 | break; 75 | case GW_MODE: 76 | damageBoss(30); 77 | break; 78 | } 79 | } 80 | } 81 | } 82 | 83 | void drawShots() { 84 | int i; 85 | Shot *st; 86 | if ( mode != IKA_MODE && mode != GW_MODE ) return; 87 | for ( i=0 ; ix, st->y, st->d, st->color, st->width, st->height); 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /src/letterrender.c: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: letterrender.c,v 1.1.1.1 2003/03/16 07:03:49 kenta Exp $ 3 | * 4 | * Copyright 2002 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Letter render. 9 | * 10 | * @version $Revision: 1.1.1.1 $ 11 | */ 12 | #include "screen.h" 13 | #include "letterrender.h" 14 | #include "letterdata.h" 15 | 16 | void drawLetter(int idx, int lx, int ly, int ltSize, int d, 17 | int r, int g, int b) { 18 | int i; 19 | float x, y, length, size, t; 20 | int deg; 21 | for ( i=0 ; ; i++ ) { 22 | deg = (int)spData[idx][i][4]; 23 | if ( deg > 99990 ) break; 24 | x = -spData[idx][i][0]; y = -spData[idx][i][1]; 25 | size = spData[idx][i][2]; length = spData[idx][i][3]; 26 | size *= 0.66f; length *= 0.6f; 27 | switch ( d ) { 28 | case 0: 29 | x = -x; y = y; 30 | break; 31 | case 1: 32 | t = x; x = -y; y = -t; 33 | deg += 90; 34 | break; 35 | case 2: 36 | x = x; y = -y; 37 | deg += 180; 38 | break; 39 | case 3: 40 | t = x; x = y; y = t; 41 | deg += 270; 42 | break; 43 | } 44 | deg %= 180; 45 | if ( deg <= 45 || deg > 135 ) { 46 | drawBox((int)(x*ltSize)+lx, (int)(y*ltSize)+ly, 47 | (int)(size*ltSize), (int)(length*ltSize), r, g, b); 48 | } else { 49 | drawBox((int)(x*ltSize)+lx, (int)(y*ltSize)+ly, 50 | (int)(length*ltSize), (int)(size*ltSize), r, g, b); 51 | } 52 | } 53 | } 54 | 55 | void drawString(char *str, int lx, int ly, int ltSize, int d, 56 | int r, int g, int b) { 57 | int x = lx, y = ly; 58 | int i, c, idx; 59 | for ( i=0 ; ; i++ ) { 60 | if ( str[i] == '\0' ) break; 61 | c = str[i]; 62 | if ( c != ' ' ) { 63 | if ( c >= '0' && c <='9' ) { 64 | idx = c-'0'; 65 | } else if ( c >= 'A' && c <= 'Z' ) { 66 | idx = c-'A'+10; 67 | } else if ( c >= 'a' && c <= 'z' ) { 68 | idx = c-'a'+10; 69 | } else if ( c == '.' ) { 70 | idx = 36; 71 | } else if ( c == '-' ) { 72 | idx = 38; 73 | } else if ( c == '+' ) { 74 | idx = 39; 75 | } else { 76 | idx = 37; 77 | } 78 | drawLetter(idx, x, y, ltSize, d, r, g, b); 79 | } 80 | switch ( d ) { 81 | case 0: 82 | x += ltSize*1.7f; 83 | break; 84 | case 1: 85 | y += ltSize*1.7f; 86 | break; 87 | case 2: 88 | x -= ltSize*1.7f; 89 | break; 90 | case 3: 91 | y -= ltSize*1.7f; 92 | break; 93 | } 94 | } 95 | } 96 | 97 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/user.hpp: -------------------------------------------------------------------------------- 1 | // boost/config/user.hpp ---------------------------------------------------// 2 | 3 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 4 | // distribute this software is granted provided this copyright notice appears 5 | // in all copies. This software is provided "as is" without express or implied 6 | // warranty, and with no claim as to its suitability for any purpose. 7 | 8 | // Do not check in modified versions of this file, 9 | // This file may be customized by the end user, but not by boost. 10 | 11 | // 12 | // Use this file to define a site and compiler specific 13 | // configuration policy: 14 | // 15 | 16 | // define this to locate a compiler config file: 17 | // #define BOOST_COMPILER_CONFIG 18 | 19 | // define this to locate a stdlib config file: 20 | // #define BOOST_STDLIB_CONFIG 21 | 22 | // define this to locate a platform config file: 23 | // #define BOOST_PLATFORM_CONFIG 24 | 25 | // define this to disable compiler config, 26 | // use if your compiler config has nothing to set: 27 | // #define BOOST_NO_COMPILER_CONFIG 28 | 29 | // define this to disable stdlib config, 30 | // use if your stdlib config has nothing to set: 31 | // #define BOOST_NO_STDLIB_CONFIG 32 | 33 | // define this to disable platform config, 34 | // use if your platform config has nothing to set: 35 | // #define BOOST_NO_PLATFORM_CONFIG 36 | 37 | // define this to disable all config options, 38 | // excluding the user config. Use if your 39 | // setup is fully ISO compliant, and has no 40 | // useful extensions, or for autoconf generated 41 | // setups: 42 | // #define BOOST_NO_CONFIG 43 | 44 | // define this to make the config "optimistic" 45 | // about unknown compiler versions. Normally 46 | // unknown compiler versions are assumed to have 47 | // all the defects of the last known version, however 48 | // setting this flag, causes the config to assume 49 | // that unknown compiler versions are fully conformant 50 | // with the standard: 51 | // #define BOOST_STRICT_CONFIG 52 | 53 | // define this to cause the config to halt compilation 54 | // with an #error if it encounters anything unknown -- 55 | // either an unknown compiler version or an unknown 56 | // compiler/platform/library: 57 | // #define BOOST_ASSERT_CONFIG 58 | 59 | 60 | // define if you want to disable threading support, even 61 | // when available: 62 | // #define BOOST_DISABLE_THREADS 63 | 64 | // define when you want to disable Win32 specific features 65 | // even when available: 66 | // #define BOOST_DISABLE_WIN32 67 | 68 | 69 | -------------------------------------------------------------------------------- /src/degutil.c: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: degutil.c,v 1.1.1.1 2003/03/16 07:03:49 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Changing the cordinate into the angle. 9 | * 10 | * @version $Revision: 1.1.1.1 $ 11 | */ 12 | #include 13 | #include "degutil.h" 14 | 15 | static int tantbl[TAN_TABLE_SIZE+2]; 16 | int sctbl[SC_TABLE_SIZE+SC_TABLE_SIZE/4]; 17 | 18 | void initDegutil() { 19 | int i, d = 0; 20 | double od = 6.28/DIV; 21 | for ( i=0 ; i ty ) { 45 | f = 1; 46 | od = DIV*3/4; tn = ty*TAN_TABLE_SIZE/tx; 47 | } else { 48 | f = -1; 49 | od = DIV; tn = tx*TAN_TABLE_SIZE/ty; 50 | } 51 | } else { 52 | ty = y; 53 | if ( tx > ty ) { 54 | f = -1; 55 | od = DIV*3/4; tn=ty*TAN_TABLE_SIZE/tx; 56 | } else { 57 | f=1; 58 | od = DIV/2; tn=tx*TAN_TABLE_SIZE/ty; 59 | } 60 | } 61 | } else { 62 | tx = x; 63 | if ( y < 0 ) { 64 | ty = -y; 65 | if ( tx > ty ) { 66 | f = -1; 67 | od = DIV/4; tn = ty*TAN_TABLE_SIZE/tx; 68 | } else { 69 | f = 1; 70 | od = 0; tn = tx*TAN_TABLE_SIZE/ty; 71 | } 72 | } else { 73 | ty = y; 74 | if ( tx > ty ) { 75 | f = 1; 76 | od = DIV/4; tn = ty*TAN_TABLE_SIZE/tx; 77 | } else { 78 | f = -1; 79 | od = DIV/2; tn = tx*TAN_TABLE_SIZE/ty; 80 | } 81 | } 82 | } 83 | return((od+tantbl[tn]*f)&(DIV-1)); 84 | } 85 | 86 | int getDistance(int x, int y) { 87 | if ( x < 0 ) x = -x; 88 | if ( y < 0 ) y = -y; 89 | if ( x > y ) { 90 | return x + (y>>1); 91 | } else { 92 | return y + (x>>1); 93 | } 94 | } 95 | 96 | float getDistanceFloat(float x, float y) { 97 | if ( x < 0 ) x = -x; 98 | if ( y < 0 ) y = -y; 99 | if ( x > y ) { 100 | return x + (y/2); 101 | } else { 102 | return y + (x/2); 103 | } 104 | } 105 | 106 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/compiler/sunpro_cc.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // Sun C++ compiler setup: 9 | 10 | # if __SUNPRO_CC <= 0x500 11 | # define BOOST_NO_MEMBER_TEMPLATES 12 | # define BOOST_NO_FUNCTION_TEMPLATE_ORDERING 13 | # endif 14 | 15 | # if (__SUNPRO_CC <= 0x520) 16 | // 17 | // Sunpro 5.2 and earler: 18 | // 19 | // although sunpro 5.2 supports the syntax for 20 | // inline initialization it often gets the value 21 | // wrong, especially where the value is computed 22 | // from other constants (J Maddock 6th May 2001) 23 | # define BOOST_NO_INCLASS_MEMBER_INITIALIZATION 24 | 25 | // Although sunpro 5.2 supports the syntax for 26 | // partial specialization, it often seems to 27 | // bind to the wrong specialization. Better 28 | // to disable it until suppport becomes more stable 29 | // (J Maddock 6th May 2001). 30 | # define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION 31 | # endif 32 | 33 | # if (__SUNPRO_CC <= 0x530) || !defined(BOOST_STRICT_CONFIG) 34 | // SunPro 5.3 has better support for partial specialization, 35 | // but breaks when compiling std::less > 36 | // (Jens Maurer 4 Nov 2001). 37 | 38 | // std::less specialization fixed as reported by George 39 | // Heintzelman; partial specialization re-enabled 40 | // (Peter Dimov 17 Jan 2002) 41 | 42 | //# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION 43 | 44 | // integral constant expressions with 64 bit numbers fail 45 | # define BOOST_NO_INTEGRAL_INT64_T 46 | # endif 47 | 48 | # if (__SUNPRO_CC <= 0x540) || !defined(BOOST_STRICT_CONFIG) 49 | # define BOOST_NO_TEMPLATE_TEMPLATES 50 | # endif 51 | 52 | #define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC) 53 | 54 | // 55 | // versions check: 56 | // we don't support sunpro prior to version 4: 57 | #if __SUNPRO_CC < 0x400 58 | #error "Compiler not supported or configured - please reconfigure" 59 | #endif 60 | // 61 | // last known and checked version is 0x530: 62 | #if (__SUNPRO_CC > 0x530) 63 | # if defined(BOOST_ASSERT_CONFIG) 64 | # error "Unknown compiler version - please run the configure tests and report the results" 65 | # endif 66 | #endif 67 | 68 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/select_stdlib_config.hpp: -------------------------------------------------------------------------------- 1 | // Boost compiler configuration selection header file 2 | 3 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 4 | // distribute this software is granted provided this copyright notice appears 5 | // in all copies. This software is provided "as is" without express or implied 6 | // warranty, and with no claim as to its suitability for any purpose. 7 | 8 | // See http://www.boost.org for most recent version. 9 | 10 | // locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed: 11 | 12 | // we need to include a std lib header here in order to detect which 13 | // library is in use, use as it's about the smallest 14 | // of the std lib headers - do not rely on this header being included - 15 | // users can short-circuit this header if they know whose std lib 16 | // they are using. 17 | 18 | #include 19 | 20 | #if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) 21 | // STLPort library; this _must_ come first, otherwise since 22 | // STLport typically sits on top of some other library, we 23 | // can end up detecting that first rather than STLport: 24 | # define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp" 25 | 26 | #elif defined(__LIBCOMO__) 27 | // Commeau STL: 28 | #define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp" 29 | 30 | #elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER) 31 | // Rogue Wave library: 32 | # define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp" 33 | 34 | #elif defined(__GLIBCPP__) 35 | // GNU libstdc++ 3 36 | # define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp" 37 | 38 | #elif defined(__STL_CONFIG_H) 39 | // generic SGI STL 40 | # define BOOST_STDLIB_CONFIG "boost/config/stdlib/sgi.hpp" 41 | 42 | #elif defined(__MSL_CPP__) 43 | // MSL standard lib: 44 | # define BOOST_STDLIB_CONFIG "boost/config/stdlib/msl.hpp" 45 | 46 | #elif defined(__IBMCPP__) 47 | // take the default VACPP std lib 48 | # define BOOST_STDLIB_CONFIG "boost/config/stdlib/vacpp.hpp" 49 | 50 | #elif defined(MSIPL_COMPILE_H) 51 | // Modena C++ standard library 52 | # define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp" 53 | 54 | #elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER) 55 | // Dinkumware Library (this has to appear after any possible replacement libraries): 56 | # define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp" 57 | 58 | #elif defined (BOOST_ASSERT_CONFIG) 59 | // this must come last - generate an error if we don't 60 | // recognise the library: 61 | # error "Unknown standard library - please configure and report the results to boost.org" 62 | 63 | #endif 64 | 65 | 66 | -------------------------------------------------------------------------------- /src/bulletml/boost/detail/lwm_win32_cs.hpp: -------------------------------------------------------------------------------- 1 | #ifndef BOOST_DETAIL_LWM_WIN32_CS_HPP_INCLUDED 2 | #define BOOST_DETAIL_LWM_WIN32_CS_HPP_INCLUDED 3 | 4 | #if _MSC_VER >= 1020 5 | #pragma once 6 | #endif 7 | 8 | // 9 | // boost/detail/lwm_win32_cs.hpp 10 | // 11 | // Copyright (c) 2002, 2003 Peter Dimov 12 | // 13 | // Permission to copy, use, modify, sell and distribute this software 14 | // is granted provided this copyright notice appears in all copies. 15 | // This software is provided "as is" without express or implied 16 | // warranty, and with no claim as to its suitability for any purpose. 17 | // 18 | 19 | #ifdef BOOST_USE_WINDOWS_H 20 | # include 21 | #endif 22 | 23 | namespace boost 24 | { 25 | 26 | namespace detail 27 | { 28 | 29 | #ifndef BOOST_USE_WINDOWS_H 30 | 31 | struct CRITICAL_SECTION 32 | { 33 | struct critical_section_debug * DebugInfo; 34 | long LockCount; 35 | long RecursionCount; 36 | void * OwningThread; 37 | void * LockSemaphore; 38 | #if defined(_WIN64) 39 | unsigned __int64 SpinCount; 40 | #else 41 | unsigned long SpinCount; 42 | #endif 43 | }; 44 | 45 | extern "C" __declspec(dllimport) void __stdcall InitializeCriticalSection(CRITICAL_SECTION *); 46 | extern "C" __declspec(dllimport) void __stdcall EnterCriticalSection(CRITICAL_SECTION *); 47 | extern "C" __declspec(dllimport) void __stdcall LeaveCriticalSection(CRITICAL_SECTION *); 48 | extern "C" __declspec(dllimport) void __stdcall DeleteCriticalSection(CRITICAL_SECTION *); 49 | 50 | #endif // #ifndef BOOST_USE_WINDOWS_H 51 | 52 | class lightweight_mutex 53 | { 54 | private: 55 | 56 | CRITICAL_SECTION cs_; 57 | 58 | lightweight_mutex(lightweight_mutex const &); 59 | lightweight_mutex & operator=(lightweight_mutex const &); 60 | 61 | public: 62 | 63 | lightweight_mutex() 64 | { 65 | InitializeCriticalSection(&cs_); 66 | } 67 | 68 | ~lightweight_mutex() 69 | { 70 | DeleteCriticalSection(&cs_); 71 | } 72 | 73 | class scoped_lock; 74 | friend class scoped_lock; 75 | 76 | class scoped_lock 77 | { 78 | private: 79 | 80 | lightweight_mutex & m_; 81 | 82 | scoped_lock(scoped_lock const &); 83 | scoped_lock & operator=(scoped_lock const &); 84 | 85 | public: 86 | 87 | explicit scoped_lock(lightweight_mutex & m): m_(m) 88 | { 89 | EnterCriticalSection(&m_.cs_); 90 | } 91 | 92 | ~scoped_lock() 93 | { 94 | LeaveCriticalSection(&m_.cs_); 95 | } 96 | }; 97 | }; 98 | 99 | } // namespace detail 100 | 101 | } // namespace boost 102 | 103 | #endif // #ifndef BOOST_DETAIL_LWM_WIN32_CS_HPP_INCLUDED 104 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/select_compiler_config.hpp: -------------------------------------------------------------------------------- 1 | // Boost compiler configuration selection header file 2 | 3 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 4 | // distribute this software is granted provided this copyright notice appears 5 | // in all copies. This software is provided "as is" without express or implied 6 | // warranty, and with no claim as to its suitability for any purpose. 7 | 8 | // See http://www.boost.org for most recent version. 9 | 10 | // locate which compiler we are using and define 11 | // BOOST_COMPILER_CONFIG as needed: 12 | 13 | #if defined __GNUC__ 14 | // GNU C++: 15 | # define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp" 16 | 17 | # elif defined __COMO__ 18 | // Comeau C++ 19 | # define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp" 20 | 21 | #elif defined __KCC 22 | // Kai C++ 23 | # define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp" 24 | 25 | #elif defined __sgi 26 | // SGI MIPSpro C++ 27 | # define BOOST_COMPILER_CONFIG "boost/config/compiler/sgi_mipspro.hpp" 28 | 29 | #elif defined __DECCXX 30 | // Compaq Tru64 Unix cxx 31 | # define BOOST_COMPILER_CONFIG "boost/config/compiler/compaq_cxx.hpp" 32 | 33 | #elif defined __ghs 34 | // Greenhills C++ 35 | # define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp" 36 | 37 | #elif defined __BORLANDC__ 38 | // Borland 39 | # define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp" 40 | 41 | #elif defined(__ICL) || defined(__ICC) 42 | // Intel 43 | # define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp" 44 | 45 | #elif defined __MWERKS__ 46 | // Metrowerks CodeWarrior 47 | # define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp" 48 | 49 | #elif defined __SUNPRO_CC 50 | // Sun Workshop Compiler C++ 51 | # define BOOST_COMPILER_CONFIG "boost/config/compiler/sunpro_cc.hpp" 52 | 53 | #elif defined __HP_aCC 54 | // HP aCC 55 | # define BOOST_COMPILER_CONFIG "boost/config/compiler/hp_acc.hpp" 56 | 57 | #elif defined(__MRC__) || defined(__SC__) 58 | // MPW MrCpp or SCpp 59 | # define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp" 60 | 61 | #elif defined(__IBMCPP__) 62 | // IBM Visual Age 63 | # define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp" 64 | 65 | #elif defined _MSC_VER 66 | // Microsoft Visual C++ 67 | // 68 | // Must remain the last #elif since some other vendors (Metrowerks, for 69 | // example) also #define _MSC_VER 70 | # define BOOST_COMPILER_CONFIG "boost/config/compiler/visualc.hpp" 71 | 72 | #elif defined (BOOST_ASSERT_CONFIG) 73 | // this must come last - generate an error if we don't 74 | // recognise the compiler: 75 | # error "Unknown compiler - please configure and report the results to boost.org" 76 | 77 | #endif 78 | 79 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/platform/linux.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // linux specific config options: 9 | 10 | #define BOOST_PLATFORM "linux" 11 | 12 | // make sure we have __GLIBC_PREREQ if available at all 13 | #include 14 | 15 | // 16 | // added to glibc 2.1.1 17 | // We can only test for 2.1 though: 18 | // 19 | #if defined(__GLIBC__) && ((__GLIBC__ > 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1))) 20 | // defines int64_t unconditionally, but defines 21 | // int64_t only if __GNUC__. Thus, assume a fully usable 22 | // only when using GCC. 23 | # if defined __GNUC__ 24 | # define BOOST_HAS_STDINT_H 25 | # endif 26 | #endif 27 | 28 | // 29 | // como on linux doesn't have std:: c functions: 30 | // 31 | #ifdef __COMO__ 32 | # define BOOST_NO_STDC_NAMESPACE 33 | #endif 34 | 35 | // 36 | // Intel on linux doesn't have swprintf in std:: 37 | // 38 | #ifdef __ICC 39 | # define BOOST_NO_STDC_NAMESPACE 40 | #endif 41 | 42 | // 43 | // If glibc is past version 2 then we definitely have 44 | // gettimeofday, earlier versions may or may not have it: 45 | // 46 | #if defined(__GLIBC__) && (__GLIBC__ >= 2) 47 | # define BOOST_HAS_GETTIMEOFDAY 48 | #endif 49 | 50 | #ifdef __USE_POSIX199309 51 | # define BOOST_HAS_NANOSLEEP 52 | #endif 53 | 54 | #if defined(__GLIBC__) && defined(__GLIBC_PREREQ) 55 | // __GLIBC_PREREQ is available since 2.1.2 56 | 57 | // swprintf is available since glibc 2.2.0 58 | # if !__GLIBC_PREREQ(2,2) || (!defined(__USE_ISOC99) && !defined(__USE_UNIX98)) 59 | # define BOOST_NO_SWPRINTF 60 | # endif 61 | #else 62 | # define BOOST_NO_SWPRINTF 63 | #endif 64 | 65 | // boilerplate code: 66 | #define BOOST_HAS_UNISTD_H 67 | #include 68 | 69 | #ifndef __GNUC__ 70 | // 71 | // if the compiler is not gcc we still need to be able to parse 72 | // the GNU system headers, some of which (mainly ) 73 | // use GNU specific extensions: 74 | // 75 | # ifndef __extension__ 76 | # define __extension__ 77 | # endif 78 | # ifndef __const__ 79 | # define __const__ const 80 | # endif 81 | # ifndef __volatile__ 82 | # define __volatile__ volatile 83 | # endif 84 | # ifndef __signed__ 85 | # define __signed__ signed 86 | # endif 87 | # ifndef __typeof__ 88 | # define __typeof__ typeof 89 | # endif 90 | # ifndef __inline__ 91 | # define __inline__ inline 92 | # endif 93 | #endif 94 | 95 | -------------------------------------------------------------------------------- /src/bulletml/boost/detail/workaround.hpp: -------------------------------------------------------------------------------- 1 | // Copyright David Abrahams 2002. Permission to copy, use, 2 | // modify, sell and distribute this software is granted provided this 3 | // copyright notice appears in all copies. This software is provided 4 | // "as is" without express or implied warranty, and with no claim as 5 | // to its suitability for any purpose. 6 | #ifndef WORKAROUND_DWA2002126_HPP 7 | # define WORKAROUND_DWA2002126_HPP 8 | 9 | // Compiler/library version workaround macro 10 | // 11 | // Usage: 12 | // 13 | // #if BOOST_WORKAROUND(BOOST_MSVC, <= 1200) 14 | // ... // workaround code here 15 | // #endif 16 | // 17 | // When BOOST_STRICT_CONFIG is defined, expands to 0. Otherwise, the 18 | // first argument must be undefined or expand to a numeric 19 | // value. The above expands to: 20 | // 21 | // (BOOST_MSVC) != 0 && (BOOST_MSVC) <= 1200 22 | // 23 | // When used for workarounds on the latest known version of a 24 | // compiler, the following convention should be observed: 25 | // 26 | // #if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1301)) 27 | // 28 | // The version number in this case corresponds to the last version in 29 | // which the workaround was known to have been required. It only has 30 | // value as a comment unless BOOST_DETECT_OUTDATED_WORKAROUNDS is 31 | // defined, in which case a compiler warning or error will be issued 32 | // when the compiler version exceeds the argument to BOOST_TESTED_AT 33 | 34 | # ifndef BOOST_STRICT_CONFIG 35 | 36 | # define BOOST_WORKAROUND(symbol, test) \ 37 | ((symbol != 0) && (1 % (( (symbol test) ) + 1))) 38 | // ^ ^ ^ ^ 39 | // The extra level of parenthesis nesting above, along with the 40 | // BOOST_OPEN_PAREN indirection below, is required to satisfy the 41 | // broken preprocessor in MWCW 8.3 and earlier. 42 | // 43 | // The basic mechanism works as follows: 44 | // (symbol test) + 1 => 2 if the test passes, 1 otherwise 45 | // 1 % ((symbol test) + 1) => 1 if the test passes, 0 otherwise 46 | // 47 | // The complication with % is for cooperation with BOOST_TESTED_AT(). 48 | // When "test" is BOOST_TESTED_AT(x) and 49 | // BOOST_DETECT_OUTDATED_WORKAROUNDS is #defined, 50 | // 51 | // symbol test => 1 if symbol <= x, -1 otherwise 52 | // (symbol test) + 1 => 2 if symbol <= x, 0 otherwise 53 | // 1 % ((symbol test) + 1) => 1 if symbol <= x, zero divide otherwise 54 | // 55 | 56 | # ifdef BOOST_DETECT_OUTDATED_WORKAROUNDS 57 | # define BOOST_OPEN_PAREN ( 58 | # define BOOST_TESTED_AT(value) > value) ?(-1): BOOST_OPEN_PAREN 1 59 | # else 60 | # define BOOST_TESTED_AT(value) != 0 61 | # endif 62 | 63 | # else 64 | 65 | # define BOOST_WORKAROUND(symbol, test) 0 66 | 67 | # endif 68 | 69 | #endif // WORKAROUND_DWA2002126_HPP 70 | -------------------------------------------------------------------------------- /src/foecommand.cc: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: foecommand.cc,v 1.2 2003/08/15 07:06:52 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Handle bullet commands. 9 | * 10 | * @version $Revision: 1.2 $ 11 | */ 12 | #include "bulletml/bulletmlparser.h" 13 | #include "bulletml/bulletmlparser-tinyxml.h" 14 | #include "bulletml/bulletmlrunner.h" 15 | #include "foe.h" 16 | 17 | extern "C" { 18 | #include "rr.h" 19 | #include "genmcr.h" 20 | #include "degutil.h" 21 | #include "ship.h" 22 | } 23 | 24 | FoeCommand::FoeCommand(BulletMLParser *parser, Foe *f) 25 | : BulletMLRunner(parser) { 26 | foe = f; 27 | } 28 | 29 | FoeCommand::FoeCommand(BulletMLState *state, Foe *f) 30 | : BulletMLRunner(state) { 31 | foe = f; 32 | } 33 | 34 | FoeCommand::~FoeCommand() {} 35 | 36 | double FoeCommand::getBulletDirection() { 37 | return (double)foe->d*360/DIV; 38 | } 39 | 40 | double FoeCommand::getAimDirection() { 41 | int d = getPlayerDeg(foe->pos.x, foe->pos.y); 42 | if ( foe->xReverse == -1 ) d = (-d)&1023; 43 | return ((double)d*360/DIV); 44 | } 45 | 46 | double FoeCommand::getBulletSpeed() { 47 | return ((double)foe->spd)/COMMAND_SCREEN_SPD_RATE; 48 | } 49 | 50 | double FoeCommand::getDefaultSpeed() { 51 | return 1; 52 | } 53 | 54 | double FoeCommand::getRank() { 55 | return foe->rank; 56 | } 57 | 58 | void FoeCommand::createSimpleBullet(double direction, double speed) { 59 | int d = (int)(direction*DIV/360); d &= (DIV-1); 60 | addFoeNormalBullet(foe, d, (int)(speed*COMMAND_SCREEN_SPD_RATE), foe->color+1); 61 | foe->fireCnt++; 62 | } 63 | 64 | void FoeCommand::createBullet(BulletMLState* state, double direction, double speed) { 65 | int d = (int)(direction*DIV/360); d &= (DIV-1); 66 | addFoeActiveBullet(foe, d, (int)(speed*COMMAND_SCREEN_SPD_RATE), foe->color+1, state); 67 | foe->fireCnt++; 68 | } 69 | 70 | int FoeCommand::getTurn() { 71 | return tick; 72 | } 73 | 74 | void FoeCommand::doVanish() { 75 | removeFoeCommand(foe); 76 | } 77 | 78 | void FoeCommand::doChangeDirection(double d) { 79 | foe->d = (int)(d*DIV/360); 80 | } 81 | 82 | void FoeCommand::doChangeSpeed(double s) { 83 | foe->spd = (int)(s*COMMAND_SCREEN_SPD_RATE); 84 | } 85 | 86 | void FoeCommand::doAccelX(double ax) { 87 | foe->vel.x = (int)(ax*COMMAND_SCREEN_VEL_RATE); 88 | } 89 | 90 | void FoeCommand::doAccelY(double ay) { 91 | foe->vel.y = (int)(ay*COMMAND_SCREEN_VEL_RATE); 92 | } 93 | 94 | double FoeCommand::getBulletSpeedX() { 95 | return ((double)foe->vel.x/COMMAND_SCREEN_VEL_RATE); 96 | } 97 | 98 | double FoeCommand::getBulletSpeedY() { 99 | return ((double)foe->vel.y/COMMAND_SCREEN_VEL_RATE); 100 | } 101 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/select_platform_config.hpp: -------------------------------------------------------------------------------- 1 | // Boost compiler configuration selection header file 2 | 3 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 4 | // distribute this software is granted provided this copyright notice appears 5 | // in all copies. This software is provided "as is" without express or implied 6 | // warranty, and with no claim as to its suitability for any purpose. 7 | 8 | // See http://www.boost.org for most recent version. 9 | 10 | // locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed. 11 | // Note that we define the headers to include using "header_name" not 12 | // in order to prevent macro expansion within the header 13 | // name (for example "linux" is a macro on linux systems). 14 | 15 | #if defined(linux) || defined(__linux) || defined(__linux__) 16 | // linux: 17 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp" 18 | 19 | #elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) 20 | // BSD: 21 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp" 22 | 23 | #elif defined(sun) || defined(__sun) 24 | // solaris: 25 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp" 26 | 27 | #elif defined(__sgi) 28 | // SGI Irix: 29 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp" 30 | 31 | #elif defined(__hpux) 32 | // hp unix: 33 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp" 34 | 35 | #elif defined(__CYGWIN__) 36 | // cygwin is not win32: 37 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp" 38 | 39 | #elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) 40 | // win32: 41 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp" 42 | 43 | #elif defined(__BEOS__) 44 | // BeOS 45 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp" 46 | 47 | #elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) 48 | // MacOS 49 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp" 50 | 51 | #elif defined(__IBMCPP__) 52 | // IBM 53 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp" 54 | 55 | #elif defined(__amigaos__) 56 | // AmigaOS 57 | # define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp" 58 | 59 | #else 60 | 61 | # if defined(unix) \ 62 | || defined(__unix) \ 63 | || defined(_XOPEN_SOURCE) \ 64 | || defined(_POSIX_SOURCE) 65 | 66 | // generic unix platform: 67 | 68 | # ifndef BOOST_HAS_UNISTD_H 69 | # define BOOST_HAS_UNISTD_H 70 | # endif 71 | 72 | # include 73 | 74 | # endif 75 | 76 | # if defined (BOOST_ASSERT_CONFIG) 77 | // this must come last - generate an error if we don't 78 | // recognise the platform: 79 | # error "Unknown platform - please configure and report the results to boost.org" 80 | # endif 81 | 82 | #endif 83 | 84 | 85 | -------------------------------------------------------------------------------- /src/boss.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: boss.h,v 1.3 2003/04/04 03:46:20 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Boss data. 9 | * 10 | * @version $Revision: 1.3 $ 11 | */ 12 | #ifndef BOSS_H_ 13 | #define BOSS_H_ 14 | 15 | #define MORPH_PATTERN_MAX 8 16 | 17 | #include "foe.h" 18 | 19 | #define IKA_FIX 0 20 | #define IKA_ALTERNATE 1 21 | #define IKA_HALF 2 22 | #define IKA_ALTERNATE_SHOT 3 23 | 24 | typedef struct { 25 | int barrageType, barrageIdx; 26 | double rank; 27 | int xReverse ,xrAlter; 28 | int morphIdx[MORPH_PATTERN_MAX]; 29 | int morphCnt; 30 | int morphHalf; 31 | int morphType; 32 | double morphRank; 33 | double speedRank; 34 | int ikaType; 35 | } Attack; 36 | 37 | typedef struct { 38 | struct foe *foe; 39 | int x, y; 40 | } Battery; 41 | 42 | typedef struct { 43 | int color; 44 | int bulletShape[BULLET_TYPE_NUM]; 45 | float bulletSize[BULLET_TYPE_NUM]; 46 | } BatteryShape; 47 | 48 | struct limiter { 49 | int cnt, max; 50 | int on; 51 | }; 52 | 53 | typedef struct limiter Limiter; 54 | 55 | #define BATTERY_PATTERN_MAX 6 56 | #define BATTERY_MAX 3 57 | 58 | typedef struct { 59 | Attack attack[BATTERY_PATTERN_MAX]; 60 | Battery battery[BATTERY_MAX]; 61 | int batteryNum; 62 | BatteryShape shape; 63 | Limiter limiter; 64 | } BatteryGroup; 65 | 66 | #define BATTERY_GROUP_MAX 10 67 | #define MOVE_POINT_MAX 4 68 | #define COLLISION_NUM 5 69 | 70 | #define CREATING 0 71 | #define ATTACKING 1 72 | #define CHANGE 2 73 | #define LAST_ATTACK 3 74 | #define DESTROIED 4 75 | #define DESTROIED_END 5 76 | 77 | typedef struct { 78 | Attack topAttack[BATTERY_PATTERN_MAX]; 79 | Battery topBattery; 80 | Limiter topLimiter; 81 | BatteryShape shape; 82 | BatteryGroup batteryGroup[BATTERY_GROUP_MAX]; 83 | int batteryGroupNum; 84 | int x, y, d; 85 | int mpx[MOVE_POINT_MAX], mpy[MOVE_POINT_MAX]; 86 | int mpNum, mpIdx; 87 | int speed, md; 88 | int onRoute; 89 | int patternIdx, patternNum; 90 | int patternCnt, patternLgt; 91 | 92 | int color; 93 | int bulletShape[3]; 94 | float bulletSize[3]; 95 | 96 | int collisionX[COLLISION_NUM], collisionY[COLLISION_NUM], collisionYUp; 97 | int shield, patternChangeShield; 98 | int damaged, damageCnt, cnt; 99 | int state, stateCnt; 100 | int r, g, b; 101 | } Boss; 102 | 103 | #define BOSS_WING_MAX 2 104 | 105 | typedef struct { 106 | float x[BOSS_WING_MAX][2], y[BOSS_WING_MAX][2], z[BOSS_WING_MAX][2]; 107 | int wingNum; 108 | float size; 109 | } BossWing; 110 | 111 | #define TREE_MAX_LENGTH 5 112 | 113 | typedef struct { 114 | float x[TREE_MAX_LENGTH], y[TREE_MAX_LENGTH], z[TREE_MAX_LENGTH]; 115 | float ex[BATTERY_MAX], ey[BATTERY_MAX], ez[BATTERY_MAX]; 116 | BossWing wing[TREE_MAX_LENGTH], eWing[BATTERY_MAX]; 117 | int posNum, epNum; 118 | int diffuse; 119 | } BossTree; 120 | 121 | typedef struct { 122 | BossTree tree[BATTERY_GROUP_MAX]; 123 | int r, g, b; 124 | int diffuse; 125 | } BossShape; 126 | 127 | extern "C" { 128 | #include "boss_mtd.h" 129 | } 130 | #endif 131 | -------------------------------------------------------------------------------- /src/bulletml/boost/scoped_array.hpp: -------------------------------------------------------------------------------- 1 | #ifndef BOOST_SCOPED_ARRAY_HPP_INCLUDED 2 | #define BOOST_SCOPED_ARRAY_HPP_INCLUDED 3 | 4 | // (C) Copyright Greg Colvin and Beman Dawes 1998, 1999. 5 | // Copyright (c) 2001, 2002 Peter Dimov 6 | // 7 | // Permission to copy, use, modify, sell and distribute this software 8 | // is granted provided this copyright notice appears in all copies. 9 | // This software is provided "as is" without express or implied 10 | // warranty, and with no claim as to its suitability for any purpose. 11 | // 12 | // http://www.boost.org/libs/smart_ptr/scoped_array.htm 13 | // 14 | 15 | #include 16 | #include 17 | #include // in case ptrdiff_t not in std 18 | #include // for std::ptrdiff_t 19 | 20 | namespace boost 21 | { 22 | 23 | // Debug hooks 24 | 25 | #if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) 26 | 27 | void sp_array_constructor_hook(void * p); 28 | void sp_array_destructor_hook(void * p); 29 | 30 | #endif 31 | 32 | // scoped_array extends scoped_ptr to arrays. Deletion of the array pointed to 33 | // is guaranteed, either on destruction of the scoped_array or via an explicit 34 | // reset(). Use shared_array or std::vector if your needs are more complex. 35 | 36 | template class scoped_array // noncopyable 37 | { 38 | private: 39 | 40 | T * ptr; 41 | 42 | scoped_array(scoped_array const &); 43 | scoped_array & operator=(scoped_array const &); 44 | 45 | typedef scoped_array this_type; 46 | 47 | public: 48 | 49 | typedef T element_type; 50 | 51 | explicit scoped_array(T * p = 0) : ptr(p) // never throws 52 | { 53 | #if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) 54 | boost::sp_array_constructor_hook(ptr); 55 | #endif 56 | } 57 | 58 | ~scoped_array() // never throws 59 | { 60 | #if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) 61 | boost::sp_array_destructor_hook(ptr); 62 | #endif 63 | boost::checked_array_delete(ptr); 64 | } 65 | 66 | void reset(T * p = 0) // never throws 67 | { 68 | BOOST_ASSERT(p == 0 || p != ptr); // catch self-reset errors 69 | this_type(p).swap(*this); 70 | } 71 | 72 | T & operator[](std::ptrdiff_t i) const // never throws 73 | { 74 | BOOST_ASSERT(ptr != 0); 75 | BOOST_ASSERT(i >= 0); 76 | return ptr[i]; 77 | } 78 | 79 | T * get() const // never throws 80 | { 81 | return ptr; 82 | } 83 | 84 | // implicit conversion to "bool" 85 | 86 | typedef T * (this_type::*unspecified_bool_type)() const; 87 | 88 | operator unspecified_bool_type() const // never throws 89 | { 90 | return ptr == 0? 0: &this_type::get; 91 | } 92 | 93 | bool operator! () const // never throws 94 | { 95 | return ptr == 0; 96 | } 97 | 98 | void swap(scoped_array & b) // never throws 99 | { 100 | T * tmp = b.ptr; 101 | b.ptr = ptr; 102 | ptr = tmp; 103 | } 104 | 105 | }; 106 | 107 | template inline void swap(scoped_array & a, scoped_array & b) // never throws 108 | { 109 | a.swap(b); 110 | } 111 | 112 | } // namespace boost 113 | 114 | #endif // #ifndef BOOST_SCOPED_ARRAY_HPP_INCLUDED 115 | -------------------------------------------------------------------------------- /src/screen.h: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: screen.h,v 1.4 2003/04/26 03:24:16 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Opengl screen functions header file. 9 | * 10 | * @version $Revision: 1.4 $ 11 | */ 12 | #include "SDL.h" 13 | 14 | #include 15 | #include 16 | 17 | #define PAD_UP 1 18 | #define PAD_DOWN 2 19 | #define PAD_LEFT 4 20 | #define PAD_RIGHT 8 21 | #define PAD_BUTTON1 16 22 | #define PAD_BUTTON2 32 23 | #define PAD_BUTTONP 64 24 | 25 | #define DEFAULT_BRIGHTNESS 224 26 | 27 | extern float eyeX, eyeY, eyeZ; 28 | extern float pitch, roll; 29 | extern float zoom; 30 | extern Uint8 *keys; 31 | extern SDL_Joystick *stick; 32 | extern int buttonReversed; 33 | extern int lowres; 34 | extern int windowMode; 35 | extern int brightness; 36 | 37 | int getPadState(); 38 | int getButtonState(); 39 | 40 | void loadModel(char *fileName, GLuint *model); 41 | void loadGLTexture(char*, GLuint*); 42 | void generateTexture(GLuint*); 43 | void deleteTexture(GLuint*); 44 | void initSDL(); 45 | void closeSDL(); 46 | void resized(int, int); 47 | void drawGLSceneStart(); 48 | void drawGLSceneEnd(); 49 | void swapGLScene(); 50 | 51 | void setScreenShake(int type, int cnt); 52 | void moveScreenShake(); 53 | 54 | void drawBox(GLfloat x, GLfloat y, GLfloat width, GLfloat height, int r, int g, int b); 55 | void drawLine(GLfloat, GLfloat, GLfloat, 56 | GLfloat, GLfloat, GLfloat, int, int, int, int); 57 | void drawLinePart(GLfloat x1, GLfloat y1, GLfloat z1, 58 | GLfloat x2, GLfloat y2, GLfloat z2, int r, int g, int b, int a, int len); 59 | void drawRollLineAbs(GLfloat x1, GLfloat y1, GLfloat z1, 60 | GLfloat x2, GLfloat y2, GLfloat z2, int r, int g, int b, int a, int d1); 61 | void drawRollLine(GLfloat x, GLfloat y, GLfloat z, GLfloat width, 62 | int r, int g, int b, int a, int d1, int d2); 63 | void drawSquare(GLfloat x1, GLfloat y1, GLfloat z1, 64 | GLfloat x2, GLfloat y2, GLfloat z2, 65 | GLfloat x3, GLfloat y3, GLfloat z3, 66 | GLfloat x4, GLfloat y4, GLfloat z4, 67 | int r, int g, int b); 68 | void drawStar(int f, GLfloat x, GLfloat y, GLfloat z, int r, int g, int b, float size); 69 | void drawLaser(GLfloat x, GLfloat y, GLfloat width, GLfloat height, 70 | int cc1, int cc2, int cc3, int cc4, int cnt, int type); 71 | void drawCore(GLfloat x, GLfloat y, int cnt, int r, int g, int b); 72 | void drawShipShape(GLfloat x, GLfloat y, float d, int inv); 73 | void drawBomb(GLfloat x, GLfloat y, GLfloat width, int cnt); 74 | void drawCircle(GLfloat x, GLfloat y, GLfloat width, int cnt, 75 | int r1, int g1, int b1, int r2, int b2, int g2); 76 | void drawShape(GLfloat x, GLfloat y, GLfloat size, int d, int cnt, int type, 77 | int r, int g, int b); 78 | void drawShapeIka(GLfloat x, GLfloat y, GLfloat size, int d, int cnt, int type, int c); 79 | void drawShot(GLfloat x, GLfloat y, GLfloat d, int c, float width, float height); 80 | void startDrawBoards(); 81 | void endDrawBoards(); 82 | void drawSideBoards(); 83 | void drawTitleBoard(); 84 | 85 | int drawNum(int n, int x ,int y, int s, int r, int g, int b); 86 | int drawNumRight(int n, int x ,int y, int s, int r, int g, int b); 87 | int drawNumCenter(int n, int x ,int y, int s, int r, int g, int b); 88 | int drawTimeCenter(int n, int x ,int y, int s, int r, int g, int b); 89 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/compiler/intel.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // Intel compiler setup: 9 | 10 | #include "boost/config/compiler/common_edg.hpp" 11 | 12 | #ifdef __ICL 13 | # define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(__ICL) 14 | # define BOOST_INTEL_CXX_VERSION __ICL 15 | #else 16 | # define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(__ICC) 17 | # define BOOST_INTEL_CXX_VERSION __ICC 18 | #endif 19 | 20 | #if (BOOST_INTEL_CXX_VERSION <= 500) && defined(_MSC_VER) 21 | # define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS 22 | # define BOOST_NO_TEMPLATE_TEMPLATES 23 | #endif 24 | 25 | #if (BOOST_INTEL_CXX_VERSION <= 600) || !defined(BOOST_STRICT_CONFIG) 26 | 27 | # if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov) 28 | 29 | // Intel C++ 5.0.1 uses EDG 2.45, but fails to activate Koenig lookup 30 | // in the frontend even in "strict" mode, unless you use 31 | // -Qoption,cpp,--arg_dep_lookup. (reported by Kirk Klobe & Thomas Witt) 32 | // Similarly, -Qoption,cpp,--new_for_init enables new-style "for" loop 33 | // variable scoping. (reported by Thomas Witt) 34 | // Intel C++ 6.0 (currently in Beta test) doesn't have any front-end 35 | // changes at all. (reported by Kirk Klobe) 36 | // That can't be right, since it supports template template 37 | // arguments (reported by Dave Abrahams) 38 | # ifndef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP 39 | # define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP 40 | # endif 41 | # define BOOST_NO_SWPRINTF 42 | # endif 43 | 44 | // Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov) 45 | 46 | # if defined(_MSC_VER) && (_MSC_VER <= 1200) 47 | # define BOOST_NO_VOID_RETURNS 48 | # define BOOST_NO_INTEGRAL_INT64_T 49 | # endif 50 | 51 | #endif 52 | 53 | #if _MSC_VER+0 >= 1000 54 | # ifndef _NATIVE_WCHAR_T_DEFINED 55 | # define BOOST_NO_INTRINSIC_WCHAR_T 56 | # endif 57 | # if _MSC_VER >= 1200 58 | # define BOOST_HAS_MS_INT64 59 | # endif 60 | # define BOOST_NO_SWPRINTF 61 | #elif defined(_WIN32) 62 | # define BOOST_DISABLE_WIN32 63 | #endif 64 | 65 | // I checked version 6.0 build 020312Z, it implements the NRVO. 66 | // Correct this as you find out which version of the compiler 67 | // implemented the NRVO first. (Daniel Frey) 68 | #if (BOOST_INTEL_CXX_VERSION >= 600) 69 | # define BOOST_HAS_NRVO 70 | #endif 71 | 72 | // 73 | // versions check: 74 | // we don't support Intel prior to version 5.0: 75 | #if BOOST_INTEL_CXX_VERSION < 500 76 | # error "Compiler not supported or configured - please reconfigure" 77 | #endif 78 | // 79 | // last known and checked version: 80 | #if (BOOST_INTEL_CXX_VERSION > 700) 81 | # if defined(BOOST_ASSERT_CONFIG) 82 | # error "Unknown compiler version - please run the configure tests and report the results" 83 | # elif defined(_MSC_VER) 84 | # pragma message("Unknown compiler version - please run the configure tests and report the results") 85 | # endif 86 | #endif 87 | 88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /src/bulletml/boost/detail/lwm_win32.hpp: -------------------------------------------------------------------------------- 1 | #ifndef BOOST_DETAIL_LWM_WIN32_HPP_INCLUDED 2 | #define BOOST_DETAIL_LWM_WIN32_HPP_INCLUDED 3 | 4 | #if _MSC_VER >= 1020 5 | #pragma once 6 | #endif 7 | 8 | // 9 | // boost/detail/lwm_win32.hpp 10 | // 11 | // Copyright (c) 2002, 2003 Peter Dimov 12 | // 13 | // Permission to copy, use, modify, sell and distribute this software 14 | // is granted provided this copyright notice appears in all copies. 15 | // This software is provided "as is" without express or implied 16 | // warranty, and with no claim as to its suitability for any purpose. 17 | // 18 | 19 | #ifdef BOOST_USE_WINDOWS_H 20 | # include 21 | #endif 22 | 23 | #ifdef __BORLANDC__ 24 | # pragma warn -8027 // Functions containing while are not expanded inline 25 | #endif 26 | 27 | namespace boost 28 | { 29 | 30 | namespace detail 31 | { 32 | 33 | #ifndef BOOST_USE_WINDOWS_H 34 | 35 | #ifdef _WIN64 36 | 37 | // Intel 6.0 on Win64 version, posted by Tim Fenders to [boost-users] 38 | 39 | extern "C" long_type __cdecl _InterlockedExchange(long volatile *, long); 40 | 41 | #pragma intrinsic(_InterlockedExchange) 42 | 43 | inline long InterlockedExchange(long volatile* lp, long l) 44 | { 45 | return _InterlockedExchange(lp, l); 46 | } 47 | 48 | #else // _WIN64 49 | 50 | extern "C" __declspec(dllimport) long __stdcall InterlockedExchange(long volatile *, long); 51 | 52 | #endif // _WIN64 53 | 54 | extern "C" __declspec(dllimport) void __stdcall Sleep(unsigned long); 55 | 56 | #endif // #ifndef BOOST_USE_WINDOWS_H 57 | 58 | class lightweight_mutex 59 | { 60 | private: 61 | 62 | long l_; 63 | 64 | lightweight_mutex(lightweight_mutex const &); 65 | lightweight_mutex & operator=(lightweight_mutex const &); 66 | 67 | public: 68 | 69 | lightweight_mutex(): l_(0) 70 | { 71 | } 72 | 73 | class scoped_lock; 74 | friend class scoped_lock; 75 | 76 | class scoped_lock 77 | { 78 | private: 79 | 80 | lightweight_mutex & m_; 81 | 82 | scoped_lock(scoped_lock const &); 83 | scoped_lock & operator=(scoped_lock const &); 84 | 85 | public: 86 | 87 | explicit scoped_lock(lightweight_mutex & m): m_(m) 88 | { 89 | while( InterlockedExchange(&m_.l_, 1) ) 90 | { 91 | // Note: changed to Sleep(1) from Sleep(0). 92 | // According to MSDN, Sleep(0) will never yield 93 | // to a lower-priority thread, whereas Sleep(1) 94 | // will. Performance seems not to be affected. 95 | 96 | Sleep(1); 97 | } 98 | } 99 | 100 | ~scoped_lock() 101 | { 102 | InterlockedExchange(&m_.l_, 0); 103 | 104 | // Note: adding a yield here will make 105 | // the spinlock more fair and will increase the overall 106 | // performance of some applications substantially in 107 | // high contention situations, but will penalize the 108 | // low contention / single thread case up to 5x 109 | } 110 | }; 111 | }; 112 | 113 | } // namespace detail 114 | 115 | } // namespace boost 116 | 117 | #ifdef __BORLANDC__ 118 | # pragma warn .8027 // Functions containing while are not expanded inline 119 | #endif 120 | 121 | #endif // #ifndef BOOST_DETAIL_LWM_WIN32_HPP_INCLUDED 122 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/stdlib/dinkumware.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // Dinkumware standard library config: 9 | 10 | #if !defined(_YVALS) && !defined(_CPPLIB_VER) 11 | #include 12 | #if !defined(_YVALS) && !defined(_CPPLIB_VER) 13 | #error This is not the Dinkumware lib! 14 | #endif 15 | #endif 16 | 17 | 18 | #if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306) 19 | // full dinkumware 3.06 and above 20 | // fully conforming provided the compiler supports it: 21 | # if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(_STD) // can be defined in yvals.h 22 | # define BOOST_NO_STDC_NAMESPACE 23 | # endif 24 | # if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC) 25 | # define BOOST_NO_STD_ALLOCATOR 26 | # endif 27 | # if defined(_MSC_VER) && (_MSC_VER < 1300) 28 | // if this lib version is set up for vc6 then there is no std::use_facet: 29 | # define BOOST_NO_STD_USE_FACET 30 | # define BOOST_HAS_TWO_ARG_USE_FACET 31 | // C lib functions aren't in namespace std either: 32 | # define BOOST_NO_STDC_NAMESPACE 33 | // and nor is 34 | # define BOOST_NO_EXCEPTION_STD_NAMESPACE 35 | # endif 36 | // There's no numeric_limits support unless _LONGLONG is defined: 37 | # if !defined(_LONGLONG) && (_CPPLIB_VER <= 310) 38 | # define BOOST_NO_MS_INT64_NUMERIC_LIMITS 39 | # endif 40 | // 3.06 appears to have (non-sgi versions of) & , 41 | // and no at all 42 | #else 43 | # define BOOST_MSVC_STD_ITERATOR 1 44 | # define BOOST_NO_STD_ITERATOR 45 | # define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS 46 | # define BOOST_NO_STD_ALLOCATOR 47 | # define BOOST_NO_STDC_NAMESPACE 48 | # define BOOST_NO_STD_USE_FACET 49 | # define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN 50 | # define BOOST_HAS_MACRO_USE_FACET 51 | # ifndef _CPPLIB_VER 52 | // Updated Dinkum library defines this, and provides 53 | // its own min and max definitions. 54 | # define BOOST_NO_STD_MIN_MAX 55 | # define BOOST_NO_MS_INT64_NUMERIC_LIMITS 56 | # endif 57 | #endif 58 | 59 | #if (defined(_MSC_VER) && (_MSC_VER <= 1300)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306) 60 | // if we're using a dinkum lib that's 61 | // been configured for VC6/7 then there is 62 | // no iterator traits (true even for icl) 63 | # define BOOST_NO_STD_ITERATOR_TRAITS 64 | #endif 65 | 66 | #if defined(__ICL) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310) 67 | // Intel C++ chokes over any non-trivial use of 68 | // this may be an overly restrictive define, but regex fails without it: 69 | # define BOOST_NO_STD_LOCALE 70 | #endif 71 | 72 | #ifdef _CPPLIB_VER 73 | # define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER 74 | #else 75 | # define BOOST_DINKUMWARE_STDLIB 1 76 | #endif 77 | 78 | #ifdef _CPPLIB_VER 79 | # define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER) 80 | #else 81 | # define BOOST_STDLIB "Dinkumware standard library version 1.x" 82 | #endif 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/stdlib/sgi.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // generic SGI STL: 9 | 10 | #if !defined(__STL_CONFIG_H) 11 | # include 12 | # if !defined(__STL_CONFIG_H) 13 | # error "This is not the SGI STL!" 14 | # endif 15 | #endif 16 | 17 | // 18 | // No std::iterator traits without partial specialisation: 19 | // 20 | #if !defined(__STL_CLASS_PARTIAL_SPECIALIZATION) 21 | # define BOOST_NO_STD_ITERATOR_TRAITS 22 | #endif 23 | 24 | // 25 | // No std::stringstream with gcc < 3 26 | // 27 | #if defined(__GNUC__) && (__GNUC__ < 3) && \ 28 | ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \ 29 | !defined(__STL_USE_NEW_IOSTREAMS) || \ 30 | defined(__APPLE_CC__) 31 | // Note that we only set this for GNU C++ prior to 2.95 since the 32 | // latest patches for that release do contain a minimal 33 | // If you are running a 2.95 release prior to 2.95.3 then this will need 34 | // setting, but there is no way to detect that automatically (other 35 | // than by running the configure script). 36 | // Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't 37 | // have . 38 | # define BOOST_NO_STRINGSTREAM 39 | #endif 40 | 41 | // 42 | // Assume no std::locale without own iostreams (this may be an 43 | // incorrect assumption in some cases): 44 | // 45 | #if !defined(__SGI_STL_OWN_IOSTREAMS) && !defined(__STL_USE_NEW_IOSTREAMS) 46 | # define BOOST_NO_STD_LOCALE 47 | #endif 48 | 49 | // 50 | // Original native SGI streams have non-standard std::messages facet: 51 | // 52 | #if defined(__sgi) && (_COMPILER_VERSION <= 650) && !defined(__SGI_STL_OWN_IOSTREAMS) 53 | # define BOOST_NO_STD_LOCALE 54 | #endif 55 | 56 | // 57 | // SGI's new iostreams have missing "const" in messages<>::open 58 | // 59 | #if defined(__sgi) && (_COMPILER_VERSION <= 730) && defined(__STL_USE_NEW_IOSTREAMS) 60 | # define BOOST_NO_STD_MESSAGES 61 | #endif 62 | 63 | // 64 | // No template iterator constructors, or std::allocator 65 | // without member templates: 66 | // 67 | #if !defined(__STL_MEMBER_TEMPLATES) 68 | # define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS 69 | # define BOOST_NO_STD_ALLOCATOR 70 | #endif 71 | 72 | // 73 | // We always have SGI style hash_set, hash_map, and slist: 74 | // 75 | #define BOOST_HAS_HASH 76 | #define BOOST_HAS_SLIST 77 | 78 | // 79 | // If this is GNU libstdc++2, then no and no std::wstring: 80 | // 81 | #if (defined(__GNUC__) && (__GNUC__ < 3)) 82 | # include 83 | # if defined(__BASTRING__) 84 | # define BOOST_NO_LIMITS 85 | // Note: will provide compile-time constants 86 | # undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS 87 | # define BOOST_NO_STD_WSTRING 88 | # endif 89 | #endif 90 | 91 | // 92 | // There is no standard iterator unless we have namespace support: 93 | // 94 | #if !defined(__STL_USE_NAMESPACES) 95 | # define BOOST_NO_STD_ITERATOR 96 | #endif 97 | 98 | // 99 | // Intrinsic type_traits support. 100 | // The SGI STL has it's own __type_traits class, which 101 | // has intrinsic compiler support with SGI's compilers. 102 | // Whatever map SGI style type traits to boost equivalents: 103 | // 104 | #define BOOST_HAS_SGI_TYPE_TRAITS 105 | 106 | #define BOOST_STDLIB "SGI standard library" 107 | 108 | -------------------------------------------------------------------------------- /src/laser.c: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: laser.c,v 1.3 2003/04/26 03:24:15 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * Handle players laser. 9 | * 10 | * @version $Revision: 1.3 $ 11 | */ 12 | #include "SDL.h" 13 | 14 | #include "genmcr.h" 15 | #include "screen.h" 16 | #include "vector.h" 17 | #include "degutil.h" 18 | #include "laser.h" 19 | #include "ship.h" 20 | #include "frag.h" 21 | #include "boss_mtd.h" 22 | 23 | #define LASER_MAX 64 24 | 25 | #define LASER_SPEED 4096 26 | #define LASER_WIDTH 4800 27 | #define LASER_WIDTH_ADD 480 28 | 29 | Laser laser[LASER_MAX]; 30 | static int laserWidth, laserCnt; 31 | 32 | void initLasers() { 33 | int i; 34 | for ( i=0 ; i= LASER_MAX ) return; 53 | laser[laserIdx].y = LASER_SPEED; 54 | laser[laserIdx].color = laserColor; 55 | laserColor -= LASER_COLOR_SPEED; laserColor &= 255; 56 | laser[laserIdx].cnt = 0; 57 | laserWidth += LASER_WIDTH_ADD; 58 | if ( laserWidth > LASER_WIDTH ) laserWidth = LASER_WIDTH; 59 | laserAdded = 1; 60 | } 61 | 62 | void moveLasers() { 63 | int i; 64 | Laser *ls; 65 | int ry; 66 | int huy, hdy; 67 | if ( !laserAdded ) { 68 | laserWidth -= LASER_WIDTH_ADD; 69 | if ( laserWidth < 0 ) { 70 | laserWidth = 0; 71 | for ( i=0 ; iy -= LASER_SPEED; 89 | ry = ship.pos.y + ls->y; 90 | if ( huy < ry && ry < hdy ) { 91 | damageBossLaser(ls->cnt); 92 | if ( (laserCnt&3) == 0 ) { 93 | addLaserFrag(ship.pos.x, -ship.pos.y-ls->y, LASER_WIDTH); 94 | } 95 | ls->cnt = -1; 96 | continue; 97 | } 98 | if ( ry < -FIELD_HEIGHT_8/2 ) { 99 | ls->cnt = NOT_EXIST; 100 | continue; 101 | } 102 | ls->cnt++; 103 | } 104 | laserCnt++; 105 | } 106 | 107 | #define LASER_SCREEN_HEIGHT (LASER_SPEED/FIELD_SCREEN_RATIO) 108 | 109 | void drawLasers() { 110 | float x, y; 111 | int i; 112 | Laser *ls; 113 | int t; 114 | for ( i=0 ; iy) / FIELD_SCREEN_RATIO; 119 | if ( ls->cnt > 1 ) t = 1; 120 | else if ( ls->cnt == 1 ) t = 0; 121 | else t = 2; 122 | drawLaser(x, y, (float)laserWidth/FIELD_SCREEN_RATIO, LASER_SCREEN_HEIGHT, 123 | ls->color, 124 | (ls->color+LASER_COLOR_SPEED)&255, 125 | (ls->color+LASER_COLOR_SPEED*2)&255, 126 | (ls->color+LASER_COLOR_SPEED*3)&255, 127 | laserCnt, t); 128 | } 129 | } 130 | 131 | -------------------------------------------------------------------------------- /src/bulletml/boost/scoped_ptr.hpp: -------------------------------------------------------------------------------- 1 | #ifndef BOOST_SCOPED_PTR_HPP_INCLUDED 2 | #define BOOST_SCOPED_PTR_HPP_INCLUDED 3 | 4 | // (C) Copyright Greg Colvin and Beman Dawes 1998, 1999. 5 | // Copyright (c) 2001, 2002 Peter Dimov 6 | // 7 | // Permission to copy, use, modify, sell and distribute this software 8 | // is granted provided this copyright notice appears in all copies. 9 | // This software is provided "as is" without express or implied 10 | // warranty, and with no claim as to its suitability for any purpose. 11 | // 12 | // http://www.boost.org/libs/smart_ptr/scoped_ptr.htm 13 | // 14 | 15 | #include 16 | #include 17 | 18 | #ifndef BOOST_NO_AUTO_PTR 19 | # include // for std::auto_ptr 20 | #endif 21 | 22 | namespace boost 23 | { 24 | 25 | // Debug hooks 26 | 27 | #if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) 28 | 29 | void sp_scalar_constructor_hook(void * p); 30 | void sp_scalar_destructor_hook(void * p); 31 | 32 | #endif 33 | 34 | // scoped_ptr mimics a built-in pointer except that it guarantees deletion 35 | // of the object pointed to, either on destruction of the scoped_ptr or via 36 | // an explicit reset(). scoped_ptr is a simple solution for simple needs; 37 | // use shared_ptr or std::auto_ptr if your needs are more complex. 38 | 39 | template class scoped_ptr // noncopyable 40 | { 41 | private: 42 | 43 | T * ptr; 44 | 45 | scoped_ptr(scoped_ptr const &); 46 | scoped_ptr & operator=(scoped_ptr const &); 47 | 48 | typedef scoped_ptr this_type; 49 | 50 | public: 51 | 52 | typedef T element_type; 53 | 54 | explicit scoped_ptr(T * p = 0): ptr(p) // never throws 55 | { 56 | #if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) 57 | boost::sp_scalar_constructor_hook(ptr); 58 | #endif 59 | } 60 | 61 | #ifndef BOOST_NO_AUTO_PTR 62 | 63 | explicit scoped_ptr(std::auto_ptr p): ptr(p.release()) // never throws 64 | { 65 | #if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) 66 | boost::sp_scalar_constructor_hook(ptr); 67 | #endif 68 | } 69 | 70 | #endif 71 | 72 | ~scoped_ptr() // never throws 73 | { 74 | #if defined(BOOST_SP_ENABLE_DEBUG_HOOKS) 75 | boost::sp_scalar_destructor_hook(ptr); 76 | #endif 77 | boost::checked_delete(ptr); 78 | } 79 | 80 | void reset(T * p = 0) // never throws 81 | { 82 | BOOST_ASSERT(p == 0 || p != ptr); // catch self-reset errors 83 | this_type(p).swap(*this); 84 | } 85 | 86 | T & operator*() const // never throws 87 | { 88 | BOOST_ASSERT(ptr != 0); 89 | return *ptr; 90 | } 91 | 92 | T * operator->() const // never throws 93 | { 94 | BOOST_ASSERT(ptr != 0); 95 | return ptr; 96 | } 97 | 98 | T * get() const // never throws 99 | { 100 | return ptr; 101 | } 102 | 103 | // implicit conversion to "bool" 104 | 105 | typedef T * (this_type::*unspecified_bool_type)() const; 106 | 107 | operator unspecified_bool_type() const // never throws 108 | { 109 | return ptr == 0? 0: &this_type::get; 110 | } 111 | 112 | bool operator! () const // never throws 113 | { 114 | return ptr == 0; 115 | } 116 | 117 | void swap(scoped_ptr & b) // never throws 118 | { 119 | T * tmp = b.ptr; 120 | b.ptr = ptr; 121 | ptr = tmp; 122 | } 123 | }; 124 | 125 | template inline void swap(scoped_ptr & a, scoped_ptr & b) // never throws 126 | { 127 | a.swap(b); 128 | } 129 | 130 | // get_pointer(p) is a generic way to say p.get() 131 | 132 | template inline T * get_pointer(scoped_ptr const & p) 133 | { 134 | return p.get(); 135 | } 136 | 137 | } // namespace boost 138 | 139 | #endif // #ifndef BOOST_SCOPED_PTR_HPP_INCLUDED 140 | -------------------------------------------------------------------------------- /src/bulletml/boost/config/posix_features.hpp: -------------------------------------------------------------------------------- 1 | // (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and 2 | // distribute this software is granted provided this copyright notice appears 3 | // in all copies. This software is provided "as is" without express or implied 4 | // warranty, and with no claim as to its suitability for any purpose. 5 | 6 | // See http://www.boost.org for most recent version. 7 | 8 | // All POSIX feature tests go in this file, 9 | // Note that we test _POSIX_C_SOURCE and _XOPEN_SOURCE as well 10 | // _POSIX_VERSION and _XOPEN_VERSION: on some systems POSIX API's 11 | // may be present but none-functional unless _POSIX_C_SOURCE and 12 | // _XOPEN_SOURCE have been defined to the right value (it's up 13 | // to the user to do this *before* including any header, although 14 | // in most cases the compiler will do this for you). 15 | 16 | # if defined(BOOST_HAS_UNISTD_H) 17 | # include 18 | 19 | // XOpen has , but is this the correct version check? 20 | # if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3) 21 | # define BOOST_HAS_NL_TYPES_H 22 | # endif 23 | 24 | // POSIX version 6 requires 25 | # if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100) 26 | # define BOOST_HAS_STDINT_H 27 | # endif 28 | 29 | // POSIX version 2 requires 30 | # if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L) 31 | # define BOOST_HAS_DIRENT_H 32 | # endif 33 | 34 | // POSIX version 3 requires to have sigaction: 35 | # if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L) 36 | # define BOOST_HAS_SIGACTION 37 | # endif 38 | // POSIX defines _POSIX_THREADS > 0 for pthread support, 39 | // however some platforms define _POSIX_THREADS without 40 | // a value, hence the (_POSIX_THREADS+0 >= 0) check. 41 | // Strictly speaking this may catch platforms with a 42 | // non-functioning stub , but such occurrences should 43 | // occur very rarely if at all. 44 | # if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS) 45 | # define BOOST_HAS_PTHREADS 46 | # endif 47 | 48 | // BOOST_HAS_NANOSLEEP: 49 | // This is predicated on _POSIX_TIMERS or _XOPEN_REALTIME: 50 | # if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) \ 51 | || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) 52 | # define BOOST_HAS_NANOSLEEP 53 | # endif 54 | 55 | // BOOST_HAS_CLOCK_GETTIME: 56 | // This is predicated on _POSIX_TIMERS (also on _XOPEN_REALTIME 57 | // but at least one platform - linux - defines that flag without 58 | // defining clock_gettime): 59 | # if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) 60 | # define BOOST_HAS_CLOCK_GETTIME 61 | # endif 62 | 63 | // BOOST_HAS_SCHED_YIELD: 64 | // This is predicated on _POSIX_PRIORITY_SCHEDULING or 65 | // on _POSIX_THREAD_PRIORITY_SCHEDULING or on _XOPEN_REALTIME. 66 | # if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING+0 > 0)\ 67 | || (defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING+0 > 0))\ 68 | || (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0)) 69 | # define BOOST_HAS_SCHED_YIELD 70 | # endif 71 | 72 | // BOOST_HAS_GETTIMEOFDAY: 73 | // BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE: 74 | // These are predicated on _XOPEN_VERSION, and appears to be first released 75 | // in issue 4, version 2 (_XOPEN_VERSION > 500). 76 | # if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500) 77 | # define BOOST_HAS_GETTIMEOFDAY 78 | # if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) 79 | # define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE 80 | # endif 81 | # endif 82 | 83 | # endif 84 | 85 | 86 | -------------------------------------------------------------------------------- /src/soundmanager.c: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id: soundmanager.c,v 1.3 2003/04/26 03:24:16 kenta Exp $ 3 | * 4 | * Copyright 2003 Kenta Cho. All rights reserved. 5 | */ 6 | 7 | /** 8 | * BGM/SE manager(using SDL_mixer). 9 | * 10 | * @version $Revision: 1.3 $ 11 | */ 12 | #include "SDL.h" 13 | #include 14 | #include 15 | #include 16 | #include 17 | 18 | #include "SDL_mixer.h" 19 | #include "soundmanager.h" 20 | 21 | static int useAudio = 0; 22 | 23 | #define MUSIC_NUM 3 24 | 25 | static char *musicFileName[MUSIC_NUM] = { 26 | "stg_a.ogg", "stg_b.ogg", "stg_c.ogg", 27 | }; 28 | static Mix_Music *music[MUSIC_NUM]; 29 | 30 | #define CHUNK_NUM 16 31 | 32 | static char *chunkFileName[CHUNK_NUM] = { 33 | "laser_start.wav", "laser.wav", "damage.wav", "bomb.wav", 34 | "destroied.wav", "explosion1.wav", "explosion2.wav", "miss.wav", "extend.wav", 35 | "grz.wav", "grzinv.wav", 36 | "shot.wav", "change.wav", 37 | "reflec1.wav", "reflec2.wav", "ref_ready.wav", 38 | }; 39 | static Mix_Chunk *chunk[CHUNK_NUM]; 40 | static int chunkChannel[CHUNK_NUM] = { 41 | 0, 1, 2, 3, 42 | 4, 5, 6, 7, 4, 43 | 6, 7, 44 | 6, 7, 45 | 7, 7, 7, 46 | }; 47 | 48 | void closeSound() { 49 | int i; 50 | if ( !useAudio ) return; 51 | if ( Mix_PlayingMusic() ) { 52 | Mix_HaltMusic(); 53 | } 54 | for ( i=0 ; i