Saga-Games-Forum

Saga-Games › Spiele und Programme => Hotel-Manager => Thema gestartet von: Stiepen am 07. Juli 2011, 16:50:12

Titel: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 07. Juli 2011, 16:50:12
Nun, da ich schon einige Zeit an der nachsten Version arbeite, Ist mir die Idee gekommen, einen neuen Beitrag zu öffnen, um den Entwicklungsstatus mit den Anderen zu Teilen.

Nun - Das ist er!

Derzeit arbeite ich an der Benutzeroberfläche.

Jojos Vorschlag
Zitat von: Jojo am 04. Juli 2011, 20:55:06bei github oder so ein Repository an[zu]legen, um den Code (bzw auch die unterschiedlichen Versionen) besser verwalten zu können[,]
bin ich noch nicht weiter Nachgegangen, werde das aber Gleich mal machen.
Titel: Re: Die neue VB2010-Version... News und Infos
Beitrag von: Jojo am 07. Juli 2011, 17:24:28
Nun denn... Viel Erfolg. ;)
Titel: Re: Die neue VB2010-Version... News und Infos
Beitrag von: Stiepen am 07. Juli 2011, 19:07:31
Sorry, Aber ich komme mit git nicht wirklich klar:

Ich habe ein VB2010-Projektverzeichnis. Aber wie lade ich das jetzt hoch ???
Titel: Re: Die neue VB2010-Version... News und Infos
Beitrag von: Jojo am 07. Juli 2011, 21:44:30
Man kann da nichts "hochladen". Du brauchst dafür einen Git-Client, z.B. TortoiseGit (http://code.google.com/p/tortoisegit/).
Titel: Re: Die neue VB2010-Version... News und Infos
Beitrag von: Stiepen am 27. August 2011, 19:12:39
Hallo,

Ich hab mal eine Frage: Warum hast du eigentlich für Meldungsfenster eine eigene Klasse definiert, wo doch VB eine Funktion dafür bietet?

Ich frag mal nur so aus Interesse...

EDIT: Der Statische Teil(d.h. alles was nicht vom code erstellt wird) des Hauptfensters ist Fertig. Ich baue jetzt ersteinmal Neues Hotel, Speichern/Laden, und Importfunktion für .sav-Dateien ein

EDIT2: VB.NET lässt leider keine Arrays mit indizes < 0 zu. Und da ich viel Code kopiere *pfeif* muss ich das ganze Umschreiben. und ja ich hab längere Zeit nichts mehr an HM.NET Gemacht *ein weiteres mal: pfeif*

<longedit id="3">

Ich brauche hilfe beim Umgang mit der BASS-Bibliothek. kannst du mir da helfen?
ich hab mir ersteinmal die BASS.NET gedownloaded. jetzt versuche ich es mit deinem code bzw. der Übersetzung und hab (welch ein Wunder) keinen Fehler im Code. wenn ich weiß obs geht melde ich mich nochmal.
eigentlich brauche ich die bass.dll nicht, da vb.net dafür eine Methode namens My.Computer.Audio.Play() bietet. aber zumindest die Hintergrundmusik wollte ich über bass laufen lassen, da ich nur so den play-fortschritt anzeigen lassen kann und prüfen kann, ob dasstück zu ende ist.

</longedit>;)

Titel: Re: Die neue VB2010-Version... News und Infos
Beitrag von: Jojo am 28. August 2011, 22:13:51
Zitat von: Stiepen am 27. August 2011, 19:12:39Ich hab mal eine Frage: Warum hast du eigentlich für Meldungsfenster eine eigene Klasse definiert, wo doch VB eine Funktion dafür bietet?
Meine eigene MessageBox hat auch eigene Icons, die in das restlichen Icon-Schema der Anwendung passen, und erzeugt zudem keinen Systemsound, sondern Programmspezifische Sounds.

ZitatEDIT2: VB.NET lässt leider keine Arrays mit indizes < 0 zu. Und da ich viel Code kopiere *pfeif* muss ich das ganze Umschreiben. und ja ich hab längere Zeit nichts mehr an HM.NET Gemacht *ein weiteres mal: pfeif*
Dafür kann man sich ja eigene Container-Klassen definieren, die z.B. intern das Range -2...100 auf 0...102 mappen.

ZitatIch brauche hilfe beim Umgang mit der BASS-Bibliothek. kannst du mir da helfen?
BASS ist wirklich easy, wenn du Probleme damit hast, frage am besten im BASS-Forum nach, da wird dir garantiert schneller geholfen werden v.a. weil ich dir wirklich nur mit der Original-BASS-Bibliothek helfen kann, nicht aber mit BASS.net.
Übrigens bezweifle ich (schon allein wegen dem Klassennamen), dass die .net-Funktionen für komplexes Audio-Mixing in Spielen gedacht sind. Der HotMan spielt ja "nicht nur" Sounds ab, sondern blendet auch zwischen ihnen über und ähnliches.
Titel: Re: Die neue VB2010-Version... News und Infos
Beitrag von: Stiepen am 28. August 2011, 22:18:44
OK, das ist mir noch gar nicht aufgefallen, ich beschäftige mich grad mit BASS. liegen die musik/sound-dateien irgendwo (wenn ja, wo) einzeln vor? ich habe einen freund, der sich mit mixing u.Ä. beschäftigt. darf ich ihn mal beauftragen ein neues stück für den HotMan zu entwickeln?
Titel: Re: Die neue VB2010-Version... News und Infos
Beitrag von: Jojo am 28. August 2011, 22:21:04
Die Musik gibt's unter anderem hier (ftp://ftp.untergrund.net/users/sagamusix/music/games/hotel-manager/), das Extrahieren der Sounds bleibt zur Übung überlassen (sollte wirklich kein Problem bei einem Open-Source-Programm sein...). ;)
Titel: Re: Die neue VB2010-Version... News und Infos
Beitrag von: Stiepen am 28. August 2011, 22:22:57
Ja ich werde im Quelltext nocheinmal auf spurensuche gehen;) ich meld mich nochmal

