/SplCheat.dcu |
---|
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 |
/LevText.dcu |
---|
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 |
/SplInfo.dcu |
---|
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 |
/ComMain.dcu |
---|
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 |
/LevInfo.pas |
---|
File deleted |
/SpaceMission.identcache |
---|
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 |
/SplSplash.dcu |
---|
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 |
/SplMain.dcu |
---|
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.bdsproj.local |
---|
File deleted |
/Compiler.identcache |
---|
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 |
/LevInfo.dfm |
---|
File deleted |
/LevEdit.identcache |
---|
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 |
/SplText.dcu |
---|
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 |
/LevInfo.dcu |
---|
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 |
/LevSpeicherung.dcu |
---|
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 |
/SplSpeicherung.dcu |
---|
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 |
/LevSplash.dcu |
---|
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 |
/LevMain.dcu |
---|
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 |
/Unit1.dcu |
---|
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 |
/_Projektgruppe.bdsgroup.local |
---|
File deleted |
/LevOptions.dcu |
---|
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 |
/Compiler.bdsproj.local |
---|
File deleted |
/LevEdit.bdsproj.local |
---|
File deleted |
/VCL_PJVERSIONINFO/PJVersionInfo.dcu |
---|
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 |
/VCL_PJVERSIONINFO/PJVersionInfo.pas |
---|
File deleted |
/VCL_PJVERSIONINFO/PJVersionInfo.htm |
---|
File deleted |
/LevSource.dcu |
---|
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 |
/SplInfo.dfm |
---|
9,15 → 9,13 |
Color = clBtnFace |
Font.Charset = DEFAULT_CHARSET |
Font.Color = clWindowText |
Font.Height = -11 |
Font.Height = -12 |
Font.Name = 'MS Sans Serif' |
Font.Style = [] |
OldCreateOrder = False |
Position = poMainFormCenter |
OnCreate = FormCreate |
OnHide = FormHide |
OnShow = FormShow |
PixelsPerInch = 96 |
PixelsPerInch = 106 |
TextHeight = 13 |
object HomeLbl: TLabel |
Left = 32 |
38,9 → 36,9 |
object FirmaLbl: TLabel |
Left = 88 |
Top = 8 |
Width = 31 |
Width = 74 |
Height = 13 |
Caption = 'Firma' |
Caption = 'ViaThinkSoft' |
Font.Charset = DEFAULT_CHARSET |
Font.Color = clWindowText |
Font.Height = -11 |
52,9 → 50,9 |
object NameLbl: TLabel |
Left = 104 |
Top = 24 |
Width = 28 |
Width = 66 |
Height = 13 |
Caption = 'Name' |
Caption = 'SpaceMission' |
Transparent = True |
end |
object VersionLbl: TLabel |
76,9 → 74,9 |
object CopyrightLbl: TLabel |
Left = 8 |
Top = 80 |
Width = 44 |
Width = 137 |
Height = 13 |
Caption = 'Copyright' |
Caption = '(C) 2001 - 2011 ViaThinkSoft' |
Transparent = True |
end |
object Copyright2Lbl: TLabel |
108,10 → 106,10 |
object URL1: TLabel |
Left = 152 |
Top = 120 |
Width = 118 |
Width = 155 |
Height = 13 |
Cursor = crHandPoint |
Caption = 'info@daniel-marschall.de' |
Caption = 'daniel-marschall@viathinksoft.de' |
Font.Charset = DEFAULT_CHARSET |
Font.Color = clBlue |
Font.Height = -11 |
121,7 → 119,7 |
Transparent = True |
OnClick = URL1Click |
end |
object ElPopupButton1: TButton |
object OkBtn: TButton |
Left = 208 |
Top = 160 |
Width = 107 |
128,6 → 126,6 |
Height = 25 |
Caption = 'OK' |
TabOrder = 0 |
OnClick = ElPopupButton1Click |
OnClick = OkBtnClick |
end |
end |
/LevEdit.dpr |
---|
14,9 → 14,10 |
LevText in 'LevText.pas' {TextForm}, |
LevSplash in 'LevSplash.pas' {SplashForm}, |
LevSpeicherung in 'LevSpeicherung.pas' {SpeicherungForm}, |
LevInfo in 'LevInfo.pas' {InfoForm}, |
SplInfo in 'SplInfo.pas' {InfoForm}, |
LevSource in 'LevSource.pas' {SourceForm}, |
LevOptions in 'LevOptions.pas' {LevelForm}; |
LevOptions in 'LevOptions.pas' {LevelForm}, |
Global in 'Global.pas'; |
{$R *.RES} |
/_InnoSetup/Output/setup.exe |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/_InnoSetup/SpaceMission.iss |
---|
9,7 → 9,7 |
AppName=SpaceMission |
AppVerName=SpaceMission 1.1 |
AppVersion=1.1 |
AppCopyright=© Copyright 2001 - 2007 ViaThinkSoft. |
AppCopyright=© Copyright 2001 - 2011 ViaThinkSoft. |
AppPublisher=ViaThinkSoft |
AppPublisherURL=http://www.viathinksoft.de/ |
AppSupportURL=http://www.daniel-marschall.de/ |
17,7 → 17,7 |
DefaultDirName={pf}\SpaceMission |
DefaultGroupName=SpaceMission |
VersionInfoCompany=ViaThinkSoft |
VersionInfoCopyright=© Copyright 2001 - 2007 ViaThinkSoft. |
VersionInfoCopyright=© Copyright 2001 - 2011 ViaThinkSoft. |
VersionInfoDescription=SpraceMission Setup |
VersionInfoTextVersion=1.0.0.0 |
VersionInfoVersion=1.1 |
/SplMain.pas |
---|
5,7 → 5,7 |
uses |
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, MMSystem, Dialogs, |
StdCtrls, ExtCtrls, Menus, SplInfo, DIB, DXClass, DXSprite, DXDraws, DXInput, |
DXSounds, PJVersionInfo, INIFiles, shellapi, wininet; |
DXSounds, INIFiles, ShellAPI, wininet; |
type |
TGameScene = ( |
20,7 → 20,8 |
TGameInterval = ( |
giMittel, |
giLeicht, |
giSchwer |
giSchwer, |
giMaster |
); |
TMusicTrack = ( |
43,158 → 44,6 |
sfLevIntro |
);} |
TMainForm = class(TDXForm) |
MainMenu: TMainMenu; |
Spiel: TMenuItem; |
GameStart: TMenuItem; |
GamePause: TMenuItem; |
Beenden: TMenuItem; |
Einstellungen: TMenuItem; |
OptionFullScreen: TMenuItem; |
OptionMusic: TMenuItem; |
Leer2: TMenuItem; |
Leer4: TMenuItem; |
Hilfe: TMenuItem; |
OptionSound: TMenuItem; |
Mitarbeiter: TMenuItem; |
Leer3: TMenuItem; |
Spielstand: TMenuItem; |
Leer5: TMenuItem; |
Neustart: TMenuItem; |
OptionBreitbild: TMenuItem; |
Spielgeschwindigkeit: TMenuItem; |
Leicht: TMenuItem; |
Mittel: TMenuItem; |
Schwer: TMenuItem; |
Informationen: TMenuItem; |
Leer6: TMenuItem; |
Leer1: TMenuItem; |
Cheat: TMenuItem; |
AufUpdatesprfen1: TMenuItem; |
procedure DXDrawFinalize(Sender: TObject); |
procedure DXDrawInitialize(Sender: TObject); |
procedure FormCreate(Sender: TObject); |
procedure DXTimerTimer(Sender: TObject; LagCount: Integer); |
procedure DXTimerActivate(Sender: TObject); |
procedure DXTimerDeactivate(Sender: TObject); |
procedure OptionFullScreenClick(Sender: TObject); |
procedure DXDrawInitializing(Sender: TObject); |
procedure GameStartClick(Sender: TObject); |
procedure GamePauseClick(Sender: TObject); |
procedure BeendenClick(Sender: TObject); |
procedure OptionSoundClick(Sender: TObject); |
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); |
procedure OptionMusicClick(Sender: TObject); |
procedure MitarbeiterClick(Sender: TObject); |
procedure SpielstandClick(Sender: TObject); |
procedure NeustartClick(Sender: TObject); |
procedure OptionBreitbildClick(Sender: TObject); |
procedure LeichtClick(Sender: TObject); |
procedure MittelClick(Sender: TObject); |
procedure SchwerClick(Sender: TObject); |
procedure FormShow(Sender: TObject); |
procedure InformationenClick(Sender: TObject); |
procedure CheatClick(Sender: TObject); |
procedure FormClose(Sender: TObject; var Action: TCloseAction); |
procedure FormDestroy(Sender: TObject); |
procedure AufUpdatesprfen1Click(Sender: TObject); |
private |
FInterval: TGameInterval; |
FScene: TGameScene; |
FMusic: TMusicTrack; |
FBlink: DWORD; |
FBlinkTime: DWORD; |
FFrame, FAngle, FCounter, FEnemyAdventPos: Integer; |
procedure StartScene(Scene: TGameScene); |
procedure EndScene; |
procedure BlinkStart; |
procedure BlinkUpdate; |
procedure StartSceneTitle; |
procedure SceneTitle; |
procedure EndSceneTitle; |
procedure StartSceneMain; |
procedure SceneMain; |
procedure EndSceneMain; |
procedure StartSceneGameOver; |
procedure SceneGameOver; |
procedure EndSceneGameOver; |
procedure StartSceneWin; |
procedure SceneWin; |
procedure EndSceneWin; |
procedure StartSceneNewLevel; |
procedure SceneNewLevel; |
procedure EndSceneNewLevel; |
public |
FDirectory: string; |
FEngineVersion: string; |
FNextScene: TGameScene; |
FScore: Integer; |
FNotSave: boolean; |
FLife: integer; |
FLevel: integer; |
FMenuItem: integer; |
FBossLife: integer; |
FRestEnemys: integer; |
FCheat: boolean; |
{ VCL-Ersatz } |
dxdraw: TDxDraw; |
imagelist: TDxImageList; |
spriteengine: tdxspriteengine; |
dxsound: tdxsound; |
wavelist: tdxwavelist; |
dxinput: tdxinput; |
dxtimer: tdxtimer; |
versioninfo: tpjversioninfo; |
{ Level-Routinen } |
procedure NewLevel(lev: integer); |
procedure DeleteArray; |
{ MCI-Routinen } |
function StatusMusic(Name: TMusicTrack): string; |
procedure PlayMusic(Name: TMusicTrack); |
//procedure StopMusic(Name: TMusicTrack); |
procedure PauseMusic(Name: TMusicTrack); |
procedure ResumeMusic(Name: TMusicTrack); |
procedure DestroyMusic(Name: TMusicTrack); |
procedure OpenMusic(Name: TMusicTrack); |
{ Sound-Routinen } |
function SoundKarte: boolean; |
procedure PlaySound(Name: string; Wait: Boolean); |
{ Initialisiations-Routinen } |
procedure DXInit; |
procedure SoundInit; |
procedure MusicInit; |
{ Einstellungs-Routinen } |
procedure LoadOptions; |
procedure WriteOptions; |
{ Farb-Routinen } |
function ComposeColor(Dest, Src: TRGBQuad; Percent: Integer): TRGBQuad; |
procedure PalleteAnim(Col: TRGBQuad; Time: Integer); |
end; |
var |
MainForm: TMainForm; |
const |
conleicht = 650 div 60; |
conmittel = 1000 div 60; |
conschwer = 1350 div 60; |
lives = 6; |
FCompVersion = '1.0'; |
implementation |
uses |
SplSplash, SplSpeicherung, SplText, SplCheat; |
const |
FileError = 'Die Datei kann von SpaceMission nicht geöffnet werden!'; |
{$R *.DFM} |
{$R WindowsXP.res} |
type |
TBackground = class(TBackgroundSprite) |
private |
FSpeed: Double; |
229,6 → 78,7 |
procedure DoMove(MoveCount: Integer); override; |
public |
constructor Create(AParent: TSprite); override; |
procedure FlyAway; |
end; |
TTamaSprite = class(TImageSprite) |
249,7 → 99,7 |
FMode: Integer; |
procedure Hit; virtual; |
protected |
procedure HitEnemy(Deaded: Boolean); virtual; |
procedure HitEnemy(ADead: Boolean); virtual; |
public |
constructor Create(AParent: TSprite); override; |
destructor Destroy; override; |
267,7 → 117,7 |
TEnemyMeteor= class(TEnemy) |
protected |
procedure DoMove(MoveCount: Integer); override; |
procedure HitEnemy(Deaded: Boolean); override; |
procedure HitEnemy(ADead: Boolean); override; |
public |
constructor Create(AParent: TSprite); override; |
end; |
275,7 → 125,7 |
TEnemyUFO = class(TEnemy) |
protected |
procedure DoMove(MoveCount: Integer); override; |
procedure HitEnemy(Deaded: Boolean); override; |
procedure HitEnemy(ADead: Boolean); override; |
public |
constructor Create(AParent: TSprite); override; |
end; |
287,7 → 137,7 |
FOldTamaTime: Integer; |
protected |
procedure DoMove(MoveCount: Integer); override; |
procedure HitEnemy(Deaded: Boolean); override; |
procedure HitEnemy(ADead: Boolean); override; |
public |
constructor Create(AParent: TSprite); override; |
end; |
295,7 → 145,7 |
TEnemyAttacker = class(TEnemy) |
protected |
procedure DoMove(MoveCount: Integer); override; |
procedure HitEnemy(Deaded: Boolean); override; |
procedure HitEnemy(ADead: Boolean); override; |
public |
constructor Create(AParent: TSprite); override; |
end; |
308,7 → 158,7 |
FPutTama: Boolean; |
protected |
procedure DoMove(MoveCount: Integer); override; |
procedure HitEnemy(Deaded: Boolean); override; |
procedure HitEnemy(ADead: Boolean); override; |
public |
constructor Create(AParent: TSprite); override; |
end; |
320,7 → 170,7 |
FOldTamaTime: Integer; |
protected |
procedure DoMove(MoveCount: Integer); override; |
procedure HitEnemy(Deaded: Boolean); override; |
procedure HitEnemy(ADead: Boolean); override; |
public |
constructor Create(AParent: TSprite); override; |
end; |
334,28 → 184,180 |
waiter1, waiter2: integer; |
protected |
procedure DoMove(MoveCount: Integer); override; |
procedure HitEnemy(Deaded: Boolean); override; |
procedure HitEnemy(ADead: Boolean); override; |
public |
constructor Create(AParent: TSprite); override; |
end; |
TNoting = class(TImageSprite); |
TNothing = class(TImageSprite); |
TSpriteClass = class of TSprite; |
TEnemyAdvent = record |
c: TSpriteClass; |
spriteClass: TSpriteClass; |
x: extended; |
y: extended; |
l: integer; |
lifes: integer; |
end; |
TMainForm = class(TDXForm) |
MainMenu: TMainMenu; |
Spiel: TMenuItem; |
GameStart: TMenuItem; |
GamePause: TMenuItem; |
Beenden: TMenuItem; |
Einstellungen: TMenuItem; |
OptionFullScreen: TMenuItem; |
OptionMusic: TMenuItem; |
Leer2: TMenuItem; |
Leer4: TMenuItem; |
Hilfe: TMenuItem; |
OptionSound: TMenuItem; |
Mitarbeiter: TMenuItem; |
Leer3: TMenuItem; |
Spielstand: TMenuItem; |
Leer5: TMenuItem; |
Neustart: TMenuItem; |
OptionBreitbild: TMenuItem; |
Spielgeschwindigkeit: TMenuItem; |
Leicht: TMenuItem; |
Mittel: TMenuItem; |
Schwer: TMenuItem; |
Informationen: TMenuItem; |
Leer6: TMenuItem; |
Leer1: TMenuItem; |
Cheat: TMenuItem; |
CheckUpdates: TMenuItem; |
Master: TMenuItem; |
procedure DXDrawFinalize(Sender: TObject); |
procedure DXDrawInitialize(Sender: TObject); |
procedure FormCreate(Sender: TObject); |
procedure DXTimerTimer(Sender: TObject; LagCount: Integer); |
procedure DXTimerActivate(Sender: TObject); |
procedure DXTimerDeactivate(Sender: TObject); |
procedure OptionFullScreenClick(Sender: TObject); |
procedure DXDrawInitializing(Sender: TObject); |
procedure GameStartClick(Sender: TObject); |
procedure GamePauseClick(Sender: TObject); |
procedure BeendenClick(Sender: TObject); |
procedure OptionSoundClick(Sender: TObject); |
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); |
procedure OptionMusicClick(Sender: TObject); |
procedure MitarbeiterClick(Sender: TObject); |
procedure SpielstandClick(Sender: TObject); |
procedure NeustartClick(Sender: TObject); |
procedure OptionBreitbildClick(Sender: TObject); |
procedure LeichtClick(Sender: TObject); |
procedure MittelClick(Sender: TObject); |
procedure SchwerClick(Sender: TObject); |
procedure FormShow(Sender: TObject); |
procedure InformationenClick(Sender: TObject); |
procedure CheatClick(Sender: TObject); |
procedure FormClose(Sender: TObject; var Action: TCloseAction); |
procedure FormDestroy(Sender: TObject); |
procedure CheckUpdatesClick(Sender: TObject); |
procedure MasterClick(Sender: TObject); |
private |
ProgrammGestartet: boolean; |
FInterval: TGameInterval; |
FScene: TGameScene; |
FMusic: TMusicTrack; |
FBlink: DWORD; |
FBlinkTime: DWORD; |
FFrame, FAngle, FCounter, FEnemyAdventPos: Integer; |
PlayerSprite: TPlayerSprite; |
procedure StartScene(Scene: TGameScene); |
procedure EndScene; |
procedure BlinkStart; |
procedure BlinkUpdate; |
procedure StartSceneTitle; |
procedure SceneTitle; |
procedure EndSceneTitle; |
procedure StartSceneMain; |
procedure SceneMain; |
procedure EndSceneMain; |
procedure StartSceneGameOver; |
procedure SceneGameOver; |
procedure EndSceneGameOver; |
procedure StartSceneWin; |
procedure SceneWin; |
procedure EndSceneWin; |
procedure StartSceneNewLevel; |
procedure SceneNewLevel; |
procedure EndSceneNewLevel; |
public |
FNextScene: TGameScene; |
FScore: Integer; |
FNotSave: boolean; |
FLife: integer; |
FLevel: integer; |
FMenuItem: integer; |
FBossLife: integer; |
FRestEnemys: integer; |
FCheat: boolean; |
{ VCL-Ersatz } |
dxdraw: TDxDraw; |
imagelist: TDxImageList; |
spriteengine: tdxspriteengine; |
dxsound: tdxsound; |
wavelist: tdxwavelist; |
dxinput: tdxinput; |
dxtimer: tdxtimer; |
{ Level-Routinen } |
procedure NewLevel(lev: integer); |
procedure DeleteArray; |
{ MCI-Routinen } |
function StatusMusic(Name: TMusicTrack): string; |
procedure PlayMusic(Name: TMusicTrack); |
//procedure StopMusic(Name: TMusicTrack); |
procedure PauseMusic(Name: TMusicTrack); |
procedure ResumeMusic(Name: TMusicTrack); |
procedure DestroyMusic(Name: TMusicTrack); |
procedure OpenMusic(Name: TMusicTrack); |
{ Sound-Routinen } |
function SoundKarte: boolean; |
procedure PlaySound(Name: string; Wait: Boolean); |
{ Initialisiations-Routinen } |
procedure DXInit; |
procedure SoundInit; |
procedure MusicInit; |
{ Einstellungs-Routinen } |
procedure LoadOptions; |
procedure WriteOptions; |
{ Farb-Routinen } |
function ComposeColor(Dest, Src: TRGBQuad; Percent: Integer): TRGBQuad; |
procedure PalleteAnim(Col: TRGBQuad; Time: Integer); |
end; |
var |
EnemyAdventTable: array[0..9999] of TEnemyAdvent; |
MainForm: TMainForm; |
const |
conleicht = 650 div 60; // 10 |
conmittel = 1000 div 60; // 16 |
conschwer = 1350 div 60; // 22 |
conmaster = 2000 div 60; // 33 |
lives = 6; |
implementation |
uses |
SplSplash, SplSpeicherung, SplText, SplCheat, Global; |
resourcestring |
FileError = 'Die Datei kann von SpaceMission nicht geöffnet werden!'; |
{$R *.DFM} |
{$R WindowsXP.res} |
var // TODO: irgendwo hinpacken. irgendwo!!! |
EnemyAdventTable: array[0..9999] of TEnemyAdvent; // TODO: dyn |
Crash2, ec: integer; |
BossExists, Crash, crashsound, SpielerFliegtFort: boolean; |
BossExists, Crash, crashsound: boolean; |
pos: array[1..4] of integer; |
enemys: array[1..27] of TSpriteClass; |
levact: integer; |
const |
DXInputButton = [isButton1, isButton2, isButton3, |
364,6 → 366,15 |
isButton19, isButton20, isButton21, isButton22, isButton23, isButton24, isButton25, |
isButton26, isButton27, isButton28, isButton29, isButton30, isButton31, isButton32]; |
const // TODO: Auch für Enemies |
PLAYER_MODE_NORMAL = 0; |
PLAYER_MODE_DEAD = 1; |
PLAYER_MODE_DEAD_VANISHED = 2; |
PLAYER_MODE_FLYAWAY = 3; |
PLAYER_MODE_ENTER = 4; |
// TODO: Code komplett überarbeiten. Bessere Ableitungen machen |
constructor TPlayerSprite.Create(AParent: TSprite); |
begin |
inherited Create(AParent); |
376,7 → 387,7 |
AnimCount := Image.PatternCount; |
AnimLooped := True; |
AnimSpeed := 15/1000; |
FMode := 4; |
FMode := PLAYER_MODE_ENTER; |
end; |
procedure TPlayerSprite.DoCollision(Sprite: TSprite; var Done: Boolean); |
393,7 → 404,7 |
MainForm.PlaySound('Explosion', false); |
Collisioned := false; |
FCounter := 0; |
FMode := 1; |
FMode := PLAYER_MODE_DEAD; |
Done := false; |
Image := MainForm.ImageList.Items.Find('Explosion'); |
Width := Image.Width; |
416,10 → 427,11 |
end; |
procedure TPlayerSprite.DoMove(MoveCount: Integer); |
const |
WegduesKonstante = 1.75; |
begin |
inherited DoMove(MoveCount); |
if SpielerFliegtFort then FMode := 3; |
if FMode=0 then |
if FMode=PLAYER_MODE_NORMAL then |
begin |
if isUp in MainForm.DXInput.States then Y := Y - (250/1000)*MoveCount; |
if isDown in MainForm.DXInput.States then Y := Y + (250/1000)*MoveCount; |
445,15 → 457,15 |
end; |
end; |
Collision; |
end else if FMode=1 then |
end else if FMode=PLAYER_MODE_DEAD then |
begin |
if FCounter>200 then |
begin |
FCounter := 0; |
FMode := 2; |
FMode := PLAYER_MODE_DEAD_VANISHED; |
Visible := false; |
end; |
end else if FMode=2 then |
end else if FMode=PLAYER_MODE_DEAD_VANISHED then |
begin |
if FCounter>1500 then |
begin |
462,9 → 474,10 |
MainForm.PalleteAnim(RGBQuad(0, 0, 0), 300); |
Sleep(200); |
end; |
end else if FMode=3 then |
end else if FMode=PLAYER_MODE_FLYAWAY then |
begin |
X := X + MoveCount*(300/1000); |
// FUT: "Wusch" sound? |
X := X + MoveCount*(300/1000) * (X/MainForm.DXDraw.Width + WegduesKonstante); |
if X > MainForm.DXDraw.Width+Width then |
begin |
Dead; |
473,14 → 486,19 |
MainForm.PlaySound('SceneMov', false); |
MainForm.PalleteAnim(RGBQuad(0, 0, 0), 300); |
end; |
end else if FMode=4 then |
end else if FMode = PLAYER_MODE_ENTER then |
begin |
X := X + MoveCount*(300/1000); |
if X > 19 then FMode := 0; |
if X > 19 then FMode := PLAYER_MODE_NORMAL; |
end; |
inc(FCounter, MoveCount); |
end; |
procedure TPlayerSprite.FlyAway; |
begin |
FMode := PLAYER_MODE_FLYAWAY; |
end; |
procedure TMainForm.DXInit; |
begin |
try |
691,9 → 709,9 |
HitEnemy(False); |
end; |
procedure TEnemy.HitEnemy(Deaded: Boolean); |
procedure TEnemy.HitEnemy(ADead: Boolean); |
begin |
if Deaded then MainForm.PlaySound('Explosion', False); |
if ADead then MainForm.PlaySound('Explosion', False); |
end; |
constructor TEnemyUFO.Create(AParent: TSprite); |
705,7 → 723,7 |
AnimCount := Image.PatternCount; |
AnimLooped := True; |
AnimSpeed := 15/1000; |
FLife := EnemyAdventTable[mainform.FEnemyAdventPos].l; |
FLife := EnemyAdventTable[mainform.FEnemyAdventPos].lifes; |
end; |
constructor TEnemy.Create(AParent: TSprite); |
721,9 → 739,9 |
dec(ec); |
end; |
procedure TEnemyUFO.HitEnemy(Deaded: Boolean); |
procedure TEnemyUFO.HitEnemy(ADead: Boolean); |
begin |
if Deaded then |
if ADead then |
begin |
MainForm.PlaySound('Explosion', False); |
FMode := 2; |
771,9 → 789,9 |
inc(FCounter, MoveCount); |
end; |
procedure TEnemyUFO2.HitEnemy(Deaded: Boolean); |
procedure TEnemyUFO2.HitEnemy(ADead: Boolean); |
begin |
if Deaded then |
if ADead then |
begin |
MainForm.PlaySound('Explosion', False); |
FMode := 2; |
802,7 → 820,7 |
AnimCount := Image.PatternCount; |
AnimLooped := True; |
AnimSpeed := 15/1000; |
FLife := EnemyAdventTable[mainform.FEnemyAdventPos].l; |
FLife := EnemyAdventTable[mainform.FEnemyAdventPos].lifes; |
end; |
procedure TEnemyUFO.DoMove(MoveCount: Integer); |
831,12 → 849,12 |
AnimLooped := True; |
AnimSpeed := 15/1000; |
PixelCheck := True; |
FLife := EnemyAdventTable[mainform.FEnemyAdventPos].l; |
FLife := EnemyAdventTable[mainform.FEnemyAdventPos].lifes; |
end; |
procedure TEnemyAttacker.HitEnemy(Deaded: Boolean); |
procedure TEnemyAttacker.HitEnemy(ADead: Boolean); |
begin |
if Deaded then |
if ADead then |
begin |
MainForm.PlaySound('Explosion', False); |
FMode := 2; |
884,15 → 902,15 |
AnimSpeed := 15/1000; |
PixelCheck := True; |
Collisioned := False; |
FLife := EnemyAdventTable[mainform.FEnemyAdventPos].l; |
FLife := EnemyAdventTable[mainform.FEnemyAdventPos].lifes; |
MainForm.FBossLife := FLife; |
waiter1 := 0; |
waiter2 := 0; |
end; |
procedure TEnemyBoss.HitEnemy(Deaded: Boolean); |
procedure TEnemyBoss.HitEnemy(ADead: Boolean); |
begin |
if Deaded then |
if ADead then |
begin |
MainForm.PlaySound('Explosion', False); |
FMode := 2; |
990,12 → 1008,12 |
AnimLooped := True; |
AnimSpeed := 15/1000; |
PixelCheck := True; |
FLife := EnemyAdventTable[mainform.FEnemyAdventPos].l; |
FLife := EnemyAdventTable[mainform.FEnemyAdventPos].lifes; |
end; |
procedure TEnemyAttacker2.HitEnemy(Deaded: Boolean); |
procedure TEnemyAttacker2.HitEnemy(ADead: Boolean); |
begin |
if Deaded then |
if ADead then |
begin |
MainForm.PlaySound('Explosion', False); |
FMode := 2; |
1065,9 → 1083,9 |
inc(FCounter, MoveCount); |
end; |
procedure TEnemyAttacker3.HitEnemy(Deaded: Boolean); |
procedure TEnemyAttacker3.HitEnemy(ADead: Boolean); |
begin |
if Deaded then |
if ADead then |
begin |
MainForm.PlaySound('Explosion', False); |
FMode := 1; |
1123,7 → 1141,7 |
AnimLooped := True; |
AnimSpeed := 15/1000; |
PixelCheck := True; |
FLife := EnemyAdventTable[mainform.FEnemyAdventPos].l; |
FLife := EnemyAdventTable[mainform.FEnemyAdventPos].lifes; |
end; |
function TMainForm.SoundKarte: boolean; |
1135,13 → 1153,9 |
var |
Ergebnis: string; |
daten: textfile; |
i: integer; |
punkt: integer; |
ok: boolean; |
begin |
{ Beginne VCL-Ersatz } |
versioninfo := tpjversioninfo.Create(self); |
dxtimer := tdxtimer.Create(self); |
dxtimer.Interval := 33; |
dxtimer.OnActivate := DXTimerActivate; |
1191,15 → 1205,7 |
{ Ende VCL-Ersatz } |
punkt := 0; |
FDirectory := extractfilepath(paramstr(0)); |
versioninfo.filename := paramstr(0); |
for i := 1 to length(versioninfo.ProductVersion) do |
begin |
if copy(versioninfo.ProductVersion, i, 1) = '.' then inc(punkt); |
if punkt < 2 then fengineversion := fengineversion+copy(versioninfo.ProductVersion, i, 1); |
end; |
Application.Title := 'SpaceMission '+FEngineVersion; |
Application.Title := 'SpaceMission '+ProgramVersion; |
LoadOptions; |
DXInit; |
SoundInit; |
1211,7 → 1217,7 |
Reset(daten); |
ok := true; |
ReadLN(daten, Ergebnis); |
if Ergebnis <> '; SpaceMission '+mainform.FEngineVersion then ok := false; |
if Ergebnis <> '; SpaceMission '+ProgramVersion then ok := false; |
ReadLN(daten, Ergebnis); |
if ergebnis <> '; SAV-File' then ok := false; |
if not ok then |
1331,7 → 1337,7 |
Result := resStr; |
end; |
procedure TMainForm.AufUpdatesprfen1Click(Sender: TObject); |
procedure TMainForm.CheckUpdatesClick(Sender: TObject); |
var |
temp: string; |
begin |
1342,7 → 1348,7 |
end |
else |
begin |
if GetHTML('http://www.viathinksoft.de/update/?id=spacemission') <> '1.1d' then |
if GetHTML('http://www.viathinksoft.de/update/?id=spacemission') <> ProgramVersion then |
begin |
if Application.MessageBox('Eine neue Programmversion ist vorhanden. Möchten Sie diese jetzt herunterladen?', 'Information', MB_YESNO + MB_ICONASTERISK) = ID_YES then |
shellexecute(application.handle, 'open', pchar('http://www.viathinksoft.de/update/?id=@spacemission'), '', '', sw_normal); |
1468,9 → 1474,6 |
DXTimer.Enabled := False; |
end; |
var |
ProgrammGestartet: boolean; |
procedure TMainForm.DXTimerActivate(Sender: TObject); |
begin |
Caption := Application.Title; |
1557,6 → 1560,7 |
if FInterval = giLeicht then INIDatei.WriteInteger('Settings', 'Speed', 1); |
if FInterval = giMittel then INIDatei.WriteInteger('Settings', 'Speed', 2); |
if FInterval = giSchwer then INIDatei.WriteInteger('Settings', 'Speed', 3); |
if FInterval = giMaster then INIDatei.WriteInteger('Settings', 'Speed', 4); |
INIDatei.Free; |
end; |
1584,6 → 1588,11 |
FInterval := giSchwer; |
Schwer.checked := true; |
end; |
if INIDatei.ReadInteger('Settings', 'Speed', 2) = 4 then |
begin |
FInterval := giMaster; |
Master.checked := true; |
end; |
INIDatei.Free; |
WriteOptions; |
end; |
1704,7 → 1713,6 |
i, j: Integer;} |
begin |
sleep(500); |
SpielerFliegtFort := false; |
FCounter := 0; |
NewLevel(FLevel); |
BossExists := false; |
1711,7 → 1719,7 |
PlayMusic(mtGame); |
FEnemyAdventPos := 1; |
FFrame := -4; |
TPlayerSprite.Create(SpriteEngine.Engine); |
PlayerSprite := TPlayerSprite.Create(SpriteEngine.Engine); |
with TBackground.Create(SpriteEngine.Engine) do |
begin |
SetMapSize(1, 1); |
1854,20 → 1862,19 |
var |
i: integer; |
begin |
for i := 1 to 9999 do |
for i := Low(EnemyAdventTable) to High(EnemyAdventTable) do |
begin |
EnemyAdventTable[i].c := tnoting; |
EnemyAdventTable[i].spriteClass := TNothing; |
EnemyAdventTable[i].x := 0; |
EnemyAdventTable[i].y := 0; |
EnemyAdventTable[i].l := 0; |
EnemyAdventTable[i].lifes := 0; |
end; |
FRestEnemys := 0; |
end; |
var |
levact: integer; |
procedure TMainForm.NewLevel(lev: integer); |
resourcestring |
LNG_LEVEL_INVALID = 'Das Level Nr. %d ist ungültig!'+#13#10+'Das Programm wird beendet.'; |
var |
act: integer; |
filex: textfile; |
1907,17 → 1914,17 |
for act := 1 to lev*75-1 do |
begin |
inc(FRestEnemys); |
EnemyAdventTable[act].c := enemys[random(lev+2)+1]; |
if EnemyAdventTable[act].c = TEnemyAttacker2 then EnemyAdventTable[act].c := enemys[random(lev+2)+1]; {O_o} |
EnemyAdventTable[act].spriteClass := enemys[random(lev+2)+1]; |
if EnemyAdventTable[act].spriteClass = TEnemyAttacker2 then EnemyAdventTable[act].spriteClass := enemys[random(lev+2)+1]; {O_o} |
EnemyAdventTable[act].x := act*30 + random(85-(lev+(random(lev))*2)){O_o}; |
EnemyAdventTable[act].y := random(dxdraw.surfaceheight); |
if (EnemyAdventTable[act].c <> TEnemyMeteor) and (EnemyAdventTable[act].c <> TEnemyAttacker2) then EnemyAdventTable[act].l := random(lev)+1; |
if EnemyAdventTable[act].c = TEnemyAttacker2 then EnemyAdventTable[act].l := random(6)+1{O_o}; |
if (EnemyAdventTable[act].spriteClass <> TEnemyMeteor) and (EnemyAdventTable[act].spriteClass <> TEnemyAttacker2) then EnemyAdventTable[act].lifes := random(lev)+1; |
if EnemyAdventTable[act].spriteClass = TEnemyAttacker2 then EnemyAdventTable[act].lifes := random(6)+1{O_o}; |
end; |
EnemyAdventTable[lev*75].c := TEnemyBoss; |
EnemyAdventTable[lev*75].spriteClass := TEnemyBoss; |
EnemyAdventTable[lev*75].x := lev*75*30{O_o} div lev; |
EnemyAdventTable[lev*75].y := (dxdraw.surfaceheight div 2) - (MainForm.ImageList.Items.Find('Enemy-boss').height div 2); |
EnemyAdventTable[lev*75].l := lev*5; |
EnemyAdventTable[lev*75].lifes := lev*5; |
inc(FRestEnemys); |
end |
else |
1941,7 → 1948,7 |
readln(filex, ergebniss); |
if ergebniss <> '; SpaceMission '+FCompVersion then |
begin |
showmessage('Das Level '+inttostr(lev)+' ist ungültig!'+#13#10+'Das Programm wird beendet.'); |
showmessage(Format(LNG_LEVEL_INVALID, [lev])); |
application.terminate; |
exit; |
end; |
1948,7 → 1955,7 |
readln(filex, ergebniss); |
if ergebniss <> '; LEV-File' then |
begin |
showmessage('Das Level '+inttostr(lev)+' ist ungültig!'+#13#10+'Das Programm wird beendet.'); |
showmessage(Format(LNG_LEVEL_INVALID, [lev])); |
application.terminate; |
exit; |
end; |
1961,7 → 1968,7 |
begin |
inc(pos[levact]); |
inc(FRestEnemys); |
EnemyAdventTable[pos[levact]].c := enemys[strtoint(ergebniss)]; |
EnemyAdventTable[pos[levact]].spriteClass := enemys[strtoint(ergebniss)]; |
end; |
if levact = 2 then |
begin |
1976,7 → 1983,7 |
if levact = 4 then |
begin |
inc(pos[levact]); |
EnemyAdventTable[pos[levact]].l := strtoint(ergebniss); |
EnemyAdventTable[pos[levact]].lifes := strtoint(ergebniss); |
end; |
end; |
closefile(filex); |
2027,17 → 2034,18 |
Textout((dxdraw.surfaceWidth div 2)-150, (dxdraw.surfaceheight div 2), 'Zufallslevel'); |
Textout((dxdraw.surfaceWidth div 2)-185, (dxdraw.surfaceheight div 2), '>'); |
end; |
if (FBlink div 300) mod 2=0 then |
{ if (FBlink div 300) mod 2=0 then |
begin |
Font.Color := clGreen; |
Textout((dxdraw.surfaceWidth div 2)-187, dxdraw.surfaceheight-117, 'Weiter mit Leertaste'); |
Font.Color := clLime; |
Textout((dxdraw.surfaceWidth div 2)-185, dxdraw.surfaceheight-115, 'Weiter mit Leertaste'); |
end; |
end; } |
BlinkUpdate; |
Release; |
end; |
if isButton1 in DXInput.States then |
// Weiter mit Leertaste oder Enter |
if (isButton1 in DXInput.States) or (isButton2 in DXInput.States) then |
begin |
FLevel := 1; |
if ((FMenuItem=1) and (fileexists(FDirectory+'Levels\Level '+inttostr(FLevel)+'.lev')=false)) or ((FMenuItem=2) and (FLevel > 20)) then |
2060,6 → 2068,7 |
if FInterval = giLeicht then SpriteEngine.Move(conleicht); |
if FInterval = giMittel then SpriteEngine.Move(conmittel); |
if FInterval = giSchwer then SpriteEngine.Move(conschwer); |
if FInterval = giMaster then SpriteEngine.Move(conmaster); |
SpriteEngine.Dead; |
while (Low(EnemyAdventTable)<=FEnemyAdventPos) and |
(FEnemyAdventPos<=High(EnemyAdventTable)) and |
2066,11 → 2075,11 |
((EnemyAdventTable[FEnemyAdventPos].x / 4)<=FFrame) and |
(FRestEnemys>0) do |
begin |
if EnemyAdventTable[FEnemyAdventPos].c <> TNoting then |
if EnemyAdventTable[FEnemyAdventPos].spriteClass <> TNothing then |
begin |
with EnemyAdventTable[FEnemyAdventPos] do |
begin |
Enemy := c.Create(SpriteEngine.Engine); |
Enemy := spriteClass.Create(SpriteEngine.Engine); |
Enemy.x := dxdraw.surfacewidth; |
//Enemy.y := y; |
if y <> 0 then Enemy.y := dxdraw.surfaceheight / (480{maximale Bandbreite im alten Format} / y) |
2132,8 → 2141,10 |
Font.Color := clFuchsia; |
Textout(450, 440, 'Einheiten: ' + IntToStr(RestlicheEinheiten)); |
end;} |
if BossExists and (FBossLife>0) and (FRestEnemys>0) then |
if BossExists and (FBossLife>0) then |
begin |
if (FRestEnemys>0) then |
begin |
Font.Color := clGreen; |
Textout(dxdraw.surfacewidth-191, dxdraw.surfaceheight-81, 'Boss: ' + IntToStr(FBossLife)); |
Textout(dxdraw.surfacewidth-191, dxdraw.surfaceheight-41, 'Einheiten: ' + IntToStr(FRestEnemys)); |
2141,7 → 2152,7 |
Textout(dxdraw.surfacewidth-190, dxdraw.surfaceheight-80, 'Boss: ' + IntToStr(FBossLife)); |
Textout(dxdraw.surfacewidth-190, dxdraw.surfaceheight-40, 'Einheiten: ' + IntToStr(FRestEnemys)); |
end; |
if BossExists and (FBossLife>0) and (FRestEnemys<1) then |
if (FRestEnemys<1) then |
begin |
Font.Color := clGreen; |
Textout(dxdraw.surfacewidth-191, dxdraw.surfaceheight-41, 'Boss: ' + IntToStr(FBossLife)); |
2148,7 → 2159,8 |
Font.Color := clLime; |
Textout(dxdraw.surfacewidth-190, dxdraw.surfaceheight-40, 'Boss: ' + IntToStr(FBossLife)); |
end; |
if (FRestEnemys>0) and (Bossexists=false) then |
end; |
if (FRestEnemys>0) and not Bossexists then |
begin |
Font.Color := clGreen; |
Textout(dxdraw.surfacewidth-191, dxdraw.surfaceheight-41, 'Einheiten: ' + IntToStr(FRestEnemys)); |
2160,7 → 2172,7 |
end |
else |
begin |
DXDraw.Surface.Canvas.Font.Color := clGreen; |
DXDraw.Surface.Canvas.Font.Color := clGreen; // Grüne schrift bei gescheitert? FIXME |
DXDraw.Surface.Canvas.Textout(dxdraw.surfacewidth-251, dxdraw.surfaceheight-41, 'Mission gescheitert!'); |
DXDraw.Surface.Canvas.Font.Color := clLime; |
DXDraw.Surface.Canvas.Textout(dxdraw.surfacewidth-250, dxdraw.surfaceheight-40, 'Mission gescheitert!'); |
2167,7 → 2179,8 |
DXDraw.Surface.Canvas.Release; |
end; |
if FRestEnemys<0 then FRestEnemys := 0; //Muss das sein? |
if (Ec=0) and (FRestEnemys=0){ and (SpielerFliegtFort = false)} then |
if (Ec=0) and (FRestEnemys=0){ and (SpielerFliegtFort = false)} |
and ((BossExists and (FBossLife=0)) or not BossExists) then |
begin |
DXDraw.Surface.Canvas.Font.Color := clGreen; |
DXDraw.Surface.Canvas.Textout(dxdraw.surfacewidth-251, dxdraw.surfaceheight-41, 'Mission erfolgreich!'); |
2176,7 → 2189,7 |
DXDraw.Surface.Canvas.Release; |
Sleep(1); |
inc(FCounter); |
if FCounter>150{200} then SpielerFliegtFort := true; |
if FCounter>150{200} then PlayerSprite.FlyAway; |
end; |
end; |
end; |
2312,23 → 2325,38 |
procedure TMainForm.OptionMusicClick(Sender: TObject); |
begin |
OptionMusic.Checked := not OptionMusic.Checked; |
if OptionMusic.Checked then PlayMusic(FMusic) |
else DestroyMusic(FMusic); |
if OptionMusic.Checked then |
begin |
PlayMusic(FMusic) |
end |
else |
begin |
DestroyMusic(FMusic); |
end; |
WriteOptions; |
end; |
procedure TMainForm.MasterClick(Sender: TObject); |
begin |
master.checked := true; |
FInterval := giMaster; |
writeoptions; |
end; |
procedure TMainForm.MitarbeiterClick(Sender: TObject); |
resourcestring |
LNG_NOTFOUND = 'Die Datei "Texte\Mitwirkende.txt" ist nicht mehr vorhanden. Die Aktion wird abgebrochen!'; |
const |
MitwirkendeTxt = 'Texte\Mitwirkende.txt'; |
begin |
if not fileexists(mainform.fdirectory+'Texte\Mitwirkende.txt') then |
if not fileexists(fdirectory+MitwirkendeTxt) then |
begin |
MessageDLG('Die Datei "Texte\Mitwirkende.txt" ist nicht mehr vorhanden. Die Aktion wird abgebrochen!', |
mtWarning, [mbOK], 0); |
end |
else |
begin |
TextForm.memo1.lines.loadfromfile(mainform.FDirectory+'Texte\Mitwirkende.txt'); |
TextForm.showmodal; |
MessageDLG(Format(LNG_NOTFOUND, [MitwirkendeTxt]), mtWarning, [mbOK], 0); |
Exit; |
end; |
TextForm.memo1.lines.loadfromfile(FDirectory+MitwirkendeTxt); |
TextForm.ShowModal; |
end; |
procedure TEnemyMeteor.DoMove(MoveCount: Integer); |
2337,9 → 2365,9 |
if X < -Width then Dead; |
end; |
procedure TEnemyMeteor.HitEnemy(Deaded: Boolean); |
procedure TEnemyMeteor.HitEnemy(ADead: Boolean); |
begin |
if deaded then Collisioned := True; |
if ADead then Collisioned := True; |
MainForm.PlaySound('Hit', False); |
end; |
2431,7 → 2459,9 |
procedure TMainForm.InformationenClick(Sender: TObject); |
begin |
dxtimer.enabled := false; |
InfoForm.showmodal; |
if not mainform.gamepause.checked then mainform.dxtimer.enabled := true; |
end; |
procedure TMainForm.CheatClick(Sender: TObject); |
2450,7 → 2480,6 |
procedure TMainForm.FormDestroy(Sender: TObject); |
begin |
versioninfo.free; |
imagelist.free; |
spriteengine.free; |
dxdraw.Free; |
/Signaturen.txt |
---|
0,0 → 1,4 |
CapiCom muss installiert werden |
http://www.microsoft.com/downloads/de-de/details.aspx?FamilyID=860ee43a-a843-462f-abb5-ff88ea5896f6 |
http://www.microsoft.com/downloads/en/details.aspx?FamilyId=CA930018-4A66-4DA6-A6C5-206DF13AF316&displaylang=en |
/SplSpeicherung.dfm |
---|
9,7 → 9,7 |
Color = clBtnFace |
Font.Charset = DEFAULT_CHARSET |
Font.Color = clWindowText |
Font.Height = -11 |
Font.Height = -12 |
Font.Name = 'MS Sans Serif' |
Font.Style = [] |
OldCreateOrder = False |
16,7 → 16,7 |
Position = poMainFormCenter |
OnHide = FormHide |
OnShow = FormShow |
PixelsPerInch = 96 |
PixelsPerInch = 106 |
TextHeight = 13 |
object Bevel1: TBevel |
Left = 8 |
/SplMain.dfm |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/_PostBuild.bat |
---|
0,0 → 1,8 |
@echo off |
call "%~dp0_Batch\processDir.bat" "%~dp0" |
call "%~dp0_Batch\processDir.bat" "%~dp0VCL_DELPHIX_D6" |
"C:\Programme\Inno Setup 5\iscc.exe" "%~dp0_InnoSetup\SpaceMission.iss" |
call "%~dp0_Batch\processDir.bat" "%~dp0\_InnoSetup\Output" |
/Einstellungen/SpaceMission.ini |
---|
1,6 → 1,6 |
[Settings] |
Music=1 |
Sound=1 |
Music=0 |
Sound=0 |
FullScreen=0 |
ScreenAutoSize=1 |
Speed=2 |
Speed=4 |
/Compiler.exe |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/SpaceMission.cfg |
---|
31,12 → 31,12 |
-M |
-$M16384,1048576 |
-K$00400000 |
-LE"D:\Eigene Dateien\Borland Studio-Projekte\Bpl" |
-LN"D:\Eigene Dateien\Borland Studio-Projekte\Bpl" |
-U"VCL_DELPHIX_D6;VCL_PJVERSIONINFO" |
-O"VCL_DELPHIX_D6;VCL_PJVERSIONINFO" |
-I"VCL_DELPHIX_D6;VCL_PJVERSIONINFO" |
-R"VCL_DELPHIX_D6;VCL_PJVERSIONINFO" |
-LE"C:\Users\Daniel Marschall\Documents\Borland Studio-Projekte\Bpl" |
-LN"C:\Users\Daniel Marschall\Documents\Borland Studio-Projekte\Bpl" |
-U"VCL_DELPHIX_D6" |
-O"VCL_DELPHIX_D6" |
-I"VCL_DELPHIX_D6" |
-R"VCL_DELPHIX_D6" |
-w-HIDDEN_VIRTUAL |
-w-UNSAFE_TYPE |
-w-UNSAFE_CODE |
/LevEdit.exe |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/SpaceMission.dpr |
---|
13,7 → 13,8 |
SplSplash in 'SplSplash.pas' {SplashForm}, |
SplSpeicherung in 'SplSpeicherung.pas' {SpeicherungForm}, |
SplInfo in 'SplInfo.pas' {InfoForm}, |
SplCheat in 'SplCheat.pas' {CheatForm}; |
SplCheat in 'SplCheat.pas' {CheatForm}, |
Global in 'Global.pas'; |
{$R *.RES} |
/Global.pas |
---|
0,0 → 1,21 |
unit Global; |
interface |
const |
FCompVersion = '1.0'; |
ProgramVersion = '1.1e'; |
function FDirectory: string; |
implementation |
uses |
SysUtils; |
function FDirectory: string; |
begin |
result := extractfilepath(paramstr(0)); |
end; |
end. |
/SpaceMission.bdsproj |
---|
123,7 → 123,7 |
<Directories Name="UnitOutputDir"></Directories> |
<Directories Name="PackageDLLOutputDir"></Directories> |
<Directories Name="PackageDCPOutputDir"></Directories> |
<Directories Name="SearchPath">VCL_DELPHIX_D6;VCL_PJVERSIONINFO</Directories> |
<Directories Name="SearchPath">VCL_DELPHIX_D6</Directories> |
<Directories Name="Packages">VCL50;VCLX50;VCLSMP50;VCLDB50;VCLADO50;ibevnt50;VCLBDE50;VCLDBX50;QRPT50;TEEUI50;TEEDB50;TEE50;DSS50;TEEQR50;VCLIB50;VCLMID50;VCLIE50;INETDB50;INET50;NMFAST50;WEBMID50;dclocx50;dclaxserver50;packapi</Directories> |
<Directories Name="Conditionals"></Directories> |
<Directories Name="DebugSourceDirs"></Directories> |
149,7 → 149,7 |
<VersionInfo Name="AutoIncBuild">False</VersionInfo> |
<VersionInfo Name="MajorVer">1</VersionInfo> |
<VersionInfo Name="MinorVer">1</VersionInfo> |
<VersionInfo Name="Release">0</VersionInfo> |
<VersionInfo Name="Release">4</VersionInfo> |
<VersionInfo Name="Build">0</VersionInfo> |
<VersionInfo Name="Debug">False</VersionInfo> |
<VersionInfo Name="PreRelease">False</VersionInfo> |
162,9 → 162,9 |
<VersionInfoKeys> |
<VersionInfoKeys Name="CompanyName">ViaThinkSoft</VersionInfoKeys> |
<VersionInfoKeys Name="FileDescription">Ein spannendes Weltraumspiel...</VersionInfoKeys> |
<VersionInfoKeys Name="FileVersion">1.1.0.0</VersionInfoKeys> |
<VersionInfoKeys Name="FileVersion">1.1.4.0</VersionInfoKeys> |
<VersionInfoKeys Name="InternalName">SpaceMission 1.1</VersionInfoKeys> |
<VersionInfoKeys Name="LegalCopyright">© Copyright 2001 - 2007 ViaThinkSoft</VersionInfoKeys> |
<VersionInfoKeys Name="LegalCopyright">© Copyright 2001 - 2011 ViaThinkSoft</VersionInfoKeys> |
<VersionInfoKeys Name="LegalTrademarks">Keine</VersionInfoKeys> |
<VersionInfoKeys Name="OriginalFilename">SpaceMission.exe</VersionInfoKeys> |
<VersionInfoKeys Name="ProductName">SpaceMission 1.1</VersionInfoKeys> |
172,7 → 172,8 |
<VersionInfoKeys Name="Homepage">www.viathinksoft.de</VersionInfoKeys> |
<VersionInfoKeys Name="Projektleiter">Daniel Marschall - www.daniel-marschall.de</VersionInfoKeys> |
<VersionInfoKeys Name="Webseite">www.viathinksoft.de</VersionInfoKeys> |
</VersionInfoKeys> <Excluded_Packages> |
</VersionInfoKeys> |
<Excluded_Packages> |
<Excluded_Packages Name="c:\programme\borland\bds\4.0\Bin\dclib100.bpl">Borland InterBase Express Components</Excluded_Packages> |
<Excluded_Packages Name="c:\programme\borland\bds\4.0\Bin\dclIntraweb_80_100.bpl">Intraweb 8.0 Design Package for Borland Development Studio 2006</Excluded_Packages> |
<Excluded_Packages Name="c:\programme\borland\bds\4.0\Bin\dclIndyCore100.bpl">Indy 10 Core Design Time</Excluded_Packages> |
/LevSpeicherung.pas |
---|
52,13 → 52,10 |
var |
SpeicherungForm: TSpeicherungForm; |
const |
FCompVersion = '1.0'; |
implementation |
uses |
LevMain; |
Global, LevMain; |
{$R *.DFM} |
92,7 → 89,7 |
end;} |
for i := 1 to 9999 do |
begin |
if fileexists(mainform.fdirectory+'Levels\Level '+inttostr(i)+'.lev') then |
if fileexists(fdirectory+'Levels\Level '+inttostr(i)+'.lev') then |
LevelListBox.items.Add('Level ' + inttostr(i)); |
end; |
end; |
120,7 → 117,7 |
liw.visible := true; |
LadenBtn.enabled := false; |
LoeschenBtn.enabled := false; |
deletefile(mainform.FDirectory+'Levels\'+ |
deletefile(FDirectory+'Levels\'+ |
LevelListBox.Items.strings[LevelListBox.itemindex]+'.lev'); |
SearchLevels; |
end; |
158,7 → 155,7 |
MainForm.DestroyLevel; |
MainForm.LevChanged := false; |
// Öffnen |
AssignFile(SavGame, mainform.FDirectory+'Levels\'+ |
AssignFile(SavGame, FDirectory+'Levels\'+ |
LevelListBox.Items.strings[LevelListBox.itemindex]+'.lev'); |
Reset(SavGame); |
// Laden |
286,7 → 283,7 |
exit; |
end; |
// Öffnen oder erstellen |
AssignFile(SavGame, mainform.FDirectory+'Levels\Level '+inttostr(SpinEdit.Position)+'.lev'); |
AssignFile(SavGame, FDirectory+'Levels\Level '+inttostr(SpinEdit.Position)+'.lev'); |
Rewrite(SavGame); |
// Sortierung |
for j := 0 to mainform.enemys.Count - 2 do |
343,7 → 340,7 |
end; |
temp := LevelListBox.Items.strings[LevelListBox.itemindex]; |
SpinEdit.Position := strtoint(RightStr(temp, length(temp)-6)); |
AssignFile(SavGame, mainform.FDirectory+'Levels\'+ |
AssignFile(SavGame, FDirectory+'Levels\'+ |
LevelListBox.Items.strings[LevelListBox.itemindex]+'.lev'); |
Reset(SavGame); |
ReadLN(SavGame, Ergebnis); |
/LevMain.pas |
---|
5,7 → 5,7 |
uses |
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, MMSystem, |
Dialogs, StdCtrls, ExtCtrls, Menus, DIB, DXClass, DXSprite, DXDraws, |
DXSounds, Spin, ComCtrls, PjVersionInfo; |
DXSounds, Spin, ComCtrls; |
type |
TMainForm = class(TDXForm) |
78,13 → 78,10 |
public |
{ VCL-Ersatz } |
spriteengine: tdxspriteengine; |
versioninfo: tpjversioninfo; |
dxtimer: tdxtimer; |
imagelist: tdximagelist; |
dxdraw: tdxdraw; |
{ Variablen } |
FDirectory: string; |
FEngineVersion: string; |
FMenuItem: integer; |
Enemys: TStrings; |
ArtChecked: integer; |
111,13 → 108,10 |
var |
MainForm: TMainForm; |
const |
FCompVersion = '1.0'; |
implementation |
uses |
LevSplash, LevSpeicherung, LevText, LevInfo, LevSource, LevOptions; |
Global, LevSplash, LevSpeicherung, LevText, SplInfo, LevSource, LevOptions; |
const |
FileError = 'Die Datei kann von SpaceMission nicht geöffnet werden!'; |
197,14 → 191,9 |
var |
Ergebnis: string; |
daten: textfile; |
i: integer; |
punkt: integer; |
ok: boolean; |
begin |
{ VCL-Ersatz start } |
versioninfo := tpjversioninfo.create(self); |
dxtimer := tdxtimer.create(self); |
dxtimer.Interval := 100; |
dxtimer.ActiveOnly := false; |
247,17 → 236,9 |
LiveEdit := 1; |
// Leeres Level am Anfang braucht keine Beenden-Bestätigung. |
// LevChanged := true; |
punkt := 0; |
FDirectory := extractfilepath(paramstr(0)); |
versioninfo.filename := paramstr(0); |
for i := 1 to length(versioninfo.ProductVersion) do |
begin |
if copy(versioninfo.ProductVersion, i, 1) = '.' then inc(punkt); |
if punkt < 2 then fengineversion := |
fengineversion+copy(versioninfo.ProductVersion, i, 1); |
end; |
//Application.Title := 'SpaceMission '+FEngineVersion+' - Leveleditor'; |
Caption := 'SpaceMission '+FEngineVersion+' - Leveleditor'; |
//Application.Title := 'SpaceMission '+ProgramVersion+' - Leveleditor'; |
Caption := 'SpaceMission '+ProgramVersion+' - Leveleditor'; |
DXInit; |
if (paramcount > 0) and (fileexists(paramstr(1))) then |
begin |
290,7 → 271,6 |
begin |
Enemys.Free; |
//spriteengine.Free; |
versioninfo.free; |
dxtimer.Free; |
imagelist.Free; |
dxdraw.free; |
464,7 → 444,7 |
procedure TMainForm.MitarbeiterClick(Sender: TObject); |
begin |
if not fileexists(mainform.fdirectory+'Texte\Mitwirkende.txt') then |
if not fileexists(fdirectory+'Texte\Mitwirkende.txt') then |
begin |
MessageDLG('Die Datei "Texte\Mitwirkende.txt" ist nicht mehr vorhanden. Die Aktion wird abgebrochen!', |
mtWarning, [mbOK], 0); |
471,7 → 451,7 |
end |
else |
begin |
TextForm.memo1.lines.loadfromfile(mainform.FDirectory+'Texte\Mitwirkende.txt'); |
TextForm.memo1.lines.loadfromfile(FDirectory+'Texte\Mitwirkende.txt'); |
TextForm.showmodal; |
end; |
end; |
/SpaceMission.res |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
/SplCheat.pas |
---|
32,7 → 32,7 |
implementation |
uses SplMain, SplInfo; |
uses SplMain, Global; |
{$R *.DFM} |
125,7 → 125,7 |
procedure TCheatForm.Label3Click(Sender: TObject); |
begin |
shellexecute(handle, 'open', pchar('mailto:daniel.marschall@surfeu.de?subject=Cheats für SpaceMission '+MainForm.FEngineVersion), '', '', 1); |
shellexecute(handle, 'open', pchar('mailto:daniel-marschall@viathinksoft.de?subject=Cheats für SpaceMission '+ProgramVersion), '', '', 1); |
end; |
end. |
/LevSpeicherung.dfm |
---|
9,7 → 9,7 |
Color = clBtnFace |
Font.Charset = DEFAULT_CHARSET |
Font.Color = clWindowText |
Font.Height = -11 |
Font.Height = -12 |
Font.Name = 'MS Sans Serif' |
Font.Style = [] |
OldCreateOrder = False |
16,7 → 16,7 |
Position = poMainFormCenter |
OnHide = FormHide |
OnShow = FormShow |
PixelsPerInch = 96 |
PixelsPerInch = 106 |
TextHeight = 13 |
object Bevel1: TBevel |
Left = 8 |
/Texte/Mitwirkende.txt |
---|
9,4 → 9,4 |
Entwickelt mit Borland Turbo Delphi. |
Verwendete Komponenten: DelphiX 2000, PJSoft VersionInfo. |
Verwendete Komponenten: DelphiX 2000. |
/LevSource.pas |
---|
26,13 → 26,10 |
var |
SourceForm: TSourceForm; |
const |
FCompVersion = '1.0'; |
implementation |
uses |
LevMain, LevSpeicherung; |
Global, LevMain, LevSpeicherung; |
{$R *.DFM} |
84,13 → 81,13 |
procedure TSourceForm.Label1Click(Sender: TObject); |
begin |
if not fileexists(mainform.fdirectory+'Dokumentation.pdf') then |
if not fileexists(Fdirectory+'Dokumentation.pdf') then |
begin |
MessageDLG('Die Datei "Dokumentation.pdf" ist nicht mehr vorhanden. Die Aktion wird abgebrochen!', |
mtWarning, [mbOK], 0); |
end |
else |
shellexecute(handle, 'open', pchar(mainform.fdirectory+'Dokumentation.pdf'), '', '', 1); |
shellexecute(handle, 'open', pchar(fdirectory+'Dokumentation.pdf'), '', '', 1); |
end; |
end. |
/VCL_DELPHIX_D6/DXGUIDEdit.dcu |
---|
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 |
/VCL_DELPHIX_D6/DelphiX_for6.dcu |
---|
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 |
/VCL_DELPHIX_D6/DXPlayFm.dcu |
---|
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 |
/VCL_DELPHIX_D6/DAnim.dcu |
---|
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 |
/VCL_DELPHIX_D6/DXFFBEdit.dcu |
---|
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 |
/VCL_DELPHIX_D6/DXPlay.dcu |
---|
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 |
/VCL_DELPHIX_D6/DXDraws.dcu |
---|
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 |
/VCL_DELPHIX_D6/DXETable.dcu |
---|
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 |
/VCL_DELPHIX_D6/DIB.dcu |
---|
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 |
/VCL_DELPHIX_D6/DirectX.dcu |
---|
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 |
/VCL_DELPHIX_D6/DXPictEdit.dcu |
---|
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 |
/VCL_DELPHIX_D6/DXConsts.dcu |
---|
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 |
/VCL_DELPHIX_D6/DXRender.dcu |
---|
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 |
/VCL_DELPHIX_D6/DXInput.dcu |
---|
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 |
/VCL_DELPHIX_D6/Wave.dcu |
---|
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 |
/VCL_DELPHIX_D6/DXInptEdit.dcu |
---|
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 |
/VCL_DELPHIX_D6/DXSounds.dcu |
---|
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 |
/VCL_DELPHIX_D6/DShow.dcu |
---|
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 |
/VCL_DELPHIX_D6/DXSprite.dcu |
---|
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 |
/VCL_DELPHIX_D6/DXClass.dcu |
---|
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 |
/VCL_DELPHIX_D6/DXReg.dcu |
---|
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 |
/VCL_DELPHIX_D6/DXTexImg.dcu |
---|
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 |
/VCL_DELPHIX_D6/DXWaveEdit.dcu |
---|
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 |
/LevEdit.cfg |
---|
31,8 → 31,8 |
-M |
-$M16384,1048576 |
-K$00400000 |
-LE"D:\Eigene Dateien\Borland Studio-Projekte\Bpl" |
-LN"D:\Eigene Dateien\Borland Studio-Projekte\Bpl" |
-LE"C:\Users\Daniel Marschall\Documents\Borland Studio-Projekte\Bpl" |
-LN"C:\Users\Daniel Marschall\Documents\Borland Studio-Projekte\Bpl" |
-U"VCL_DELPHIX_D6;VCL_PJVERSIONINFO" |
-O"VCL_DELPHIX_D6;VCL_PJVERSIONINFO" |
-I"VCL_DELPHIX_D6;VCL_PJVERSIONINFO" |
/SplInfo.pas |
---|
8,7 → 8,7 |
type |
TInfoForm = class(TForm) |
ElPopupButton1: TButton; |
OkBtn: TButton; |
HomeLbl: TLabel; |
Image: TImage; |
FirmaLbl: TLabel; |
19,10 → 19,8 |
Copyright2Lbl: TLabel; |
URL2: TLabel; |
URL1: TLabel; |
procedure ElPopupButton1Click(Sender: TObject); |
procedure OkBtnClick(Sender: TObject); |
procedure FormCreate(Sender: TObject); |
procedure FormShow(Sender: TObject); |
procedure FormHide(Sender: TObject); |
procedure URL2Click(Sender: TObject); |
procedure URL1Click(Sender: TObject); |
end; |
33,11 → 31,11 |
implementation |
uses |
SplMain; |
Global; |
{$R *.DFM} |
procedure TInfoForm.ElPopupButton1Click(Sender: TObject); |
procedure TInfoForm.OkBtnClick(Sender: TObject); |
begin |
close; |
end; |
44,23 → 42,10 |
procedure TInfoForm.FormCreate(Sender: TObject); |
begin |
VersionLbl.caption := 'Version ' + mainform.fengineversion; |
CopyrightLbl.caption := mainform.versioninfo.LegalCopyright + '.'; |
FirmaLbl.caption := mainform.versioninfo.CompanyName; |
NameLbl.caption := 'SpaceMission'; |
image.picture.loadfromfile(mainform.FDirectory + 'Bilder\Delphi.bmp'); |
VersionLbl.caption := 'Version ' + ProgramVersion; |
image.picture.loadfromfile(FDirectory + 'Bilder\Delphi.bmp'); |
end; |
procedure TInfoForm.FormShow(Sender: TObject); |
begin |
mainform.dxtimer.enabled := false; |
end; |
procedure TInfoForm.FormHide(Sender: TObject); |
begin |
if not mainform.gamepause.checked then mainform.dxtimer.enabled := true; |
end; |
procedure TInfoForm.URL2Click(Sender: TObject); |
begin |
shellexecute(application.Handle, 'open', pchar('http://'+url2.caption+'/'), nil, nil, SW_SHOW); |
68,7 → 53,7 |
procedure TInfoForm.URL1Click(Sender: TObject); |
begin |
shellexecute(application.Handle, 'open', pchar('mailto:'+url1.Caption+'?subject=SpaceMission ' + mainform.fengineversion), nil, nil, SW_SHOW); |
shellexecute(application.Handle, 'open', pchar('mailto:'+url1.Caption+'?subject=SpaceMission ' + ProgramVersion), nil, nil, SW_SHOW); |
end; |
end. |
/LevMain.dfm |
---|
23,7 → 23,7 |
OnDestroy = FormDestroy |
OnMouseMove = DXDrawMouseMove |
OnShow = FormShow |
PixelsPerInch = 96 |
PixelsPerInch = 106 |
TextHeight = 13 |
object Bevel1: TBevel |
Left = 648 |
/SplCheat.dfm |
---|
9,7 → 9,7 |
Color = clBtnFace |
Font.Charset = DEFAULT_CHARSET |
Font.Color = clWindowText |
Font.Height = -11 |
Font.Height = -12 |
Font.Name = 'MS Sans Serif' |
Font.Style = [] |
OldCreateOrder = False |
16,7 → 16,7 |
Position = poMainFormCenter |
OnHide = FormHide |
OnShow = FormShow |
PixelsPerInch = 96 |
PixelsPerInch = 106 |
TextHeight = 13 |
object Label1: TLabel |
Left = 8 |
30,6 → 30,7 |
Top = 8 |
Width = 106 |
Height = 13 |
Cursor = crHandPoint |
Caption = 'Herausgeber anfragen' |
Font.Charset = DEFAULT_CHARSET |
Font.Color = clBlue |
81,6 → 82,7 |
Top = 104 |
Width = 83 |
Height = 13 |
Cursor = crHandPoint |
Caption = 'Cheat deaktiviren' |
Font.Charset = DEFAULT_CHARSET |
Font.Color = clBlue |
/_PreBuild.bat |
---|
0,0 → 1,0 |
@echo off |
/LevSource.dfm |
---|
9,7 → 9,7 |
Color = clBtnFace |
Font.Charset = DEFAULT_CHARSET |
Font.Color = clWindowText |
Font.Height = -11 |
Font.Height = -12 |
Font.Name = 'MS Sans Serif' |
Font.Style = [] |
OldCreateOrder = False |
16,7 → 16,7 |
Position = poMainFormCenter |
OnHide = FormHide |
OnShow = FormShow |
PixelsPerInch = 96 |
PixelsPerInch = 106 |
TextHeight = 13 |
object ElLabel1: TLabel |
Left = 8 |
/SplSpeicherung.pas |
---|
47,13 → 47,10 |
var |
SpeicherungForm: TSpeicherungForm; |
const |
FCompVersion = '1.0'; |
implementation |
uses |
SplMain; |
Global, SplMain; |
{$R *.DFM} |
79,7 → 76,7 |
li4b.caption := 'n/a'; |
LadenBtn.enabled := false; |
LoeschenBtn.enabled := false; |
res := FindFirst(mainform.fdirectory+'Spielstände\*.sav', 0, sr); |
res := FindFirst(fdirectory+'Spielstände\*.sav', 0, sr); |
try |
while (res = 0) do |
begin |
121,7 → 118,7 |
li4b.caption := 'n/a'; |
LadenBtn.enabled := false; |
LoeschenBtn.enabled := false; |
deletefile(mainform.FDirectory+'Spielstände\'+LevelListBox.Items.strings[LevelListBox.itemindex]+'.sav'); |
deletefile(FDirectory+'Spielstände\'+LevelListBox.Items.strings[LevelListBox.itemindex]+'.sav'); |
searchsaves; |
end; |
end; |
158,7 → 155,7 |
end; |
{if liu.visible or (LevelListBox.items.count=0) then |
exit;} |
AssignFile(SavGame, mainform.FDirectory+'Spielstände\'+LevelListBox.Items.strings[LevelListBox.itemindex]+'.sav'); |
AssignFile(SavGame, FDirectory+'Spielstände\'+LevelListBox.Items.strings[LevelListBox.itemindex]+'.sav'); |
Reset(SavGame); |
ReadLN(SavGame); |
ReadLN(SavGame); |
206,7 → 203,7 |
if MessageDlg('Spielstand ist bereits vorhanden. Ersetzen?', mtConfirmation, [mbYes, mbNo], 0) = mrNo then |
exit; |
end; |
AssignFile(SavGame, mainform.FDirectory+'Spielstände\'+LevelName.text+'.sav'); |
AssignFile(SavGame, FDirectory+'Spielstände\'+LevelName.text+'.sav'); |
Rewrite(SavGame); |
WriteLN(SavGame, '; SpaceMission '+FCompVersion); |
WriteLN(SavGame, '; SAV-File'); |
247,7 → 244,7 |
exit; |
end; |
LevelName.Text := LevelListBox.Items.strings[LevelListBox.itemindex]; |
AssignFile(SavGame, mainform.FDirectory+'Spielstände\'+LevelListBox.Items.strings[LevelListBox.itemindex]+'.sav'); |
AssignFile(SavGame, FDirectory+'Spielstände\'+LevelListBox.Items.strings[LevelListBox.itemindex]+'.sav'); |
Reset(SavGame); |
ReadLN(SavGame, Ergebniss); |
if Ergebniss <> '; SpaceMission '+FCompVersion then |
/SpaceMission.exe |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |