Seite 3 von 3

Verfasst: 26.11.2006 01:05
von DW
> wenn man z.B eine Datei freiwillig runterladen kann, aber nicht muss, welche dann einige Zusatzsachen für das Programm beinhaltet?

hm.. vielleicht "Optional Addon"
Das ist zu lang. Ich brauche was kurzes. :mrgreen:

Laut anderen Entwicklern müsste sowas auch patch heißen...

Verfasst: 26.11.2006 01:08
von Kaeru Gaman
lies noch mal meine ergänzung im vorigen post...

und "Addon" ist nich lang und durchaus gebräuchlich.

Verfasst: 26.11.2006 01:27
von ZeHa
Dann gäbe es noch das "Plugin". Aber auch dafür kann Dich einer auslachen, wenn Du es irgendwie "falsch" verwendest.

Würde mir aber darüber keine Gedanken machen. Sorge dafür, daß Dich keiner für Dein eigentliches Programm auslacht, dann dürfest Du auf dem richtigen Weg sein.

Verfasst: 26.11.2006 02:39
von DW
Würde mir aber darüber keine Gedanken machen. Sorge dafür, daß Dich keiner für Dein eigentliches Programm auslacht, dann dürfest Du auf dem richtigen Weg sein.
Ist das momentan der Fall?

Verfasst: 26.11.2006 11:09
von ZeHa
Keine Ahnung, ich kenne Deine Software nicht.

Kannst ja mal sagen für welches Programm Du Dein Update-Zeugs benötigst...

Verfasst: 26.11.2006 13:28
von DW
Für ein zukünftiges Spiel. Bei dem ich halt nur Erweiterungen anbieten möchte.

Hab estern um 1 Uhr noch schnell einen "Patch-"Maker geproggt. So sieht das Resultat des "Patch"-Installers aus(Oder von mir aus Updater):
http://ultimative.ul.ohost.de/Products/ ... -Patch.exe

Wer den Maker will, bitte bescheid sagen.


>Kannst ja mal sagen für welches Programm Du Dein Update-Zeugs benötigst...
Einen eigenen Updater über das NEtz habe ich schon geproggt.
Hier, der Source code meines updaters(Vielleicht kanns ja jemand gebrauchen):

Code: Alles auswählen

Enumeration
  #Window_1n
EndEnumeration


Enumeration
  #Text_7n
  #ProgressBar_0n
EndEnumeration