EDIT: der link leitet mich immer auf http://rumba.microfocus.com/ (http://rumba.microfocus.com/) um
Titel: Re: Die neue VB2010-Version... News und Infos
Beitrag von: Jojo am 28. August 2011, 22:57:57
sorry, link wurde gefixt.
Titel: Re: Die neue VB2010-Version... News und Infos
Beitrag von: Stiepen am 28. August 2011, 23:15:01
Jau link geht. hab ihn auch gleich meinem freund geschickt, damit er mal einen eindruck hat, was das für musik ist, die wir für hm brauchen  ;)

EDIT: zu bass: leider läuft die original-bibliothek nicht unter vb.net :(
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Jojo am 29. August 2011, 01:10:24
Zitat von: Stiepen am 28. August 2011, 23:15:01
was das für musik ist, die wir für hm brauchen  ;)
Am besten Fahrstuhlmusik.

Zitat: zu bass: leider läuft die original-bibliothek nicht unter vb.net
Ja klar, BASS.net ist ja auch nur ein .net-Wrapper für BASS. Das kann nicht mehr und nicht weniger als BASS. Ich kann dir aber trotzdem nicht helfen, wenn irgendwas mit BASS.net nicht funktioniert, weil ich es nicht benutze.
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 29. August 2011, 01:15:41
Zitat von: Jojo am 29. August 2011, 01:10:24
Zitat von: Stiepen am 28. August 2011, 23:15:01
was das für musik ist, die wir für hm brauchen  ;)
Am besten Fahrstuhlmusik.
das bezog sich eher auf hintergrundmusik, aber ich leite es mal witer...
Zitat
Zitat: zu bass: leider läuft die original-bibliothek nicht unter vb.net
Ja klar, BASS.net ist ja auch nur ein .net-Wrapper für BASS. Das kann nicht mehr und nicht weniger als BASS. Ich kann dir aber trotzdem nicht helfen, wenn irgendwas mit BASS.net nicht funktioniert, weil ich es nicht benutze.
Hatte ich nicht anders erwartet. aber es ist auf jedeen fall einfacher zu bedienen (zumindest auf en ersten blick)  ;)
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 29. August 2011, 11:19:26
So: Ich hab hier mal den derzeitigen Stand des Quelltextes der Hotel/Filialenklasse:
Leier musste ich neu beginnen, da sich im alten Projekt die Toolbarbuttons in der Mainform gelöscht haben (der Fehler lag irgendwo in den Ressourcen). In dem Zusammenhang hab ich das Ganze vollständig überarbeitet.


Public Class clsHotelKette
#Region "Declares (Private)"
    Private _Geld As UInt64
    Private _Hotels As List(Of clsFiliale)
#End Region
#Region "Declares (Public)"
    Public Event MoneyChanged(ByVal sender As System.Object, ByVal e As EventArgs)
    Public Event GameOver(ByVal sender As System.Object, ByVal e As GameOverEventArgs)
    Public Structure GameOverEventArgs
        Dim Reason As GameOverReason
    End Structure

    Public Enum GameOverReason
        Unknown = 0
        NotEnougthMoney = 1
        HotelToBad = 2
    End Enum
#End Region
#Region "Propertys (Public)"
    ''' <summary>
    ''' Das Geld, dass dem Spieler zur Verfügung steht
    ''' </summary>
    ''' <value>Der Wert in $</value>
    ''' <returns>Der Wert in $</returns>
    ''' <remarks></remarks>
    Public Property Money As UInt64
        Set(ByVal value As UInt64)
            If value < GameOverMoney Then
                Dim tmpEventArgs As GameOverEventArgs
                tmpEventArgs.Reason = GameOverReason.NotEnougthMoney
                RaiseEvent GameOver(Me, tmpEventArgs)
            Else
                _Geld = value
                RaiseEvent MoneyChanged(Me, Nothing)
            End If
        End Set
        Get
            Return _Geld
        End Get
    End Property
#End Region
#Region "Methoden/Funktionen (Private)"

