Patchen
Übersicht

![]() |
WaveblueBetreff: Patchen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi ![]() Hab mal wieder ne Frage! Viele Spiele , die auf den Markt kommen, enthalten Fehler, die dann durch sogenannte Patches beseitigt werden! Ich fänds dahingehend praktisch, da nicht das komplette Programm oder die Exe ersetzt wird, sondern nur Teile davon, was eine Aktualisierung ungemein Downloadvolumensparend macht! Seltsamerweise hab ich hier noch kein Spiel gesehen, das Patches anbietet, sondern man muss immer komplett die neue Version laden! Geht sowas mit Blitz zu realisieren? |
||
This is 10% luck
20% skill 15% concentrated power of will 5% pleasure, 50% pain and 100% reason to remember the name |
![]() |
@ndinho |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich glaube nicht, denn wenn du eine EXE erstellt hast, kannst du sie ja nicht mehr in BB umändern bzw. den Code verändern | ||
User posted image
Mein PC: AMD 3000+ / 1024 DDR-Ramm 400 / Geforce 6800 Meine Lieblingsspiele: World of Warcraft, Warcraft III, Pro Evolutions Soccer 4, Blitz Basic ![]() |
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du könntest deinen ode auslagern also als bb datei einbinden.
das solltest du aber verschlüsseln und umbenennen. dann ersetzt du einfach deine "einbau"-datei und fertig! |
||
#pointer#Gast |
![]() Antworten mit Zitat |
|
---|---|---|
nein, aber du kannst das Programm dynamisch machen, und dann die entsprechenden Dateien editieren. | ||
![]() |
maximilian |
![]() Antworten mit Zitat ![]() |
---|---|---|
@JonasCleve: WAS? o_O | ||
Variety is the spice of life. One day ignore people, next day annoy them. |
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Erstell BB datei:Code: [AUSKLAPPEN] hallo=getcolor(2,2)
die datei verschlüsselt zum program tuen. mit bb das entschlüsseln und ausführen. wenn du patchst dannCode: [AUSKLAPPEN] hallo=getcolor(x,y)
dann wieder verschlüsseln. |
||
- Zuletzt bearbeitet von Artemis am Fr, März 04, 2005 20:43, insgesamt einmal bearbeitet
D²O |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja, das funktioniert auch mit BB.
Nur musst Du hier auch eine Patch.exe machen und die ist dann sowieso fast so gross wie die spiele.exe. Das Prinzip ist, die neue exe mit der alten exe vergleichen (Readbyte) dann die offsets, (die punkte ab wann bis wohin, speichern wo sie sich unter scheiden, und jetzt nur diesen teil in einer extra datei speichern. Bei patchen musst Du dann nur noch ab dem gespeicherten punkt,Offset, die datei in die exe einfügen. Du kannst ja die patch.exe in der ersten version mit liefern, dann muss man sich nur noch die patch datei downloaden, oder, Die patch.exe wird, z.b. mit PureBasic gemacht, hier ist die exe sehr klein. |
||
Blitz+; Blitz3d; BlitzMax; GLBasic; Purebasic;
GameMaker Studio 1.4xx; AGK; |
![]() |
Waveblue |
![]() Antworten mit Zitat ![]() |
---|---|---|
D²O hat Folgendes geschrieben: Ja, das funktioniert auch mit BB.
Nur musst Du hier auch eine Patch.exe machen und die ist dann sowieso fast so gross wie die spiele.exe. Das Prinzip ist, die neue exe mit der alten exe vergleichen (Readbyte) dann die offsets, (die punkte ab wann bis wohin, speichern wo sie sich unter scheiden, und jetzt nur diesen teil in einer extra datei speichern. Bei patchen musst Du dann nur noch ab dem gespeicherten punkt,Offset, die datei in die exe einfügen. Du kannst ja die patch.exe in der ersten version mit liefern, dann muss man sich nur noch die patch datei downloaden, oder, Die patch.exe wird, z.b. mit PureBasic gemacht, hier ist die exe sehr klein. hm, klingt interessant! Aber bevor ich das kann............. ![]() |
||
This is 10% luck
20% skill 15% concentrated power of will 5% pleasure, 50% pain and 100% reason to remember the name |
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moin,
Viel zu schwer. Einfach mit deinem Server verbinden. Dan eine Datei runterladen die du vorher dort darauf geladen hast. Darin stehen dan die Updates. Wen ein neuer da ist, wieder verbinden mit dem Server und herunter laden. Dan die neue exe durch die Alte ersetzen. Feddich ![]() Edit: Oder es so machen wie D²O. ![]() Thx DarkAngel |
||
Deutscher Blitz Basic Chat |
- Zuletzt bearbeitet von DA am Fr, März 04, 2005 20:47, insgesamt einmal bearbeitet
![]() |
blitzmaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
du könntest zum beispiel eine Patch-Funktion sowieso in den alten Code einbauen ![]() |
||
***************
Blitzmaster |
![]() |
Waveblue |
![]() Antworten mit Zitat ![]() |
---|---|---|
@DarkAngel:
gesetzt den Fall: Ein Spiel-Exe erreicht eine Größe von 4MB! Nun wird es veröffentlicht, viele laden es und dann stellt sich ein Fehler in der Highscore-Function heraus! Der Bug is nicht größer als ne Zeile und dafür sollen alle nochmal 4MB laden? Praktisch wäre in dem Fall die Möglichkeit durch einen kleinen Patch das zu beheben! |
||
This is 10% luck
20% skill 15% concentrated power of will 5% pleasure, 50% pain and 100% reason to remember the name |
D²O |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
blitzmaster hat Folgendes geschrieben: du könntest zum beispiel eine Patch-Funktion sowieso in den alten Code einbauen
![]() Jo, das wär schön platzsparend wenn die Patchfunktion in der eigenen exe liegt, nur kann sich die eigene exe wenn sie schon geöffnet ist nicht selbt überschreiben. |
||
Blitz+; Blitz3d; BlitzMax; GLBasic; Purebasic;
GameMaker Studio 1.4xx; AGK; |
![]() |
blitzmaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
mann könnte ja eigentlich doch eine kleine Exe erstellen die den Code verändert. Man tut sich nur eine InI File Downloaden in der zum beispiel steht:
Code: [AUSKLAPPEN] ;alte Zeile hllo = hallo + 1 ;durch die sie ersetzt werden soll hallo = hallo + 1 aus dieser File list dann die Patch.exe die Zeilen heraus, und verändert Sie dann im alten Programm Könnte das Funktionieren ![]() ![]() ![]() ![]() |
||
***************
Blitzmaster |
D²O |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jain,
wenn aber ein fehler selber im code ist, Runtimefehler, dann nütz das nichts. Stell Dir vor du hast eine for i = 0 to go schleife in der ein Array(go) laufen, das go wird aber an irgendeiner anderen stelle unter bestimmten bedingungen verändert das aus go = 10 ein go = 11 wird und das array aber nur 10 felder hat. Dan gibts saures ![]() genau für sowas ist die patch.exe gedacht. |
||
Blitz+; Blitz3d; BlitzMax; GLBasic; Purebasic;
GameMaker Studio 1.4xx; AGK; |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
zum Teil möglich, da meist nur die Exe ausgetauscht werden muss aber die Bilder und Sounds nicht!
Die exe patchen geht auch einfach wenn nur zb nur einzelne Bytes ausgetauscht werden müssen Aber ändert sich die Dateigröße dann wird es sehr schwierig! Abgesehen davon lohnt es sich nicht in der exe die daten zu tauschen da das Patch Programm ,wenn es in BB geschrieben wird, schon eine enorme Größe hat! Interessant wird das erst wenn du alles an Grafik und Sounds mit in die Exe gepackt hast! @JonasCleve: Wie? Etwa mit include das später reinziehen ![]() |
||
[BB2D | BB3D | BB+]
|
![]() |
Sir Dan |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie wäre es denn wenn man alle Functionen (mit einem extra geschriebenen Universaleditor) in eine datei auslagert
z.B.: Code: [AUSKLAPPEN] ; Universaleditor datei = Writefile("test.func") writeline(datei,"Function exe()") usw..... Ist zwar viel schreibarbeit, aber man nach dem compilieren immernoch darauf zugreifen. Und wenn der Fehler dann doch in der exe sein sollte, ist der ersatz download dann nicht mehr so groß. |
||
(\_/)
(O.o) (> <) This is Bunny. Copy Bunny into your signature to help him on his way to world domination. |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das wird so nicht funktionieren. ihr könnt die exe ja nicht aus 3 kleineren exes zusammenwürfeln. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Waveblue hat Folgendes geschrieben: @DarkAngel:
gesetzt den Fall: Ein Spiel-Exe erreicht eine Größe von 4MB! Nun wird es veröffentlicht, viele laden es und dann stellt sich ein Fehler in der Highscore-Function heraus! Der Bug is nicht größer als ne Zeile und dafür sollen alle nochmal 4MB laden? Praktisch wäre in dem Fall die Möglichkeit durch einen kleinen Patch das zu beheben! Eine normale BB-Exe ist selten größer als 4MB. Wenn sie dann noch mit UPX, Zip oder Rar komprimiert ist, sollte die Größe nicht wirklich ein Problem darstellen. Natürlich darfst du keine Dateien in die Exe packen. Theoretisch sollten auch sonstige Dateien möglichst nicht zu einem Archiv (zB mit Terrabits Packmacker) gepackt werden - sonst muss immer das ganze Archiv upgedatet werden (es sei denn, du investierst mehr Zeit und machst es so wie D²O es beschrieben hat ![]() |
||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
hier war ja die Rede davon, dass der patch die Grösse der normalen Spiele Datei /dateien errichen kann.
wenn di programme recht klein sind, ist das wohl kein grosser aufwand, sich eine verbesserte Version zu saugen, wenn es wirklich grosse Mängel gibt, aber das vom Gameplay her viel spass macht. und wenn man sich manche Patches für komerzielle Spiele anschaut, sind diese manchmal mehrere 100 MB groß, ich weiss das dies jetzt nicht in Relation zu BB Spilen steht, weil diese selten komerziell sind und wahrscheinlich auch keine 2-4gig erreichen werden. |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
macht es so, wie es D²O beschrieben hat.
Ich habe mal sowas gecodet. Eine EXE mit ca. 100 Zeilen Unterschied zu vorigen konnte so in eine ca. 80 KB Datei umgewandelt werden. Habe das Projekt abgebrochen, da ich weiter gehen wollte, als es möglich war und dieses^^ Prinzip mir trotzdem nicht mehr reichte. MfG D2006 |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group