├── 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