#End Region
#Region "Methoden (Public)"
    ''' <summary>
    ''' Fügt der Liste der Filialen eine neue Filiale hinzu
    ''' </summary>
    ''' <param name="Filiale">Die hinzuzufügende Filiale</param>
    ''' <exception cref="NotConstructedException">Der Konstruktor der übergebenden Filiale wurde noch nicht aufgerufen</exception>
    ''' <exception cref="ArgumentException">Es existiert bereits eine Filiale mit dem angegebenen Nameen</exception>
    ''' <remarks></remarks>
    Public Sub AddFiliale(ByVal Filiale As clsFiliale)
        For Each el In _Hotels
            If el.Name = Filiale.Name Then
                Throw New ArgumentException("Es existiert schon eine Filiale mit diesem namen")
            Else
                If Filiale.IsConstructed Then
                    _Hotels.Add(Filiale)
                Else
                    Throw New NotConstructedException("Der konstrukter der Filiale wurde nicht aufgerufen")
                End If
            End If
        Next

    End Sub

#End Region
End Class
Public Class clsFiliale
#Region "Declares (Private)"
    Private _Name As String
    Private _isConstructed = False 'Wurde der Konstruktor aufgerufen?
    Private _Hotel(102, 99) As Roominfo

#End Region
#Region "Declares (Public)"
    Public Enum RoomType As Integer
        Kein = 0 'Hier ist Luft
        Leer = 1 'Leerer Raum
        '---Wohnen---
        EinzelNormal = 2
        DoppelNormal = 3
        EinzelLuxus = 4
        EinzelLuxs = 5
        Suite = 6
        '---Attraktionen---
        Kiosk = 7
        Gesellschaft = 8
        Casino = 9
        Sporthalle = 10
        Schwimmbad = 11
        Kino = 12
        '---Sonstige---
        Empfang = 13 '13 - Muhahaha da krigt man ja schon beim check-in das kalte grausen ;)
        Küche = 14
        Tiefgarage = 15
        Kühlraum = 16
        Aufzug = 17
    End Enum
    Public Enum RoomPosition As Integer
        none = 0
        Links = 1
        Rechts = 2
        ObenLinks = 1
        ObenRechts = 2
        UntenLinks = 3
        UntenRechts = 4
    End Enum
    Public Structure RoomInfo
        Dim Type As RoomType
        Dim Position As RoomPosition 'Nur für mehrfeld-Räume interessant
        Dim Belegt As Boolean
        Dim BelegtTage As UInteger 'Wenn ja, wie lange noch?
    End Structure
#End Region
#Region "Propertys (Public)"
    ''' <summary>
    ''' Der Name der Filiale
    ''' </summary>
    ''' <value> Der Name der Filiale</value>
    ''' <returns> Der Name der Filiale</returns>
    ''' <exception cref="ArgumentException">Ungültiger Name</exception>
    ''' <remarks></remarks>
    Public Property Name As String
        Set(ByVal value As String)
            Select Case value
                Case ""
                    Throw New ArgumentException("Der Name kann nicht leer Sein")
                Case value.Length > 32
                    Throw New ArgumentException("Der Name darf Maximal 32 Zeichen lang sein")
                Case Else
                    _Name = value
            End Select
        End Set
        Get
            Return _Name
        End Get

    End Property
    ''' <summary>
    ''' Prüft, Ob bereits der Constructor aufgerufen wurde
    ''' </summary>
    ''' <returns>Ein Boolscher Wert, der Angibt, ob der Konstruktor bereits aufgerufen wurde</returns>
    ''' <remarks></remarks>
    Public ReadOnly Property IsConstructed
        Get
            Select Case _isConstructed
                Case True
                    Return True
                Case False
                    Return False
                Case Else 'schließt den Fall nothing ein
                    Return False
            End Select
        End Get
    End Property
#End Region
#Region "Methoden/Funktionen (Private)"

#End Region
#Region "Methoden/Funktionen (Public)"
    ''' <summary>
    ''' Erstellt eine neue Instanz
    ''' </summary>
    ''' <param name="FilialenName">Der Name der Neuen Filiale</param>
    ''' <exception cref="ArgumentException">Ungültiger Name</exception>
    ''' <remarks></remarks>
    Public Sub New(ByVal FilialenName As String)
        Try
            Name = FilialenName
            _isConstructed = True
        Catch ex As Exception
            Throw ex 'Die Arbeit an den Aufrufenden delegieren - Nein, wir sind nicht faul ;) *unschuldig*
        End Try

    End Sub
    ''' <summary>
    ''' Setzt die Informationen für ein Hotelzimmer
    ''' </summary>
    ''' <param name="Etage">Die Etage des Zimmers: U2 = -2; U1 = -1; EG = 0; OGxx = xx</param>
    ''' <param name="ZimmerNr">Vertikale Zimmerposition 1 = ganz Links</param>
    ''' <param name="value">Der Wert den Das Zimmer erhalten soll</param>
    ''' <remarks></remarks>
    Public Sub SetRoomInfo(ByVal Etage As Int16, ByVal ZimmerNr As UInt16, ByVal value As RoomInfo)
        _Hotel(Etage + 2, ZimmerNr - 1) = value
    End Sub
    ''' <summary>
    ''' Gibt die Informationen für ein Hotelzimmer zurück
    ''' </summary>
    ''' <param name="Etage">Die Etage des Zimmers: U2 = -2; U1 = -1; EG = 0; OGxx = xx</param>
    ''' <param name="ZimmerNr">Vertikale Zimmerposition 1 = ganz Links</param>
    ''' <returns>Der Wert den Das Zimmer derzeit hat</returns>
    ''' <remarks></remarks>
    Public Function getRoomInfo(ByVal Etage As Int16, ByVal ZimmerNr As UInt16)
        Return _Hotel(Etage + 2, ZimmerNr - 1)
    End Function
#End Region
End Class


Sagmal Jojo, kannste nicht ne Spoilerfunktion ins Forum einbauen?(also dass der code versteckt ist und man ihn über einen button ein- und wieder ausblenden kann) ;)
dann könnte man das besser lesen...

EDIT: Mir fällt grad auf Dungeon2 läuft unter Win7 64-Bit nicht :(
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Jojo am 29. August 2011, 15:41:08
Zitat von: Stiepen am 29. August 2011, 01:15:41
das bezog sich eher auf hintergrundmusik, aber ich leite es mal witer...
Das war mir auch klar und deswegen habe ich ja auch so geantwortet (http://de.wikipedia.org/wiki/Fahrstuhlmusik).

ZitatSagmal Jojo, kannste nicht ne Spoilerfunktion ins Forum einbauen?
Der Code wird doch in der Größe begrenzt, das reicht völlig. Ich installiere keine Forenmods, die machen nur das Aktualisieren den Forensoftware zum Albtraum.

ZitatEDIT: Mir fällt grad auf Dungeon2 läuft unter Win7 64-Bit nicht
Klar, ist ja auch wie ein Großteil meiner Spiele ein DOS-Spiel.
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 29. August 2011, 18:40:20
Zitat von: Jojo am 29. August 2011, 15:41:08
Zitat von: Stiepen am 29. August 2011, 01:15:41
das bezog sich eher auf hintergrundmusik, aber ich leite es mal witer...
Das war mir auch klar und deswegen habe ich ja auch so geantwortet (http://de.wikipedia.org/wiki/Fahrstuhlmusik).
Ok, wusste ich nicht  :s
Zitat
ZitatSagmal Jojo, kannste nicht ne Spoilerfunktion ins Forum einbauen?
Der Code wird doch in der Größe begrenzt, das reicht völlig. Ich installiere keine Forenmods, die machen nur das Aktualisieren den Forensoftware zum Albtraum.
Ok, hatte aber die Code-Funktion nicht gesehehen
Zitat
ZitatEDIT: Mir fällt grad auf Dungeon2 läuft unter Win7 64-Bit nicht
Klar, ist ja auch wie ein Großteil meiner Spiele ein DOS-Spiel.
Auf der Webseite steht was anderes...
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Jojo am 29. August 2011, 18:53:37
Zitat von: Stiepen am 29. August 2011, 18:40:20
Auf der Webseite steht was anderes...
Die Webseite wurde auch zu einer Zeit gestaltet, als noch niemand 64-Bit-Systeme hatte und deswegen steht Windows dort generell für 32-Bit-Windows.
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 29. August 2011, 18:55:28
Das kann man wahrscheinlich nicht in ner Dos-Box spielen oder?
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Jojo am 29. August 2011, 19:11:35
Doch natürlich, ist ja ein DOS-Spiel. Es wird aber erst ab 30.000 cycles oder so flüssig laufen und das Soundsystem muss manuell im Hintergrund gestartet werden, weil das ein Windows-Programm ist.
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 29. August 2011, 19:12:57
ich probiers mal aus... :)

EDIT: Ich kanns noch nichteinmal installieren...
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 29. August 2011, 19:50:36
Das Soundsystem läuft schonmal!

EDIT: Hier (http://www.mediafire.com/?ct5qiy6e25hhagd) sind 2 Bilder von der Hintergrundmusiksteuerung
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Toa-Nuva am 03. September 2011, 16:10:10
Wow, da stolpert man mal wieder (mehr oder weniger) zufällig ins Forum, weil man sich vor dem Klausurenlernen drücken will, xD und dann liest man hier so was. Freut mich sehr, dass jemand am Hotel Manager weiterarbeiten bzw ihn neu machen will. ;D Auch von meiner Seite viel Erfolg! ;)
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 03. September 2011, 16:14:49
ich arbeite auch nicht immer weiter, aber wenn ich was mache, dann richtig;)

aber das nehme ich als ansporn *grins*
ich denke ich mach wahrscheinlich gleich mal weiter;)
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 02. Oktober 2011, 17:05:11
So... hab mich mal an die Grafikengine gesetzt... Aber wie sagt ein altes Sprichwort so Schön:

Aller anfang ist schwer

Zu Testzwecken habe ich also einen schönen Button neben '?' namens 'Teste GrafikEngine' eingefügt. Eigentlich sollte, wenn man ihm anklickt, die Picturebox sich mit Tiefgaragen füllen - Eigentlich... stattdessen wird mit Ausnahmen geworfen, dass ich jetzt zahleiche Beulen am Kopf habe (wenn ihr wisst was ich meine) und ich find die Übeltäter nicht... Ich bau jetzt erstmal n weiteres Feature in die SoundEngine ein. Villeicht kommt mir da die Erleuchtung...;)

Ich meld mich nochmal...
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 17. Oktober 2011, 11:25:21
Hat jemand ein paar Vorschläge für Funktionen?

Meine Ideen:


P.S. in der Dev-Konsole werden Datumsangaben nicht geprüft. d.h. z.b. ein 99.12.2012 ist zulässig. nur mal so als hinweis
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Jojo am 17. Oktober 2011, 12:23:03
Zitat von: Stiepen am 17. Oktober 2011, 11:25:21
P.S. in der Dev-Konsole werden Datumsangaben nicht geprüft. d.h. z.b. ein 99.12.2012 ist zulässig. nur mal so als hinweis
Eine Entwicklerkonsole ist ja auch nicht als Teil des Spiels zu betrachten - warum also den Aufwand machen und alle Inputs validieren?
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 17. Oktober 2011, 13:00:30
Eine Frage noch:
Wie öffne/entpacke ich diese verfluchten .bnk-Dateien?

EDT: Deine Forensoftware ist ja auch genial... :P
Zitat von: Forensoftware am 17. Oktober 2011, 12:23:03
Zitat von: Stiepen am Heute um 10:25:21
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Jojo am 17. Oktober 2011, 13:35:30
Zitat von: Stiepen am 17. Oktober 2011, 13:00:30
Wie öffne/entpacke ich diese verfluchten .bnk-Dateien?
Steht im Code. Das müsste ich jetzt genau so nachschauen wie du, von daher kannst du das auch selbst. ;)

Zitat von: Stiepen am 17. Oktober 2011, 13:00:30
Deine Forensoftware ist ja auch genial... :P
Hier (http://www.simplemachines.org/community/index.php?board=13.0) kannst du dich beschweren.
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 17. Oktober 2011, 13:53:31
Zitat von: Jojo am 17. Oktober 2011, 13:35:30
Zitat von: Stiepen am 17. Oktober 2011, 13:00:30
Wie öffne/entpacke ich diese verfluchten .bnk-Dateien?
Steht im Code. Das müsste ich jetzt genau so nachschauen wie du, von daher kannst du das auch selbst. ;)
Ich dachte du hättest mir ein Proramm nennen können... sonst muss ich halt mein eigenes schreiben
Zitat von: Jojo am 17. Oktober 2011, 13:35:30
Zitat von: Stiepen am 17. Oktober 2011, 13:00:30
Deine Forensoftware ist ja auch genial... :P
Hier (http://www.simplemachines.org/community/index.php?board=13.0) kannst du dich beschweren.
Mach ich mal beizeiten... bin grad zu faul, mich zu registrieren...

EDIT: Warum hast du da ne Schriftart mitgeliefert?
EDIT2: Ich hab grad mal die Music.bnk und die sounds.bnk in nem Hex-Editor angeschaut. Sind die unterschiedlich aufgebaut? Aus dem Code werde ich irgendwie nicht wirklich schlau :$
EDIT3: Was hat es mit dem inhalt der names.cfg auf sich? Verwedest du linux? Den Zeilenumbrüchen zu urteilen ja.

Und für die, dies schon gar nicht erwarten können: Hier der (zugegebenermaßen spartanische) erste Preview (als gezippte .exe + alle notwendigen Dateien): Klick Mich (http://www.mediafire.com/?qayldrh71xwxtxa)
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Jojo am 17. Oktober 2011, 19:18:26
ZitatIch dachte du hättest mir ein Proramm nennen können... sonst muss ich halt mein eigenes schreiben
Das einzige Programm, das dazu gedacht ist, die Soundbänke zu öffnen, ist Hotel-Manager.

ZitatEDIT: Warum hast du da ne Schriftart mitgeliefert?
Weil die nicht auf jedem Rechner vorhanen ist? Ich glaub die wurde nur im Credits-Dialog verwendet, aber egal...

ZitatEDIT2: Ich hab grad mal die Music.bnk und die sounds.bnk in nem Hex-Editor angeschaut. Sind die unterschiedlich aufgebaut? Aus dem Code werde ich irgendwie nicht wirklich schlau :$
Die Offsets und Streamlängen der Music.bnk sind in der Datei music.hmp kodiert. Die liest das Programm auch selbst ein. Gibt irgendwo einen Playlist-Handler, der die Offsets dekodiert. Ansonsten hat die Datei kein besonderes Format. sounds.bnk sollte vorne einen Header haben, in dem die Soundnamen, deren Offsets und ähnliches stehen, der wird ebenfalls vom Programm ausgelesen.

ZitatWas hat es mit dem inhalt der names.cfg auf sich?
Wird entweder benutzt oder auch nicht.

ZitatVerwedest du linux? Den Zeilenumbrüchen zu urteilen ja.
Zum Entwickeln des Hotel-Managers nicht, aber ich bevorzuge UNIX-Zeilenumbrüche in allen Anwendungsbereichen.
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 17. Oktober 2011, 20:18:04
Zitat von: Jojo am 17. Oktober 2011, 19:18:26
Das einzige Programm, das dazu gedacht ist, die Soundbänke zu öffnen, ist Hotel-Manager.
Ich dachte/hoffte du hättest ein standatisiertes Format verwendet.
btw.: Weißt du noch, wie du die Musik/Sounds in die Soundbänke gespeichert hast?
Zitat von: Jojo am 17. Oktober 2011, 19:18:26
Weil die nicht auf jedem Rechner vorhanen ist? Ich glaub die wurde nur im Credits-Dialog verwendet, aber egal...
ok, leuchtet ein...
Zitat von: Jojo am 17. Oktober 2011, 19:18:26
Die Offsets und Streamlängen der Music.bnk sind in der Datei music.hmp kodiert. Die liest das Programm auch selbst ein. Gibt irgendwo einen Playlist-Handler, der die Offsets dekodiert. Ansonsten hat die Datei kein besonderes Format. sounds.bnk sollte vorne einen Header haben, in dem die Soundnamen, deren Offsets und ähnliches stehen, der wird ebenfalls vom Programm ausgelesen.
ich versteh das nicht: die offsets in der .hmp scheinen mir unrealistisch
EDIT: Hab nich gemerkt, dass die 2.angabe Relativ ist
Zitat von: Jojo am 17. Oktober 2011, 19:18:26
Wird entweder benutzt oder auch nicht.
ich glaub eher nicht
Zitat von: Jojo am 17. Oktober 2011, 19:18:26
Zum Entwickeln des Hotel-Managers nicht, aber ich bevorzuge UNIX-Zeilenumbrüche in allen Anwendungsbereichen.
Ach so, hab mich nämlich erstmal gewundert, als im editor keine zeilenumbrüche waren, und dann schnell textpad geöffnet
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Jojo am 17. Oktober 2011, 20:42:41
Zitat von: Stiepen am 17. Oktober 2011, 20:18:04Ich dachte/hoffte du hättest ein standatisiertes Format verwendet.
Das sind alles Eigenentwicklungen. Man muss den Leuten, die das entschlüsseln wollen, doch eine (zugegebenermaßen einfache) Herausforderung geben. ;)

Zitatbtw.: Weißt du noch, wie du die Musik/Sounds in die Soundbänke gespeichert hast?
Die Musikdateien sind einfach hintereinandergereihte MO3-Dateien, die Sounds sind halt auch hintereinandergereiht, aber mit einem Verzeichnis-Index am Anfang der Datei.

Zitatich glaub eher nicht
Wenn man nachts baut, wurde glaub ich früher eine Panne "Herr / Frau / xxx beschwert sich wegen Ruhestörung" angezeigt. Aber kann gut sein, dass ich den Text umgeändert habe. Ist auch schon wieder acht Jahre her, dass ich die Datei erstellt hab...

ZitatAch so, hab mich nämlich erstmal gewundert, als im editor keine zeilenumbrüche waren, und dann schnell textpad geöffnet
Mein Standard-Editor ist PSPad, von daher habe ich keinerlei Probleme mit Zeilenumbrüchen.
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 17. Oktober 2011, 21:40:23
Zitat von: Jojo am 17. Oktober 2011, 20:42:41
Das sind alles Eigenentwicklungen. Man muss den Leuten, die das entschlüsseln wollen, doch eine (zugegebenermaßen einfache) Herausforderung geben. ;)
Ich bin dabei mir dafür nn Bequemen editor zu basteln;)
[/quote]
Siehe oben
Zitat von: Jojo am 17. Oktober 2011, 20:42:41
Die Musikdateien sind einfach hintereinandergereihte MO3-Dateien, die Sounds sind halt auch hintereinandergereiht, aber mit einem Verzeichnis-Index am Anfang der Datei.
Wenn man nachts baut, wurde glaub ich früher eine Panne "Herr / Frau / xxx beschwert sich wegen Ruhestörung" angezeigt. Aber kann gut sein, dass ich den Text umgeändert habe. Ist auch schon wieder acht Jahre her, dass ich die Datei erstellt hab...
[/quote]
Ist auch so
Zitat von: Jojo am 17. Oktober 2011, 20:42:41
Mein Standard-Editor ist PSPad, von daher habe ich keinerlei Probleme mit Zeilenumbrüchen.
Ich mit textpad auch nicht. bei mir ist "editor" = "notepad.exe"

EDIT: So... Der BNK-Editor kann jetz schonmal das inhaltsverzeichnis der Sound.bnk anzeigen...
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 17. Oktober 2011, 22:10:15
Kannst du mir sagen, welche dateigröße (in Bytes) die Sounds haben? Irgendwie exportiert er nicht korrekt...
EDIT: Wie funktioniert in VB6 die Get()-Methode google ist auf dem Gebiet zu Aktuell. Ich vermute den Fehler beim Einlesen der Offset/Dateigröße-Werten
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Jojo am 17. Oktober 2011, 23:54:19
Dateioffsets und -länge sind ganz normale 32-Bit-Ganzzahlen (Little-Endian, wie alles andere auch auf x86-Computern).
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 18. Oktober 2011, 09:36:58
EDIT: ES FUNKTIONIERT... Ich habs jetzt mit Fileget() (ehemals Get()) gemacht...
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 18. Oktober 2011, 17:48:52
Und die nächste Frage: wie funktioniert der Mechanismus, der die Zeit laufen lässt bzw. wo ist der entsprechende code zu finden?

EDIT: Hab den Code gefuden, als ich ne suche nach "anticheat(" gestartet hab... Übrigends... diese technik bringts nicht wirklich... Es gibt da noch die dev Konsole oder savegame-Cheating... nur so zur info ;)

EDIT2: Eine Frage: kannst du mir die Sounds aus der Ambient.mo3 als mp3 Schicken? ich hab keine ahnung, wie ich die exportieren soll... und ja, ich bin mir bewusst, dass die (bis jetzt) mit unterschiedlichen Geschwindigkeiten gespielt werden. Dieses Feature werd ich aber vorerst nicht einbauen...

EDIT3: YEAH!! Die Grafikengine läuft!
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Jojo am 18. Oktober 2011, 22:12:01
Zitat von: Stiepen am 18. Oktober 2011, 17:48:52
EDIT2: Eine Frage: kannst du mir die Sounds aus der Ambient.mo3 als mp3 Schicken? ich hab keine ahnung, wie ich die exportieren soll... und ja, ich bin mir bewusst, dass die (bis jetzt) mit unterschiedlichen Geschwindigkeiten gespielt werden. Dieses Feature werd ich aber vorerst nicht einbauen...
Sie werden nicht mit unterschiedlichen Geschwindigkeiten abgespielt, aber mit der Modul-Version kann man halt wesentlich präziser zwischen den verschiedenen Audiostreams wechseln als wenn man die ganze Zeit mehrere Streams gleichzeitig überwacht. MO3-Dateien kannst du mit meinem Programm OpenMPT (http://openmpt.org/) öffnen und alle Samples exportieren und wenn du unbedingt willst auch als MP3 speichern.
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 18. Oktober 2011, 22:14:41
Schon Probiert... nur blöd, dass OpenMPT bei mir nicht läuft :(
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Jojo am 18. Oktober 2011, 22:28:42
Und was genau läuft daran nicht? Das Programm sollte auf so ziemlich jedem PC laufen, der in den letzten 15 Jahren gebaut wurde (sofern Windows drauf läuft)...
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 18. Oktober 2011, 22:31:18
Der JIT-Debugger sagt irgendwas mit zugriffsverletzung beim lesesn auf irgendeiner speicheradresse... ich guck mal obs am download lag...

EDIT: OMG! man achte mal auf die autoren: http://sourceforge.net/projects/modplug/ (http://sourceforge.net/projects/modplug/)

Ne geht nicht.
Zitat von: Windows
OpemMPT hat ein Problem festgestellt und muss Beendet werden

->Programm Beenden
->Programm debuggen
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Jojo am 18. Oktober 2011, 22:52:43
ZitatEDIT: OMG! man achte mal auf die autoren:
Zitat...kannst du mit meinem Programm...
Soviel dazu.

Öffne mal den Konfigurationsordner von OpenMPT (im Programmverzeichnis ist ein Link dorthin, der äquivalent zu "%APPDATA%\OpenMPT" in der Adresseleiste des Windows Explorer einzugeben ist) und lösche dort alle Dateien. Wenn das nicht geht, versuche die Debug-Version (http://sagagames.de/stuff/mptrack.exe). Wenn die immer noch crasht, wird sie zumindest einen Minidump anlegen, den du mir schicken kannst und den ich dann analysieren kann.
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 18. Oktober 2011, 23:06:23
Zitat von: Jojo am 18. Oktober 2011, 22:52:43
Zitat...kannst du mit meinem Programm...
oups... übersehen...
Zitat von: Jojo am 18. Oktober 2011, 22:52:43

Öffne mal den Konfigurationsordner von OpenMPT (im Programmverzeichnis ist ein Link dorthin, der äquivalent zu "%APPDATA%\OpenMPT" in der Adresseleiste des Windows Explorer einzugeben ist) und lösche dort alle Dateien.
Jup... Jetzt funzts... Danke
EDIT: Und es geht weiter... Keine Soundausgabe... das Prog taucht auch nicht in der Lautstärkesteuerung von Windows auf (anders als z.B. Hotel-Manage, Winamp usw...)

EDIT2: Wo speichert die Debug-Version inhre Dumpfile(s)?
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Jojo am 19. Oktober 2011, 01:14:51
Klingt mir nach einem ziemlich kaputten System... Eventuell musst du erst eine passende Soundkarte im Setup (http://wikide.openmpt.org/Handbuch:_Setup/Soundcard) auswählen.

ZitatEDIT2: Wo speichert die Debug-Version inhre Dumpfile(s)?
Wenn sie soweit kommt, dass sie ein Dumfile erstellen kann, wird das angezeigt (%TEMP%\OpenMPT Crash Files\sonstwas).
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 19. Oktober 2011, 01:22:12
bringt nichts... Ich hab auch keinen Ausschlag im Programmeigenem Peakmeter.
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Jojo am 19. Oktober 2011, 01:53:50
Öh achso... dann ist das klar. Der erste Pattern/Song in der ambience.mo3 ist stille. Du musst im Pattern-Tab während dem Abspielen in der Patternsequenz (http://wikide.openmpt.org/Handbuch:_Patterns#Patternsequenz) herumspringen, um zu den verschiedenen Ambience-Sounds zu gelangen.
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 19. Oktober 2011, 09:03:33
Ich rindvieh... da hätte ich auch drauf kommen können...

EDIT: Jup hab die samples exportiert... tsss... hätte mir eigentlich beim lasen des Codes auffallen müssen...
Was ist eigentlich damals mit dem alten Forum passiert? Gabs da nen Datencrash? Warum?
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Toa-Nuva am 20. Oktober 2011, 20:37:31
Ah, es geht also munter weiter. Freut mich zu sehen! :)
Hab mir die Preview von Seite 2 des Threads mal kurz angesehen, sieht ja schon mal ganz gut aus. Klar, das meiste fehlt noch, aber ich glaube ich kann mir ungefähr vorstellen, was für ein Aufwand dieses ganze Portieren/Nachprogrammieren ist, da ist der bisherige Fortschritt doch schon ganz schön beachtlich. :)

Was deine Frage zum Forum angeht - das Saga-Games-Forum war ursprünglich kein eigenständiges Forum, sondern nur ein Bereich eines anderen Forums (Ultima Board). Das lief allerdings mit einer steinalten Version von (AFAIR) WoltLab Burning Board und das hat natürlich jede Menge Skript-Kiddies angelockt, die das Forum unbedingt hacken mussten. <.< Nach dem x-ten Hack hat Jojo sich deshalb dieses Forum hier mit der SMF-Software eingerichtet. Das Ultima Board ist übrigens kurz darauf auch auf SMF umgestiegen, und man kann das alte Saga-Games-Forum dort (als Archiv) noch einsehen. (Link) (http://simon.deobald.org/smf/index.php/board,200.0.html) ;)
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 20. Oktober 2011, 21:42:56
So ich hab jetzt n Tipp für die (derzeit Schildkrötenartige) Graphikengine bekommen (XNA soll prima mit .net funzen). bin grad aber zu faul, das auszuprobieren ;)
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 23. Januar 2012, 21:55:55
So... Ich graube ich sollte mal ein paar Gedankengänge hier niederschreiben. Was haltet ihr hiervon:

1. Hotel-Manager könnte einen Sprint- und einen Langzeit-Modus haben.
Das Problem ist, dass der Hotel-Manager relativ schnell langweilig wird, weil du nur sehr langsam voran kommst. (ist zumindest bei mir so ;))
Der Sprintmodus könnte als Ziel ein möglichst schnelles Erreichen von 5 Sternen haben. (Dafür müsste die Spielgeschwindigkeit erheblich angehoben werden - also z.B. indem nur noch die Tage gezählt werden - also die Minuten und Stunden wegfallen.)
Der Langzeitmodus könnte mit einem Online-System gekoppelt werden, sodass es ein Wettkampf zwischen den Spielern darstellt. Dafür wäre natürlich ein Server nötig...

2. Ich versuche mal DirectX 9 als Grafikengine... evtl. würde der HM dadurch seine Windowsoberfläche verlieren - wenn die was für den HM taugt.
EDIT2: Ist wohl nicht die beste Alternative für HM... ich probier mal ein wenig mit anderen Libs rum...
Das wars erstmal... villeich fällt mich noch etwas ein...

EDIT: Zum Sprintmodus hat mich Theme Hotel inspiriert (Toa-Nuva berichtete (http://sagagames.de/forum/index.php/topic,95.0.html)).
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 03. August 2012, 20:36:12
Ja, ich Lebe noch...
Ich hatte aber kaum Zeit in den letzten Wochen/Monaten. Leider sind die Anfänge von Hotel-Manager auf .NET-Basis weiterhin nur Anfänge. und ich werde mögicherweise das ganze nocheinmal völlig neu schreiben, da mir VB.NET einfach zu unbequem ist. Derzeit habe ich hauptsächlich mit C# gearbeitet und falls es jemals zu einem weiteren Hotel-Manager release kommen sollte, wird dies definitiv NICHT in VB sondern wahrscheinlich C# sein. ich kann auch nicht sagen wann ich anfange. Das hängt davon ab, wann ich Zeit und vor allem Lust habe. villeich bekomme ich vor Ende des Jahres n Pre-Release raus, kann aber noch nicht die kleinste Angabe dazu machen :P

EDIT: Ich glaube da wird nicht mehr viel kommen... mir fehlt einfach die Zeit :( Ein weiteres problem ist dass ich einfach nicht mir OpenGL oder irgend einer Grafik-Lib zurechtkomme. Wenn jamand mir da helfen möchte dann könnte es eventuell was werden, aber auch nur dann. Da ich hier nur verdammt selten anzutreffen bin versuchts im IRC. irc.esper.net, mein nick ist Kilobyte (alternativ auf meinem netzwerk: irc.kilobyte22.de)
Titel: Re: Die neue VB.NET-Version... News und Infos
Beitrag von: Stiepen am 23. Juni 2013, 19:22:47
Ok, irgendwie fühl ich mich (persönlich) verpflichtet mich hier zu melden. In der langen Zeit hab ich neue Ideen gesammelt. Außerdem bin ich zum fortgeschrittenen bis erfahrenen java-programmierer herangewachsen. Vor ca. ner woche hab ich angefangen mir SDL (http://www.libsdl.org/) anzuschauen, und ich muss sagen, SDL hats in sich. SDL ist eine start Objektorientierte einfach zu nutzende Grafik-lib. Und das beste: es existieren entsprechende java-wrapper. Erlich gesagt, wenn mein eigener pc vonner reperatur wieder da ist kann ich mal experimentieren wie weit ich komme. Außerdem hab ich mir mal weite gedanken bzgl. des Konzepts gemacht und hab (gedanklich) schon eine ziemlich gute Vorstellung davon, wier der neue HotelManager aussehen könnte, sofern ich mich dazu durchringe. Für alle, die an meinem Codestil interressiert sind, hier eins der größeren meiner aktuellen Projekte:
https://bitbucket.org/Kilobyte/kibibyte6 - mein IRC (http://de.wikipedia.org/wiki/Internet_Relay_Chat)-Bot, Kibibyte (24/7 auf irc.esper.net, gehosted von nem freund :)

Außerdem sind Vorschläge für die neue Version (wir werden sehen wie weit ich komme, theoretisch ist es möglich mit meinem kennnisstand, dennoch könnte es Zeitlich ein Problem geben. Immerhin komme ich im sommer in die 12. Klasse, also letztes Jahr. Danach werde ich wahrscheinlich wie Jojo ein Informatik-Studium machen) erwünscht. Vill nehm ich mir mal die Zeit und fasse meine aktuellen Gedanken in textform zusammen

EDIT: Ok, ein paar kernpläne sind, dass man viel mehr aktiv Spielen muss. Beispiel: bis jetzt hat man das spiel durchgehend laufen lassen, ab und zu was neues gabaut, lebensmittel kontrolliert, usw. das wars auch wieder. mein plan ist, dass der Spieler öfter auf unerwartete ereignisse reagieren muss. Das kann von Open- Air festivals bis hin zu Streiks des Flugpersonal führen. außerdem soll auch die Infrastruktur innerhalb des gebäudes eine größere Rolle spielen. Möglicherweise werden gäste ebenfalls gerendert. Auch katastrophen (z.B. Brände, Erdbeben, Überschwemmungen) oder die Mafia (standortabhängig auch andere Schutzgelderpresser) werden möglicherweise eine Rolle spielen. Desweiteren wird unterstützung von Mods gegeben sein. Oh, und natürlich Open-Source! So, jetzt hab ich euch aber (hoffentlich) genug gefüttert :)

Grüße, Stiepen/Kilobyte