Beiträge von KOLLEGAH

    Kurze Frage, wie kann ich: "Startoffset + ( PokemonID-1) *28+6" so schreiben, dass ich den Byte an dem entstehenden Offset auslesen kann? (Wenn das Startoffset 0x082546C4 ist und die PokemonID [=Spezies] in r5 liegt?)

    Code
    1. ldr r6,.Startoffset
    2. sub r5,r5,#1
    3. mov r7,#28
    4. mul r5,r5,r7
    5. add r5,r5,r6
    6. add r5,r5,#6
    7. ldrb r1,r5
    8. bx lr

    So gehts es scheinbar nicht^^

    Aber in dem Assembly Tutorial von Wodka war der xor Befehl doch extra erklärt? O.o Gibt es denn einen effizienten Weg um an den Typen der Partypokemon zu kommen? Meiner ist leider sehr umständlich...

    Die folgende Routine ist meine erste (größtenteils) selbsterstellte, also seid bitte gnädig :D

    Bei dem Versuch den Code zu kompilieren, kam die Fehlermeldung, die xor Befehle und der mod Befehl wären "bad instructions". Dass der mod Befehl vllt. nicht klappt habe ich mir gedacht, aber was ist denn an den exklusiven oder Befehlen falsch?

    Zum Code: Die Routine soll abhängig von der variable 0x8000 und je nach Typ des Pokemons die Farbe des Statuswertes ändern (blau für gesteigerten ATK Wert, Rot für geschwächten). Ich bin mir sicher, dass der Code voller Fehler ist, wem was auffällt bitte sagen, denn aus Fehlern lernt man bekanntlich am besten8o

    Ich versuch mal auch als Anfänger zu helfen, also falls meine Ideen nicht funktionieren, bitte nicht zu hart ins Gericht gehen mit mir ;)

    Zunächst gibt es durch dieses Tutorial eine gute Möglichkeit, keine wilden Pokemon mehr auftauchen zu lassen, indem man einem der drei Datensätzen den Häufgkeitsindex 0 zuordnet. Nun scheitert es natürlich wieder an der Bedingung, die das Tauschen der Datensätze auslöst...

    Das Ganze über countpokemon laufen zu lassen ergibt glaub ich nur bedingt Sinn, da man dann einfach mit nur einem Partypokemon auf die Route gehen könnte und fröhlich weiterfangen kann. Ich hatte auch kurz überlegt, ob man den Datensatztausch von der Anzahl der Pokedex-Einträge abhängig machen kann, allerdings macht einem hier glaub ich die Entwickelung als Möglichkeit eines Eintrags einen Strich durch die Rechnung.

    Es wäre jedoch schaffbar, falls es eine Möglichkeit gibt, die Anzahl der Pokemon im PC zu überprüfen, denn diese müsste man nur mit der countpokemon Anzahl addieren und man würde (bis auf Ausnahmen durch z.b. Ninjatom) die Anzahl der tatsächlich gefangenen Pokemon erhalten.

    Leider weiß ich nicht, ob bzw. wo die Anzahl der Pokemon im Storage System gespeichert wird. Ich hoffe ich konnte dir dennoch ein wenig helfen!


    MfG


    KOLLEGAH

    Das Ganze soll als Multiplikator fungieren :) Mit welchem Programm kann ich denn (entsprechend deiner ersten Antwort) eine Funktion in eine Routine umwandeln? Und was bedeutet in dem Zsmhg das u32? Ich glaube nämlich wenn das mit meiner Funktion gehen würde wäre das der Weg, der mir am genehmsten ist...

    Leider hilft die Sinusfunktion mir in meinem konkreten Fall (glaube ich) nicht. Hab mit meinem GTR/CAS mal verschiedene Funktionstypen durchgespielt, die meine gesuchten Wertepaaren am besten approximieren und die beste Darstellung bietet: f(x)= -7,5E-7*x^3+4,7E-5*x^2+1,2E-2*x+0,73

    Leider ist die Funktion mit vielen Nachkomma stellen gesegnet und ich bin mir nicht scher, ob das im Spiel richtig verarbeitet wird. Kann man eine solche Funktion auch mit einem C-Compiler in eine Routine umwandeln? [Wenn ja wie?]

    Oder bietet sich hier auch mehr eine Interpolation an?

    Ja das vorgehen bei einer Interpolation (und Spline-Interpolation) hatten wir auch im Unterricht (natürlich in einem anderen Zsmhg:D). Dabei war das ganze selbstverständlich rein mathematisch betrachtet und nicht im Kontext von Routinen oder ähnlichem (Matheunterricht halt). Muss denn zwingend interpoliert werden, um die LUT nutzbar zu machen? Oder kann ich auch einfach eine funktionsgelöste Tabelle entwerfen die jedem x-Wert einen y-Wert zuordnet (ohne dabei zB in etwa kubisch zu verlaufen)? Sprich jeweils zwei Wertepaare (am bestem mit Brüchen) die quasi solange abgesucht werden, bis das entsprechende gefunden wurde? Woher ist zB in deinem ersten Code klar, dass die angegebenen Funktionswerte zu der Eingabe 0, pi/2 etc. gehören?

    P.S. Vielen Dank für deine Mühe, der Abschnitt war sehr gut erklärt!

    Zunächst danke für die Hilfe! Leider ergibt sich, wenn ich versuche den Code nachzuvollziehen nicht das gewünschte Ergebnis... Daher würde ich mir wünschen dass du mich korrigierst:

    (So wie ich es verstehe unter der Annahme r0=x)

    Code
    1. r2=x
    2. r3=2x
    3. r3=2x+x=3x
    4. r1=3x+2
    5. r3=3x+2
    6. r3=(3x+2)²=9x²+12x+4
    7. r0=x*(9x²+12x+4)=9x³+12x²+4x
    8. r0=9x³+12x²+4x+7
    9. bx lr

    Ich schätze mal, dass man Vorgehen da falsch ist... Das Suffix S aktualisiert so wie ich das verstanden habe nur die benutzten Register oder? Weiterhin hat mich verwundert, dass der mul-Befehl nur 2 Argumente hatte, weshalb ich annahm, dass das Zielregister dasselbe ist wie das erstgenannte (sprich: mul r1,r2 würde bedeuten: r1=r1*r2)

    Sorry für mein Unverständnis?(

    Guten Tag!


    Benutzt man die Sufu zu dem o.g. Thema, so kann man zwar ein paar wenige Infos erlangen, jedoch fehlt hierfür ein Tutorial oder ähnliches. Meine konkrete Frage: Wie kann ich einen mathematischen Zsmhg (z.B. 3x³+2x²+7 o.Ä.) in die Rom einfügen und in Scripten/Routinen benutzen? Soweit ich es verstanden habe, müssten die Grundkonstrukte der meisten Funktionen (kubisch, exponential...) als BIOS Funktionen hinterlegt sein, stimmt das? Danke für Eure Hilfe!

    Danke für die Idee, aber leider scheint das nicht der Fall zu sein... Kannst du mir vllt. deinen Link (falls noch vorhanden) oder deine .zip Datei schicken?

    Moin moin!

    Kann mir jemand erklären, wie man mit Hilfe der downloadbaren .zip-Datei vom Vba-sdl-h die .exe Datei erhält? Das Readme Dokument hat mir da nicht wirklich weitergeholfen...

    Leider übersteigt die .zip Datei aber die erlaubte Dateigröße, sodass ich sie nicht anhängen kann.

    Alternativ wäre natürlich auch ein Dropbox-Link zu einer .exe Datei nett :)


    MfG


    KOLLEGAH

    Hi liebe Community!

    Da ich versuche bei meinem Hack ein möglichst realitätsnahes Konzept zu entwickeln, würde ich gerne mapgebundene Umweltfaktoren (wie Temperatur, Magnetfeldstärke etc.) einbauen, die nicht nur in drei Klassen (z.B. sonnig, regnerisch, Schnee/ stark mittel schwach) unterteilt sind, sondern annähernd kontinuierlich (0,5er Schritte) verteilt sind. Leider fehlt mir da jeglicher Ansatz das zu verwirklichen, Geschweige denn in das Kampfsystem (vllt. auch typengebunden) zu implementieren. Ist ein solches Vorhaben überhaupt zu realisieren bzw. welches Ausmaß könnte dies annehmen? Vielen Dank für Eure Ideen und Einschätzungen!

    Das war auch pures Glück den zweiten zu finden^^ Man kämpft dann weiter gegen das Pkmn gegen welches man verloren hat (Wenn es angeschwächt war geht der Kampf auch abgeschwächt weiter [auch mit falscher Musik natürlich]). Lässt sich gegen den 1. Bug was machen, damit ich weiterspielen kann?


    P.S. Benutze My Boy! falls das wichtig ist.

    Moin!

    1. Ich hoffe mal ich habe nichts übersehen, aber ist es bekannt, dass bei dem Gespräch von Faun und Mia (in der Celebi Rückblende) das Spiel stecken bleibt?

    2. Es ist ziemlich einfach möglich Trainer-PKMN zu fangen, indem man gegen den Trainer verliert und nach der Ohnmacht gegen ein Pokeradar Pokémon gewinnt (Trainer Kampf geht dann als "wilder" Kampf weiter.

    Bei beiden Fehlern wie gesagt hoffe ich dass es kein Doppelpost ist.


    Dennoch fantastisches Spiel, weit über dem Niveau von "berühmten" Hacks!