Seite 109 von 117 ErsteErste ... 95999105106107108109110111112113 ... LetzteLetzte
Ergebnis 2.161 bis 2.180 von 2331

Thema: Programmwunsch und -erstellungsthread #2

  1. #2161
    Wow, wundervoll. °-°

    Die Verwendung ist recht ungewöhnlich (aber clever) und hab ein bisschen gebraucht, um das zu verstehen,
    aber das Fenster umzuschalten läuft jetzt wie ne Eins. =D

  2. #2162
    Ein Programm, das Bilder automatisch in 16x32 große Charsets schneidet?

    oder

    Ein Programm/Plugin/RM2009 Erweiterung, das/die den Upper Layer vom RM2K(3) erweitert?

    Geändert von Stray (11.01.2015 um 22:19 Uhr)

  3. #2163
    Zitat Zitat von Stray Beitrag anzeigen
    Ein Programm, das Bilder automatisch in 16x32 große Charsets schneidet?
    So ein Programm hab ich mal vor ewigen Zeiten geschrieben. Mittlerweile ist davon alles verlorengegangen (Quellcode, das Programm selbst...), glücklicherweise habe ich noch einen Link auf das Programm gefunden (Vielen Dank an Cherry an dieser Stelle, der ein ReUp vorgenommen hat): CHA.EXE (es ist ein Wunder, dass das Programm noch unter Win8.1 64bit einwandfrei läuft, wie ich grade festgestellt habe^^).

    Das Programm hat allerdings ein paar Eigenheiten, die... ähm, auf mangelnde Programmierkenntnisse meinerseits basieren^^:
    • Kann nur BMP und PNG umwandeln. Umgewandelte Dateien sind immer ".BMP"-Dateien und haben ein "(new)" im Dateinamen stehen.
    • Die Maße stimmen hinterher - allerdings wird alles, was hinter den Maßen aufgenommen wird, abgeschnitten.
    • Bilder sind hinterher IMMER in 32bit-Farbtiefe abgespeichert. Mit einem anderen Programm (z.B. IrfanView) müssen die Farben wieder auf 256 herabgesetzt werden.
    • Will man mehrere Dateien auf einmal umwandeln, geht das nur, wenn man mittels Drag&Drop die markierten Bilder zur CHA.EXE zieht.
    Von diesen Macken abgesehen, sollte das Programm - und ich bin selbst überrascht davon^^ - auch heute noch einwandfrei funktionieren.

    Geändert von Manuel (08.01.2015 um 21:02 Uhr)

  4. #2164
    Immerhin! Das ist doch schon mal eine tolle Sache! Danke!

  5. #2165
    @bugmenot: Ich hatte auf Seite 108 nach RowVar[2+] und A Switch gefragt. Diese Fixes tun, was sie sollen, zumindest wird das Menü verlassen. Was nicht funktioniert sind die QuickPatches dafür. Ich weiss nicht, welche Variablen und Switches dabei gesetzt werden.

    Die Defaultwerte werden gesetzt.
    Wenn ich den Quickpatch benutze, werden diese verstellt, die 1007 und 1008 zB werden nicht mehr gesetzt. Der neu eingestellte Wert wird aber nicht angewandt.

    Geändert von Corti (21.01.2015 um 22:21 Uhr)

  6. #2166
    Die Art und Weise, wie der dynloader mittels Größenangabe % und # im RAM patcht is scheinbar anfällig gegen Updates / Sicherheitsupdates seitens Windows / OS.

    Entweder die #Dezimalzahl im QuickPatch in eine little-endian hexZahl umwandeln:
    HexConverter
    Setz die Zahl in das rechte Feld neben dem "big-endian" und nimm die Zahlenfolge des linken Feldes neben dem "little-endian", füge die Zahl hinter das Komma eines QuickPatches ein:
    Bsp. RowVar_ID=4A2834,D0070000 (statt #2000)

    Bzw. im Windows Calculator Alt+3 drücken, etc.


    Oder in irgendeinem Plugin onStartup(char *pluginName) mittels *reinterpret_cast<long *>(0xoffset) = Dezimalzahl; all die Werte setzen und die entsprechenden QuickPatches löschen (nur die Adresse und #Zahl/%Zahl vor einem #/%).

    Oder ein Plugin schreiben, welches zuverlässiger patcht. Das reinterpret schien doch bisher noch keine Probleme mit Größenangaben verursacht zu haben (okay, 1 mal, wo ich den falschen Typ angegeben habe... aber meh.)

    Geändert von bugmenot (21.01.2015 um 23:08 Uhr)

  7. #2167
    Hey, danke dir! Klappt nun super!

  8. #2168
    Hey bugmenot! Noch ne Anfrage:

    Du hast in dem Visu Menu Patch für die Browser-Menüs zB Fähigkeiten, Items, Ausrüstung die Anzahl der Spalten veränderbar gemacht. Dies wäre auch im Kampf und im Shop eine tolle Sache, da die max. angezeigte Länge der Item/Skillnamen ab und an gerne länger sein dürfte.

    Es gibt schon einige nicht so umfangreiche Fixes dafür, evtl. hilft das ja dabei die Stellen im Code schneller zu finden.





    Nachtrag zu Visu Menu:
    Bei den Quickpatches zu, Equip Info Fenster gibt es bisher keine Möglichkeit die Position des Textes in der Box zu verändern.


    Bei den Einträgen zum Faceset im Hauptmenü fehlt in der 2k3 Readme die Zeile zum delta Y, diese kann man sich aus der 2k Readme und den Adressabständen schätzen.
    M:P:Face(deltaY)=49E409,%50

    Bei den Einträgen zum Cursor im Hauptmenü gibt es keinen Wert für die Y-Konstante, lediglich delta y.

    Geändert von Corti (23.01.2015 um 16:54 Uhr)

  9. #2169
    (2k)
    0x9510E = [Item](Entries per row, battle)
    0x6FDCB = [Item](Entries per row, shop)

    0x94F8F = [Info:Text](y)
    0x94F94 = [Info:Text](x)

    (2k3)
    Item(Entries per row, battle)=4A0DD6,%2
    Item(Entries per row, shop)=493063,%2
    Skill(Entries per row, battle)=4A0E92,%2

    M:P:Face(dy)=49E409,%50

    Info:Text(y)=4C8713,#8
    Info:Text(x)=4C8718,#8


    Zitat Zitat
    Bei den Quickpatches zu, Equip Info Fenster gibt es bisher keine Möglichkeit die Position des Textes in der Box zu verändern.
    Das Info:Text(y/x) wirkt sich dann aber auf Item/Skillbeschreibungen (und im Speicher/Lademenü) in allen Untermenüs aus.

    Man kann das per Plugin aber jederzeit während der Laufzeit (je nach aktivem Untermenü) patchen:
    z.B.
    int xStringOffset = 64;
    *reinterpret_cast<long *>(0x4C8718 ) = xStringOffset;

    Das aktuelle Untermenü erhält man über:
    unsigned char MenuSubScene = ( *reinterpret_cast<char ***> (0x4CDB14) )[0][12];



    Zitat Zitat
    Bei den Einträgen zum Cursor im Hauptmenü gibt es keinen Wert für die Y-Konstante, lediglich delta y.
    Ich wähle mal die einfache(re) Methode:
    MainPartyCursor(y)=49E2E3,E8CC93FAFF,4476B4,c7473400000000A174DB4C00C3,4476B7,#8


    Zitat Zitat von Corti Beitrag anzeigen
    da die max. angezeigte Länge der Item/Skillnamen
    Länge von Item/Skillnamen?

    Geändert von bugmenot (23.01.2015 um 20:08 Uhr)

  10. #2170
    Vielen lieben dank! ( Mal wieder! ) Du bist awesome.

    Zitat Zitat
    Länge von Item/Skillnamen?
    Item und Skillnamen sind auf X Zeichen begrenzt. Wenn man den Maker hexxt und das Limit entfernt, werden trotzdem nur X Zeichen angezeigt, weil nicht mehr Platz da ist.
    Es könnte nützlich sein, mehr davon anzuzeigen. Mir würde das gefallen. Mal schauen!

  11. #2171
    Hey! Die Info:Text Sachen funktionieren super. Könntest du noch rausfinden, welche Adresse die Höhe der Infozeile im Speichern/Laden Menü beeinflusst?

  12. #2172
    Das kleine Fenster am oberen Rand?

    Da gibt es leider ein paar Probleme. Die Zeichenreihenfolge ist: FileWindows -> InfoWindow -> Borders -> Cursor.

    Zitat Zitat von DynRPG.ini
    [QuickPatches]
    Save:Info(Width)=49128B,#320
    Save:Info(Height)=491290,#32
    SaveBorderTop(Width)=491723,#320
    SaveBorderTop(Height)=49171C,%8
    SaveBorderTop(y)=491728,#32
    Für die x-Koordinaten gibt es nicht wirklich Platz.

    Es wäre wohl geeignet onDrawScreen() nochmal mit der system Hintergrundfarbe drüberzupinseln



    Und noch irgendwelches Zeug:

    download ExpDetectBug-in




  13. #2173
    Bombe, wird schon klappen. ^^

  14. #2174
    Und wieder was:

    Die Info-Text-Zeilen wirken sich neben dem File-Menü noch auf die Infozeilen im Kampfsystem aus.Dort werden die Beschreibungstexte von Skills und Items in diesen Boxen angezeigt. Hättest du noch eine Adresse um diese beiden auch in der Höhe zu verändern?

  15. #2175
    Zitat Zitat von bugmenot Beitrag anzeigen
    Info:Text(y)=4C8713,#8
    Info:Text(x)=4C8718,#8
    Itemmenü / Skillmenü innerhalb und außerhalb vom Kampf sind (bis auf ein paar Abmessungen / zusätzliche Anzeigen) das Gleiche. Das heißt die oben genannten Adressen gelten auch immer für Kampf und Esc-Menü. Du wirst also (falls sich die Platzierung des Textes im Kampf von der Platzierung im eigentlichen Menü unterscheiden soll) während der Laufzeit im RAM patchen müssen:

    Code:
    int infoTextY = [...];	//Item / Skill description text, position relative to window
    int infoTextX = [...];
    ( *reinterpret_cast<long *> (0x4C8713)) = infoTextY;
    ( *reinterpret_cast<long *> (0x4C8718)) = infoTextX;
    Je nachdem ob scene == RPG::SCENE_BATTLE oder nicht. Bzw. zu Beginn und Ende des Kampf-dings neu setzen.

    *Shop nicht vergessen.
    reinterpret_cast patcht nur im RAM. Das heißt wenn die Applikation geschlossen und neu gestartet wird, dann wird Alles wieder auf default zurückgesetzt.

    Patch-Hierarchie:
    0. direkt auf RPG_RT angewendete Patches
    1. aus DynPatches geladene .ips patches
    2. aus DynRPG.ini geladene QuickPatches
    3. reinterpret_cast in .dll patches / plugins (session-spezifisch: man muss darauf achten, ob die Änderung noch da sein muss)

    Geändert von bugmenot (08.02.2015 um 21:16 Uhr)

  16. #2176
    Damit komme ich klar. Danke dir :-D

  17. #2177
    ich habe grad versucht mit cherrys debug addon die events meines spiels zu tracen. leider hat sich dann herausgestellt, dass das mit dyn rpg nicht klar kommt und cherry sagt auch, dass das nicht dafür gedacht ist.
    wer nicht weiß, was das ist: damit kann man in einem textfile alle eventbefehle auslesen lassen, die der maker angewendet hat. das ist unersetzlich bei der suche von fehlern, weil man direkt die stelle sieht(wer kein dyn rpg benutzt, dem kann ichs auf anfrage auch zuschicken).

    naja, das hier ist der "Programmwunsch und -erstellungsthread"... und ich.... wünsche mir ein tracing tool möglicherweise ja als dyn plugin? davon würden sicher viele was haben.

  18. #2178
    Es gibt in DynRPG die Möglichkeit mitzukriegen, welche Events ausgeführt werden. Theoretisch ginge sowas also. Kannst du mir mal eben den Inhalt einer solchen Textdatei posten, ich würd gern wissen, was du da erwartest.

    Btw. was für Fehler suchst du damit? Ich habe schon mehrmals darüber nachgedacht, ein Log&Trace Plugin zu schreiben, daran alle Eventbefehle zu loggen habe ich aber nie gedacht, weil ich nicht sehe, bei welchen Problemen das helfen würde.

  19. #2179
    es gibt diese möglichkeit ...? wie? muss an mir vorbei gezogen sein. ich brauche das, was zuletzt ausgeführt wurde, also den befehl. im debugger wird das ja mit event und zeile angegeben, manchmal ist die zeile nicht immer gut bestimmbar, aber das wäre auch schon sehr hilfreich. du hast aber recht, dass eigentlich nicht alle befehle nötig sind.

    konkret mein problem:
    ich befüchte fast, dass mir so ein report da auch nicht helfen kann. es ist der eigentlich bekannte fehler "unsopported png image". ich weiß natürlich was das bedeutet. es gibt nur 2 seltsame dinge, 1. ist es meiner auffassung nach plötzlich aufgetreten und 2. kommt der fehler nur 1 mal, solange ich das testfenster offen hab. wenn ich dann also nochmal starte, ohne es zu schließen, kommt er nicht mehr. das macht keinen sinn.

    vielleicht kommt das ja jemandem bekannt vor. es kann natürlich trotzdem sein, dass irgendwas an meinem picture-management vermurkst ist. hatte schon befürchtet, dass bei zusammenspiel von dynrpg, dynpec und rpgss irgendwas schieflaufen würde ...

  20. #2180
    Ist der Fehler reproduzierbar?

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •