Allora. (ciao a tutti)
In un progetto Xna abbiamo la possibilità di "attaccare" diversi files *.cs. (bella scoperta). Solo in un caso la GPU fa la schizzinosa con le variabili int, e cioè nella dichiarazione degli indici che occorrono al metodo DrawUserIndexedPrimitives. Ho scoperto che - di per sè - 'int' non vuol dire nulla. Se ci troviamo su un bellissimo modernissimo PC con Windows 7 pagato 10000 euri allora int = System.Int32 (64?). Se invece siamo su un vergognoso scassatissimo vecchio rottame allora int = System.Int16. Ma nel primo PC (quello "buono") è accettato anche il tipo 'int' e basta.
Io uso tutti e due questi PC, e per far funzionare un progetto l'unica cosa che ho saputo fare nella mia immensa ignoranza è definire un simbolo con direttiva al preprocessore
#define OLD16
e scrivere ovunque nel file principale Game1.cs
così se sono nel PC buono facciocodice:#if OLD16 public System.Int16[] indices; #else public int[] indices; #endif
//#define OLD16
e me ne esco. Ora però che riesco a fare progetti con 1543 files *.cs, il simbolo OLD16 definito nel file Game1.cs non viene "visto" dagli altri files, con la conseguenza che "mi rompo" a commentare e decommentare la direttiva al preprocessore in ogni file .cs.
C'è un modo per definire OLD16 solo in un file e farlo vedere a tutti gli altri files?
Grazie.