Subversion Repositories spacemission

Compare Revisions

Regard whitespace Rev 67 → Rev 68

/CHANGELOG.md
File deleted
/Help.css
File deleted
/Doku.md
File deleted
/ComHilfe.pas
12,6 → 12,8
procedure WebBrowser1BeforeNavigate2(ASender: TObject;
const pDisp: IDispatch; const URL, Flags, TargetFrameName, PostData,
Headers: OleVariant; var Cancel: WordBool);
private
FDirectory: string;
public
procedure ShowHTMLHelp(AHTML: string);
procedure ShowMarkDownHelp(AMarkDownFile: string);
46,11 → 48,12
slHtml, slCss: TStringList;
cssFile: string;
begin
FDirectory := ExtractFilePath(AMarkDownFile);
slHtml := TStringList.Create();
slCss := TStringList.Create();
try
slHtml.LoadFromFile(AMarkDownFile);
cssFile := OwnDirectory + 'Help.css';
cssFile := IncludeTrailingPathDelimiter(FDirectory) + 'Style.css';
if FileExists(cssFile) then
slCss.LoadFromFile(cssFile);
md := TMarkdownProcessor.CreateDialect(mdCommonMark);
89,7 → 92,7
else if SameText(ExtractFileExt(URL), '.md') then
begin
if SameText(Copy(URL,1,6), 'about:') then
ShowMarkDownHelp(Copy(URL,7,Length(URL)))
ShowMarkDownHelp(IncludeTrailingPathDelimiter(FDirectory) + Copy(URL,7,Length(URL)))
else
ShowMarkDownHelp(URL);
Cancel := true;
/GamMain.dfm
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/Help/Allgemeines.md
0,0 → 1,81
# SpaceMission 1.2 Dokumentation
 
Bitte auch lesen: [Was ist neu in Version 1.2?](Neuerungen.md)
 
## Beschreibung
SpaceMission ist ein klassisches Weltraumspiel, beidem Sie durch einen Kometenhagel fliegen,
UFOs und andere Raumschiffe abschießen müssen. Es gibt seit Version 1.1 31 Levels, die
von meinen Mitarbeitern erstellt wurden. Außerdem gibt es Zufallslevels, das heißt, dass Levels
vom Computer durch Zufall erstellt werden. Diese Zufallslevels sind besonders gut. In der
Version 1.1 gibt es nun auch einen neuen Leveleditor, mit denen Sie Ihre eigenen Levels
erstellen können. 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.
 
## 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
- Enemy `<Typ>` = Gegner Typ (1=Attacker, 2=Attacker2, 3=Attacker3, 4=Meteor, 5=UFO, 6=UFO2, 7=Boss)
- Enemy `<XCoord>` = Gegner X-Koordinate (muss durch 48 teilbar sein, wenn Level mit Leveleditor bearbeitet werden soll)
- Enemy `<YCoord>` = Gegner Y-Koordinate (muss durch 32 teilbar sein, wenn Level mit Leveleditor bearbeitet werden soll)
- Enemy `<Leben>` = Gegner Leben (keine relevanz für Kometen)
 
## 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
/Help/Neuerungen.md
0,0 → 1,58
# Changelog
 
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/Style.css
0,0 → 1,8
body {
color:#EEE;
background-color:#222;
}
 
a:link, a:hover, a:active, a:visited {
color:yellow;
}
/LevMain.dfm
2059,13 → 2059,13
object Hilfe1: TMenuItem
Caption = 'Allgemeines'
GroupIndex = 1
Hint = 'Doku.md'
Hint = 'Help\Allgemeines.md'
OnClick = HilfeTopicClick
end
object WasgibtesNeues1: TMenuItem
Caption = 'Was gibt es Neues?'
GroupIndex = 1
Hint = 'Changelog.md'
Hint = 'Help\Neuerungen.md'
OnClick = HilfeTopicClick
end
object N4: TMenuItem
/_InnoSetup/SpaceMission.iss
40,9 → 40,8
[Files]
Source: "..\SpaceMission.exe"; DestDir: "{app}"; Flags: ignoreversion signonce
Source: "..\LevEdit.exe"; DestDir: "{app}"; Flags: ignoreversion signonce
Source: "..\Doku.md"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\Changelog.md"; DestDir: "{app}"; Flags: ignoreversion
Source: "..\Help.css"; DestDir: "{app}"; Flags: ignoreversion
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
Source: "..\DirectX\Music.dxm"; DestDir: "{app}\DirectX"; Flags: ignoreversion
Source: "..\DirectX\Sound.dxw"; DestDir: "{app}\DirectX"; Flags: ignoreversion