/SpaceMission.ENU |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Deleted: svn:mime-type |
-application/octet-stream |
\ No newline at end of property |
/ENU/LevMain.dfm |
---|
File deleted |
/ENU/LevMain.dfn |
---|
File deleted |
/ENU/LevEdit_ENU.bdsproj |
---|
File deleted |
/ENU/LevEdit_DRC.rcn |
---|
File deleted |
/ENU/SpaceMission_DRC.rcn |
---|
File deleted |
/ENU/SpaceMission_ENU.bdsproj |
---|
File deleted |
/ENU/GamCheat.dfm |
---|
File deleted |
/ENU/GamCheat.dfn |
---|
File deleted |
/ENU/LevEdit.dpr |
---|
File deleted |
/ENU/SpaceMission.dpr |
---|
File deleted |
/ENU/GamSplash.dfm |
---|
File deleted |
/ENU/GamSplash.dfn |
---|
File deleted |
/ENU/LevEdit_DRC.rc |
---|
File deleted |
/ENU/ComHilfe.dfm |
---|
File deleted |
/ENU/ComHilfe.dfn |
---|
File deleted |
/ENU/ComInfo.dfm |
---|
File deleted |
/ENU/ComInfo.dfn |
---|
File deleted |
/ENU/LevEdit.dof |
---|
File deleted |
/ENU/SpaceMission.dof |
---|
File deleted |
/ENU/LevSplash.dfm |
---|
File deleted |
/ENU/GamSpeicherung.dfm |
---|
File deleted |
/ENU/LevOptions.dfm |
---|
File deleted |
/ENU/LevSplash.dfn |
---|
File deleted |
/ENU/GamSpeicherung.dfn |
---|
File deleted |
/ENU/LevOptions.dfn |
---|
File deleted |
/ENU/LevEdit_DRC.RES |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Deleted: svn:mime-type |
-application/octet-stream |
\ No newline at end of property |
/ENU/SpaceMission_DRC.RES |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Deleted: svn:mime-type |
-application/octet-stream |
\ No newline at end of property |
/ENU/GamMain.dfm |
---|
File deleted |
/ENU/GamMain.dfn |
---|
File deleted |
/ENU/LevSpeicherung.dfm |
---|
File deleted |
/ENU/SpaceMission_DRC.rc |
---|
File deleted |
/ENU/LevSpeicherung.dfn |
---|
File deleted |
/LevEdit.ENU |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Deleted: svn:mime-type |
-application/octet-stream |
\ No newline at end of property |
/SpaceMission.drc |
---|
File deleted |
/LevEdit.drc |
---|
File deleted |
/GamMain.pas |
---|
192,7 → 192,6 |
procedure HitEnemy(ADead: Boolean); override; |
public |
constructor Create(AParent: TSprite; ALifes: integer); override; |
destructor Destroy; override; |
end; |
TItemClass = class of TItem; |
296,12 → 295,12 |
{ Diverse temporäre Variablen } |
Crash2: integer; |
EnemyCounter: integer; |
FBoss: TEnemyBoss; |
Crash: boolean; |
crashsound: boolean; |
public |
FNextScene: TGameScene; |
FScore: Integer; |
FBoss: TEnemyBoss; |
FNotSave: boolean; |
FLife: integer; |
FLevel: integer; |
1115,12 → 1114,6 |
end; |
end; |
destructor TEnemyBoss.Destroy; |
begin |
MainForm.FBoss := nil; |
inherited; |
end; |
procedure TEnemyBoss.DoMove(MoveCount: Integer); |
begin |
inherited DoMove(MoveCount); |
1194,6 → 1187,7 |
if FCounter>4000 then |
begin |
FState := pesDeadVanished; |
MainForm.FBoss := nil; // important because Dead will Free the object, so we cannot rely on FState |
Dead; |
end; |
end; |
1862,7 → 1856,7 |
procedure TMainForm.NewLevel(lev: integer); |
resourcestring |
SLevelInvalid = 'Die Datei für Level %d ist ungültig. Level wird übersprungen!'; |
SLevelInvalid = 'Das Level Nr. %d ist ungültig!'+#13#10+'Das Programm wird beendet.'; |
var |
act: integer; |
Enemies: array[1..32] of TEnemyType; |
1988,7 → 1982,7 |
LevelData.LoadFromFile(levFile.fileLocation); |
except |
showmessage(Format(SLevelInvalid, [lev])); |
ResetLevelData; // empty level = the player will continue with the next level |
ResetLevelData; |
end; |
end; |
{$ENDREGION} |
2000,10 → 1994,6 |
TitleWasPressed: TDxInputState = isButton32; |
procedure TMainForm.SceneTitle; |
resourcestring |
SNormalGame = 'Normales Spiel'; |
SRandomGame = 'Zufalls-Level'; |
SLevelEditor = 'Level-Editor'; |
var |
Logo: TPictureCollectionItem; |
colo1, colo2: TColor; |
2049,11 → 2039,11 |
colo2 := clYellow; |
end; |
DXDraw.Surface.Canvas.Font.Color := colo1; |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-152, (dxdraw.surfaceheight div 2)-52, SNormalGame); |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-152, (dxdraw.surfaceheight div 2)-52, 'Normales Spiel'); |
if FGameMode = gmLevels then |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-185, (dxdraw.surfaceheight div 2)-52, '>'); |
DXDraw.Surface.Canvas.Font.Color := colo2; |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-150, (dxdraw.surfaceheight div 2)-50, SNormalGame); |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-150, (dxdraw.surfaceheight div 2)-50, 'Normales Spiel'); |
if FGameMode = gmLevels then |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-185, (dxdraw.surfaceheight div 2)-50, '>'); |
{$ENDREGION} |
2070,11 → 2060,11 |
colo2 := clYellow; |
end; |
DXDraw.Surface.Canvas.Font.Color := colo1; |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-152, (dxdraw.surfaceheight div 2)-2, SRandomGame); |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-152, (dxdraw.surfaceheight div 2)-2, 'Zufallslevel'); |
if FGameMode = gmRandom then |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-187, (dxdraw.surfaceheight div 2)-2, '>'); |
DXDraw.Surface.Canvas.Font.Color := colo2; |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-150, (dxdraw.surfaceheight div 2), SRandomGame); |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-150, (dxdraw.surfaceheight div 2), 'Zufallslevel'); |
if FGameMode = gmRandom then |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-185, (dxdraw.surfaceheight div 2), '>'); |
{$ENDREGION} |
2091,11 → 2081,11 |
colo2 := clYellow; |
end; |
DXDraw.Surface.Canvas.Font.Color := colo1; |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-152, (dxdraw.surfaceheight div 2)+48, SLevelEditor); |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-152, (dxdraw.surfaceheight div 2)+48, 'Level-Editor'); |
if FGameMode = gmEditor then |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-185, (dxdraw.surfaceheight div 2)+48, '>'); |
DXDraw.Surface.Canvas.Font.Color := colo2; |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-150, (dxdraw.surfaceheight div 2)+50, SLevelEditor); |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-150, (dxdraw.surfaceheight div 2)+50, 'Level-Editor'); |
if FGameMode = gmEditor then |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-185, (dxdraw.surfaceheight div 2)+50, '>'); |
{$ENDREGION} |
2103,9 → 2093,9 |
{ if (FBlink div 300) mod 2=0 then |
begin |
DXDraw.Surface.Canvas.Font.Color := clGreen; |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-187, dxdraw.surfaceheight-117, SWeiterMitLeertaste); |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-187, dxdraw.surfaceheight-117, 'Weiter mit Leertaste'); |
DXDraw.Surface.Canvas.Font.Color := clLime; |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-185, dxdraw.surfaceheight-115, SWeiterMitLeertaste); |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-185, dxdraw.surfaceheight-115, 'Weiter mit Leertaste'); |
end; } |
BlinkUpdate; |
DXDraw.Surface.Canvas.Release; |
2237,7 → 2227,7 |
{$REGION 'Anzeige Einheiten und Boss Leben'} |
tmpEnemyAnzeige := EnemyCounter{Auf Bildschirm} + FRestEnemies{In der Warteschlange}; |
if Assigned(FBoss) and (FBoss.State<>pesDeadVanished) then Dec(tmpEnemyAnzeige); |
if Assigned(FBoss) then Dec(tmpEnemyAnzeige); |
if Assigned(FBoss) and (FBoss.Life>0) then |
begin |
2396,8 → 2386,6 |
end; |
procedure TMainForm.SceneNewLevel; |
resourcestring |
SLevelScene = 'Level %d'; |
begin |
DXDraw.Surface.Fill(0); |
2404,16 → 2392,16 |
DXDraw.Surface.Canvas.Brush.Style := bsClear; |
DXDraw.Surface.Canvas.Font.Size := 40; |
DXDraw.Surface.Canvas.Font.Color := clMaroon; |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-(83+(length(inttostr(flevel))*22)), 98, Format(SLevelScene, [flevel])); |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-(83+(length(inttostr(flevel))*22)), 98, 'Level '+inttostr(flevel)); |
DXDraw.Surface.Canvas.Font.Color := clRed; |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-(81+(length(inttostr(flevel))*22)), 100, Format(SLevelScene, [flevel])); |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-(81+(length(inttostr(flevel))*22)), 100, 'Level '+inttostr(flevel)); |
if (FBlink div 300) mod 2=0 then |
begin |
DXDraw.Surface.Canvas.Font.Size := 30; |
DXDraw.Surface.Canvas.Font.Color := clOlive; |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-187, dxdraw.surfaceheight-117, SWeiterMitLeertaste); |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-187, dxdraw.surfaceheight-117, 'Weiter mit Leertaste'); |
DXDraw.Surface.Canvas.Font.Color := clYellow; |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-185, dxdraw.surfaceheight-115, SWeiterMitLeertaste); |
DXDraw.Surface.Canvas.Textout((dxdraw.surfaceWidth div 2)-185, dxdraw.surfaceheight-115, 'Weiter mit Leertaste'); |
end; |
BlinkUpdate; |
DXDraw.Surface.Canvas.Release; |
/Global.pas |
---|
3,7 → 3,7 |
interface |
const |
ProgramVersion = '1.2.2'; |
ProgramVersion = '1.2.1'; |
LevEditRasterW = 48; |
LevEditRasterH = 32; |
LevEditRows = 15; // Attention: if you change this, you also need to change the LevEditor GUI! |
/Help/DE_General.md |
---|
File deleted |
/Help/EN_General.md |
---|
File deleted |
\ No newline at end of file |
/Help/DE_Changelog.md |
---|
File deleted |
/Help/EN_Changelog.md |
---|
File deleted |
/Help/Neuerungen.md |
---|
0,0 → 1,73 |
# Changelog |
SpaceMission 1.2.2: |
- BUGFIX: Items können nun auch eingesammelt werden, wenn man einen infinite lives Cheat aktiviert hat |
- BUGFIX: Fehlerkorrektur bei der Anzeige der restlichen Einheiten bei Missionsende |
SpaceMission 1.2.1: |
- Neue Einheit: Medikit Item |
- Zufallslevel: |
- Alle 250 Einheiten erhält man ein Medikit |
- Ab Level 25 steigt die Anzahl an auftretenden stärkeren Gegnertypen |
- BUGFIX: Nach dem der Boss besiegt wurde, war die angezeigte Gegner-Anzeige eins zu wenig oder ist verschwunden |
- BUGFIX: Leveleditor Speicherndialog Frage "Level ersetzen?" Abfrage kommt nun wieder, wenn man ein Selbsterstelltes Level überschreiben möchte |
- BUGFIX: Die Geschwindigkeitseinstellung im Menü wurde falsch angezeigt, wenn das Spiel gestartet wurde |
- BUGFIX: Zufallslevel: Manche Einheiten sind nicht aufgetaucht, da sie zu weit unten generiert wurden. Korrigiert. |
- Mit einer Registry-Änderung kann die Geschwindigkeit nun beliebig eingestellt werden. Registry Schlüssel "Computer\HKEY_CURRENT_USER\Software\ViaThinkSoft\SpaceMission\Settings", Schalter "GameSpeed". Standardwerte: Leicht 10, Mittel 16, Schwer 22, Meister 33. |
SpaceMission 1.2: |
- Inhaltliche Änderungen am Spiel: |
- Boss besiegen gibt nun 10.000 Punkte anstelle 1.000 |
- "Neu starten" Menüpunkt startet nun das Level neu mit den bei Levelstart vorhandenen Punkten und Leben, anstelle von ganz vorne neu zu beginnen |
- Anzeige Restliche Einheiten ist nun Einzeige Einheiten gesamt, d.h. auch die, die auf dem Bildschirm sind (außer Boss) |
- Man kann nun nicht mehr "Game over" gehen. Das Level startet neu, wenn man gestorben ist. |
- Aus technischen Gründen ist es nicht mehr möglich zu speichern, wenn die Anzeige "Level ..., Weiter mit Leertaste" kommt. Man kann jedoch das Level starten und sofort dann mit F4 speichern. |
- Zufallslevel: |
- Ab sofort 1 Einheit weniger pro Level |
- Ab sofort Level 1-4 ohne Boss, Level 5-9 mit Boss am Ende, und ab Level 10 Boss in der Mitte vom Level |
- Bei höheren Levels ist die Lebensenergie von Gegnern nun auf 10 gedeckelt |
- Attackierer 2 kommt nun häufiger vor |
- Zufallslevel größer als Level 25 ist nun möglich. |
- Änderungen am Level Editor: |
- "Quelltext" Fenster entfernt |
- Gegner-Typ-Name steht nun in der Statusleiste unten |
- Der Leveleditor hat nun eine "Level testen" Funktion |
- Technische Änderungen: |
- Es wird nun DirectMusic anstelle MCI zum Abspielen von Musik verwendet. Der Klang ist besser und es gibt weniger Lags. |
- Fenster sind nun in Bildschirm-Mitte und nicht mehr Desktop-Mitte (das macht einen Unterschied bei Multi-Monitor-Systemen). |
- DPlayX.dll wird nicht länger geladen, sodass Windows 11 keine Warnung zeigt, dass DirectPlay nicht installiert ist |
- Spielstände und eigene Levels werden in den Ordner "Gespeicherte Spiele" gesichert (anstelle in den mittlerweile geschützten Programmdateien-Ordner) |
- Einstellungen werden in die Windows Registry gesichert anstelle in eine INI-Datei |
- Quellcode stark verbessert und "redactored" |
- Neue LEV und SAV Dateiformate. |
- LEV und SAV Dateien teilen sich das gleiche Format. |
- Es gibt keinen Zwang mehr, die Gegner nach X-Koordinaten zu sortieren. |
- Jeder Gegner wird in einer einzelnen Zeile dargestellt; das Format ist daher sehr übersichtlich |
- Spielstände beinhalten nun die Original-Leveldateien, sodass das wiederherzustellende Spiel exakt gleich aussieht |
- Eigenschaften "Level-Name" und "Level Autor" hinzugefügt. |
- "ESC" Taste pausiert das Spiel und öffnet das Menü |
- "Level-Konverter" entfernt. Anstelle lesen das Level-Editor und das Spiel nun alle Formate seit SpaceMission 0.2 ein. |
- Bugfix: Pause wurde nicht in Titelzeile geschrieben, wenn das Spiel pausiert wurde |
- Bugfix: Wenn man pause gemacht hat und fenster wechselt und wieder zurückwechselt, wurde Pause aufgehoben. |
- Bugfix: Zwei Fenster wurden in der Taskleiste angezeigt |
- "Vollbild" und "Breitbild" Feature entfernt, da es nie richtig funktioniert hat |
- Level Editor kann nun über das Hauptmenü aufgerufen werden |
Version 1.1: |
- Bugfixes |
- Veröffentlichung als OpenSource |
Version 1.0: |
- Bugfixes |
- Die erste vollständige Version von SpaceMission. |
- Ein neuer Leveleditor wurde programmiert. |
Version 0.4: |
- Bugfixes |
- Nun auch mit einem Leveleditor. |
Version 0.3: |
- Bugfixes |
Version 0.2: |
- Die erste Beta-Version von SpaceMission. |
/Help/Allgemeines.md |
---|
0,0 → 1,98 |
# SpaceMission 1.2.1 Dokumentation |
Bitte auch lesen: [Was ist neu in Version 1.2.1?](Neuerungen.md) |
## Beschreibung |
SpaceMission ist ein klassisches Weltraumspiel, beidem Sie durch einen Kometenhagel fliegen, |
UFOs und andere Raumschiffe abschießen müssen. Es gibt 31 Levels sowie |
Zufallslevels, d.h. Levels die vom Computer durch Zufall erstellt werden. |
Mit dem eingebauten Leveleditor können Sie auch Ihre eigenen Levels |
erstellen. Viel Spaß mit SpaceMission. |
### Gute Levels gesucht: |
Wenn Sie gute Levels erstellt haben und diese in der nächsten Version veröffentlichen möchten, |
senden Sie sie bitte per E-Mail an info@daniel-marschall.de |
## Bedienung/Steuerung |
### SpaceMission |
Im Menü wählen Sie den Menüpunkt mit den Pfeiltasten aus. Drücken Sie die Leertaste, |
um fortzufahren. Im Spiel steuern Sie das Raumschiff mit den Pfeiltasten. Mit der |
Leertaste schießen Sie. |
### Leveleditor |
Wählen Sie rechts einen Einheitentyp aus, unten können Sie die Leben einstellen. |
Kometen sind unzerstörbar und haben somit keine Leben. Anschließend setzen Sie mit |
der Linken Maustaste eine Einheit auf das Spielfeld. Klicken Sie mit der rechten |
Maustaste auf eine Einheit, um sie zu löschen. Wenn Sie die Leben einer Einheit löschen |
möchten, müssen Sie sie löschen und wieder neu setzen. |
## Spielstände |
Vergessen Sie nicht, Ihren Spielstand zu sichern. |
Sie können das Spiel sichern, sobald ein Level gestartet hat. |
Im Spielstand sind Punktestand und Leben sowie eine Kopie des Levels gespeichert. |
Punktestand und Leben beziehen sich auf den **Anfang** des Levels. Sie können |
nicht in der Mitte eines Levels sichern. |
## Quelltext |
Der Quelltext des Spiels ist öffentlich. SpaceMission kann von jedem verändert |
oder weiterentwickelt werden. Voraussetzung ist die Programmier-Umgebung Embarcadero Delphi. |
Quelltext unter www.github.com/danielmarschall/spacemission |
## Aufbau von Spielstand- und Leveldateien |
Savegame- und Level-Dateien teilen das gleiche Format; eine Savedatei ist eine erweiterte Leveldatei. |
[Beschreibung der OID auf OIDplus](https://hosted.oidplus.com/viathinksoft/?goto=oid%3A1.3.6.1.4.1.37476.2.8.1.1) |
[1.3.6.1.4.1.37476.2.8.1.1] |
Score ... (nur vorhanden wenn Datei ein Spielstand ist) |
Lives ... (nur vorhanden wenn Datei ein Spielstand ist) |
Level ... (nur vorhanden wenn Datei ein Spielstand ist) |
Mode ... (nur vorhanden wenn Datei ein Spielstand ist; 1=Normal, 2=Zufall) |
Name ... |
Author ... |
Width ... (Standard 1200; nur für Leveleditor relevant) |
Enemy <Typ> <XCoord> <YCoord> <Leben> |
Enemy <Typ> <XCoord> <YCoord> <Leben>; Kommentarzeile am Ende einer Gegner-Zeile |
Enemy <Typ> <XCoord> <YCoord> <Leben> |
Enemy ... |
; Kommentar-Zeile |
Anmerkungen: |
- Alle Level-Dateien müssen den Namen "Level [Level-Nr].lev" haben, bzw. alle Spielstanddateien müssen "[Name].sav" lauten. |
- Die Reihenfolge der Zeilen ist beliebig. Die erste Zeile muss jedoch exakt stimmen. |
- Leere Zeilen sind erlaubt |
- Das Schlüsselwort `Enemy` gilt sowohl für Gegner als auch für Items. |
- `<Typ>` = Gegner Typ |
* 1=Attacker (blau) |
* 2=Attacker2 (braun) |
* 3=Attacker3 (rot) |
* 4=Meteor |
* 5=UFO (grün) |
* 6=UFO2 (orange) |
* 7=Boss |
* 8=Medikit |
- `<XCoord>` = Gegner X-Koordinate (muss durch 48 teilbar sein, wenn Level mit Leveleditor bearbeitet werden soll) |
- `<YCoord>` = Gegner Y-Koordinate (muss durch 32 teilbar sein, wenn Level mit Leveleditor bearbeitet werden soll) |
- `<Leben>` = Gegner Leben (keine relevanz für Kometen und Items) |
## Cheat |
Bitte beachten Sie, dass die Verwendung von Cheats Ihnen den Spielspaß verderben kann! |
Wenn Sie dennoch Cheats anwenden möchten: |
- Cheat für unendliche Leben: Countrysänger der "Man in Black" in 1971 veröffentlicht hat. |
## Lizenzbedingungen |
Lizenziert unter den Bedingungen der Apache 2.0 Lizenz, |
d.h. die Weitergabe ist ausdrücklich erwünscht! |
## Autor |
Homepage: www.daniel-marschall.de |
E-Mail: info@daniel-marschall.de |
/GamMain.dfm |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/LevMain.dfm |
---|
40,6 → 40,9 |
Height = 19 |
Panels = <> |
SimplePanel = True |
SimpleText = |
' Zeigen Sie mit dem Mauszeiger auf eine Einheit, um deren Eigens' + |
'chaften anzuzeigen...' |
OnMouseMove = DXDrawMouseMove |
end |
object SidePanel: TPanel |
6104,13 → 6107,13 |
object Hilfe1: TMenuItem |
Caption = 'Allgemeines' |
GroupIndex = 1 |
Hint = 'Help\DE_General.md' |
Hint = 'Help\Allgemeines.md' |
OnClick = HilfeTopicClick |
end |
object WasgibtesNeues1: TMenuItem |
Caption = 'Was gibt es Neues?' |
GroupIndex = 1 |
Hint = 'Help\DE_Changelog.md' |
Hint = 'Help\Neuerungen.md' |
OnClick = HilfeTopicClick |
end |
object N4: TMenuItem |
/LevEdit.dproj |
---|
66,7 → 66,6 |
<VerInfo_Locale>1031</VerInfo_Locale> |
<VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0</VerInfo_Keys> |
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo> |
<DCC_OutputDRCFile>true</DCC_OutputDRCFile> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Base_Win32)'!=''"> |
<DCC_Namespace>System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace> |
177,22 → 176,6 |
<Excluded_Packages Name="$(BDSBIN)\dcloffice2k290.bpl">Microsoft Office 2000 Beispiele für gekapselte Komponenten für Automatisierungsserver</Excluded_Packages> |
<Excluded_Packages Name="$(BDSBIN)\dclofficexp290.bpl">Microsoft Office XP Beispiele für gekapselte Komponenten für Automation Server</Excluded_Packages> |
</Excluded_Packages> |
<Language> |
<Language Name="ProjectLang">$00000407</Language> |
<Language Name="ActiveLang">ENU</Language> |
</Language> |
<Resource_DLL_Projects> |
<Resource_DLL_Projects Name="Item0">Englisch (Vereinigte Staaten)*$00000409*ENU*ENU</Resource_DLL_Projects> |
</Resource_DLL_Projects> |
<RDP_Source_Files> |
<RDP_Source_Files Name="Item0">LevMain.dfm</RDP_Source_Files> |
<RDP_Source_Files Name="Item1">LevSplash.dfm</RDP_Source_Files> |
<RDP_Source_Files Name="Item2">LevSpeicherung.dfm</RDP_Source_Files> |
<RDP_Source_Files Name="Item3">ComInfo.dfm</RDP_Source_Files> |
<RDP_Source_Files Name="Item4">LevOptions.dfm</RDP_Source_Files> |
<RDP_Source_Files Name="Item5">ComHilfe.dfm</RDP_Source_Files> |
<RDP_Source_Files Name="Item6">LevEdit.drc</RDP_Source_Files> |
</RDP_Source_Files> |
</Delphi.Personality> |
<Platforms> |
<Platform value="Win32">True</Platform> |
/_InnoSetup/SpaceMission.iss |
---|
28,7 → 28,6 |
SignedUninstaller=yes |
[Languages] |
Name: en; MessagesFile: "compiler:Default.isl" |
Name: de; MessagesFile: "compiler:Languages\German.isl" |
[LangOptions] |
41,8 → 40,6 |
[Files] |
Source: "..\SpaceMission.exe"; DestDir: "{app}"; Flags: ignoreversion signonce |
Source: "..\LevEdit.exe"; DestDir: "{app}"; Flags: ignoreversion signonce |
Source: "..\SpaceMission.enu"; DestDir: "{app}"; Flags: ignoreversion signonce |
Source: "..\LevEdit.enu"; DestDir: "{app}"; Flags: ignoreversion signonce |
Source: "..\Help\*.md"; DestDir: "{app}\Help"; Flags: ignoreversion |
Source: "..\Help\*.css"; DestDir: "{app}\Help"; Flags: ignoreversion |
Source: "..\DirectX\Graphics.dxg"; DestDir: "{app}\DirectX"; Flags: ignoreversion |
65,13 → 62,6 |
[Run] |
Filename: "{app}\SpaceMission.exe"; Description: "SpaceMission starten"; Flags: nowait postinstall skipifsilent |
[Registry] |
; TODO: Also do this to the "Jumper" game |
Root: HKCU; Subkey: "Software\Embarcadero\Locales"; ValueType: string; ValueName: "{app}\SpaceMission.exe"; ValueData: "ENU"; Languages: en |
Root: HKCU; Subkey: "Software\Embarcadero\Locales"; ValueType: string; ValueName: "{app}\SpaceMission.exe"; ValueData: "DE"; Languages: de |
Root: HKCU; Subkey: "Software\Embarcadero\Locales"; ValueType: string; ValueName: "{app}\LevEdit.exe"; ValueData: "ENU"; Languages: en |
Root: HKCU; Subkey: "Software\Embarcadero\Locales"; ValueType: string; ValueName: "{app}\LevEdit.exe"; ValueData: "DE"; Languages: de |
[Code] |
function InitializeSetup(): Boolean; |
begin |
/LevMain.pas |
---|
122,9 → 122,6 |
{$R *.DFM} |
resourcestring |
status_info = 'Zeigen Sie mit dem Mauszeiger auf eine Einheit, um deren Eigenschaften anzuzeigen...'; |
type |
TBackground = class(TBackgroundSprite) |
strict protected |
243,8 → 240,6 |
{ VCL-Ersatz ende } |
StatusBar.SimpleText := ' ' + status_info; |
LivesEdit.MinValue := 1; |
LivesEdit.MaxValue := MaxPossibleEnemyLives; |
LivesEdit.Value := 1; |
754,6 → 749,7 |
procedure TMainForm.DXDrawMouseMove(Sender: TObject; Shift: TShiftState; X, |
Y: Integer); |
resourcestring |
status_info = 'Zeigen Sie mit dem Mauszeiger auf eine Einheit, um deren Eigenschaften anzuzeigen...'; |
status_lives = 'Leben: '; |
status_nolives = 'Einheit hat keine Lebensangabe'; |
SUnknownEnemyType = '???'; |
/ComLevelReader.pas |
---|
329,7 → 329,7 |
procedure TLevelData.LoadFromStrings(sl: TStrings); |
resourcestring |
SInvalidLevelFile = 'Level-Format nicht unterstützt oder Datei ist beschädigt'; |
SEnemyTypeNotImplemented = 'Gegner-Typ %d wird nicht unterstützt (Alte Spielversion?)'; |
SEnemyTypeNotImplemented = 'Enemy Type %d not implemented'; |
var |
curline: integer; |
z, act: integer; |
/SpaceMission.dproj |
---|
54,7 → 54,6 |
<VerInfo_Locale>1031</VerInfo_Locale> |
<VerInfo_Keys>CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0</VerInfo_Keys> |
<VerInfo_IncludeVerInfo>true</VerInfo_IncludeVerInfo> |
<DCC_OutputDRCFile>true</DCC_OutputDRCFile> |
</PropertyGroup> |
<PropertyGroup Condition="'$(Base_Win32)'!=''"> |
<DCC_Namespace>System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace)</DCC_Namespace> |
156,22 → 155,6 |
<Excluded_Packages Name="$(BDSBIN)\dcloffice2k290.bpl">Microsoft Office 2000 Beispiele für gekapselte Komponenten für Automatisierungsserver</Excluded_Packages> |
<Excluded_Packages Name="$(BDSBIN)\dclofficexp290.bpl">Microsoft Office XP Beispiele für gekapselte Komponenten für Automation Server</Excluded_Packages> |
</Excluded_Packages> |
<Language> |
<Language Name="ProjectLang">$00000407</Language> |
<Language Name="ActiveLang">ENU</Language> |
</Language> |
<Resource_DLL_Projects> |
<Resource_DLL_Projects Name="Item0">Englisch (Vereinigte Staaten)*$00000409*ENU*ENU</Resource_DLL_Projects> |
</Resource_DLL_Projects> |
<RDP_Source_Files> |
<RDP_Source_Files Name="Item0">GamMain.dfm</RDP_Source_Files> |
<RDP_Source_Files Name="Item1">GamSplash.dfm</RDP_Source_Files> |
<RDP_Source_Files Name="Item2">GamSpeicherung.dfm</RDP_Source_Files> |
<RDP_Source_Files Name="Item3">ComInfo.dfm</RDP_Source_Files> |
<RDP_Source_Files Name="Item4">GamCheat.dfm</RDP_Source_Files> |
<RDP_Source_Files Name="Item5">ComHilfe.dfm</RDP_Source_Files> |
<RDP_Source_Files Name="Item6">SpaceMission.drc</RDP_Source_Files> |
</RDP_Source_Files> |
</Delphi.Personality> |
<Platforms> |
<Platform value="Win32">True</Platform> |
/_SpacemissionGroup.groupproj |
---|
9,12 → 9,6 |
<Projects Include="SpaceMission.dproj"> |
<Dependencies/> |
</Projects> |
<Projects Include="ENU\LevEdit_ENU.bdsproj"> |
<Dependencies/> |
</Projects> |
<Projects Include="ENU\SpaceMission_ENU.bdsproj"> |
<Dependencies/> |
</Projects> |
</ItemGroup> |
<ProjectExtensions> |
<Borland.Personality>Default.Personality.12</Borland.Personality> |
41,32 → 35,14 |
<Target Name="SpaceMission:Make"> |
<MSBuild Projects="SpaceMission.dproj" Targets="Make"/> |
</Target> |
<Target Name="LevEdit_ENU"> |
<MSBuild Projects="ENU\LevEdit_ENU.bdsproj"/> |
</Target> |
<Target Name="LevEdit_ENU:Clean"> |
<MSBuild Projects="ENU\LevEdit_ENU.bdsproj" Targets="Clean"/> |
</Target> |
<Target Name="LevEdit_ENU:Make"> |
<MSBuild Projects="ENU\LevEdit_ENU.bdsproj" Targets="Make"/> |
</Target> |
<Target Name="SpaceMission_ENU"> |
<MSBuild Projects="ENU\SpaceMission_ENU.bdsproj"/> |
</Target> |
<Target Name="SpaceMission_ENU:Clean"> |
<MSBuild Projects="ENU\SpaceMission_ENU.bdsproj" Targets="Clean"/> |
</Target> |
<Target Name="SpaceMission_ENU:Make"> |
<MSBuild Projects="ENU\SpaceMission_ENU.bdsproj" Targets="Make"/> |
</Target> |
<Target Name="Build"> |
<CallTarget Targets="LevEdit;SpaceMission;LevEdit_ENU;SpaceMission_ENU"/> |
<CallTarget Targets="LevEdit;SpaceMission"/> |
</Target> |
<Target Name="Clean"> |
<CallTarget Targets="LevEdit:Clean;SpaceMission:Clean;LevEdit_ENU:Clean;SpaceMission_ENU:Clean"/> |
<CallTarget Targets="LevEdit:Clean;SpaceMission:Clean"/> |
</Target> |
<Target Name="Make"> |
<CallTarget Targets="LevEdit:Make;SpaceMission:Make;LevEdit_ENU:Make;SpaceMission_ENU:Make"/> |
<CallTarget Targets="LevEdit:Make;SpaceMission:Make"/> |
</Target> |
<Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/> |
</Project> |
/ComInfo.dfm |
---|
170,12 → 170,12 |
'Sicherheitszertifikat von HickelSOFT Huth GmbH.' |
'' |
'Verwendete Komponenten: (un)DelphiX' |
'Quellcode: http://www.micrel.cz/Dx/' |
'Source: http://www.micrel.cz/Dx/' |
'(C) Copyright 1996-2000 by Hiroyuki Hori' |
'(C) Copyright 2004-2023 by Jaro Benes.' |
'' |
'sowie Delphi MarkDown' |
'Quellcode: https://github.com/grahamegrieve/delphi-markdown' |
'Source: https://github.com/grahamegrieve/delphi-markdown' |
'(c) 2011+, Health Intersections Pty Ltd' |
'Apache 2.0 Lizenz' |
'' |
/.gitignore.txt |
---|
4,7 → 4,7 |
*.bpl |
*.bpi |
*.dcp |
#*.drc |
*.drc |
*.map |
*.dres |
*.rsm |