Suche erneut Coder für Map-Engine...

Du brauchst Grafiken, gute Programme oder Leute die dir helfen? Frag hier.
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Also ich habs nochmals neu hochgeladen mit diesen 2 Funktionen um den Clipbereich herauszufinden:

Code: Alles auswählen

Code im Downloadpaket
Funktioniert leider auch nicht, sogar nicht mehr mit dem 1. Jump'n'run level. Wenn ich SpriteWidth() ausgebe, kommt da auch manchmal eine Zahl die grösser ist als der Bildschirm :( . Was ich besonders komisch finde ist, dass die Y-Berechnung anscheinend um 16 (d.h. 0.5 * sizey) Pixel verschoben ist, man sieht also die eine Hälfte des richtigen und dann noch eine Hälfte von einem anderen :? . Heute hab ich leider nicht so viel Zeit, aber ich werds weiter probieren!
Ich habe vor 2 Jahren auch noch BlitzBasic programmiert, hab jetzt aber leider schon vieles wieder vergessen... Aber ich glaube, die Berechnung für Clipping sollte stimmen.

greetz
remi

EDIT:
Hat jemand ne Ahnung wieso SpriteHeight(img) oft 32 ausgibt? Kein Tileset im Ordner hat diese Höhe :? Ahh hat Nic getrickst?
Zuletzt geändert von remi_meier am 08.11.2004 17:23, insgesamt 1-mal geändert.
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

Puh! Habs nochmals hochgeladen! Die Proceduren oben sind abgeändert, da fehlerhaft!
Die Jump'n'run levels scheinen nun alle zu laufen, die RPG's jedoch noch nicht (@Nic, hast du dort etwas noch nicht eingebaut, oder muss ich noch n Fehler finden?). Aber immerhin laufen jetzt die einfacheren.
WICHTIG: Tiles dürfen wegen Purebasic nun standardmässig nur unter der Bildschirmgrösse sein!

greetz
remi
TheShadow
Beiträge: 84
Registriert: 10.09.2004 16:19

Beitrag von TheShadow »

Hm... das hat denke ich wenig mit PB zu tun... sondern mit Grafikkarte... Sole Limitationen gab es nur auf älteren Grafikkarten... Jetzt dürfen Grafiken normal bis zu einer Grenze längers ein...

Z.b. hab ich uralte grafikkarte und ein Tileset mit 2112 px Höhe... es geht... Aber eine Sperzielel Routine hatte ich auch nicht... :-)
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8808
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

@remi_meier: Wolltest du mich jetzt wirklich was fragen oder war das eher eine rhetorische Frage?
Ich glaube ich habe irgendwo eine Funktion drin, die Tiles, die in mehreren Zeilen im Tileset standen komplett in eine Zeile geschrieben hat, die dann wahrscheinlich auch mal länger als der Bildschirm geworden ist.

@TheShadow: Das mit der maximalen Sprite-Breite und -Höhe hat nichts mit der Grafikkarte zu tun, sondern viel eher mit DirectX. Zumindest weiß ich das aus einem Post von Danilo, der das in der entsprechenden SDK gefunden hat. Das war auch gar nicht so lange her als er das gesagt hatte.
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

@Nic: Hat sich geklärt, hab diese Funktion entfernt und machs so wie in BlitzBasic. Nun noch keine rhetorische Frage: Bei der Tile-Struktur hast du nicht banka und bankd sondern nur bank. Ich habs mal auf banka und bankd erweitert, hatte das irgend einen Grund?
Bei mir gehen auf jeden Fall die Tiles ohne Probleme. Hab jetzt noch ein paar Fehler ausgemerzt und Kleinigkeiten geändert, die RPG Levels sind nun einfach schwarz :?

greetz
remi
TheShadow
Beiträge: 84
Registriert: 10.09.2004 16:19

Beitrag von TheShadow »

Es gibt neue Version 1.4... das wird vorest länger die aktuelle Version bleiben, da ich an sich alles drin habe, was ich haben wollte...
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8808
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Keine Ahnung, ob das von mir so gewollt war. Aber vermutlich nicht. Meine Vorgehensweise zum Portieren war immer folgende: (Kurzform)
  • BB-Code in jaPBe kopieren
  • Funktion für Funktion, Zeile für Zeile übersetzen
  • Nach fertig übersetzter Procedure BB-Funktion löschen und nächste Funktion angehen.
  • Wiederkehrende komplizierte nicht leicht übernehmbare Zeilen oder Berechnungen aus schon fertig gestellten Dateien kopieren und nochmal schnell vergleichen.
Hmjo... Da können schonmal Fehler auftreten.
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Beitrag von Kekskiller »

[superflouoscomment]Es wäre sicher effektiver, sich einen Plan, oder
ähnliches von dem Grundsystem des Codes zu machen und danach es nach
Pb zu portieren. Ist zwar nervig, wenn man alles einzeln auf Papier festhalten
musst, ist aber Sprachen unabhängig. [/superflouoscomment]
Benutzeravatar
remi_meier
Beiträge: 1078
Registriert: 29.08.2004 20:11
Wohnort: Schweiz

Beitrag von remi_meier »

@Nic: Dieser Fehler / diese Vereinfachung muss schon gewollt sein, ist aber jetzt auch egal, denn es funktioniert alles bis auf etwas.
@Kekskiller: Ich denke nicht das es hier effektiver wäre, denn BB und PB sind sehr ähnlich und der Codingstyle von TheShadow ist auch nicht schlecht. Also ziemlich einfach.

Ich komm leider nicht dahinter, was die Animation auslöst. Layer\mode ist beim Einlesen immer 0 und bei der Procedure layer_image_draw() wird immer dieser Teil hier:

Code: Alles auswählen

Else
    frame = *layer\frame - *layer\tile\anims
  EndIf
gewählt, so wird aber frame negativ und das Image wird nicht dargestellt :freak:

Aber ich bleib dran!
greetz
remi
Kekskiller
Beiträge: 752
Registriert: 14.09.2004 21:39
Kontaktdaten:

Beitrag von Kekskiller »

Naja, Codingstil ist relativ, ich mag ihn zum Beispiel nicht so sehr :D .
Aber irgendwie hast du schon recht, wird so sicher erinfacher zu lösen sein.
Antworten