Skocz do zawartości

FIX 8.1 - readstring i readchars w 39dll


Rekomendowane odpowiedzi

  • Administratorzy

Jak wiecie, w GM 8.1 jest problem z polskimi literami. Problem polega jednak na tym, że runner i edytor źle odczytuje polskie znaki, a nie że ich nie obsługuje. Zatem za pomocą małej sztuczki wszystko działa.

Jako, że ja potrzebowałem tego do 39dll, to zrobiłem sktypty w tej wersji, ale można się pokusić o wersję czysto gamemakerową ;)

 

GML (readchars)
/*

Reads a sequence of characters from the buffer.

Argument0: number of charactered to read

[Argument0]: The buffer id to read from. Leave out this argument or set

it to 0 to use the default buffer.

*/

//return external_call(global._BufS, argument0, argument1);

var __r;

 

__r = '';

 

repeat(argument0) {

__r += chr(readbyte(argument1));

}

 

return __r;

 

GML (readstring)
/*

Returns a null terminated string from the buffer.

[Argument0]: The buffer id to read from. Leave out this argument or set

it to 0 to use the default buffer.

*/

//return external_call(global._BufH, argument0);

 

var __r,__b;

 

__r = '';

 

do {

__b = readbyte(argument1);

__r += chr(__b);

} until ( __b == 0);

 

return __r;

 

Podniemiamy dotychczasowe skrypty 39dll na te powyżej. Jak już wyjdzie poprawka wspierająca polskie znaki jak należy, można oczywiście przywrócić stary kod (ten zakomentowany //).

 

Btw. w czasie gry przez getstring() polskie literki też działają ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...