--- deliantra/Deliantra-Client/Client.xs 2012/11/04 02:13:53 1.316 +++ deliantra/Deliantra-Client/Client.xs 2018/11/18 01:15:04 1.321 @@ -50,7 +50,7 @@ #define PANGO_ENABLE_BACKEND #define G_DISABLE_CAST_CHECKS -#include +#include #include @@ -186,7 +186,7 @@ while (attrs) { - PangoAttribute *attr = attrs->data; + PangoAttribute *attr = (PangoAttribute *)attrs->data; if (attr->klass->type == PANGO_ATTR_SHAPE) return 1; @@ -214,7 +214,7 @@ { FcPatternAddBool (pattern, FC_HINTING, 1); #ifdef FC_HINT_STYLE - FcPatternAddBool (pattern, FC_HINT_STYLE, FC_HINT_FULL); + FcPatternAddInteger (pattern, FC_HINT_STYLE, FC_HINT_FULL); #endif FcPatternAddBool (pattern, FC_AUTOHINT, 0); } @@ -483,6 +483,7 @@ SDL_PushEvent ((SDL_Event *)&ev); } +// approximately divide by 255 static unsigned int div255 (unsigned int n) { @@ -891,10 +892,11 @@ void SDL_Quit () int SDL_GL_SetAttribute (int attr, int value) + C_ARGS: (SDL_GLattr)attr, value int SDL_GL_GetAttribute (int attr) CODE: - if (SDL_GL_GetAttribute (attr, &RETVAL)) + if (SDL_GL_GetAttribute ((SDL_GLattr)attr, &RETVAL)) XSRETURN_UNDEF; OUTPUT: RETVAL @@ -977,6 +979,7 @@ char * SDL_GetKeyName (int sym) + C_ARGS: (SDLKey)sym int SDL_GetAppState () @@ -1083,7 +1086,7 @@ int Mix_OpenAudio (int frequency = 44100, int format = MIX_DEFAULT_FORMAT, int channels = 2, int chunksize = 4096) - POSTCALL: + POSTCALL: Mix_HookMusicFinished (music_finished); Mix_ChannelFinished (channel_finished); @@ -1214,7 +1217,7 @@ EXTEND (SP, 6); PUSHs (sv_2mortal (newSViv (surface2->w))); PUSHs (sv_2mortal (newSViv (surface2->h))); - PUSHs (sv_2mortal (newSVpvn (surface2->pixels, surface2->h * surface2->pitch))); + PUSHs (sv_2mortal (newSVpvn ((const char *)surface2->pixels, surface2->h * surface2->pitch))); PUSHs (sv_2mortal (newSViv (surface->flags & (SDL_SRCCOLORKEY | SDL_SRCALPHA) ? GL_RGBA : GL_RGB))); PUSHs (sv_2mortal (newSViv (GL_RGBA))); PUSHs (sv_2mortal (newSViv (GL_UNSIGNED_BYTE))); @@ -1296,7 +1299,7 @@ PROTOTYPES: DISABLE DC::Font -new_from_file (SV *class, char *path, int id = 0) +new_from_file (SV *klass, char *path, int id = 0) CODE: { int count; @@ -1335,7 +1338,7 @@ tc_restore (); DC::Layout -new (SV *class) +new (SV *klass) CODE: New (0, RETVAL, 1, struct cf_layout); @@ -1494,7 +1497,7 @@ set_height (DC::Layout self, int base_height) CODE: if (self->base_height != base_height) - { + { self->base_height = base_height; layout_update_font (self); } @@ -1868,7 +1871,7 @@ PROTOTYPES: DISABLE DC::Map -new (SV *class) +new (SV *klass) CODE: New (0, RETVAL, 1, struct map); RETVAL->x = 0; @@ -1917,7 +1920,7 @@ set_smooth (DC::Map self, int face, int smooth, int level) CODE: { - tileid texid; + tileid texid; maptex *tex; if (face < 0 || face >= self->faces) @@ -1926,7 +1929,7 @@ if (smooth < 0 || smooth >= self->faces) return; - texid = self->face2tile [face]; + texid = self->face2tile [face]; if (!texid) return; @@ -1969,7 +1972,7 @@ void expire_textures (DC::Map self, int texid, int count) PPCODE: - for (; texid < self->texs && count; ++texid, --count) + for (; texid < self->texs && count; ++texid, --count) { maptex *tex = self->tex + texid; @@ -2181,7 +2184,7 @@ } } - RETVAL = map_sv; + RETVAL = map_sv; } OUTPUT: RETVAL @@ -2192,7 +2195,7 @@ { int x, y, z; - HV *smooth = (HV *)sv_2mortal ((SV *)newHV ()); + HV *smooth = (HV *)sv_2mortal ((SV *)newHV ()); uint32_t smooth_level[256 / 32]; // one bit for every possible smooth level static uint8_t smooth_max[256][256]; // egad, fast and wasteful on memory (64k) smooth_key skey; @@ -2720,14 +2723,14 @@ } } - /* if size is w*h + 5 then no data has been found */ + /* if size is w*h + 5 then no data has been found */ if (data - (uint8_t *)SvPVX (data_sv) != w * h + 5) { SvPOK_only (data_sv); SvCUR_set (data_sv, data - (uint8_t *)SvPVX (data_sv)); } - RETVAL = data_sv; + RETVAL = data_sv; } OUTPUT: RETVAL @@ -2744,7 +2747,7 @@ len = SvLEN (data_sv); SvGROW (data_sv, len + 8); // reserve at least 7+ bytes more - data = SvPVbyte_nolen (data_sv); + data = (uint8_t *)SvPVbyte_nolen (data_sv); end = data + len + 8; if (len < 5) @@ -2815,7 +2818,7 @@ MODULE = Deliantra::Client PACKAGE = DC::RW DC::RW -new (SV *class, SV *data_sv) +new (SV *klass, SV *data_sv) CODE: { STRLEN datalen; @@ -2827,7 +2830,7 @@ RETVAL DC::RW -new_from_file (SV *class, const char *path, const char *mode = "rb") +new_from_file (SV *klass, const char *path, const char *mode = "rb") CODE: RETVAL = SDL_RWFromFile (path, mode); OUTPUT: @@ -2946,7 +2949,7 @@ #endif DC::MixChunk -new (SV *class, DC::RW rwops) +new (SV *klass, DC::RW rwops) CODE: RETVAL = Mix_LoadWAV_RW (rwops, 1); OUTPUT: @@ -3026,7 +3029,7 @@ RETVAL DC::MixMusic -new (SV *class, DC::RW rwops) +new (SV *klass, DC::RW rwops) CODE: RETVAL = Mix_LoadMUS_RW (rwops); OUTPUT: @@ -3189,28 +3192,32 @@ void apple_nvidia_bug (int enable) -char * +const char * gl_vendor () CODE: - RETVAL = (char *)glGetString (GL_VENDOR); + RETVAL = (const char *)glGetString (GL_VENDOR); OUTPUT: RETVAL -char * +const char * gl_version () CODE: - RETVAL = (char *)glGetString (GL_VERSION); + RETVAL = (const char *)glGetString (GL_VERSION); OUTPUT: RETVAL -char * +const char * gl_extensions () CODE: - RETVAL = (char *)glGetString (GL_EXTENSIONS); + RETVAL = (const char *)glGetString (GL_EXTENSIONS); OUTPUT: RETVAL const char *glGetString (GLenum pname) + CODE: + RETVAL = (const char *)glGetString (pname); + OUTPUT: + RETVAL GLint glGetInteger (GLenum pname) CODE: @@ -3423,7 +3430,7 @@ find_widget (SV *self, NV x, NV y) PPCODE: { - if (within_widget (self, x, y)) + if (within_widget (self, x, y)) XPUSHs (self); } @@ -3441,8 +3448,8 @@ draw (SV *self) CODE: { - HV *hv; - SV **svp; + HV *hv; + SV **svp; NV x, y, w, h; SV *draw_x_sv = GvSV (draw_x_gv); SV *draw_y_sv = GvSV (draw_y_gv);