06-09-2005, Tuesday-17:39:16
OK, Windows-Bitmaps (Bilder) müssen normalerweise auf dem Kopf stehen. Es gibt jedoch eine Routine names "StrechDIBBits" die das umdrehen kann. Laut Dokumentation muss dazu einfach eine negative Höhe angegeben werden. Was bisher geschah:
Gebe ich eine negative Höhe der ganzen Bitmap an, funktioniert es nur auf Nvidia und Trident (falls die noch wer hat). Gebe ich eine negative Höhe des Zielbereiches an, funktioniert es bei 50% der Rechner. Gebe ich eine negative Höhe des Quellbereiches an, funktioniert es fast immer. Allerdings auf der Hälfte der Systeme mit einem Pixel-Offset. [Das ist einer der vielen Gründe, warum richtige Programmierer Microsoft so hassen. Die Dokumentation stimmt nicht mit den Tatsachen überein, selbst be so elemetaren Routinen wie dem Malen von Bildern.]
Nun wollte ich aber ncith extra für Windows die Zeichenroutinen umstricken, dass die Simutrans-Bitmap im Speicher auf dem Kopf steht. [DirectX ist keine Lösung, da nicht wirklich mit dem Simutrans-System verträglich.]
Gebe ich eine negative Höhe der ganzen Bitmap an, funktioniert es nur auf Nvidia und Trident (falls die noch wer hat). Gebe ich eine negative Höhe des Zielbereiches an, funktioniert es bei 50% der Rechner. Gebe ich eine negative Höhe des Quellbereiches an, funktioniert es fast immer. Allerdings auf der Hälfte der Systeme mit einem Pixel-Offset. [Das ist einer der vielen Gründe, warum richtige Programmierer Microsoft so hassen. Die Dokumentation stimmt nicht mit den Tatsachen überein, selbst be so elemetaren Routinen wie dem Malen von Bildern.]
Nun wollte ich aber ncith extra für Windows die Zeichenroutinen umstricken, dass die Simutrans-Bitmap im Speicher auf dem Kopf steht. [DirectX ist keine Lösung, da nicht wirklich mit dem Simutrans-System verträglich.]