pax_global_header00006660000000000000000000000064137750215730014524gustar00rootroot0000000000000052 comment=1a969899f2c5f257be98b3c3fc0df1383a368b17 ironseed_fpc-fpc_0_3_6/000077500000000000000000000000001377502157300151645ustar00rootroot00000000000000ironseed_fpc-fpc_0_3_6/.gitignore000066400000000000000000000022011377502157300171470ustar00rootroot00000000000000TEMP/ *.ppu *.s *.o *~ *.bak tags LPT1 crewgen intro main is test/testdiv0 test/testkey1 test/test_0_c test/test_0_pas test/testsize test/test_write test/test_replicate test/params Data_Generators/makedata/aliemake Data_Generators/makedata/artimake Data_Generators/makedata/cargmake Data_Generators/makedata/creamake Data_Generators/makedata/crewmake Data_Generators/makedata/elemmake Data_Generators/makedata/eventmak Data_Generators/makedata/itemmake Data_Generators/makedata/makename Data_Generators/makedata/scanmake Data_Generators/makedata/shipmake Data_Generators/makedata/sysmake Data_Generators/makedata/weapmake Data_Generators/makedata/convmake Data_Generators/makedata/logmake Data_Generators/makedata/iconmake Data_Generators/makedata/getfont Data_Generators/makedata/namemake Data_Generators/makedata/makeani Data_Generators/makedata/shp2make Data_Generators/misc/cpr2scr Data_Generators/misc/scr2cpr Data_Generators/misc/cpr2tga Data_Generators/misc/tga2cpr Data_Generators/misc/tga_head.bin _paths_.pas debian/.debhelper/ debian/debhelper-build-stamp debian/files debian/ironseed.debhelper.log debian/ironseed.substvars debian/ironseed/ ironseed_fpc-fpc_0_3_6/Data_Generators/000077500000000000000000000000001377502157300202265ustar00rootroot00000000000000ironseed_fpc-fpc_0_3_6/Data_Generators/makedata/000077500000000000000000000000001377502157300217755ustar00rootroot00000000000000ironseed_fpc-fpc_0_3_6/Data_Generators/makedata/aardcon1.txt000066400000000000000000000134671377502157300242410ustar00rootroot00000000000000@1102 -1 1 58 HI HELLO GREETINGS HYA HIYA SALUTATIONS WELCOME @500 -1 1 58 HI HELLO GREETINGS HYA HIYA SALUTATIONS WELCOME @-1 -1 1 1 HI HELLO GREETINGS HYA HIYA SALUTATIONS WELCOME @-1 20000 1 2 BYE GOOD-BYE GOODBYE OVER OUT 10-4 QUIT @1102 -1 1 59 HELP ASSIST INSTABILITY @500 -1 1 59 HELP ASSIST INSTABILITY @-1 -1 1 54 HELP ASSIST INSTABILITY @-1 -1 1 5 VOID DWELLERS @-1 -1 1 6 D'PAHK WORMS @-1 -1 1 7 SENGZHAC BUGS BUGGERS @-1 -1 1 8 GUILD @-1 -1 1 9 PHAEDOR MOCH PUPPET @-1 -1 1 10 ERMIGEN @-1 -1 1 11 QUAI PA'LOI PAI ALOI Q'OOUL @-1 -1 1 14 ICON @-1 -1 1 15 TITARIAN @-1 -1 1 16 YLINTHLIXYMN YILLER YLINTH @-1 -1 1 17 SCAVENGERS SCAVS @-1 -1 1 18 AARD @-1 -1 1 19 MALZATOIR @-1 -1 1 20 DARK KIND GODS EYE GOD'S EYE @-1 -1 1 22 DERRAAK @-1 -1 1 24 PAPESIAN MONKS OF PAPESIA MONK HALLIFAX MANEUVER @-1 -1 1 25 HOMEWORLD HOME WORLD @1102 -1 1 61 SELL BUY TRADE TRADERS @500 -1 1 61 SELL BUY TRADE TRADERS @-1 -1 1 26 SELL BUY TRADE TRADERS @-1 -1 1 34 CARGAN @1102 -1 1 60 DIFFICULTIES DIFFICULTY DAMAGES @500 -1 1 60 DIFFICULTIES DIFFICULTY DAMAGES @-1 -1 1 53 DIFFICULTIES DIFFICULTY DAMAGES -1 -1 3 57 KENDAR @1102 -1 1 62 REPAIRS REPAIR @500 -1 1 62 REPAIRS REPAIR @-1 21002 3 63 REPAIRS REPAIR -500 1 You do not know us. We are the ^Aard^. We have taken ^damages^ and cannot continue. Such ^difficulties^ require that you ^assist^ us. 2 ... 5 We have heard them. They dwell between worlds, in the void... With the dust and gas. We have heard them speak. Yes, we have heard them. 6 Worms interest us slightly. They have an air about them that leads us to a measure _of distrust. 7 They who are one. We do not know them... Only _of them. 8 We have no quarrel with them. However, we do not deal with them... Their tongues too often taint their trade. 9 The moch are mindless fools. 10 The fist that hides. They paid the price for pride. Did you not know they were cast from their homestar? The ^dark kind^ saw to that. 11 They are caught in petty civil affairs. The Tetrad _of theirs is crumbling and their _world with it. There is no honor in genocide. 14 Their glyptic tapestries cover our temple walls. We value the icon seers for their ability to weave our thoughts into cloth. It is an amazing thing to witness. 15 They have many talents. Ages from now, when they have solved themselves, we will be able to put them to better use... Other than serving as mystics, they have yet to fill a niche. 16 We have not tasted their presence. 17 We pay little attention to them... They fashion themselves from the others, and none _of the others are a threat. Even their ^Kendar^ was without strength. 18 We are from a stone orbiting Craetona. It seems that our evolutionary sequence has followed yours very closely. 19 They are powerful, yet subtle... We like that combination. 20 Er... I should not speak _of this further. 22 We do not know _of this individual. 24 The Papesian heirarchs are no concern _of ours. The followers _of Hallifax are fanatics. 25 We have no home. It was destroyed. Our peoples have since been wandering... In search _of a fabled place. _Of course, it has been forty thousand years now... Paradise is long in coming. 26 We need only a stratamount. 34 That is a ship to be reckoned with. Be careful when dealing with it. 53 Our ^engine^ is experiencing an ^instability^ in the plasma containment structures. If we ^engage^ them while they are in this state, the ^vibrations^ will tear the ship apart. That is why you will ^help^ us. 54 We require a stratamount to stabilize our power core. You must spare one so ^repairs^ can be enacted. 57 Long ago, ages past a great plague fell upon the others. This plague was the ^dark kind^. With their trojan gates they spread like a disease. Sweeping out from their homestar they devoured and absorbed a thousand cultures and countless lives. 57 In a desperate attempt to defend themselves, the sentients resolved their differences and banded together, forming the ^Kendar^. 57 Unfortunately, the treaty came too late. The ^Dark Kind^ moved their dreadnoughts and genesis tanks to surround the few remaining free worlds. 57 Strangely, as each race was preparing for its own destruction the dark ships halted their approach. 57 As quickly as they had come, the ^Dark Kind^ recalled their ships and fell back upon their homestar. 57 The ^Kendar^ followed them inward, reclaiming the ravaged worlds left behind. They also claimed responsibility for the disappearance _of the dark ones. 57 Too proud to say they had won by default, each race claimed responsibility. The dissent that resulted caused the dissolution _of the ^Kendar^. 58 Greetings. Our time is valuable. State your business quickly. 59 We have no need for help. 60 We are not experiencing any damage or difficulty. 61 You have no items _of trade that interest us. 62 We are in no need for repairs or assistance. 63 (Eng: Shipping _over stratamount now.) 63 Ah... Excellent. Our engineers are installing the stratamount now. 63 Take this device as payment. 63 (Eng: Received cargo, Ballista.) -500 ironseed_fpc-fpc_0_3_6/Data_Generators/makedata/aliemake.pas000066400000000000000000000036231377502157300242560ustar00rootroot00000000000000program makealiencontacts; (******************************************************************** This file is part of Ironseed. Ironseed is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Ironseed is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Ironseed. If not, see . ********************************************************************) {********************************************* Data Generator: Aliens Copyright: 1994 Channel 7, Destiny: Virtual 2020 Matija Nalis **********************************************} {$PACKRECORDS 1} type alientype= record name: string[15]; techmin,techmax,anger,congeniality,victory,id,conindex: integer; war: boolean; end; var alien: alientype; i,j: integer; ft: text; f: file of alientype; begin assign(f,'data/contact0.dta'); rewrite(f); assign(ft,'Data_Generators/makedata/contact.txt'); reset(ft); readln(ft); for j:=1 to 11 do begin read(ft,alien.name); read(ft,i); alien.techmin:=i*256; read(ft,i); alien.techmin:=alien.techmin+i; read(ft,i); alien.techmax:=i*256; read(ft,i); alien.techmax:=alien.techmax+i; read(ft,alien.anger); read(ft,alien.congeniality); read(ft,alien.victory); read(ft,i); readln(ft,i); if i=0 then alien.war:=false else alien.war:=true; alien.id:=0; alien.conindex:=j; write(f,alien); writeln(alien.name); end; close(f); close(ft); end.ironseed_fpc-fpc_0_3_6/Data_Generators/makedata/alienshp.txt000066400000000000000000000354071377502157300243520ustar00rootroot00000000000000 battle skill shield hull acceleration regen. shield gun nodes(0-20) Name tech (1-100) (1-100) (10-10000) (100-1500) f r l b mines range generics: 4 0 20 5 10 25 5 1501 1 0 0 1 0 50000 4 1 22 5 20 50 7 1501 1 0 0 1 0 60000 4 2 24 5 35 100 10 1502 1 0 0 1 0 60000 4 3 26 5 75 175 13 1502 2 0 0 1 0 65000 4 4 28 10 125 225 15 1503 2 1 1 0 0 70000 4 5 30 20 200 275 18 1503 2 2 2 0 0 70000 4 6 32 25 250 400 20 1504 2 1 1 2 0 80000 4 7 34 30 300 600 23 1504 2 1 1 2 0 90000 4 8 36 35 400 550 25 1505 2 2 2 2 0 100000 4 9 38 40 500 400 27 1505 3 2 2 2 1 130000 5 0 40 50 600 300 30 1506 4 2 2 3 1 150000 sengzhac: 4 0 30 2 100 100 10 1501 1 0 0 1 0 80000 4 1 32 2 200 200 13 1501 2 1 1 1 0 85000 4 2 35 3 300 350 17 1501 2 2 2 2 0 100000 4 3 38 4 400 450 20 1502 3 2 2 3 0 150000 4 4 40 4 500 600 23 1502 3 3 3 3 0 155000 4 5 50 5 600 700 27 1502 3 3 3 3 0 140000 4 6 55 10 700 750 30 1503 4 3 3 4 0 160000 4 7 60 15 800 900 33 1504 4 4 4 4 0 180000 4 8 65 16 1000 700 35 1504 4 4 4 4 0 190000 4 9 70 18 2000 600 37 1505 4 4 4 4 0 100000 5 0 75 20 4000 500 40 1506 5 4 4 5 0 150000 d'pahk: 4 0 10 0 50 200 20 1502 1 1 1 1 0 300000 4 1 18 1 80 400 23 1502 1 1 1 1 0 200000 4 2 25 2 100 500 27 1503 2 1 1 2 0 90000 4 3 33 3 175 700 30 1503 2 1 1 2 0 95000 4 4 37 4 250 850 33 1504 2 2 2 2 0 100000 4 5 40 5 400 700 37 1504 3 2 2 2 0 100000 4 6 45 8 500 975 40 1505 3 2 2 3 0 120000 4 7 50 10 600 1000 42 1505 4 2 2 3 1 140000 4 8 55 12 800 1500 45 1506 4 3 3 3 1 160000 4 9 58 15 900 2750 47 1506 4 3 3 4 2 170000 5 0 60 30 1000 3500 50 1507 4 4 4 4 3 175000 aard: 5 0 40 25 500 350 90 1501 2 2 2 2 0 150000 5 1 45 30 750 400 85 1501 2 2 2 2 0 160000 5 2 48 35 1000 500 70 1502 3 2 2 3 0 170000 5 3 50 38 1500 650 65 1502 3 3 3 3 1 165000 5 4 55 40 2500 800 60 1503 3 3 3 3 1 170000 5 5 60 50 2750 900 65 1503 4 3 3 4 2 150000 5 6 70 65 3500 1000 50 1504 4 4 4 4 2 160000 5 7 80 70 4000 1200 55 1505 4 4 4 4 3 175000 5 8 90 80 5000 1000 50 1505 5 4 4 5 3 150000 5 9 100 95 7600 800 65 1506 5 5 5 5 4 200000 6 0 100 100 8900 400 70 1507 5 5 5 5 5 150000 ermigen: 4 0 100 5 50 2000 100 1510 1 0 0 0 0 50000 4 1 5 10 50 50 12 1501 1 0 0 1 0 100000 4 2 10 17 75 100 14 1502 1 1 1 1 0 100000 4 3 15 20 100 210 16 1502 2 1 1 1 0 100000 4 4 20 25 150 300 18 1503 2 1 1 2 0 100000 4 5 25 27 300 368 20 1503 3 1 1 2 0 125000 4 6 75 30 700 476 24 1504 3 1 1 3 0 175000 4 7 35 35 1700 634 28 1504 2 2 2 2 1 180000 4 8 40 40 3000 565 32 1505 3 2 2 2 1 190000 4 9 45 30 4500 450 36 1505 3 2 2 3 2 200000 5 0 50 25 6000 500 40 1506 3 3 3 3 2 250000 titarian: 4 4 35 5 500 250 10 1501 1 1 1 1 0 70000 4 5 45 10 550 220 12 1501 2 1 1 2 0 80000 4 6 55 38 400 200 14 1502 2 2 2 2 0 90000 4 7 60 29 900 250 18 1502 3 2 2 2 0 95000 4 8 65 40 500 850 22 1503 3 2 2 3 0 100000 4 9 60 28 2100 750 26 1503 3 3 3 3 1 110000 5 0 70 37 1200 700 30 1504 4 3 3 3 1 120000 5 1 75 25 1600 650 34 1504 4 3 3 4 2 130000 5 2 77 65 1800 600 40 1505 4 4 4 4 2 140000 5 3 80 40 2400 550 44 1505 5 4 4 4 3 150000 5 4 70 50 3000 500 48 1506 5 4 4 5 3 160000 quai pa'loi: 4 0 100 5 1750 500 10 1501 1 1 1 1 0 80000 4 1 80 10 1000 700 15 1501 1 1 1 1 0 83000 4 2 75 15 2050 750 20 1502 1 1 1 1 0 87000 4 3 75 15 2000 800 25 1502 2 1 1 1 0 90000 4 4 60 15 2750 850 30 1503 2 1 1 2 0 95000 4 5 58 15 2950 900 35 1503 3 1 1 2 0 100000 4 6 50 15 3100 1100 40 1504 3 2 2 2 0 125000 4 7 45 15 3350 1200 45 1504 3 2 2 3 0 130000 4 8 40 15 3600 1500 50 1505 3 3 3 3 1 145000 4 9 40 15 3800 1200 55 1505 4 3 3 3 2 150000 5 0 40 25 4000 1000 60 1506 4 3 3 4 3 160000 scavenger: 4 0 25 5 55 50 10 1501 1 1 1 1 1 50000 4 1 30 5 260 150 15 1501 1 2 2 1 1 70000 4 2 32 5 580 250 20 1502 2 2 2 2 2 80000 4 3 35 5 960 350 30 1502 2 2 2 2 2 100000 4 4 47 5 1000 450 40 1502 2 3 3 2 2 105000 4 5 55 5 2110 550 50 1503 3 3 3 3 3 125000 4 6 65 5 3130 650 60 1503 3 3 3 3 3 150000 4 7 75 5 4350 750 70 1504 3 4 4 3 3 160000 4 8 85 5 5137 650 80 1504 4 4 4 4 4 175000 4 9 90 5 7150 550 90 1505 4 5 5 4 4 180000 5 0 100 25 8000 650 250 1509 5 5 5 5 5 250000 The Guild: 4 0 20 5 100 350 55 1501 1 0 0 1 0 50000 4 1 25 5 200 400 77 1501 1 0 0 1 0 60000 4 2 35 5 350 450 100 1502 1 0 0 1 0 60000 4 3 100 5 750 500 130 1502 2 0 0 1 0 65000 4 4 45 10 1250 550 150 1503 2 1 1 0 0 70000 4 5 55 20 1500 575 180 1503 2 2 2 0 0 70000 4 6 65 25 1750 600 200 1504 2 1 1 2 0 80000 4 7 55 30 2000 650 230 1504 2 1 1 2 0 90000 4 8 45 35 2500 670 250 1506 2 2 2 2 0 100000 4 9 35 40 3000 700 270 1506 3 2 2 2 1 130000 5 0 25 50 3500 750 300 1507 4 2 2 3 1 150000 Phaedor moch: 5 0 100 5 500 5000 200 1501 2 1 0 0 0 70000 5 1 95 10 550 3220 212 1501 2 5 1 2 5 80000 5 2 90 38 400 1200 214 1501 2 2 2 2 0 90000 5 3 85 29 900 950 218 1502 3 2 2 2 0 95000 5 4 80 40 500 850 222 1502 3 2 2 3 0 100000 5 5 75 28 2100 750 216 1503 3 3 3 3 1 130000 5 6 70 37 1200 700 200 1503 4 3 3 3 1 170000 5 7 65 25 1600 650 194 1503 4 3 3 4 2 175000 5 8 60 65 1800 600 180 1504 4 4 4 4 2 180000 5 9 55 40 2400 550 174 1504 5 4 4 4 3 190000 6 0 100 50 3000 500 158 1504 0 1 3 5 3 200000 Drones: 4 0 20 5 10 25 5 1501 1 0 0 1 0 50000 4 1 22 5 20 50 7 1501 1 0 0 1 0 60000 4 2 24 5 35 100 10 1502 1 0 0 1 0 60000 4 3 26 5 75 175 13 1502 2 0 0 1 0 65000 4 4 28 10 125 225 15 1503 2 1 1 0 0 70000 4 5 30 20 200 275 18 1503 2 2 2 0 0 70000 4 6 32 25 250 400 20 1504 2 1 1 2 0 80000 4 7 34 30 300 600 23 1504 2 1 1 2 0 90000 4 8 36 35 400 550 25 1505 2 2 2 2 0 100000 4 9 38 40 500 400 27 1505 3 2 2 2 1 130000 5 0 40 50 600 300 30 1506 4 2 2 3 1 150000 ironseed_fpc-fpc_0_3_6/Data_Generators/makedata/anom.txt000066400000000000000000000007041377502157300234710ustar00rootroot00000000000000Collapsing Glyptic Clear Opaque Glowing Prismatic Mirrored Metallic Modular Molded Whirring Rotating Blinking Phasing Glowing Gyrating Intricate Strange Marbled Gelid Sphere Globe Orb Disc Rod Cycloid Cube Cone Tube Ring Device Frustrum Machine Part Unit Implement Container Cylinder Staff Graticule Blistered Amorphous Glowing Acidic Waxen Pustuled Absorbent Pulsating Undulating Viscous Blob Gelatin Colloid Mass Ooze Sample Gel Plasmoid Slime Jelly ironseed_fpc-fpc_0_3_6/Data_Generators/makedata/artimake.pas000066400000000000000000000026301377502157300243000ustar00rootroot00000000000000program makeartifact; (******************************************************************** This file is part of Ironseed. Ironseed is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Ironseed is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Ironseed. If not, see . ********************************************************************) {********************************************* Data Generator: Artifact names generator Copyright: 1994 Channel 7, Destiny: Virtual 2020 Matija Nalis **********************************************} {$PACKRECORDS 1} type artifacttype=string[10]; var f: file of artifacttype; temp: artifacttype; ft: text; i: integer; begin assign(ft,'Data_Generators/makedata/anom.txt'); reset(ft); assign(f,'data/artifact.dta'); rewrite(f); for i:=1 to 60 do begin readln(ft,temp); writeln(temp); write(f,temp); end; close(ft); close(f); end.ironseed_fpc-fpc_0_3_6/Data_Generators/makedata/cargmake.pas000066400000000000000000000031611377502157300242550ustar00rootroot00000000000000program generatecargodata; (******************************************************************** This file is part of Ironseed. Ironseed is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Ironseed is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Ironseed. If not, see . ********************************************************************) {********************************************* Data Generator: Cargo names/sizes Copyright: 1994 Channel 7, Destiny: Virtual 2020 Matija Nalis **********************************************} {$PACKRECORDS 1} const maxcargo= 145; type cargotype= record name: string[20]; size,index: integer; end; var cargo: cargotype; f: file of cargotype; ft: text; j,i: integer; c: char; begin assign(f,'data/cargo.dta'); rewrite(f); assign(ft,'Data_Generators/makedata/cargo.txt'); reset(ft); readln(ft); for i:=1 to maxcargo do begin read(ft,cargo.index); for j:=1 to 5 do read(ft,c); read(ft,cargo.name); readln(ft,cargo.size); write(f,cargo); writeln(cargo.name,'/',cargo.index,'/',cargo.size); end; close(f); close(ft); end. ironseed_fpc-fpc_0_3_6/Data_Generators/makedata/cargo.txt000066400000000000000000000136471377502157300236440ustar00rootroot00000000000000id # name (30 chrs) cargo size 1000 Dirk 400 1001 Scimitar 700 1002 Broadsword 1200 1003 Claymore 2000 1004 Blackjack 1000 1005 Whip 1800 1006 Flail 3000 1007 Short Bow 800 1008 Long Bow 1500 1009 Ballista 2700 1010 Hvy. Ballista 3000 1011 Arquebus 2300 1012 Tnglor Eggs 1500 1013 Needlers 1800 1014 Caltrops 2000 1015 Gyroid Cannons 1000 1016 Hive 2500 1017 Dopplegangers 700 1018 Grav-Pulse Launcher 5000 1019 Ochre Embryons 450 1020 Ego Neurosynth 200 1021 Id Psychosynth 500 1022 Syntax Immobilizers 1100 1023 Cyrexin Psychotrope 2500 1024 Foom Cannon 2000 1025 Light Raizor 500 1026 Dual Raizor 900 1027 Gatling Raizor 1500 1028 Electron Guerrloid 1000 1029 Neutron Guerrloid 1300 1030 Positron Guerrloid 1700 1031 Heavy Ion Guerrloid 2200 1032 Hydra Pulse Array 2800 1033 Null Pulse Cannon 3500 1034 Thynne Vortex 3200 1035 Sling of David 2700 1036 Death Weave 4200 1037 Dogath Buoy 600 1038 Disruptor Cannon 1800 1039 Imbreth Leech 300 1040 Guerrloid Grapple 2700 1041 Kyn-pox Ichor 900 1042 Corse Grenades 200 1043 Heavy Corse Grenade 800 1044 Doom Gate 5700 1045 PyroSnare 2400 1046 Thaumaturge 4800 1047 Shade Ward 3200 1048 Catapulse Battery 1200 1049 Shadow Kiss 100 1050 Chain Flail 2100 1051 Philosopher's Stone 3600 1052 Wolf Wand 3000 1053 Purgature 2000 1054 Bolt Glyph 900 1055 Wrath of Shiva 4000 1056 Mobius Device 5500 1500 Unknown Shield 0 1501 Reflective Hull 5000 1502 Quarter Shields 700 1503 Binary Shield 1100 1504 Torus Shield 1600 1505 Helical Field 2100 1506 Stasis Generator 2500 1507 Null Stasis Array 2800 1508 NeuroNull Array 3000 1509 Terminex Projection 3100 1510 Shift Distortion 3500 1511 Inertial Barrier 3500 1512 MultiPhase Inverter 2000 1513 Temporal Anchor 1500 2000 Nothing 0 2001 Probot 470 2002 Minebot 1250 2003 Manufactory 3430 2005 Fabricator 5120 2006 Starminer 1750 2004 Fuel Nodules 6 2009 Stardiver 680 2015 Reinforce Hull 750 2016 Increase Thrust 20 2017 Add Cargo Space 15 2018 Install Gun Node 5000 2019 Mind Enhancers 10 3000 Unknown Component 0 3001 Solonoid 3 3002 Data Board 4 3003 Cyberplasm 4 3004 Disei Conduit 5 3005 Steoplast 3 3006 Flux Lens 2 3007 Metal Weave 5 3008 Pulse Loom 5 3009 Biosynth 3 3010 Plasm Inverter 2 3011 Grav-Coupler 4 3012 Torque Stanchion 2 3013 Vac-Feeder 2 3014 Mulroid 1 3015 Proto-Nutrient 1 3016 Duct Battery 3 3017 Masking Pod 4 3018 Guidance Strut 3 3019 StrataMount 5 3020 Ion Cache 3 3021 ThermoPlast 3 4000 Unknown Material 1 4001 Protoplasm 1 4002 Polymers 1 4003 Crystals 1 4004 Oxidants 1 4005 Esper Seeds 1 4006 Heavy Ions 1 4007 Coolants 1 4008 Solvents 1 4009 Electrolytes 1 4010 Organics 1 4011 Alien Isotopes 1 4012 Conductants 1 4013 Magnetics 1 4014 Radioactives 1 4015 Liquid Gases 1 4016 Medicants 1 4017 Ceramics 1 4018 Alien Compounds 1 4019 Strange Particles 1 4020 Worthless Junk 1 5000 Protic liquids 1 5010 Alkene 1 5020 Alkyne 1 5030 Volatile compounds 1 5040 Ether 1 5050 Aldehydes/Ketone 1 5060 Carboxylic acid 1 5070 Amine 1 5080 Strong Acid 1 5090 Base 1 5100 Salts 1 5110 Lensing Solid 1 5120 Heavy Element 1 5130 Transition Metal 1 5140 Halogens/Noble Gas 1 5150 Amino Acid 1 5160 Industrial Chemical 1 0001 DEBUG !!!!!!!!!!!! 1 ironseed_fpc-fpc_0_3_6/Data_Generators/makedata/charani.cpr000066400000000000000000000632761377502157300241260ustar00rootroot00000000000000RM@ S]S%  S _S   S]S           SaS S _S  S]S     ScS SaS S _S  S]S    SeS ScS SaS S _S  S]S   cg SeS ScS SaS S _S  S]S  TehhhiS cg SeS ScS SaS S _S bgjjkjk TehhhiS cg SeS ScS SaSeilmmbgjjkjkTehhhiScgSeSScSfiklllm meilmmbgjjkjkTehhhiScgSeSeikkllmmfiklllm meilmmbgjjkjkTehhhiScg `ghijjkkkk eikkllmm fiklllm m eilmm bgjjkjk TehhhiS WefghgiS `ghijjkkkk eikkllmmm m fiklllmw m eilmm bgjjkjk adefefg WefghgiS `ghijjkk kk eikkllmmww m fiklllmmmyy m eilmm SabdcdeS adefefg Wefghgi iS `ghijjkkkk eikkllmyy m fiklllmmmum S_bab cS SabdcdeS adefefg g Wefghgiww iS `ghijjkyyk eikkllmum S\^` aS S_bab cS Sabdcde eS adefefgggww g WefghgiiiyyiS `ghijjkuk R\ _S S\^` aS S_babccS SabdcdeeewweS adefefggyyg WefghgiiuuiS S]S   R\ _S    S\^`aaS    S_babcccwwcS   SabdcdeeyyeS   adefefguug   &  S]S   R\__S    S\^`aaawwaS    S_babccyycS   SabdcdeuueS   &  &  S]]]]]]S   R\___ww_S    S\^`aayyaS    S_babcuucS   &  &    S]]ww]]S   R\__yy___S    S\^`auuaaaS   &  &      S]yy]S   R\_uu_S   &  &          Suu  &  &          &                                                                                                                                                                                                #                 2   !   !   !   !  !  +                                       S]S       S _S  S]S     SaSS _S S]S ScSSaSS _S S]S SeSScSSaSS _S S]S  cg SeS ScS SaS S _S  S]S  TehhhiS cg SeS ScS SaS S _S bgjjkjk TehhhiS cg SeS ScS SaS eilmm bgjjkjk TehhhiS cg SeS ScS fiklllmyyyym eilllvmvvm bgjjkjk TehhhiS cg SeS eikkllyym fikllvvyvm eilllwwwwm bgjjkjk TehhhiS cg `ghijjyyk eikklmvm fikllwmwm eillwwmwm bgjkkjk TehhhiS WefghgiyyiS  `ghijovk  eikklwwm  fiklwwm  eilsvv{xzztmmm  bgjjkjk  adefefyyg   Wefghmv viS  `ghijwwk  eikkw wm  fiku}~~vmmm  evmvm  SabdcdyyeS   adefkv vg   Wefghw wiS  `ghiwwk  eikv vmmm  fv vm   S_babyycS   Sabdlv veS   adefw wg   Wefgw wiiiS  `ghvvkkk  ev vm   S\^`yyaaaS    S_bhv vcccS   Sabdw weeeS   adew wggg   WefvviiS  `vvk   R\yy_S    S\ev vaaS    S_bw wccS   Sabw weeS   advvgg   WvvS  SS   Zm pS    S\w uaS    S_w wcS   SavveS   vv                  {     Sw wS    ShhS   vS                        h h                                                                                                          #             2  !   !  ! !  *                                                         S]S       S _S S]S     SaS S _S S]S    ScS SaS S _S S]S   SeS ScS SaS S _S S]S  qognr SqgepS ScS SaS S _S S]S kttlh ijkotk  uuni ghhjjjnuu  SukeluS  Ssidd cfsS  StjhhbabeesS  So _sS  v|ztnj klmnpv|yu   T{|uuslkkjiijmmmouuuzS   uuulh gnuuu   uusjghhgggfggfjjsuuS  uurjhihhifihihtuuS  SuuumapuuuS  v~m}v   u}yuq uu    T~{uuunonjiijmoqpuuy}S   u|uutpmkklklou|u    Su}uusrqmmoqqstuuS    Su}utsojkkqstuuS   v  }v       u~u    T~}{|{|}}}~S    u~}|yu{|{~u    Su~}|{}uS   v }v            uu    TS    uu   v~v                uu    TS   hh                    uu       oS                                                                                                 # 2!! !!!6 (                                                                                                                          S]S                  uuu_uuS   u                 uuuS    u u    uu                uuS    uu    u u    uu            uuS    uu    uu    u u    uu        u    uu    uu    uu    u u    uu    uS        uu    uu    uu    u u    u    uu        uu    uu    uu            uu        uu    uu                         u                              #  2!!! ! !v1 '2eo%)_o#%,1.                                                                                                                                                                                                                                                                                                                                                                                             Suu                                                                                                                                                       #TS          3!!!   !  !  ironseed_fpc-fpc_0_3_6/Data_Generators/makedata/contact.txt000066400000000000000000000026771377502157300242050ustar00rootroot00000000000000Name: techmin techmax anger(0-100) congeniality(0-100) victory defeat war(0-1) Sengzhac 4 0 5 0 25 0 10 15 0 D'pahk 4 0 5 0 40 15 10 10 0 Aard 5 0 6 0 0 5 25 50 0 Ermigen 4 0 5 0 5 15 5 10 0 Titarian 4 4 5 4 15 20 10 25 0 Quai Pa'loi 4 0 5 0 0 20 1 15 0 Scavengers 4 2 5 2 11 10 20 18 0 Icon 4 0 5 0 5 20 10 35 0 The Guild 4 0 5 0 5 10 5 5 0 Phaedor Moch 5 0 6 0 5 80 5 5 0 Void Dwellers 6 0 8 0 0 70 1 0 0 ironseed_fpc-fpc_0_3_6/Data_Generators/makedata/conv0000.txt000066400000000000000000000016401377502157300240040ustar00rootroot00000000000000eventcode: -1=no event necessary other=event check code: 1 = regular. 2 = multiple random 3 = multiple lines with more at each line event# runevent# code responsecode keyword -1 -1 1 1 HI HELLO HIYA An '@' symbol at the beginning of a keyword line indicates that all the keywords for this line are "root" keywords. Root keywords are still automatically, but don't generate warnings if they're never found in any conversation. Similarly an '@' symbol in front of an individual keyword marks that keyword as a root keyword too. An '^' symbol was used to toggle brightness. This is now ignored due to the addition of automatic keyword highlighting. _ suppresses automatic highlighting of the next word @n crewname psychometry engineer science security navigation/astro medic/cyber responsecodes: 1 hi ^human^. 2 crew 1's name. 3 bye ironseed_fpc-fpc_0_3_6/Data_Generators/makedata/convmake.d000066400000000000000000000173551377502157300237600ustar00rootroot00000000000000/******************************************************************** This file is part of Ironseed. Ironseed is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Ironseed is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Ironseed. If not, see . ********************************************************************/ /********************************************* Data Generator: Conversation logs generator Copyright: 1994 Channel 7, Destiny: Virtual 2020 Matija Nalis **********************************************/ import std.stdio; import std.ascii; import std.regex; import std.conv; import std.string; import std.algorithm; import data; align(1): struct Converse { int linenum; short event; short runevent; short rcode; short index; char []keyword; } struct Response { int linenum; short index; char []response; } Converse []conv; Response []resp; char []inputfile; int [char []]keywordlines; int [char []]keywordused; char[][][int] responsekeywords; int [char []]ignorewords; int [char []]rootwords; int lastauto = 1000; int currentauto = 1000; void addignore(char []words) { foreach(char []s; std.string.split(words)) { //printf("ignore:%s\n", s.toStringz); ignorewords[to!string(s)] = 0; } } void addignoremaybe(char []words) { foreach(char []s; std.string.split(words)) { if(s.length && s[0] == '@') { //printf("ignore:%s\n", s.toStringz); ignorewords[to!string(s[1..$])] = 0; } } } void addroot(char []words) { foreach(char []s; std.string.split(toUpper(words))) { //printf("root:%s\n", s.toStringz); rootwords[to!string(s)] = 0; } } void addwordline(int line, char []words) { foreach(char []s; std.string.split(toUpper(words))) { //printf("line:(%d)%s\n", line, s.toStringz); keywordlines[to!string(s)] = line; } } void parsefile(char []file) { auto fh = File(file, "r"); inputfile = file; //auto convreg = regex("^(-?\\d+)\\s+.*"); auto convreg = regex("^(@)?(-?\\d+)\\s+(-?\\d+)\\s+(-?\\d+)\\s+(-?\\d+)\\s+(\\S.*)", "g"); auto respreg = regex("^(-?\\d+)\\s+(\\S.*)$", "g"); auto stopreg = regex("^-500\\s*$", "g"); auto emptyreg = regex("^\\s*$","g"); auto ignorereg = regex("^@(.*)$","g"); auto rootreg = regex("^@\\s*\\^\\s*$", "g"); Converse c; Response r; int num = 0; foreach(line; fh.byLine) { num++; line = detab(line); //printf("%s\n", line.toStringz); auto convreg_match=match(line, convreg); if(convreg_match) { //printf("conv: %s,%s,%s,%s,%s,%s\n", convreg_match.captures[1].toStringz, convreg_match.captures[2].toStringz, convreg_match.captures[3].toStringz, convreg_match.captures[4].toStringz, convreg_match.captures[5].toStringz, convreg_match.captures[6].toStringz); c.linenum = num; c.event = to!short(convreg_match.captures[2]); c.runevent = to!short(convreg_match.captures[3]); c.rcode = to!short(convreg_match.captures[4]); c.index = to!short(convreg_match.captures[5]); if(c.index < 0) { if(lastauto == currentauto) { lastauto++; } c.index = to!short(lastauto); } c.keyword = cast(char[])(convreg_match.captures[6].dup.toUpper); addignoremaybe(c.keyword); c.keyword = replace(c.keyword, "@", ""); addwordline(num, c.keyword); if(convreg_match.captures[1] == "@") { addroot(c.keyword); } conv ~= c; } else if(auto respreg_match=match(line, respreg)) { //printf("resp: %s,%s\n", respreg_match.captures[1].toStringz, respreg_match.captures[2].toStringz); r.linenum = num; r.index = to!short(respreg_match.captures[1]); if(r.index < 0) { if(lastauto != currentauto) { currentauto++; } r.index = to!short(currentauto); } r.response = " " ~ respreg_match.captures[2]; resp ~= r; } else if(auto stopreg_match=match(line, stopreg)) { //printf("stop: %s\n", stopreg_match.captures[0].toStringz); } else if (match(line, emptyreg)) { /*do nothing*/ } else if (match(line, rootreg)) { addroot(c.keyword); } else if (auto ignorereg_match=match(line, ignorereg)) { addignore(ignorereg_match.captures[1].dup); } else { printf("%s(%d): bad line: %s\n", inputfile.toStringz, num, line.toStringz); } } fh.close(); } char []matchkeyword(char []instr, char [][]keywords) { char []s = toUpper(instr); foreach(char []m; keywords) { if(m == s) { return instr; } } if(s in keywordused) { keywordused[to!string(s)] = 1; return "^" ~ instr ~ "^"; } return instr; } char []dokeyword(char []instr, char [][]keywords) { char []outstr = cast(char[])""; char []s = cast(char[])""; int suppress = 0; foreach(size_t i, char c; instr) { if((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9') || c == '-' || c == '\'') { s ~= c; } else { if(s.length) { if(suppress) { outstr ~= s; suppress = 0; } else { outstr ~= matchkeyword(s, keywords); } s = cast(char[])""; } if(c == '_') { suppress = 1; } else { outstr ~= c; } } } if(s.length) { if(suppress) { outstr ~= s; suppress = 0; } else { outstr ~= matchkeyword(s, keywords); } s = cast(char[])""; } return outstr; } void processconv() { char [][]kw; foreach(Converse c; conv) { kw = std.string.split(c.keyword); responsekeywords[c.index] ~= kw; foreach(char []w; kw) { keywordused[to!string(w)] = 0; } } foreach(size_t i, Response r; resp) { //strip out old keyword highlights r.response = join(std.string.split(r.response, "^"), ""); if(r.index in responsekeywords) { r.response = dokeyword(r.response, responsekeywords[r.index]); } else { printf("There is no matching key word for response index: %d\n", r.index); } resp[i] = r; } } void checkall() { foreach(kw; keywordused.keys.sort) { if(keywordused[kw] == 0 && !(kw in rootwords) && !(kw in ignorewords)) { printf("%s(%d):'%s' not used.\n", inputfile.toStringz, keywordlines[kw], kw.toStringz); } } } void dumpall() { foreach(Converse c; conv) { printf("%d, %d, %d, %d, %s\n", c.event, c.runevent, c.rcode, c.index, c.keyword.toStringz); } foreach(Response r; resp) { printf("%d, %s, %lu\n", r.index, r.response.toStringz, r.response.length); } } void writefiles(char []file) { auto fhind = File(file ~ ".ind", "wb"); auto fhdat = File(file ~ ".dta", "wb"); ConverseRecord cr; ResponseRecord rr; char []s; cr.keyword[0..$] = 1; rr.response[0..$] = 1; foreach(Converse c; conv) { cr.event = c.event; cr.runevent = c.runevent; cr.rcode = c.rcode; cr.index = c.index; s = encodestring(" " ~ c.keyword ~ " "); if(s.length > cr.keyword.length) { printf("%s(%d): keyword too long, truncated: %s\n", inputfile.toStringz, c.linenum, c.keyword.toStringz); s.length = cr.keyword.length; } cr.keywordlength = to!ubyte(s.length); cr.keyword[0..s.length] = s[0..$]; fhind.rawWrite((&cr)[0..1]); } foreach(Response r; resp) { rr.index = r.index; s = encodestring(r.response); if(s.length > rr.response.length) { printf("%s(%d): response too long, truncated: %s\n", inputfile.toStringz, r.linenum, r.response.toStringz); s.length = rr.response.length; } rr.responselength = to!ubyte(s.length); rr.response[0..s.length] = s[0..$]; fhdat.rawWrite((&rr)[0..1]); } fhind.close(); fhdat.close(); } int main(char [][]arg) { parsefile(arg[1]); //dumpall(); processconv(); //dumpall(); checkall(); writefiles(arg[2]); return 0; } ironseed_fpc-fpc_0_3_6/Data_Generators/makedata/creamake.pas000066400000000000000000000075021377502157300242560ustar00rootroot00000000000000program generatecargodata; (******************************************************************** This file is part of Ironseed. Ironseed is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Ironseed is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Ironseed. If not, see . ********************************************************************) {********************************************* Data Generator: Item creation dependencies Copyright: 1994 Channel 7, Destiny: Virtual 2020 Matija Nalis **********************************************} {$PACKRECORDS 1} uses crt; const maxcreation= 123; maxcargo= 145; type creationtype= record index: integer; name: string[20]; parts: array[1..3] of integer; levels: array[1..6] of byte; end; createarraytype=array[1..maxcreation] of creationtype; cargotype= record name: string[20]; size,index: integer; end; cargoarray= array[1..maxcargo] of cargotype; var f: file of creationtype; create: creationtype; ft: text; j,total: integer; c: char; ca: ^createarraytype; cr: ^cargoarray; function getworth(item: integer): integer; var i,j,worth: integer; begin i:=0; worth:=0; case item of 3000: worth:=27; 4000: worth:=9; 4020: worth:=1; 5000..5999: worth:=3; 1000..1499: begin i:=1; worth:=4; end; 1500..1599: begin i:=1; worth:=6; end; 2000..2999: begin i:=1; worth:=4; end; 3001..3999: begin i:=1; worth:=3; end; 4001..4019: begin i:=1; worth:=2; end; 4021..4999: begin i:=1; worth:=2; end; end; if i=1 then begin while ca^[i].index<>item do inc(i); for j:=1 to 3 do if ca^[i].parts[j]>4999 then inc(worth) else worth:=worth+getworth(ca^[i].parts[j]); end; getworth:=worth; end; procedure getlist; var f: file of createarraytype; f2: file of cargoarray; j,i,a: integer; ft: text; begin new(ca); new(cr); assign(f,'data/creation.dta'); reset(f); read(f,ca^); close(f); assign(f2,'data/cargo.dta'); reset(f2); read(f2,cr^); close(f2); assign(ft,'Data_Generators/other/itemdata.txt'); rewrite(ft); writeln(ft,' ITEM TO CREATE PART #1 PART #2 PART #3 WORTH LEVELS '); writeln(ft,'---------------------- ----------------------- ----------------------- ----------------------- ------- -------------------------------------------'); for j:=1 to maxcreation do begin { i:=1; while (i<7) and (ca^[j].levels[i]<6) do inc(i); if i=7 then begin} write(ft,ca^[j].name,#9); for i:=1 to 3 do begin a:=1; while (cr^[a].index<>ca^[j].parts[i]) and (a