diff --git a/ports/parsec47/PARSEC47.sh b/ports/parsec47/PARSEC47.sh new file mode 100644 index 0000000000..c9cac7d330 --- /dev/null +++ b/ports/parsec47/PARSEC47.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +XDG_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share} + +if [ -d "/opt/system/Tools/PortMaster/" ]; then + controlfolder="/opt/system/Tools/PortMaster" +elif [ -d "/opt/tools/PortMaster/" ]; then + controlfolder="/opt/tools/PortMaster" +elif [ -d "$XDG_DATA_HOME/PortMaster/" ]; then + controlfolder="$XDG_DATA_HOME/PortMaster" +else + controlfolder="/roms/ports/PortMaster" +fi + +source $controlfolder/control.txt + +[ -f "${controlfolder}/mod_${CFW_NAME}.txt" ] && source "${controlfolder}/mod_${CFW_NAME}.txt" + +get_controls + +GAMEDIR=/$directory/ports/parsec47 +CONFDIR="$GAMEDIR/conf" +BINARY=PARSEC47 + +> "$GAMEDIR/log.txt" && exec > >(tee "$GAMEDIR/log.txt") 2>&1 + +mkdir -p "$GAMEDIR/conf" + +cd $GAMEDIR + +export LD_LIBRARY_PATH="$GAMEDIR/libs.${DEVICE_ARCH}:$LD_LIBRARY_PATH" +export SDL_GAMECONTROLLERCONFIG="$sdl_controllerconfig" +export TEXTINPUTINTERACTIVE="Y" + +if [ -f "${controlfolder}/libgl_${CFW_NAME}.txt" ]; then + source "${controlfolder}/libgl_${CFW_NAME}.txt" +else + source "${controlfolder}/libgl_default.txt" +fi + +$GPTOKEYB "$BINARY" -c ./$BINARY.gptk & +pm_platform_helper "$GAMEDIR/$BINARY" +./$BINARY +pm_finish \ No newline at end of file diff --git a/ports/parsec47/README.md b/ports/parsec47/README.md new file mode 100644 index 0000000000..fd2890e1f9 --- /dev/null +++ b/ports/parsec47/README.md @@ -0,0 +1,19 @@ +# Thanks +Thanks to the [Kenta Cho & M-HT](http://www.asahi-net.or.jp/~cs8k-cyu/windows/p47_e.html) for making this game and making it available for free. + +## Controls + +| Button | Action | +|--|--| +|DPAD| Move | +|A| Shoot | +|B| Slow / Roll, Lock | +|x| Pause| + +## Building + +``` +git clone https://github.com/Cebion/parsec47_pm.git +compile libbulletml in subfolder +sources/buildLinux.sh +``` diff --git a/ports/parsec47/gameinfo.xml b/ports/parsec47/gameinfo.xml new file mode 100644 index 0000000000..cc92d4d97b --- /dev/null +++ b/ports/parsec47/gameinfo.xml @@ -0,0 +1,13 @@ + + + + ./PARSEC47.sh + PARSEC47 + PARSEC47 is a retromodern hi-speed shoot 'em up where you get to defeat retro enemies modernly. The player must destroy enemies while avoiding their projectiles and collecting green clusters of boxes for points. + 20031129T000000 + Kenta Cho + Self-Published + Shmup + ./parsec47/screenshot.png + + \ No newline at end of file diff --git a/ports/parsec47/parsec47/PARSEC47 b/ports/parsec47/parsec47/PARSEC47 new file mode 100644 index 0000000000..0cdf2d7145 Binary files /dev/null and b/ports/parsec47/parsec47/PARSEC47 differ diff --git a/ports/parsec47/parsec47/PARSEC47.gptk b/ports/parsec47/parsec47/PARSEC47.gptk new file mode 100644 index 0000000000..6bef2dcb26 --- /dev/null +++ b/ports/parsec47/parsec47/PARSEC47.gptk @@ -0,0 +1,32 @@ +back = esc +start = enter + +a = z +b = x +x = p +y = \" + +l1 = \" +l2 = \" +r1 = \" +r2 = \" + +up = up +down = down +left = left +right = right + +left_analog_up = up +left_analog_down = down +left_analog_left = left +left_analog_right = right + +right_analog_up = \" +right_analog_down = \" +right_analog_left = \" +right_analog_right = \" + +deadzone_mode = scaled_radial +deadzone = 2000 +deadzone_scale = 8 +deadzone_delay = 16 \ No newline at end of file diff --git a/ports/parsec47/parsec47/conf/.gitkeep b/ports/parsec47/parsec47/conf/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/ports/parsec47/parsec47/gl4es.aarch64/libEGL.so.1 b/ports/parsec47/parsec47/gl4es.aarch64/libEGL.so.1 new file mode 100644 index 0000000000..863418b02b Binary files /dev/null and b/ports/parsec47/parsec47/gl4es.aarch64/libEGL.so.1 differ diff --git a/ports/parsec47/parsec47/gl4es.aarch64/libGL.so.1 b/ports/parsec47/parsec47/gl4es.aarch64/libGL.so.1 new file mode 100644 index 0000000000..b2fe743db1 Binary files /dev/null and b/ports/parsec47/parsec47/gl4es.aarch64/libGL.so.1 differ diff --git a/ports/parsec47/parsec47/images/title.bmp b/ports/parsec47/parsec47/images/title.bmp new file mode 100644 index 0000000000..d40e60aa34 Binary files /dev/null and b/ports/parsec47/parsec47/images/title.bmp differ diff --git a/ports/parsec47/parsec47/large/57way.xml b/ports/parsec47/parsec47/large/57way.xml new file mode 100644 index 0000000000..9bb30d19e2 --- /dev/null +++ b/ports/parsec47/parsec47/large/57way.xml @@ -0,0 +1,48 @@ + + + + + + + + -100 + + + 4 + + + 50 + + + + + 62-$rank*32 + + + + 26-$rank*8 + + -120 + + + 6 + + + 40 + + + + + 40-$rank*30 + + + + 0.7 + + + + 1 + + + diff --git a/ports/parsec47/parsec47/large/88way.xml b/ports/parsec47/parsec47/large/88way.xml new file mode 100644 index 0000000000..789362eeed --- /dev/null +++ b/ports/parsec47/parsec47/large/88way.xml @@ -0,0 +1,37 @@ + + + + + + + 1+$rank*4.7 + + + 360/(1+$rank*4.7) + + + 150/(1+$rank*4.7) + + + + + +$rand*0.5+0.5 + + 10+$rand*10 + 6 + + + 60 + + 0.9 + + + + + + + + + diff --git a/ports/parsec47/parsec47/large/allround.xml b/ports/parsec47/parsec47/large/allround.xml new file mode 100644 index 0000000000..422adf5c57 --- /dev/null +++ b/ports/parsec47/parsec47/large/allround.xml @@ -0,0 +1,21 @@ + + + + + + + 2+$rank*7.6 + + + 360/(2+$rank*7.6) + 1 + + + 1 + + + 42 + + + diff --git a/ports/parsec47/parsec47/large/dr1_boss_1.xml b/ports/parsec47/parsec47/large/dr1_boss_1.xml new file mode 100644 index 0000000000..cb79fc4271 --- /dev/null +++ b/ports/parsec47/parsec47/large/dr1_boss_1.xml @@ -0,0 +1,51 @@ + + + + + + + 90/(2+3*$rank) + + $rand*90-45 + + + + + + 90 + 6 + + $1 + + + 3 + + + 60 + 6 + + $1 + + + + + + + + + $1+$rand*20-10 + + + + + 1 + + $1 + 1 + + + + + + diff --git a/ports/parsec47/parsec47/large/dr1_boss_2.xml b/ports/parsec47/parsec47/large/dr1_boss_2.xml new file mode 100644 index 0000000000..a5fc76a3ea --- /dev/null +++ b/ports/parsec47/parsec47/large/dr1_boss_2.xml @@ -0,0 +1,45 @@ + + + + + + + + -30 + 0.5 + + + 2 + + + 30 + 0 + + + + + 4 + 1+$rank*6.9 + + + -30 + 0.2 + + + 2 + + + 30 + 0 + + + + + 4 + + + 45 + + + diff --git a/ports/parsec47/parsec47/large/forward_3way.xml b/ports/parsec47/parsec47/large/forward_3way.xml new file mode 100644 index 0000000000..6bc0c9fed1 --- /dev/null +++ b/ports/parsec47/parsec47/large/forward_3way.xml @@ -0,0 +1,50 @@ + + + + + + + + 90-$rand*180 + + + 54 + + + + 0.4 + + + $rand*360 + 1 + + + 2 + + + 118 + 1 + + + + + 2+$rank*7.2 + + 10-$rank*5 + 3 + + + 115 + 1 + + + + + + + + + + + diff --git a/ports/parsec47/parsec47/large/grow.xml b/ports/parsec47/parsec47/large/grow.xml new file mode 100644 index 0000000000..13a85253f9 --- /dev/null +++ b/ports/parsec47/parsec47/large/grow.xml @@ -0,0 +1,32 @@ + + + + + + + + 30-$rand*60 + 0.4 + + + + 5-$rand*10 + + 86 + + + + 3+$rank*12.6 + + + $1 + 0.05 + + + 5 + + + + + diff --git a/ports/parsec47/parsec47/large/growround.xml b/ports/parsec47/parsec47/large/growround.xml new file mode 100644 index 0000000000..53a41962f8 --- /dev/null +++ b/ports/parsec47/parsec47/large/growround.xml @@ -0,0 +1,42 @@ + + + + + + + + + + 1+$rank*6.2 + + 16 + + -20+$rank*10 + + + + + 56 + + + + + + + 1+$rank*6.2 + + 16 + + 20-$rank*10 + + + + + + + + 1 + + + diff --git a/ports/parsec47/parsec47/large/kr4_boss_rb_rockets.xml b/ports/parsec47/parsec47/large/kr4_boss_rb_rockets.xml new file mode 100644 index 0000000000..0722fcd746 --- /dev/null +++ b/ports/parsec47/parsec47/large/kr4_boss_rb_rockets.xml @@ -0,0 +1,55 @@ + + + + + + + + 20+$rand*10 + 40-$rand*80 + + 72-$rank*24 + + + + + + $2 + + $1 + + + + $2 + + $1*(-1) + + + + + + 1.5 + + + $1 + + + 1+$rank*1.7 + + 4 + + $1 + + + + + + + + + + 0.8 + + + diff --git a/ports/parsec47/parsec47/large/mnway.xml b/ports/parsec47/parsec47/large/mnway.xml new file mode 100644 index 0000000000..63651c6327 --- /dev/null +++ b/ports/parsec47/parsec47/large/mnway.xml @@ -0,0 +1,39 @@ + + + + + + + + 1+$rank*2.9 + 90/(1+$rank*2.9) + + 36 + + 1+$rank*2.9 + 90/(-1-$rank*2.9) + + 36 + + + + + $2*3 + + + $1 + + + $2 + + + + + + + + 1 + + + diff --git a/ports/parsec47/parsec47/large/nway.xml b/ports/parsec47/parsec47/large/nway.xml new file mode 100644 index 0000000000..026430212a --- /dev/null +++ b/ports/parsec47/parsec47/large/nway.xml @@ -0,0 +1,39 @@ + + + + + + + + 0 + + + 1+$rank*5.2 + + + 25 + + + + + + -25 + + + 1+$rank*5.2-1 + + + -25 + + + + + 50 + + + + 1 + + + diff --git a/ports/parsec47/parsec47/large/pxa_boss_opening.xml b/ports/parsec47/parsec47/large/pxa_boss_opening.xml new file mode 100644 index 0000000000..62f75e928d --- /dev/null +++ b/ports/parsec47/parsec47/large/pxa_boss_opening.xml @@ -0,0 +1,16 @@ + + + + + + + + -45+$rand*90 + 0.4+$rand*0.8 + + + 200/(10+$rank*20) + + + diff --git a/ports/parsec47/parsec47/large/spread2blt.xml b/ports/parsec47/parsec47/large/spread2blt.xml new file mode 100644 index 0000000000..4dd15b280b --- /dev/null +++ b/ports/parsec47/parsec47/large/spread2blt.xml @@ -0,0 +1,42 @@ + + + + + + + + 120 + + + 50 + + 240 + + + 50 + + + + 1 + + + 0.2 + 40 + + 20 + 2+$rank*8.2 + + + + $rand*360 + 0.7+$rand*0.5 + + + + + + + + + diff --git a/ports/parsec47/parsec47/large/wide_spread.xml b/ports/parsec47/parsec47/large/wide_spread.xml new file mode 100644 index 0000000000..6cf699aefd --- /dev/null +++ b/ports/parsec47/parsec47/large/wide_spread.xml @@ -0,0 +1,37 @@ + + + + + + + + $rand*150-75 + + + 32 + + + + + + -5-$rank*8 + + + 2+$rank*4.5 + + + 2.5 + + + + + + + + + + 1 + + + diff --git a/ports/parsec47/parsec47/largemove/down.xml b/ports/parsec47/parsec47/largemove/down.xml new file mode 100644 index 0000000000..8d8b94f4d7 --- /dev/null +++ b/ports/parsec47/parsec47/largemove/down.xml @@ -0,0 +1,14 @@ + + + + + + + + 0.3 + 1 + + + + diff --git a/ports/parsec47/parsec47/largemove/down_slow.xml b/ports/parsec47/parsec47/largemove/down_slow.xml new file mode 100644 index 0000000000..09076507f8 --- /dev/null +++ b/ports/parsec47/parsec47/largemove/down_slow.xml @@ -0,0 +1,14 @@ + + + + + + + + 0.2 + 1 + + + + diff --git a/ports/parsec47/parsec47/libs.aarch64/libbulletml.so.0d2 b/ports/parsec47/parsec47/libs.aarch64/libbulletml.so.0d2 new file mode 100644 index 0000000000..6acc6f5cd3 Binary files /dev/null and b/ports/parsec47/parsec47/libs.aarch64/libbulletml.so.0d2 differ diff --git a/ports/parsec47/parsec47/licenses/LICENSE_gl4es.txt b/ports/parsec47/parsec47/licenses/LICENSE_gl4es.txt new file mode 100644 index 0000000000..f34587f4f2 --- /dev/null +++ b/ports/parsec47/parsec47/licenses/LICENSE_gl4es.txt @@ -0,0 +1,20 @@ +Copyright (c) 2016-2018 Sebastien Chevalier +Copyright (c) 2013-2016 Ryan Hileman + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/ports/parsec47/parsec47/licenses/LICENSE_libbulletml.txt b/ports/parsec47/parsec47/licenses/LICENSE_libbulletml.txt new file mode 100644 index 0000000000..0e4a0e0139 --- /dev/null +++ b/ports/parsec47/parsec47/licenses/LICENSE_libbulletml.txt @@ -0,0 +1,165 @@ +libBulletML 0.0.5 + +* Abstract + +It is a C++ library to handle BulletML, the Bullet Markup +Language. You can use BulletML in your program without bothering to +parse XML. + +If you want to know BulletML more, please see following web site by +ABA (author of BulletML): +http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/index_e.html + + +* Usage + +You can use it with VC and BorlandC++ and gcc and I wish, almost all +compiler that supports standard C++. + +An example of this library is available in my software "siroi +danmakukun": +http://user.ecc.u-tokyo.ac.jp/~s31552/wp/sdmkun/sdmkun-1.5.6.zip +You can see usage of this library in src/command_bulletml.* . + + +* Tutorial + +This library's basic usage is event driven model. + +0. Get XML file written in BulletML. + +You can use BulletML file in "siroi danmakukun". (bosses.d/*.xml in +archive) + +1. Include headers + +#include "bulletml/bulletmlparser.h" +#include "bulletml/bulletmlparser-tinyxml.h" +#include "bulletml/bulletmlrunner.h" + +2. Create class that inherits BulletMLRunner + +class BulletCommand : public BulletMLRunner { + // ... + + // the bullet you will handle + Bullet* bullet_; +} + +3. Implement all pure virtual function defined in bulletmlrunner.h + +For example: +class BulletCommand : public BulletMLRunner { + virtual void doVanish() { + bullet_->die(); + } + + // ... and other pure virtual functions +} + +createSimpleBullet and createBullet method should be implemented +carefully. In libBulletML, all bullets are divided to two +types. createSimpleBullet type does not have , createBullet +type has . For example, "siroi danmakukun" uses two class: +Shot and Enemy. + +When libBulletML handle element that does not have +element, BulletMLRunner calls createSimpleBullet method with two +arguments: direction and speed. + +In the other hand, if element has element, +BulletMLRunner calls createBullet method with three arguments: +direction, speed, and state. You should not care the detail of the +state argument. But it should be given to the class derived from +BulletMLRunner in its constructor. The creation of this class is +described in next section. + +4. Create of the class derived from BulletMLRunner + +In libBulletML, the batteries are divided two types. One type is the +battery that is defined in (first order battery), +and one type is the battery that is created by the other battery +(second, third, forth... battery). + +Then, you should create two constructors to handle these two kind of +batteries. + +For example, first order battery is implemented like following: + +BulletCommand::BulletCommand(BulletMLParser* bp, Bullet* b) + : BulletMLRunner(bp), bullet_(b) + +For example, second, third... order battery is implemented like following: + +BulletCommand::BulletCommand(BulletMLState* bs, Bullet* b) + : BulletMLRunner(bs), bullet_(b) + +You should call this constructor when createBullet method is called. + +5. Create BulletML document + +BulletMLParser* bp = new BulletMLParserTinyXML("foo.xml"); +bp->build(); + +Because parsing BulletML is slow, all xml files should be loaded in +the initialization of the program. + +6. Create first order battery + +BulletCommand* bc = new BulletCommand(bp) + +7. Run BulletCommand in all turn. + +while (1) { + // the main loop of game + + bc->run(); +} + +If some errors are occured, libBulletML throws BulletMLError. You can +catch this exception. + + +* Misc + +TinyXML is used to parse XML. +http://www.gibaradunn.srac.org/tiny/index.shtml + +If you cannot understand this document (yes, it's poor document and +writen in poor English), please ask me with email. + + +* Modified BSD License + +Copyright (c) 2003, shinichiro.h All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * The name of the author may not be used to endorse or promote + products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +shinichiro.h + hamaji@nii.ac.jp + http://shinh.skr.jp/ diff --git a/ports/parsec47/parsec47/licenses/LICENSE_parsec47.txt b/ports/parsec47/parsec47/licenses/LICENSE_parsec47.txt new file mode 100644 index 0000000000..25440803f9 --- /dev/null +++ b/ports/parsec47/parsec47/licenses/LICENSE_parsec47.txt @@ -0,0 +1,147 @@ +PARSEC47 readme_e.txt +for Windows98/2000/XP(OpenGL required) +ver. 0.2 +(C) Kenta Cho + +Defeat retro enemies modenly. +Retromodern hispeed shmup, 'PARSEC47'. + + +- How to install. + +Unpack p47_0_2.zip, and execute 'p47.exe'. +(If the game is too heavy for your PC, please try 'p47_lowres.bat'. + This batch file launches the game in the low resolution mode.) + + +- How to play. + + - Movement Arrow/Num key / Joystick + - Shot [Z][L-Ctrl] / Trigger 1, 4, 5, 8 + - Slow / Roll, Lock [X][L-Alt][L-Shift] / Trigger 2, 3, 6, 7 + - Pause [P] + +Select the stage by a keyboard or a joystick. +Press a shot key to start the game. +All stages are endless and created randomly each time. +The game continues until you lose all ships. + +Control your ship and destroy enemies. +While holding a slow key, the ship becomes slow. + +You can also select the game mode from 2 types. +Press a slow key in the title screen to change the game mode. +Each mode has a different barrage pattern. + +. Roll mode +Hold a slow key to charge the roll shot energy. +The roll shot is fired when you release the key. + +. Lock mode +While holding a slow key, you can shot the lock-on laser +that aims an enemy in the front of your ship. + +The ship extends 200,000 and every 500,000 points. + +These options are available: + -brightness n Set the brightness of the screen.(n = 0 - 100, default = 100) + -luminous n Set the luminous intensity.(n = 0 - 100, default = 0) + -lowres Use the low resolution mode. + -nosound Stop the sound. + -window Launch the game in the window, not use the full-screen. + -reverse Reverse the shot key and the slow key. + -slowship Use the slow speed ship in all game modes. + -nowait Disable the intentional slowdown. + + +- Comments + +If you have any comments, please mail to cs8k-cyu@asahi-net.or.jp + + +- Webpage + +PARSEC47 webpage: +http://www.asahi-net.or.jp/~cs8k-cyu/windows/p47_e.html + + +- Acknowledgement + +PARSEC47 is written in the D Programming Language. + D Programming Language + http://www.digitalmars.com/d/index.html + +libBulletML is used to parse BulletML files. + libBulletML + http://user.ecc.u-tokyo.ac.jp/~s31552/wp/libbulletml/ + +Simple DirectMedia Layer is used for the display handling. + Simple DirectMedia Layer + http://www.libsdl.org/ + +SDL_mixer and Ogg Vorbis CODEC to play BGM/SE. + SDL_mixer 1.2 + http://www.libsdl.org/projects/SDL_mixer/ + Vorbis.com + http://www.vorbis.com/ + +Using D Header files at DedicateD for OpgnGL and SDL, and +at D - porting for SDL_mixer. + DedicateD + http://int19h.tamb.ru/files.html + D - porting + http://user.ecc.u-tokyo.ac.jp/~s31552/wp/d/porting.html + +Mersenne Twister to create the random number. + http://www.math.keio.ac.jp/matumoto/emt.html + + +- History + +2004 1/ 1 ver. 0.2 + Add the lock mode. + Adjust barrages. + Fix the bullets' disappearance bug. +2003 12/21 ver. 0.13 + Add the '-slowship' option. + A slow bullet disappears after a while. + Fix the screen resize bug. +2003 12/ 5 ver. 0.12 + Adjust the enemies' appearance position. + Adjust barrages. +2003 11/30 ver. 0.11 + Fix the incorrect line draw function. + Adjust the size of the field. + Adjust barrages. + The roll shot power weaken. +2003 11/29 ver. 0.1 + + +-- License + +License +------- + +Copyright 2003 Kenta Cho. All rights reserved. + +Redistribution and use in source and binary forms, +with or without modification, are permitted provided that +the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/ports/parsec47/parsec47/middle/2round.xml b/ports/parsec47/parsec47/middle/2round.xml new file mode 100644 index 0000000000..dde94f0859 --- /dev/null +++ b/ports/parsec47/parsec47/middle/2round.xml @@ -0,0 +1,39 @@ + + + + + + + + + + 5 + + + 59 + + + + + $rank*4.4 + + 10+$rank*10 + 6 + + + 59 + + + + + + + 40 + + + + 1.2 + + + diff --git a/ports/parsec47/parsec47/middle/4way.xml b/ports/parsec47/parsec47/middle/4way.xml new file mode 100644 index 0000000000..1bf3643298 --- /dev/null +++ b/ports/parsec47/parsec47/middle/4way.xml @@ -0,0 +1,31 @@ + + + + + + + 99 + + + -32 + + + 3 + + + 20 + + + + + 50-$rank*25 + + + + + + 1 + + + diff --git a/ports/parsec47/parsec47/middle/double_roll_seeds.xml b/ports/parsec47/parsec47/middle/double_roll_seeds.xml new file mode 100644 index 0000000000..9710cd460c --- /dev/null +++ b/ports/parsec47/parsec47/middle/double_roll_seeds.xml @@ -0,0 +1,47 @@ + + + + + + + + 1 + + + + + + -1 + + + + + + 0 + + + + 180 + + + 99 + + 32-16*$rank + + (15-$rank*8)*$1 + + + + 180 + + + + + + + + 1.2 + + + diff --git a/ports/parsec47/parsec47/middle/dr1_boss_3.xml b/ports/parsec47/parsec47/middle/dr1_boss_3.xml new file mode 100644 index 0000000000..aee3e9ff2e --- /dev/null +++ b/ports/parsec47/parsec47/middle/dr1_boss_3.xml @@ -0,0 +1,53 @@ + + + + + + + + + 1.1 + 0 + + + + + + 0.7 + 14 + + + 52 + + + +0 + + + $2 + $1 + + + 2+$rank*3.2 + + 16 + + 360/(2+$rank*3.2) + $1 + + + + + + + + + diff --git a/ports/parsec47/parsec47/middle/kr3_boss_fastspread.xml b/ports/parsec47/parsec47/middle/kr3_boss_fastspread.xml new file mode 100644 index 0000000000..a9b95504e9 --- /dev/null +++ b/ports/parsec47/parsec47/middle/kr3_boss_fastspread.xml @@ -0,0 +1,35 @@ + + + + + + + + 1 + + 45 + + -1 + + 45 + + + + + (-10)*$1 + 1.0 + + + 2+$rank*5.2 + + + (36-$rank*12)*$1 + -0.06 + + + + + + + diff --git a/ports/parsec47/parsec47/middle/nwroll.xml b/ports/parsec47/parsec47/middle/nwroll.xml new file mode 100644 index 0000000000..ceb406fd9a --- /dev/null +++ b/ports/parsec47/parsec47/middle/nwroll.xml @@ -0,0 +1,41 @@ + + + + + + + 99 + + + 112 + + + 42 + + + + + + + + 0 + + + 1+$rank*4.2 + + + 5 + + + + + + + + + + 0.8 + + + diff --git a/ports/parsec47/parsec47/middle/roll2way.xml b/ports/parsec47/parsec47/middle/roll2way.xml new file mode 100644 index 0000000000..c09cec4b22 --- /dev/null +++ b/ports/parsec47/parsec47/middle/roll2way.xml @@ -0,0 +1,23 @@ + + + + + + + 99 + + + 180-10 + + + + 180 + + + 24-$rank*13 + + + + + diff --git a/ports/parsec47/parsec47/middle/roll4way.xml b/ports/parsec47/parsec47/middle/roll4way.xml new file mode 100644 index 0000000000..7fe9924157 --- /dev/null +++ b/ports/parsec47/parsec47/middle/roll4way.xml @@ -0,0 +1,43 @@ + + + + + + + + 0 + + + 3 + + + 90 + + + + + 99 + + 42-$rank*21 + + 90+(2+20*$rank) + + + 3 + + + 90 + + + + + + + + + + 1 + + + diff --git a/ports/parsec47/parsec47/middle/shotgun.xml b/ports/parsec47/parsec47/middle/shotgun.xml new file mode 100644 index 0000000000..213c2f135e --- /dev/null +++ b/ports/parsec47/parsec47/middle/shotgun.xml @@ -0,0 +1,37 @@ + + + + + + + + 180 + + + 90 + + + + 0.5 + + + -50 + 1 + + + + 2+$rank*4.7 + + 5-$rank*2 + + 25-$rank*3 + 1 + + + + + + + + diff --git a/ports/parsec47/parsec47/middle/spread_bf.xml b/ports/parsec47/parsec47/middle/spread_bf.xml new file mode 100644 index 0000000000..a63866c456 --- /dev/null +++ b/ports/parsec47/parsec47/middle/spread_bf.xml @@ -0,0 +1,48 @@ + + + + + + + + 4+$rank*9.5 + 120/(4+$rank*10.2) + 120/(-4-$rank*10.2) + + + + + + 120 + + + 99 + + $1 + + 20-$rank*9.5 + + $2 + + + + + $1 + + 20-$rank*9.5 + + $3 + + + + + + + + + + 1 + + + diff --git a/ports/parsec47/parsec47/middlebackmove/up.xml b/ports/parsec47/parsec47/middlebackmove/up.xml new file mode 100644 index 0000000000..8d8b94f4d7 --- /dev/null +++ b/ports/parsec47/parsec47/middlebackmove/up.xml @@ -0,0 +1,14 @@ + + + + + + + + 0.3 + 1 + + + + diff --git a/ports/parsec47/parsec47/middlemove/back.xml b/ports/parsec47/parsec47/middlemove/back.xml new file mode 100644 index 0000000000..72181c48ec --- /dev/null +++ b/ports/parsec47/parsec47/middlemove/back.xml @@ -0,0 +1,24 @@ + + + + + + + + 0.4+$rand*0.3 + 1 + +50+$rand*30 + + 0 + 60 + +120+$rand*30 + + -0.3 + 60 + + + + diff --git a/ports/parsec47/parsec47/middlemove/curve.xml b/ports/parsec47/parsec47/middlemove/curve.xml new file mode 100644 index 0000000000..97479e07b6 --- /dev/null +++ b/ports/parsec47/parsec47/middlemove/curve.xml @@ -0,0 +1,18 @@ + + + + + + + + 50-$rand*100 + 20 + + + 0.3 + 1 + + + + diff --git a/ports/parsec47/parsec47/middlemove/down.xml b/ports/parsec47/parsec47/middlemove/down.xml new file mode 100644 index 0000000000..8d8b94f4d7 --- /dev/null +++ b/ports/parsec47/parsec47/middlemove/down.xml @@ -0,0 +1,14 @@ + + + + + + + + 0.3 + 1 + + + + diff --git a/ports/parsec47/parsec47/middlemove/down_fast.xml b/ports/parsec47/parsec47/middlemove/down_fast.xml new file mode 100644 index 0000000000..c9c76d73e3 --- /dev/null +++ b/ports/parsec47/parsec47/middlemove/down_fast.xml @@ -0,0 +1,14 @@ + + + + + + + + 0.4 + 1 + + + + diff --git a/ports/parsec47/parsec47/middlemove/down_slow.xml b/ports/parsec47/parsec47/middlemove/down_slow.xml new file mode 100644 index 0000000000..09076507f8 --- /dev/null +++ b/ports/parsec47/parsec47/middlemove/down_slow.xml @@ -0,0 +1,14 @@ + + + + + + + + 0.2 + 1 + + + + diff --git a/ports/parsec47/parsec47/middlesub/shot.xml b/ports/parsec47/parsec47/middlesub/shot.xml new file mode 100644 index 0000000000..70e1e4e935 --- /dev/null +++ b/ports/parsec47/parsec47/middlesub/shot.xml @@ -0,0 +1,20 @@ + + + + + + + 1+$rank*3.4 + + + 1 + + + 20 + + + 999 + + + diff --git a/ports/parsec47/parsec47/middlesub_lock/shot.xml b/ports/parsec47/parsec47/middlesub_lock/shot.xml new file mode 100644 index 0000000000..54fdf83525 --- /dev/null +++ b/ports/parsec47/parsec47/middlesub_lock/shot.xml @@ -0,0 +1,20 @@ + + + + + + + 1+$rank*4.4 + + + 1 + + + 24-$rank*8 + + + 999 + + + diff --git a/ports/parsec47/parsec47/morph/248shot.xml b/ports/parsec47/parsec47/morph/248shot.xml new file mode 100644 index 0000000000..7e57f7f8ff --- /dev/null +++ b/ports/parsec47/parsec47/morph/248shot.xml @@ -0,0 +1,39 @@ + + + + + + + + 30 + 0 + + + $rank*2.2 + + + 60 + -0.1 + + + + + + -30 + 0 + + + $rank*2.2 + + + -60 + -0.1 + + + + + + + + diff --git a/ports/parsec47/parsec47/morph/3way.xml b/ports/parsec47/parsec47/morph/3way.xml new file mode 100644 index 0000000000..cd05b1b079 --- /dev/null +++ b/ports/parsec47/parsec47/morph/3way.xml @@ -0,0 +1,20 @@ + + + + + + + + -36 + $rank*0.3 + + + + 36 + $rank*0.3 + + + + + diff --git a/ports/parsec47/parsec47/morph/6gt.xml b/ports/parsec47/parsec47/morph/6gt.xml new file mode 100644 index 0000000000..05fb54ee6c --- /dev/null +++ b/ports/parsec47/parsec47/morph/6gt.xml @@ -0,0 +1,67 @@ + + + + + + + 1 + + + 0 + $rank + + 120 + 0.1 + + + + + + 0 + $rank + + 0 + -0.2 + + + + + + 0 + $rank + + -120 + 0.1 + + + + + + + + + + $1 + 1 + + 2 + + 0-$1 + 1 + + 1 + + 0 + $2-$rank + + + + + + diff --git a/ports/parsec47/parsec47/morph/accel.xml b/ports/parsec47/parsec47/morph/accel.xml new file mode 100644 index 0000000000..07fcef76a1 --- /dev/null +++ b/ports/parsec47/parsec47/morph/accel.xml @@ -0,0 +1,26 @@ + + + + + + + + 0 + 0 + + + $rank*2.8+1 + + + 0 + 0.12 + + + 4 + + + + + + diff --git a/ports/parsec47/parsec47/morph/bar.xml b/ports/parsec47/parsec47/morph/bar.xml new file mode 100644 index 0000000000..9b71d86738 --- /dev/null +++ b/ports/parsec47/parsec47/morph/bar.xml @@ -0,0 +1,25 @@ + + + + + + + + 0 + 0 + + + 1+$rank*1.7 + + + 0 + 0.1+$rank*0.05 + + + + + + + + diff --git a/ports/parsec47/parsec47/morph/divide.xml b/ports/parsec47/parsec47/morph/divide.xml new file mode 100644 index 0000000000..5ef0ae0851 --- /dev/null +++ b/ports/parsec47/parsec47/morph/divide.xml @@ -0,0 +1,21 @@ + + + + + + + + 8+$rank*12 + 0 + + + + -8-$rank*12 + 0 + + + + + + diff --git a/ports/parsec47/parsec47/morph/fire_slowshot.xml b/ports/parsec47/parsec47/morph/fire_slowshot.xml new file mode 100644 index 0000000000..c90bc76b82 --- /dev/null +++ b/ports/parsec47/parsec47/morph/fire_slowshot.xml @@ -0,0 +1,16 @@ + + + + + + + 4 + + ($rank*10+5)*$rand + -0.4 + + + + + diff --git a/ports/parsec47/parsec47/morph/kr1b_bit_shot.xml b/ports/parsec47/parsec47/morph/kr1b_bit_shot.xml new file mode 100644 index 0000000000..2cb057d3bc --- /dev/null +++ b/ports/parsec47/parsec47/morph/kr1b_bit_shot.xml @@ -0,0 +1,36 @@ + + + + + + + + 0 + -0.9 + + + $rank*2.7 + + 2 + + 0 + 0.3 + + + + + + + + + + 8 + + 1 + 60 + + + + + diff --git a/ports/parsec47/parsec47/morph/nway.xml b/ports/parsec47/parsec47/morph/nway.xml new file mode 100644 index 0000000000..5d2c5fc60e --- /dev/null +++ b/ports/parsec47/parsec47/morph/nway.xml @@ -0,0 +1,39 @@ + + + + + + + + 0 + 0 + + + $rank*3.2 + + + 60 + -0.1 + + + + + + -60 + -0.1 + + + $rank*3.2-1 + + + -60 + -0.1 + + + + + + + + diff --git a/ports/parsec47/parsec47/morph/side_back_shot.xml b/ports/parsec47/parsec47/morph/side_back_shot.xml new file mode 100644 index 0000000000..7f8be1220d --- /dev/null +++ b/ports/parsec47/parsec47/morph/side_back_shot.xml @@ -0,0 +1,21 @@ + + + + + + + 10+$rank*5 + + 135 + 0 + + + + -135 + 0 + + + + + diff --git a/ports/parsec47/parsec47/morph/sideway.xml b/ports/parsec47/parsec47/morph/sideway.xml new file mode 100644 index 0000000000..50c87b98d3 --- /dev/null +++ b/ports/parsec47/parsec47/morph/sideway.xml @@ -0,0 +1,31 @@ + + + + + + + + 0 + 0 + + + + 3.3 + + + + + + 1+$rank*1.7 + + + $1 + -0.08 + + + + + + + diff --git a/ports/parsec47/parsec47/morph/slowdown.xml b/ports/parsec47/parsec47/morph/slowdown.xml new file mode 100644 index 0000000000..c28b1cfc3f --- /dev/null +++ b/ports/parsec47/parsec47/morph/slowdown.xml @@ -0,0 +1,26 @@ + + + + + + + + -0.7 + 6+$rank*4 + + 6+$rank*4 + + 0.7+$rank*0.3 + 7 + + 7 + + 0 + 0 + + + + + + diff --git a/ports/parsec47/parsec47/morph/spread.xml b/ports/parsec47/parsec47/morph/spread.xml new file mode 100644 index 0000000000..e9ddebd34a --- /dev/null +++ b/ports/parsec47/parsec47/morph/spread.xml @@ -0,0 +1,39 @@ + + + + + + + + 0 + -0.2 + + + 1+$rank*1.6 + + + 76-$rank*26 + 0.2 + + + + + + -76+$rank*26 + 0 + + + $rank*1.6 + + + -76+$rank*26 + 0.2 + + + + + + + + diff --git a/ports/parsec47/parsec47/morph/twin.xml b/ports/parsec47/parsec47/morph/twin.xml new file mode 100644 index 0000000000..190a4ca781 --- /dev/null +++ b/ports/parsec47/parsec47/morph/twin.xml @@ -0,0 +1,56 @@ + + + + + + + + 1 + + + 0 + $rank + + 90 + + + + + + 0 + $rank + + -90 + + + + + + + + + + $1 + 1 + + 2 + + 0-$1 + 1 + + 1 + + 0 + -$rank + + + + + + diff --git a/ports/parsec47/parsec47/morph/wide.xml b/ports/parsec47/parsec47/morph/wide.xml new file mode 100644 index 0000000000..038e64600b --- /dev/null +++ b/ports/parsec47/parsec47/morph/wide.xml @@ -0,0 +1,26 @@ + + + + + + + + 0 + 0 + + + + 1+$rank + 0 + + + + -1-$rank + 0 + + + + + + diff --git a/ports/parsec47/parsec47/morph_lock/248shot.xml b/ports/parsec47/parsec47/morph_lock/248shot.xml new file mode 100644 index 0000000000..648bb9a0de --- /dev/null +++ b/ports/parsec47/parsec47/morph_lock/248shot.xml @@ -0,0 +1,25 @@ + + + + + + + + 0 + 0 + + + 1+$rank*1.7 + + + 90 + -0.1 + + + + + + + + diff --git a/ports/parsec47/parsec47/morph_lock/3way.xml b/ports/parsec47/parsec47/morph_lock/3way.xml new file mode 100644 index 0000000000..69f6ccb127 --- /dev/null +++ b/ports/parsec47/parsec47/morph_lock/3way.xml @@ -0,0 +1,20 @@ + + + + + + + + -90+$rank*20 + $rank*0.3 + + + + 90-$rank*20 + $rank*0.3 + + + + + diff --git a/ports/parsec47/parsec47/morph_lock/6gt.xml b/ports/parsec47/parsec47/morph_lock/6gt.xml new file mode 100644 index 0000000000..37f4d3a638 --- /dev/null +++ b/ports/parsec47/parsec47/morph_lock/6gt.xml @@ -0,0 +1,67 @@ + + + + + + + 1 + + + 0 + $rank + + 120 + 0.08 + + + + + + 0 + $rank + + 0 + -0.08 + + + + + + 0 + $rank + + -120 + 0.08 + + + + + + + + + + $1 + 1 + + 1 + + 0-$1 + 1 + + 1 + + 0 + $2-$rank + + + + + + diff --git a/ports/parsec47/parsec47/morph_lock/accel.xml b/ports/parsec47/parsec47/morph_lock/accel.xml new file mode 100644 index 0000000000..cede5d4f25 --- /dev/null +++ b/ports/parsec47/parsec47/morph_lock/accel.xml @@ -0,0 +1,26 @@ + + + + + + + + 0 + 0 + + + $rank*1.8+1 + + + 0 + 0.11 + + + 4 + + + + + + diff --git a/ports/parsec47/parsec47/morph_lock/bar.xml b/ports/parsec47/parsec47/morph_lock/bar.xml new file mode 100644 index 0000000000..a4ccbd53d5 --- /dev/null +++ b/ports/parsec47/parsec47/morph_lock/bar.xml @@ -0,0 +1,25 @@ + + + + + + + + 0 + 0 + + + $rank*1.7 + + + 0 + 0.08+$rank*0.05 + + + + + + + + diff --git a/ports/parsec47/parsec47/morph_lock/divide.xml b/ports/parsec47/parsec47/morph_lock/divide.xml new file mode 100644 index 0000000000..14ccb9a849 --- /dev/null +++ b/ports/parsec47/parsec47/morph_lock/divide.xml @@ -0,0 +1,23 @@ + + + + + + + + 64-$rank*10 + -0.1 + + + + -64+$rank*10 + -0.1 + + + + + + diff --git a/ports/parsec47/parsec47/morph_lock/fire_slowshot.xml b/ports/parsec47/parsec47/morph_lock/fire_slowshot.xml new file mode 100644 index 0000000000..487387ac36 --- /dev/null +++ b/ports/parsec47/parsec47/morph_lock/fire_slowshot.xml @@ -0,0 +1,16 @@ + + + + + + + 4 + + ($rank*4+2)*$rand + -0.3 + + + + + diff --git a/ports/parsec47/parsec47/morph_lock/kr1b_bit_shot.xml b/ports/parsec47/parsec47/morph_lock/kr1b_bit_shot.xml new file mode 100644 index 0000000000..577b642527 --- /dev/null +++ b/ports/parsec47/parsec47/morph_lock/kr1b_bit_shot.xml @@ -0,0 +1,36 @@ + + + + + + + + 0 + -0.9 + + + $rank*1.7 + + 2 + + 0 + 0.3 + + + + + + + + + + 8 + + 1 + 60 + + + + + diff --git a/ports/parsec47/parsec47/morph_lock/nway.xml b/ports/parsec47/parsec47/morph_lock/nway.xml new file mode 100644 index 0000000000..5d2c5fc60e --- /dev/null +++ b/ports/parsec47/parsec47/morph_lock/nway.xml @@ -0,0 +1,39 @@ + + + + + + + + 0 + 0 + + + $rank*3.2 + + + 60 + -0.1 + + + + + + -60 + -0.1 + + + $rank*3.2-1 + + + -60 + -0.1 + + + + + + + + diff --git a/ports/parsec47/parsec47/morph_lock/side_back_shot.xml b/ports/parsec47/parsec47/morph_lock/side_back_shot.xml new file mode 100644 index 0000000000..7f8be1220d --- /dev/null +++ b/ports/parsec47/parsec47/morph_lock/side_back_shot.xml @@ -0,0 +1,21 @@ + + + + + + + 10+$rank*5 + + 135 + 0 + + + + -135 + 0 + + + + + diff --git a/ports/parsec47/parsec47/morph_lock/sideway.xml b/ports/parsec47/parsec47/morph_lock/sideway.xml new file mode 100644 index 0000000000..b20a623b36 --- /dev/null +++ b/ports/parsec47/parsec47/morph_lock/sideway.xml @@ -0,0 +1,31 @@ + + + + + + + + 0 + 0 + + + + 1 + + + + + + 1+$rank*1.7 + + + $1 + -0.08 + + + + + + + diff --git a/ports/parsec47/parsec47/morph_lock/slowdown.xml b/ports/parsec47/parsec47/morph_lock/slowdown.xml new file mode 100644 index 0000000000..a79f444669 --- /dev/null +++ b/ports/parsec47/parsec47/morph_lock/slowdown.xml @@ -0,0 +1,26 @@ + + + + + + + + -0.7 + 7+$rank*5 + + 7+$rank*5 + + 0.7+$rank*0.3 + 8 + + 8 + + 0 + 0 + + + + + + diff --git a/ports/parsec47/parsec47/morph_lock/spread.xml b/ports/parsec47/parsec47/morph_lock/spread.xml new file mode 100644 index 0000000000..ec5f2e2b4d --- /dev/null +++ b/ports/parsec47/parsec47/morph_lock/spread.xml @@ -0,0 +1,39 @@ + + + + + + + + 0 + -0.2 + + + 1+$rank*1.6 + + + 90-$rank*26 + 0.2 + + + + + + -90+$rank*26 + 0 + + + $rank*1.6 + + + -90+$rank*26 + 0.2 + + + + + + + + diff --git a/ports/parsec47/parsec47/morph_lock/twin.xml b/ports/parsec47/parsec47/morph_lock/twin.xml new file mode 100644 index 0000000000..a37aababb1 --- /dev/null +++ b/ports/parsec47/parsec47/morph_lock/twin.xml @@ -0,0 +1,56 @@ + + + + + + + + 1 + + + 0 + $rank + + 90 + + + + + + 0 + $rank + + -90 + + + + + + + + + + $1 + 1 + + 1 + + 0-$1 + 1 + + 1 + + 0 + -$rank + + + + + + diff --git a/ports/parsec47/parsec47/morph_lock/wide.xml b/ports/parsec47/parsec47/morph_lock/wide.xml new file mode 100644 index 0000000000..7f6f6ee133 --- /dev/null +++ b/ports/parsec47/parsec47/morph_lock/wide.xml @@ -0,0 +1,26 @@ + + + + + + + + 0 + 0 + + + + 1+$rank*0.6 + 0 + + + + -1-$rank*0.6 + 0 + + + + + + diff --git a/ports/parsec47/parsec47/p47.prf b/ports/parsec47/parsec47/p47.prf new file mode 100644 index 0000000000..68a808f3ed Binary files /dev/null and b/ports/parsec47/parsec47/p47.prf differ diff --git a/ports/parsec47/parsec47/readme_e.txt b/ports/parsec47/parsec47/readme_e.txt new file mode 100644 index 0000000000..25440803f9 --- /dev/null +++ b/ports/parsec47/parsec47/readme_e.txt @@ -0,0 +1,147 @@ +PARSEC47 readme_e.txt +for Windows98/2000/XP(OpenGL required) +ver. 0.2 +(C) Kenta Cho + +Defeat retro enemies modenly. +Retromodern hispeed shmup, 'PARSEC47'. + + +- How to install. + +Unpack p47_0_2.zip, and execute 'p47.exe'. +(If the game is too heavy for your PC, please try 'p47_lowres.bat'. + This batch file launches the game in the low resolution mode.) + + +- How to play. + + - Movement Arrow/Num key / Joystick + - Shot [Z][L-Ctrl] / Trigger 1, 4, 5, 8 + - Slow / Roll, Lock [X][L-Alt][L-Shift] / Trigger 2, 3, 6, 7 + - Pause [P] + +Select the stage by a keyboard or a joystick. +Press a shot key to start the game. +All stages are endless and created randomly each time. +The game continues until you lose all ships. + +Control your ship and destroy enemies. +While holding a slow key, the ship becomes slow. + +You can also select the game mode from 2 types. +Press a slow key in the title screen to change the game mode. +Each mode has a different barrage pattern. + +. Roll mode +Hold a slow key to charge the roll shot energy. +The roll shot is fired when you release the key. + +. Lock mode +While holding a slow key, you can shot the lock-on laser +that aims an enemy in the front of your ship. + +The ship extends 200,000 and every 500,000 points. + +These options are available: + -brightness n Set the brightness of the screen.(n = 0 - 100, default = 100) + -luminous n Set the luminous intensity.(n = 0 - 100, default = 0) + -lowres Use the low resolution mode. + -nosound Stop the sound. + -window Launch the game in the window, not use the full-screen. + -reverse Reverse the shot key and the slow key. + -slowship Use the slow speed ship in all game modes. + -nowait Disable the intentional slowdown. + + +- Comments + +If you have any comments, please mail to cs8k-cyu@asahi-net.or.jp + + +- Webpage + +PARSEC47 webpage: +http://www.asahi-net.or.jp/~cs8k-cyu/windows/p47_e.html + + +- Acknowledgement + +PARSEC47 is written in the D Programming Language. + D Programming Language + http://www.digitalmars.com/d/index.html + +libBulletML is used to parse BulletML files. + libBulletML + http://user.ecc.u-tokyo.ac.jp/~s31552/wp/libbulletml/ + +Simple DirectMedia Layer is used for the display handling. + Simple DirectMedia Layer + http://www.libsdl.org/ + +SDL_mixer and Ogg Vorbis CODEC to play BGM/SE. + SDL_mixer 1.2 + http://www.libsdl.org/projects/SDL_mixer/ + Vorbis.com + http://www.vorbis.com/ + +Using D Header files at DedicateD for OpgnGL and SDL, and +at D - porting for SDL_mixer. + DedicateD + http://int19h.tamb.ru/files.html + D - porting + http://user.ecc.u-tokyo.ac.jp/~s31552/wp/d/porting.html + +Mersenne Twister to create the random number. + http://www.math.keio.ac.jp/matumoto/emt.html + + +- History + +2004 1/ 1 ver. 0.2 + Add the lock mode. + Adjust barrages. + Fix the bullets' disappearance bug. +2003 12/21 ver. 0.13 + Add the '-slowship' option. + A slow bullet disappears after a while. + Fix the screen resize bug. +2003 12/ 5 ver. 0.12 + Adjust the enemies' appearance position. + Adjust barrages. +2003 11/30 ver. 0.11 + Fix the incorrect line draw function. + Adjust the size of the field. + Adjust barrages. + The roll shot power weaken. +2003 11/29 ver. 0.1 + + +-- License + +License +------- + +Copyright 2003 Kenta Cho. All rights reserved. + +Redistribution and use in source and binary forms, +with or without modification, are permitted provided that +the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL +THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/ports/parsec47/parsec47/small/shot.xml b/ports/parsec47/parsec47/small/shot.xml new file mode 100644 index 0000000000..6693a20e80 --- /dev/null +++ b/ports/parsec47/parsec47/small/shot.xml @@ -0,0 +1,24 @@ + + + + + + + + 60-$rank*60 + + 1 + + + 120-$rank*80 + + + diff --git a/ports/parsec47/parsec47/small_lock/shot.xml b/ports/parsec47/parsec47/small_lock/shot.xml new file mode 100644 index 0000000000..8f887f140b --- /dev/null +++ b/ports/parsec47/parsec47/small_lock/shot.xml @@ -0,0 +1,16 @@ + + + + + + + 30-$rank*30 + + 1 + + + 40-$rank*26 + + + diff --git a/ports/parsec47/parsec47/smallmove/248shot.xml b/ports/parsec47/parsec47/smallmove/248shot.xml new file mode 100644 index 0000000000..88d855461d --- /dev/null +++ b/ports/parsec47/parsec47/smallmove/248shot.xml @@ -0,0 +1,31 @@ + + + + + + + + $rand*1.0-0.5 + + + + + + $1 + 2.0 + 20 + + 40 + + -2.0 + 50 + + 10 + + 0-$1*2 + 60 + + + + diff --git a/ports/parsec47/parsec47/smallmove/3waychase.xml b/ports/parsec47/parsec47/smallmove/3waychase.xml new file mode 100644 index 0000000000..a97229340a --- /dev/null +++ b/ports/parsec47/parsec47/smallmove/3waychase.xml @@ -0,0 +1,19 @@ + + + + + + + + 0.5 + 1 + + 8 + + 0 + 32 + + + + diff --git a/ports/parsec47/parsec47/smallmove/6gt.xml b/ports/parsec47/parsec47/smallmove/6gt.xml new file mode 100644 index 0000000000..e60e7ed818 --- /dev/null +++ b/ports/parsec47/parsec47/smallmove/6gt.xml @@ -0,0 +1,28 @@ + + + + + + + + $rand*40+160 + 1 + + + 0.8 + 1 + + 30+$rand*10 + + 0 + 80 + + 180 + + -1.5 + 90 + + + + diff --git a/ports/parsec47/parsec47/smallmove/accel.xml b/ports/parsec47/parsec47/smallmove/accel.xml new file mode 100644 index 0000000000..e11d5a259a --- /dev/null +++ b/ports/parsec47/parsec47/smallmove/accel.xml @@ -0,0 +1,29 @@ + + + + + + + + 0.5 + 1 + + 32 + + 0 + 32 + + 32 + + 0 + 48 + + 32 + + 0.7 + 32 + + + + diff --git a/ports/parsec47/parsec47/smallmove/accum.xml b/ports/parsec47/parsec47/smallmove/accum.xml new file mode 100644 index 0000000000..73d64b3246 --- /dev/null +++ b/ports/parsec47/parsec47/smallmove/accum.xml @@ -0,0 +1,19 @@ + + + + + + + + 1.2 + 1 + + 60 + + 80-$rand*160 + 30 + + + + diff --git a/ports/parsec47/parsec47/smallmove/bar.xml b/ports/parsec47/parsec47/smallmove/bar.xml new file mode 100644 index 0000000000..7f74ce27dd --- /dev/null +++ b/ports/parsec47/parsec47/smallmove/bar.xml @@ -0,0 +1,19 @@ + + + + + + + + 0.5 + 1 + + 8 + + $rand*0.2-0.1 + 8 + + + + diff --git a/ports/parsec47/parsec47/smallmove/bit_move.xml b/ports/parsec47/parsec47/smallmove/bit_move.xml new file mode 100644 index 0000000000..a45132f09d --- /dev/null +++ b/ports/parsec47/parsec47/smallmove/bit_move.xml @@ -0,0 +1,46 @@ + + + + + + + + 180 + 1 + + +1.5 +1 + +30 + +4 + + +$rand*360 +10 + + +1 +15 + +10+$rand*30 + +0 +10 + +20+$rand*40 + + + + 0 + 32 + + +1 +15 + + + + diff --git a/ports/parsec47/parsec47/smallmove/ikr5_vrp.xml b/ports/parsec47/parsec47/smallmove/ikr5_vrp.xml new file mode 100644 index 0000000000..19ad47eacd --- /dev/null +++ b/ports/parsec47/parsec47/smallmove/ikr5_vrp.xml @@ -0,0 +1,20 @@ + + + + + + + + $rand*1.0-0.5 + 2+$rand + 1 + + 30 + + -2 + 80 + + + + diff --git a/ports/parsec47/parsec47/smallmove/kr1_boss_bit.xml b/ports/parsec47/parsec47/smallmove/kr1_boss_bit.xml new file mode 100644 index 0000000000..59dac0692e --- /dev/null +++ b/ports/parsec47/parsec47/smallmove/kr1_boss_bit.xml @@ -0,0 +1,18 @@ + + + + + + + + 1 + 60 + + + 0 + 120 + + + + diff --git a/ports/parsec47/parsec47/smallmove/nway.xml b/ports/parsec47/parsec47/smallmove/nway.xml new file mode 100644 index 0000000000..a0274f6ce1 --- /dev/null +++ b/ports/parsec47/parsec47/smallmove/nway.xml @@ -0,0 +1,24 @@ + + + + + + + + 1.5 + 1 + + 1 + + 0 + 120 + + 180 + + -0.8 + 90 + + + + diff --git a/ports/parsec47/parsec47/smallmove/rndway.xml b/ports/parsec47/parsec47/smallmove/rndway.xml new file mode 100644 index 0000000000..250ec29402 --- /dev/null +++ b/ports/parsec47/parsec47/smallmove/rndway.xml @@ -0,0 +1,19 @@ + + + + + + + + 0.7 + 1 + + 24 + + $rand*90-45 + 24 + + + + diff --git a/ports/parsec47/parsec47/smallmove/slowdown.xml b/ports/parsec47/parsec47/smallmove/slowdown.xml new file mode 100644 index 0000000000..24db6a8a24 --- /dev/null +++ b/ports/parsec47/parsec47/smallmove/slowdown.xml @@ -0,0 +1,28 @@ + + + + + + + + 3 + 1 + + + 165+$rand*30 + 1 + + 1 + + 0 + 50 + + 100 + + -0.5 + 90 + + + + diff --git a/ports/parsec47/parsec47/smallmove/spread.xml b/ports/parsec47/parsec47/smallmove/spread.xml new file mode 100644 index 0000000000..19925cd735 --- /dev/null +++ b/ports/parsec47/parsec47/smallmove/spread.xml @@ -0,0 +1,19 @@ + + + + + + + + 1.2+$rand*0.5 + 1 + + 20 + + -0.3 + 48 + + + + diff --git a/ports/parsec47/parsec47/smallmove/twin.xml b/ports/parsec47/parsec47/smallmove/twin.xml new file mode 100644 index 0000000000..79d423c35b --- /dev/null +++ b/ports/parsec47/parsec47/smallmove/twin.xml @@ -0,0 +1,19 @@ + + + + + + + + 120+$rand*120 + 1 + + + 0.8 + 1 + + 1 + + + diff --git a/ports/parsec47/parsec47/smallmove/twin_extend.xml b/ports/parsec47/parsec47/smallmove/twin_extend.xml new file mode 100644 index 0000000000..c016561b1b --- /dev/null +++ b/ports/parsec47/parsec47/smallmove/twin_extend.xml @@ -0,0 +1,19 @@ + + + + + + + +120+$rand*120 +90 + + +0.8 +1 + +1 + + + diff --git a/ports/parsec47/parsec47/smallsidemove/3waychase.xml b/ports/parsec47/parsec47/smallsidemove/3waychase.xml new file mode 100644 index 0000000000..a97229340a --- /dev/null +++ b/ports/parsec47/parsec47/smallsidemove/3waychase.xml @@ -0,0 +1,19 @@ + + + + + + + + 0.5 + 1 + + 8 + + 0 + 32 + + + + diff --git a/ports/parsec47/parsec47/smallsidemove/downaccel.xml b/ports/parsec47/parsec47/smallsidemove/downaccel.xml new file mode 100644 index 0000000000..77b349ad8d --- /dev/null +++ b/ports/parsec47/parsec47/smallsidemove/downaccel.xml @@ -0,0 +1,19 @@ + + + + + + + + 0.3+$rand*0.4 + 1 + + 30 + + 2 + 60 + + + + diff --git a/ports/parsec47/parsec47/smallsidemove/straight.xml b/ports/parsec47/parsec47/smallsidemove/straight.xml new file mode 100644 index 0000000000..25044f0288 --- /dev/null +++ b/ports/parsec47/parsec47/smallsidemove/straight.xml @@ -0,0 +1,14 @@ + + + + + + + + 0.5 + 1 + + + + diff --git a/ports/parsec47/parsec47/smallsidemove/upaccel.xml b/ports/parsec47/parsec47/smallsidemove/upaccel.xml new file mode 100644 index 0000000000..2678c8a2e5 --- /dev/null +++ b/ports/parsec47/parsec47/smallsidemove/upaccel.xml @@ -0,0 +1,24 @@ + + + + + + + + 0.6+$rand*1.2 + 1 + + 5 + + 0.1 + 40 + + 60 + + -2 + 60 + + + + diff --git a/ports/parsec47/parsec47/sounds/bossdst.wav b/ports/parsec47/parsec47/sounds/bossdst.wav new file mode 100644 index 0000000000..18045ea7bf Binary files /dev/null and b/ports/parsec47/parsec47/sounds/bossdst.wav differ diff --git a/ports/parsec47/parsec47/sounds/enemydst.wav b/ports/parsec47/parsec47/sounds/enemydst.wav new file mode 100644 index 0000000000..bc46d95975 Binary files /dev/null and b/ports/parsec47/parsec47/sounds/enemydst.wav differ diff --git a/ports/parsec47/parsec47/sounds/extend.wav b/ports/parsec47/parsec47/sounds/extend.wav new file mode 100644 index 0000000000..e547bb66da Binary files /dev/null and b/ports/parsec47/parsec47/sounds/extend.wav differ diff --git a/ports/parsec47/parsec47/sounds/getbonus.wav b/ports/parsec47/parsec47/sounds/getbonus.wav new file mode 100644 index 0000000000..fe94bcabde Binary files /dev/null and b/ports/parsec47/parsec47/sounds/getbonus.wav differ diff --git a/ports/parsec47/parsec47/sounds/largedst.wav b/ports/parsec47/parsec47/sounds/largedst.wav new file mode 100644 index 0000000000..b70538e4d2 Binary files /dev/null and b/ports/parsec47/parsec47/sounds/largedst.wav differ diff --git a/ports/parsec47/parsec47/sounds/laser.wav b/ports/parsec47/parsec47/sounds/laser.wav new file mode 100644 index 0000000000..e75470c533 Binary files /dev/null and b/ports/parsec47/parsec47/sounds/laser.wav differ diff --git a/ports/parsec47/parsec47/sounds/lock.wav b/ports/parsec47/parsec47/sounds/lock.wav new file mode 100644 index 0000000000..bd8088dad6 Binary files /dev/null and b/ports/parsec47/parsec47/sounds/lock.wav differ diff --git a/ports/parsec47/parsec47/sounds/ptn0.ogg b/ports/parsec47/parsec47/sounds/ptn0.ogg new file mode 100644 index 0000000000..933f8b6a61 Binary files /dev/null and b/ports/parsec47/parsec47/sounds/ptn0.ogg differ diff --git a/ports/parsec47/parsec47/sounds/ptn1.ogg b/ports/parsec47/parsec47/sounds/ptn1.ogg new file mode 100644 index 0000000000..c5b967b1f7 Binary files /dev/null and b/ports/parsec47/parsec47/sounds/ptn1.ogg differ diff --git a/ports/parsec47/parsec47/sounds/ptn2.ogg b/ports/parsec47/parsec47/sounds/ptn2.ogg new file mode 100644 index 0000000000..9858080133 Binary files /dev/null and b/ports/parsec47/parsec47/sounds/ptn2.ogg differ diff --git a/ports/parsec47/parsec47/sounds/ptn3.ogg b/ports/parsec47/parsec47/sounds/ptn3.ogg new file mode 100644 index 0000000000..78e173f9df Binary files /dev/null and b/ports/parsec47/parsec47/sounds/ptn3.ogg differ diff --git a/ports/parsec47/parsec47/sounds/rollchg.wav b/ports/parsec47/parsec47/sounds/rollchg.wav new file mode 100644 index 0000000000..50f8584c74 Binary files /dev/null and b/ports/parsec47/parsec47/sounds/rollchg.wav differ diff --git a/ports/parsec47/parsec47/sounds/rollrls.wav b/ports/parsec47/parsec47/sounds/rollrls.wav new file mode 100644 index 0000000000..dceb69ac7b Binary files /dev/null and b/ports/parsec47/parsec47/sounds/rollrls.wav differ diff --git a/ports/parsec47/parsec47/sounds/shipdst.wav b/ports/parsec47/parsec47/sounds/shipdst.wav new file mode 100644 index 0000000000..a496862ed7 Binary files /dev/null and b/ports/parsec47/parsec47/sounds/shipdst.wav differ diff --git a/ports/parsec47/parsec47/sounds/shot.wav b/ports/parsec47/parsec47/sounds/shot.wav new file mode 100644 index 0000000000..2e393c9fee Binary files /dev/null and b/ports/parsec47/parsec47/sounds/shot.wav differ diff --git a/ports/parsec47/port.json b/ports/parsec47/port.json new file mode 100644 index 0000000000..ca84717e0c --- /dev/null +++ b/ports/parsec47/port.json @@ -0,0 +1,32 @@ +{ + "version": 3, + "name": "parsec47.zip", + "items": [ + "PARSEC47.sh", + "parsec47" + ], + "items_opt": [], + "attr": { + "title": "PARSEC47", + "porter": [ + "Cebion" + ], + "desc": "PARSEC47 is a retromodern hi-speed shoot 'em up where you get to defeat retro enemies modernly. The player must destroy enemies while avoiding their projectiles and collecting green clusters of boxes for points.", + "desc_md": null, + "inst": "Select the stage by a keyboard or a joystick.\nPress a shot key to start the game.\nAll stages are endless and created randomly each time.\nThe game continues until you lose all ships.\n\nControl your ship and destroy enemies.\nWhile holding a slow key, the ship becomes slow.", + "inst_md": null, + "genres": [ + "action", + "arcade" + ], + "image": null, + "rtr": true, + "exp": false, + "runtime": null, + "reqs": [], + "arch": [ + "aarch64" + ], + "min_glibc": "" + } +} \ No newline at end of file diff --git a/ports/parsec47/screenshot.png b/ports/parsec47/screenshot.png new file mode 100644 index 0000000000..20ac0d0de3 Binary files /dev/null and b/ports/parsec47/screenshot.png differ