SetCurrentDirectory(GetPathPart(ProgramFilename()))
Global product$="Wizard Compressor"
Global update
Procedure Open_Window_update()
  If OpenWindow(#Window_1n, 258, 151, 397,200, "Update",  #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_WindowCentered | #PB_Window_ScreenCentered)


    If CreateGadgetList(WindowID(#Window_1n))
      TextGadget(#Text_7n, 10, 10, 380, 40, "Checking for update..")
      EditorGadget(70,10,55,375,110,#PB_Editor_ReadOnly)
      ProgressBarGadget(#ProgressBar_0n, 10, 175, 380, 20, 0, 10)

    EndIf
  EndIf
EndProcedure


Procedure updateprogbar(a.f)
  SetGadgetState(#ProgressBar_0n,a)
EndProcedure


Procedure addtitem(pos,text$)
  AddGadgetItem(70,pos,text$)
EndProcedure

Procedure setttext(text$)
  SetGadgetText(#Text_7n,text$)
EndProcedure

Procedure settext(text$)
  SetGadgetText(70,text$)
EndProcedure


Procedure updates()
  SetGadgetText(#Text_7n,""+product$+" was updated successfully.")
EndProcedure




Procedure update()
  settext("")

  If URLDownloadToFile_(0,"http://ultimative.ul.ohost.de/Products/Wizard Compressor/update_number.ini","C:/update_number.ini",0,0)= #S_OK


    If ReadFile(0,"C:/update_number.ini")
      number$=ReadString(0)
      CloseFile(0)
      DeleteFile("C:/update_number.ini")

      If URLDownloadToFile_(0,"http://ultimative.ul.ohost.de/Products/Wizard Compressor/update_files.ini","C:/update_files.ini",0,0)= #S_OK

        If ReadFile(0,"C:/update_files.ini")
          While Not Eof(0)
            num=num+1
            file$=ReadString(0)
            path$=ReadString(0)
            If path$=""
              DeleteFile(file$)
              URLDownloadToFile_(0,"http://ultimative.ul.ohost.de/Products/Wizard Compressor/Updates/"+file$+"",file$,0,0)



            Else
              DeleteFile(path$+"/"+file$)
              URLDownloadToFile_(0,"http://ultimative.ul.ohost.de/Products/Wizard Compressor/Updates/"+file$+"",path$+"/"+file$,0,0)



            EndIf
            progress.f=progress.f+(10/Val(number$))
            updateprogbar(progress.f)
            addtitem(num,"Updated.."+file$)
          Wend
          CloseFile(0)
          DeleteFile("C:/update_files.ini")
          updates()
          addtitem(num+1,"")
          addtitem(num+2,""+product$+" was updated successfully.")
          num=0
          progress.f=0
          update=2
          updateprogbar(0)

        Else
          setttext("Could not update.")

          update=2
        EndIf

      Else
        setttext("Could not update.")
        update=2
      EndIf





    Else
      SetGadgetText(#Text_7n,"Could not update.")
      update=2
    EndIf
  Else
    SetGadgetText(#Text_7n,"Could not update.")
    update=2
  EndIf

  KillThread(thread)

EndProcedure







If ReadFile(0,"cv.ini")
  version$=ReadString(0)
  CloseFile(0)
Else
  MessageRequester(product$+" Update","Could not initialize product version.")
  End
EndIf

open_window_update()


URLDownloadToFile_(0,"http://ultimative.ul.ohost.de/Products/Wizard Compressor/currentversion.ini","C:/currentversion.ini",0,0)

If ReadFile(0,"C:/currentversion.ini")
  vers$=ReadString(0)
  CloseFile(0)
  DeleteFile("C:/currentversion.ini")
Else
  vers$=version$
EndIf



If vers$<>version$
  update=1
Else
  SetGadgetText(#Text_7n,"No new update is available.")
EndIf


Repeat
  event=WaitWindowEvent()
  winev=EventWindow()

  If update=1
    SetGadgetText(#Text_7n,"New update is available."+Chr(10)+Chr(10)+"Latest version: "+vers$+"")

    If CreateGadgetList(WindowID(#Window_1n))
      ResizeGadget(70,10,55,375,90)
      ButtonGadget(20,10,150,100,20,"Update")
      ButtonGadget(21,120,150,100,20,"Close")
    EndIf

    update=2


  ElseIf update=0

    SetGadgetText(#Text_7n,"No new update is available.")
  EndIf





  If update=2
    If event=#PB_Event_Gadget
      Select EventGadget()
        Case 20
          update=7
          SetGadgetText(#Text_7n,"Updating..")
          thread=CreateThread(@update(),0)
        Case 21
          End
      EndSelect
    EndIf
  EndIf


  If event=#PB_Event_CloseWindow
    End
  EndIf

ForEver

JA ICH WEIß! Er ist unsauber. Hatte keine Lust es zu verbessern. Klappt aber alles wunderbar.

Verfasst: 26.11.2006 13:49
von ZeHa
Naja ich würde dann danach gehen, um was es sich handelt.

Ist es ein Bugfix? Dann nenn es z.B. "Türöffnen-Bugfix".
Ist es ein Cheat? Dann nenn es z.B. "Unendlich-Leben-Patch".
Ist es ein Addon? Dann nenn es z.B. "Extremely Hard Level-Pack"

"Update" würd ich es erst dann nennen, wenn es tatsächlich viel am Spiel ändert. Wenn z.B. massiv viele Funktionen, Gegner, Level, Quests oder was weiß ich dazugekommen sind. Letztendlich ist das Wort "Update" ja auch nur ein Wort für "auf den neuesten Stand bringen".

Verfasst: 26.11.2006 14:13
von Hellhound66
Ich seh das so, wie ZeHa..

Ein Patch beseitigt Fehler, egal was der Patch logisch und physikalisch auf der Platte macht. Ist doch vollkommen egal, ob die .EXE komplett überschrieben wird. Es kommt für darauf an, was sich für den User ändert.

Ein Update kann Patches enthalten, erweitert aber zusätzlich noch das Programm. Und wenn nur die Versionsnummer erhöht wird, durch die Patches, die geladen werden, ist das dann für mich ein Update. Wie gesagt, ich sehe das immer gerne aus der Sicht des Users.

Ein Mod gibt mir eine optionale Erweiterung. Das kann offiziell oder inoffiziell sein. Es zerstört mir aber das Originalprogramm nicht, sondern bleibt "redundant".

Beispiele:
1.) Ein Programm, dass bei einem Egoshooter permanent mehr Blut erzeugt und Gehirne rumfliegen lässt, was ich aber nicht mehr abstellen kann, ist für mich:
a) wenn es aus inoffizieller Quelle kommt, ein Patch (Blood-Patch), weil aus der Sicht der Hacker hier ein "Fehler" (zuwenig Blut) beseitigt wurde.
b) wenn es vom Hersteller kommt, ein Update, da das Programm irreversibel mit einer Neuerung überladen wird.

2.) Ein Programm stürzt ab, wenn der Held aufs Klo geht. Der Hersteller hat ein Programm, dass diesen Fehler beseitigt. Das ist aus meinen Augen ein Patch.
-> Der Hersteller hat alelrdings noch die "Arsch-Abwisch-Animation" hinzugefügt und die Furzsounds implementiert. Dadurch wird der Patch zum Update, weil neue Features hinzugefügt wurden, was für mich höher wiegt.

Verfasst: 26.11.2006 21:48
von DW
>Ich seh das so, wie ZeHa..
Ein Patch beseitigt Fehler, egal was der Patch logisch und physikalisch auf der Platte macht. Ist doch vollkommen egal, ob die .EXE komplett überschrieben wird. Es kommt für darauf an, was sich für den User ändert.
Zeha sagt:
>Ist es ein Cheat? Dann nenn es z.B. "Unendlich-Leben-Patch".


Ich würde jetzt mal darauf tippen:
Ein Patch kann Fehler beseitigen oder extra Sachen installieren, wobei nicht einfach Dateien dazuinstalliert werden, sondern auch überschrieben werden.
Deswegen auch der Bloodpatch, oder Multiplayer-Patch. Sind Extrasachen, bei denen Dateien überschrieben werden und/oder dazuinstalliert werden.
Und natürlich Cheats|Extracheats, die dazuinstalliert werden müssen.
Und von mir aus auch Fehlerbeseitigung.

Einverstanden?

Verfasst: 29.11.2006 23:13
von Hellhound66
@DW:
Alles gelesen, dabei gewesen...
a) wenn es aus inoffizieller Quelle kommt, ein Patch (Blood-Patch), weil aus der Sicht der Hacker hier ein "Fehler" (zuwenig Blut) beseitigt wurde.