Ergebnis 1 bis 20 von 506

Thema: +++ DynRPG - Das RM2k3-Plugin-SDK +++

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Ne, aber...

    Zitat Zitat von Corti Beitrag anzeigen
    Fog of war
    Challenge accepted!

    Code:
    function onInit()
        rpg.graphics.setBlendMode "multiply"
    
        fogs = {}
    
        buffer = rpg.graphics.newImage(320, 240)
    
        light = rpg.graphics.newImage(100, 100)
        light:drawCircle(true, 50, 50, 50, 0xFFFFFFFF, 0x00000000)
    end
    
    function onFrame()
        if rpg.scene == "map" then
            local fog = fogs[rpg.map.id]
    
            if fog == nil then
                fog = rpg.graphics.newImage(rpg.map.width * 16, rpg.map.height * 16)
                fog:setBlendMode "add"
                fogs[rpg.map.id] = fog
            end
            
            if rpg.map.hero.x ~= x or rpg.map.hero.y ~= y then
                fog:draw(light, rpg.map.hero.x * 16 - 45, rpg.map.hero.y * 16 - 50)
            end
    
            x, y = rpg.map.hero:getPosition()
            
            fog:copyRect(rpg.map.cameraX, rpg.map.cameraY, 320, 240, buffer)
    
            rpg.graphics.draw(buffer, 0, 0)
            
            if rpg.keyboard.isDown "o" then
                local screenshot = rpg.graphics.copyRect(0, 0, 320, 240)
                rpg.graphics.writeImage(screenshot, "Save/screenshot.png")
            end
        end
    end
    Klicke auf die Grafik für eine größere Ansicht 

Name:	screenshot.png 
Hits:	57 
Größe:	39,7 KB 
ID:	19600

    In action: download RPGSS.7z


  2. #2
    Mir fehlt die Datei libgcc_s_dw2_1.dll.

    Und btw. what the heck treibst du da eigentlich? lua52.dll? Diese Syntax da ?

  3. #3
    Ups: download libgcc_s_dw2-1.dll

    Das ist ein Plugin, für den ich die Idee schon vor einem Jahr hatte, aber zu schnell die Lust daran verlor. Nachdem Cherry seine 0.20 Version veröffentlichte, packte mich schließlich wieder der Ehrgeiz und nun ist es so gut wie fertig. Das da oben ist sowas wie ein Proof of Concept.

  4. #4
    Ich hatte die Idee vor dir: http://cherrytree.at/cgss

    Das Problem ist nur, Lua für sowas zu verwenden, besonders Code der oft aufgerufen wird wie onFrame, hat sich als immens langsam erwiesen. Deshalb wird hier auch kompiliert und nicht interpreritert. Ich habe aus den Fehlern gelernt.

  5. #5
    Ah cool, ich wusste, dass du mal etwas mit Lua machen wolltest, ist für mich dann aber irgendwie untergegangen.

    Naja, ich kann nichts zu den Problemen bei CGSS sagen, weil ich die Interna nicht kenne. Vielleicht hast du einfach die falschen Schwerpunkte gesetzt? Soweit ich bei mir getestet habe, kann ich auf jeden Fall sagen, dass meine persönlichen Erwartungen übertroffen wurden. Im Moment läuft das Rendering noch komplett ohne Hardwarebeschleunigung und mit Vanilla Lua habe ich noch lange nicht das volle Potential ausgeschöpft, was die Ausführungsgeschwindigkeit angeht, mit LuaJIT geht da noch viel mehr. Mal sehen wie sich das Projekt entwickeln wird, um ehrlich zu sein mache ich das größtenteils um zu sehen, wie weit ich mit dem komme, was ich mir vorgestellt habe.

    BTW: Kannst du mal deinen Quellcode zu DynRPG releasen? Ich würde mir gerne anschauen was sich hinter den Kulissen abspielt und es wäre schön, wenn ich die Möglichkeit hätte, DynRPG mit einem Compiler meiner Wahl zu kompilieren.

    Geändert von Kyuu (08.02.2014 um 16:00 Uhr)

  6. #6
    1. Der Quellcode den du in C++ siehst, nützt wenig, das meiste geht im Patch ab.
    2. Compiler deiner Wahl geht sowieso nicht, wegen der Asm-Statements und ein paar anderer Implementation Details. Ist alles sehr Low-Level hier...

  7. #7
    Zitat Zitat von Cherry Beitrag anzeigen
    1. Der Quellcode den du in C++ siehst, nützt wenig, das meiste geht im Patch ab.
    Das macht nichts, wenig kann auch interessant sein.

    Zitat Zitat von Cherry Beitrag anzeigen
    2. Compiler deiner Wahl geht sowieso nicht, wegen der Asm-Statements und ein paar anderer Implementation Details. Ist alles sehr Low-Level hier...
    Ich meinte schon GCC und 4.7.1 aufwärts, den Kommentar in der Hilfedatei habe ich gelesen und dass Dyn aufgrund von Asm nur mit GCC funktioniert weiß ich auch. Das Problem ist, selbst gleiche Compilerversion kann inkompatibel sein, Beispiel: Für Dyn 0.20 hast du einen Compiler mit SJLJ Exception Handling verwendet, will ich nun einen Compiler mit DW2 Exception Handling verwenden, bekomme ich Linker Fehler.

Berechtigungen

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