From c56da51407b8aabeb08380aa003f10c77cfd3990 Mon Sep 17 00:00:00 2001 From: zicodxx Date: Mon, 23 Jul 2012 01:17:54 +0200 Subject: [PATCH] Redefined lotsa variables, functions and parameters as const and/or static - patch by Kp --- 2d/font.c | 44 ++++++++++++++++++++++---------------------- 2d/pcx.c | 6 +++--- 3d/points.c | 2 +- iff/iff.c | 6 +++--- include/3d.h | 2 +- include/error.h | 2 +- include/gr.h | 12 ++++++------ include/iff.h | 2 +- include/pcx.h | 2 +- include/physfsx.h | 12 ++++++------ include/strutil.h | 2 +- include/vecmat.h | 22 +++++++++++----------- main/ai.c | 22 +++++++++++----------- main/ai.h | 25 ++++++++++--------------- main/ai2.c | 8 +++++--- main/automap.c | 2 +- main/dumpmine.c | 8 ++++---- main/endlevel.c | 8 ++++---- main/escort.c | 2 +- main/gamefont.c | 3 ++- main/gamerend.c | 2 +- main/gamesave.c | 4 ++-- main/gamesave.h | 2 +- main/gauges.c | 2 +- main/gauges.h | 2 +- main/kconfig.c | 34 ++++++++++++++++++---------------- main/multi.c | 2 +- main/multi.h | 1 - main/newmenu.c | 4 ++-- main/newmenu.h | 2 +- maths/vecmat.c | 22 +++++++++++----------- misc/error.c | 2 +- misc/strutil.c | 2 +- 33 files changed, 136 insertions(+), 137 deletions(-) diff --git a/2d/font.c b/2d/font.c index 5a30444a..589ad86d 100644 --- a/2d/font.c +++ b/2d/font.c @@ -67,8 +67,8 @@ openfont open_font[MAX_OPEN_FONTS]; #define BITS_TO_BYTES(x) (((x)+7)>>3) -int gr_internal_string_clipped(int x, int y, char *s ); -int gr_internal_string_clipped_m(int x, int y, char *s ); +int gr_internal_string_clipped(int x, int y, const char *s ); +int gr_internal_string_clipped_m(int x, int y, const char *s ); ubyte *find_kern_entry(grs_font *font,ubyte first,ubyte second) { @@ -128,7 +128,7 @@ void get_char_width(ubyte c,ubyte c2,int *width,int *spacing) } } -int get_centered_x(char *s) +int get_centered_x(const char *s) { int w,w2,s2; @@ -164,10 +164,10 @@ int gr_message_color_level=1; text_ptr++; \ } -int gr_internal_string0(int x, int y, char *s ) +int gr_internal_string0(int x, int y, const char *s ) { unsigned char * fp; - char * text_ptr, * next_row, * text_ptr1; + const char * text_ptr, * next_row, * text_ptr1; int r, BitMask, i, bits, width, spacing, letter, underline; int skip_lines = 0; @@ -278,10 +278,10 @@ int gr_internal_string0(int x, int y, char *s ) return 0; } -int gr_internal_string0m(int x, int y, char *s ) +int gr_internal_string0m(int x, int y, const char *s ) { unsigned char * fp; - char * text_ptr, * next_row, * text_ptr1; + const char * text_ptr, * next_row, * text_ptr1; int r, BitMask, i, bits, width, spacing, letter, underline; int skip_lines = 0; @@ -806,10 +806,10 @@ grs_bitmap char_bm = { 0 //unused }; -int gr_internal_color_string(int x, int y, char *s ) +int gr_internal_color_string(int x, int y, const char *s ) { unsigned char * fp; - char *text_ptr, *next_row, *text_ptr1; + const char *text_ptr, *next_row, *text_ptr1; int width, spacing,letter; int xx,yy; @@ -1045,9 +1045,9 @@ void ogl_init_font(grs_font * font){ ogl_loadbmtexture_f(&font->ft_parent_bitmap, oglflags); } -int ogl_internal_string(int x, int y, char *s ) +int ogl_internal_string(int x, int y, const char *s ) { - char * text_ptr, * next_row, * text_ptr1; + const char * text_ptr, * next_row, * text_ptr1; int width, spacing,letter; int xx,yy; int orig_color=FG_COLOR;//to allow easy reseting to default string color with colored strings -MPM @@ -1128,12 +1128,12 @@ int ogl_internal_string(int x, int y, char *s ) return 0; } -int gr_internal_color_string(int x, int y, char *s ){ +int gr_internal_color_string(int x, int y, const char *s ){ return ogl_internal_string(x,y,s); } #endif //OGL -int gr_string(int x, int y, char *s ) +int gr_string(int x, int y, const char *s ) { int w, h, aw; int clipped=0; @@ -1191,7 +1191,7 @@ int gr_string(int x, int y, char *s ) return gr_internal_string_clipped( x, y, s ); } -int gr_ustring(int x, int y, char *s ) +int gr_ustring(int x, int y, const char *s ) { #ifdef OGL if (TYPE==BM_OGL) @@ -1223,7 +1223,7 @@ int gr_ustring(int x, int y, char *s ) } -void gr_get_string_size(char *s, int *string_width, int *string_height, int *average_width ) +void gr_get_string_size(const char *s, int *string_width, int *string_height, int *average_width ) { int i = 0, longest_width = 0; int width,spacing; @@ -1271,7 +1271,7 @@ void gr_get_string_size(char *s, int *string_width, int *string_height, int *ave } -int gr_uprintf( int x, int y, char * format, ... ) +int gr_uprintf( int x, int y, const char * format, ... ) { char buffer[1000]; va_list args; @@ -1281,7 +1281,7 @@ int gr_uprintf( int x, int y, char * format, ... ) return gr_ustring( x, y, buffer ); } -int gr_printf( int x, int y, char * format, ... ) +int gr_printf( int x, int y, const char * format, ... ) { char buffer[1000]; va_list args; @@ -1371,7 +1371,7 @@ void grs_font_read(grs_font *gf, CFILE *fp) } #endif -grs_font * gr_init_font( char * fontname ) +grs_font * gr_init_font( const char * fontname ) { static int first_time=1; grs_font *font; @@ -1649,10 +1649,10 @@ void gr_set_curfont( grs_font * new ) } -int gr_internal_string_clipped(int x, int y, char *s ) +int gr_internal_string_clipped(int x, int y, const char *s) { unsigned char * fp; - char * text_ptr, * next_row, * text_ptr1; + const char * text_ptr, * next_row, * text_ptr1; int r, BitMask, i, bits, width, spacing, letter, underline; int x1 = x, last_x; @@ -1749,10 +1749,10 @@ int gr_internal_string_clipped(int x, int y, char *s ) return 0; } -int gr_internal_string_clipped_m(int x, int y, char *s ) +int gr_internal_string_clipped_m(int x, int y, const char *s ) { unsigned char * fp; - char * text_ptr, * next_row, * text_ptr1; + const char * text_ptr, * next_row, * text_ptr1; int r, BitMask, i, bits, width, spacing, letter, underline; int x1 = x, last_x; diff --git a/2d/pcx.c b/2d/pcx.c index ceded02e..62cb3f56 100644 --- a/2d/pcx.c +++ b/2d/pcx.c @@ -392,7 +392,7 @@ int pcx_encode_byte(ubyte byt, ubyte cnt, PHYSFS_file *fid) } //text for error messges -char pcx_error_messages[] = { +static const char pcx_error_messages[] = { "No error.\0" "Error opening file.\0" "Couldn't read PCX header.\0" @@ -404,9 +404,9 @@ char pcx_error_messages[] = { //function to return pointer to error message -char *pcx_errormsg(int error_number) +const char *pcx_errormsg(int error_number) { - char *p = pcx_error_messages; + const char *p = pcx_error_messages; while (error_number--) { diff --git a/3d/points.c b/3d/points.c index 9fa3f46d..19dd9130 100644 --- a/3d/points.c +++ b/3d/points.c @@ -49,7 +49,7 @@ ubyte g3_code_point(g3s_point *p) } //rotates a point. returns codes. does not check if already rotated -ubyte g3_rotate_point(g3s_point *dest,vms_vector *src) +ubyte g3_rotate_point(g3s_point *dest,const vms_vector *src) { vms_vector tempv; diff --git a/iff/iff.c b/iff/iff.c index 6e4e72bb..a07d46ff 100644 --- a/iff/iff.c +++ b/iff/iff.c @@ -1049,7 +1049,7 @@ done: } //text for error messges -char error_messages[] = { +static const char error_messages[] = { "No error.\0" "Not enough mem for loading or processing bitmap.\0" "IFF file has unknown FORM type.\0" @@ -1066,9 +1066,9 @@ char error_messages[] = { //function to return pointer to error message -char *iff_errormsg(int error_number) +const char *iff_errormsg(int error_number) { - char *p = error_messages; + const char *p = error_messages; while (error_number--) { diff --git a/include/3d.h b/include/3d.h index 882d8302..5c25e43e 100644 --- a/include/3d.h +++ b/include/3d.h @@ -157,7 +157,7 @@ bool g3_check_normal_facing(vms_vector *v,vms_vector *norm); g3s_codes g3_check_codes(int nv,g3s_point **pointlist); //rotates a point. returns codes. does not check if already rotated -ubyte g3_rotate_point(g3s_point *dest,vms_vector *src); +ubyte g3_rotate_point(g3s_point *dest,const vms_vector *src); //projects a point void g3_project_point(g3s_point *point); diff --git a/include/error.h b/include/error.h index 0c26a5fd..acfc349d 100644 --- a/include/error.h +++ b/include/error.h @@ -36,7 +36,7 @@ void Warning(char *fmt,...); //print out warning message to user void set_warn_func(void (*f)(char *s));//specifies the function to call with warning messages void clear_warn_func(void (*f)(char *s));//say this function no longer valid void _Assert(int expr,char *expr_text,char *filename,int linenum); //assert func -void Error(char *fmt,...) __noreturn __format; //exit with error code=1, print message +void Error(const char *fmt,...) __noreturn __format; //exit with error code=1, print message void Assert(int expr); void Int3(void); diff --git a/include/gr.h b/include/gr.h index 5677d941..ac7d8279 100644 --- a/include/gr.h +++ b/include/gr.h @@ -349,7 +349,7 @@ void gr_uscanline( int x1, int x2, int y ); // Reads in a font file... current font set to this one. -grs_font * gr_init_font( char * fontfile ); +grs_font * gr_init_font( const char * fontfile ); void gr_close_font( grs_font * font ); //remap a font, re-reading its data & palette @@ -362,11 +362,11 @@ void gr_remap_mono_fonts(); // Writes a string using current font. Returns the next column after last char. void gr_set_fontcolor( int fg, int bg ); void gr_set_curfont( grs_font * new ); -int gr_string(int x, int y, char *s ); -int gr_ustring(int x, int y, char *s ); -int gr_printf( int x, int y, char * format, ... ); -int gr_uprintf( int x, int y, char * format, ... ); -void gr_get_string_size(char *s, int *string_width, int *string_height, int *average_width ); +int gr_string(int x, int y, const char *s ); +int gr_ustring(int x, int y, const char *s ); +int gr_printf( int x, int y, const char * format, ... ); +int gr_uprintf( int x, int y, const char * format, ... ); +void gr_get_string_size(const char *s, int *string_width, int *string_height, int *average_width ); // From roller.c diff --git a/include/iff.h b/include/iff.h index 976d3bed..780598c7 100644 --- a/include/iff.h +++ b/include/iff.h @@ -56,7 +56,7 @@ int iff_write_bitmap(char *ofilename,grs_bitmap *bm,ubyte *palette); //returns error codes - see IFF.H. //function to return pointer to error message -char *iff_errormsg(int error_number); +const char *iff_errormsg(int error_number); //Error codes for read & write routines diff --git a/include/pcx.h b/include/pcx.h index 863a43b0..3a749413 100644 --- a/include/pcx.h +++ b/include/pcx.h @@ -41,7 +41,7 @@ extern int pcx_read_bitmap( char * filename, grs_bitmap * bmp, int bitmap_type, extern int pcx_write_bitmap( char * filename, grs_bitmap * bmp, ubyte * palette ); -extern char *pcx_errormsg(int error_number); +extern const char *pcx_errormsg(int error_number); #ifdef MACINTOSH extern int pcx_read_bitmap_palette( char *filename, ubyte *palette); diff --git a/include/physfsx.h b/include/physfsx.h index 11de4fc3..4f62c564 100644 --- a/include/physfsx.h +++ b/include/physfsx.h @@ -156,12 +156,12 @@ static inline PHYSFS_sint64 PHYSFSX_writeU8(PHYSFS_file *file, PHYSFS_uint8 val) return PHYSFS_write(file, &val, 1, 1); } -static inline PHYSFS_sint64 PHYSFSX_writeString(PHYSFS_file *file, char *s) +static inline PHYSFS_sint64 PHYSFSX_writeString(PHYSFS_file *file, const char *s) { return PHYSFS_write(file, s, 1, (PHYSFS_uint32)strlen(s) + 1); } -static inline PHYSFS_sint64 PHYSFSX_puts(PHYSFS_file *file, char *s) +static inline PHYSFS_sint64 PHYSFSX_puts(PHYSFS_file *file, const char *s) { return PHYSFS_write(file, s, 1, (PHYSFS_uint32)strlen(s)); } @@ -176,7 +176,7 @@ static inline int PHYSFSX_putc(PHYSFS_file *file, int c) return (int)c; } -static inline PHYSFS_sint64 PHYSFSX_printf(PHYSFS_file *file, char *format, ...) +static inline PHYSFS_sint64 PHYSFSX_printf(PHYSFS_file *file, const char *format, ...) { char buffer[1024]; va_list args; @@ -264,7 +264,7 @@ static inline int PHYSFSX_getRealPath(const char *stdPath, char *realPath) return 1; } -static inline int PHYSFSX_rename(char *oldpath, char *newpath) +static inline int PHYSFSX_rename(const char *oldpath, const char *newpath) { char old[PATH_MAX], new[PATH_MAX]; @@ -291,7 +291,7 @@ static inline PHYSFS_sint64 PHYSFSX_getFreeDiskSpace() } //Open a file for reading, set up a buffer -static inline PHYSFS_file *PHYSFSX_openReadBuffered(char *filename) +static inline PHYSFS_file *PHYSFSX_openReadBuffered(const char *filename) { PHYSFS_file *fp; PHYSFS_uint64 bufSize; @@ -314,7 +314,7 @@ static inline PHYSFS_file *PHYSFSX_openReadBuffered(char *filename) } //Open a file for writing, set up a buffer -static inline PHYSFS_file *PHYSFSX_openWriteBuffered(char *filename) +static inline PHYSFS_file *PHYSFSX_openWriteBuffered(const char *filename) { PHYSFS_file *fp; PHYSFS_uint64 bufSize = 1024*1024; // hmm, seems like an OK size. diff --git a/include/strutil.h b/include/strutil.h index b39207ed..b4ffa2bc 100644 --- a/include/strutil.h +++ b/include/strutil.h @@ -43,7 +43,7 @@ void strrev( char *s1 ); void removeext(const char *filename, char *out); //give a filename a new extension, doesn't work with paths. -extern void change_filename_extension( char *dest, char *src, char *new_ext ); +extern void change_filename_extension( char *dest, const char *src, char *new_ext ); #if !defined(__MSDOS__) && !(defined(_WIN32) && !defined(_WIN32_WCE)) void _splitpath(char *name, char *drive, char *path, char *base, char *ext); diff --git a/include/vecmat.h b/include/vecmat.h index 40d161c0..0e18c7d1 100644 --- a/include/vecmat.h +++ b/include/vecmat.h @@ -174,22 +174,22 @@ extern vms_matrix vmd_identity_matrix; //adds two vectors, fills in dest, returns ptr to dest //ok for dest to equal either source, but should use vm_vec_add2() if so -vms_vector * vm_vec_add (vms_vector * dest, vms_vector * src0, vms_vector * src1); +vms_vector * vm_vec_add (vms_vector * dest, const vms_vector * src0, const vms_vector * src1); //subs two vectors, fills in dest, returns ptr to dest //ok for dest to equal either source, but should use vm_vec_sub2() if so -vms_vector * vm_vec_sub (vms_vector * dest, vms_vector * src0, vms_vector * src1); +vms_vector * vm_vec_sub (vms_vector * dest, const vms_vector * src0, const vms_vector * src1); //adds one vector to another. returns ptr to dest //dest can equal source -vms_vector * vm_vec_add2 (vms_vector * dest, vms_vector * src); +vms_vector * vm_vec_add2 (vms_vector * dest, const vms_vector * src); //subs one vector from another, returns ptr to dest //dest can equal source -vms_vector * vm_vec_sub2 (vms_vector * dest, vms_vector * src); +vms_vector * vm_vec_sub2 (vms_vector * dest, const vms_vector * src); #else /* INLINE */ @@ -242,12 +242,12 @@ while (0); //averages two vectors. returns ptr to dest //dest can equal either source -vms_vector * vm_vec_avg (vms_vector * dest, vms_vector * src0, vms_vector * src1); +vms_vector * vm_vec_avg (vms_vector * dest, const vms_vector * src0, const vms_vector * src1); //averages four vectors. returns ptr to dest //dest can equal any source -vms_vector * vm_vec_avg4 (vms_vector * dest, vms_vector * src0, vms_vector * src1, vms_vector * src2, vms_vector * src3); +vms_vector * vm_vec_avg4 (vms_vector * dest, const vms_vector * src0, const vms_vector * src1, const vms_vector * src2, const vms_vector * src3); //scales a vector in place. returns ptr to vector @@ -255,17 +255,17 @@ vms_vector * vm_vec_scale (vms_vector * dest, fix s); //scales and copies a vector. returns ptr to dest -vms_vector * vm_vec_copy_scale (vms_vector * dest, vms_vector * src, fix s); +vms_vector * vm_vec_copy_scale (vms_vector * dest, const vms_vector * src, fix s); //scales a vector, adds it to another, and stores in a 3rd vector //dest = src1 + k * src2 -vms_vector * vm_vec_scale_add (vms_vector * dest, vms_vector * src1, vms_vector * src2, fix k); +vms_vector * vm_vec_scale_add (vms_vector * dest, const vms_vector * src1, const vms_vector * src2, fix k); //scales a vector and adds it to another //dest += k * src -vms_vector * vm_vec_scale_add2 (vms_vector * dest, vms_vector * src, fix k); +vms_vector * vm_vec_scale_add2 (vms_vector * dest, const vms_vector * src, fix k); //scales a vector in place, taking n/d for scale. returns ptr to vector @@ -313,7 +313,7 @@ fix vm_vec_normalized_dir_quick (vms_vector * dest, vms_vector * end, vms_vector ////returns dot product of two vectors -fix vm_vec_dotprod (vms_vector * v0, vms_vector * v1); +fix vm_vec_dotprod (const vms_vector * v0, const vms_vector * v1); #define vm_vec_dot(v0,v1) vm_vec_dotprod((v0),(v1)) @@ -393,7 +393,7 @@ vms_matrix * vm_vector_2_matrix_norm (vms_matrix * m, vms_vector * fvec, vms_vec //rotates a vector through a matrix. returns ptr to dest vector //dest CANNOT equal either source -vms_vector * vm_vec_rotate (vms_vector * dest, vms_vector * src, vms_matrix * m); +vms_vector * vm_vec_rotate (vms_vector * dest, const vms_vector * src, const vms_matrix * m); //transpose a matrix in place. returns ptr to matrix diff --git a/main/ai.c b/main/ai.c index 4fd830d6..fd41c633 100644 --- a/main/ai.c +++ b/main/ai.c @@ -64,13 +64,13 @@ sbyte Boss_dying, Boss_dying_sound_playing, unused123, unused234; // -- ubyte Boss_cloaks[NUM_D2_BOSSES] = {1,1,1,1,1,1}; // Set byte if this boss can cloak -ubyte Boss_teleports[NUM_D2_BOSSES] = {1,1,1,1,1,1, 1,1}; // Set byte if this boss can teleport -ubyte Boss_spew_more[NUM_D2_BOSSES] = {0,1,0,0,0,0, 0,0}; // If set, 50% of time, spew two bots. -ubyte Boss_spews_bots_energy[NUM_D2_BOSSES] = {1,1,0,1,0,1, 1,1}; // Set byte if boss spews bots when hit by energy weapon. -ubyte Boss_spews_bots_matter[NUM_D2_BOSSES] = {0,0,1,1,1,1, 0,1}; // Set byte if boss spews bots when hit by matter weapon. -ubyte Boss_invulnerable_energy[NUM_D2_BOSSES] = {0,0,1,1,0,0, 0,0}; // Set byte if boss is invulnerable to energy weapons. -ubyte Boss_invulnerable_matter[NUM_D2_BOSSES] = {0,0,0,0,1,1, 1,0}; // Set byte if boss is invulnerable to matter weapons. -ubyte Boss_invulnerable_spot[NUM_D2_BOSSES] = {0,0,0,0,0,1, 0,1}; // Set byte if boss is invulnerable in all but a certain spot. (Dot product fvec|vec_to_collision < BOSS_INVULNERABLE_DOT) +const ubyte Boss_teleports[NUM_D2_BOSSES] = {1,1,1,1,1,1, 1,1}; // Set byte if this boss can teleport +const ubyte Boss_spew_more[NUM_D2_BOSSES] = {0,1,0,0,0,0, 0,0}; // If set, 50% of time, spew two bots. +const ubyte Boss_spews_bots_energy[NUM_D2_BOSSES] = {1,1,0,1,0,1, 1,1}; // Set byte if boss spews bots when hit by energy weapon. +const ubyte Boss_spews_bots_matter[NUM_D2_BOSSES] = {0,0,1,1,1,1, 0,1}; // Set byte if boss spews bots when hit by matter weapon. +const ubyte Boss_invulnerable_energy[NUM_D2_BOSSES] = {0,0,1,1,0,0, 0,0}; // Set byte if boss is invulnerable to energy weapons. +const ubyte Boss_invulnerable_matter[NUM_D2_BOSSES] = {0,0,0,0,1,1, 1,0}; // Set byte if boss is invulnerable to matter weapons. +const ubyte Boss_invulnerable_spot[NUM_D2_BOSSES] = {0,0,0,0,0,1, 0,1}; // Set byte if boss is invulnerable in all but a certain spot. (Dot product fvec|vec_to_collision < BOSS_INVULNERABLE_DOT) int ai_evaded=0; @@ -98,7 +98,7 @@ int Believed_player_seg; #ifndef NDEBUG // Index into this array with ailp->mode -char *mode_text[18] = { +const char mode_text[18][16] = { "STILL", "WANDER", "FOL_PATH", @@ -120,7 +120,7 @@ char *mode_text[18] = { }; // Index into this array with aip->behavior -char behavior_text[6][9] = { +const char behavior_text[6][9] = { "STILL ", "NORMAL ", "HIDE ", @@ -130,7 +130,7 @@ char behavior_text[6][9] = { }; // Index into this array with aip->GOAL_STATE or aip->CURRENT_STATE -char state_text[8][5] = { +const char state_text[8][5] = { "NONE", "REST", "SRCH", @@ -151,7 +151,7 @@ char state_text[8][5] = { // Third dimension is goal state. // Result is new goal state. // ERR_ means something impossible has happened. -sbyte Ai_transition_table[AI_MAX_EVENT][AI_MAX_STATE][AI_MAX_STATE] = { +static const sbyte Ai_transition_table[AI_MAX_EVENT][AI_MAX_STATE][AI_MAX_STATE] = { { // Event = AIE_FIRE, a nearby object fired // none rest srch lock flin fire reco // CURRENT is rows, GOAL is columns diff --git a/main/ai.h b/main/ai.h index 78b0ba6f..4940efc0 100644 --- a/main/ai.h +++ b/main/ai.h @@ -50,14 +50,14 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. #define NUM_D2_BOSSES 8 -extern ubyte Boss_teleports[NUM_D2_BOSSES]; // Set byte if this boss can teleport -extern ubyte Boss_spew_more[NUM_D2_BOSSES]; // Set byte if this boss can teleport +extern const ubyte Boss_teleports[NUM_D2_BOSSES]; // Set byte if this boss can teleport +extern const ubyte Boss_spew_more[NUM_D2_BOSSES]; // Set byte if this boss can teleport //extern ubyte Boss_cloaks[NUM_D2_BOSSES]; // Set byte if this boss can cloak -extern ubyte Boss_spews_bots_energy[NUM_D2_BOSSES]; // Set byte if boss spews bots when hit by energy weapon. -extern ubyte Boss_spews_bots_matter[NUM_D2_BOSSES]; // Set byte if boss spews bots when hit by matter weapon. -extern ubyte Boss_invulnerable_energy[NUM_D2_BOSSES]; // Set byte if boss is invulnerable to energy weapons. -extern ubyte Boss_invulnerable_matter[NUM_D2_BOSSES]; // Set byte if boss is invulnerable to matter weapons. -extern ubyte Boss_invulnerable_spot[NUM_D2_BOSSES]; // Set byte if boss is invulnerable in all but a certain spot. (Dot product fvec|vec_to_collision < BOSS_INVULNERABLE_DOT) +extern const ubyte Boss_spews_bots_energy[NUM_D2_BOSSES]; // Set byte if boss spews bots when hit by energy weapon. +extern const ubyte Boss_spews_bots_matter[NUM_D2_BOSSES]; // Set byte if boss spews bots when hit by matter weapon. +extern const ubyte Boss_invulnerable_energy[NUM_D2_BOSSES]; // Set byte if boss is invulnerable to energy weapons. +extern const ubyte Boss_invulnerable_matter[NUM_D2_BOSSES]; // Set byte if boss is invulnerable to matter weapons. +extern const ubyte Boss_invulnerable_spot[NUM_D2_BOSSES]; // Set byte if boss is invulnerable in all but a certain spot. (Dot product fvec|vec_to_collision < BOSS_INVULNERABLE_DOT) extern fix Boss_cloak_start_time, Boss_cloak_end_time; extern int Num_boss_teleport_segs; @@ -223,14 +223,9 @@ extern void create_buddy_bot(void); extern int Max_escort_length; -extern char *Escort_goal_text[MAX_ESCORT_GOALS]; extern void ai_multi_send_robot_position(int objnum, int force); -extern int Flinch_scale; -extern int Attack_scale; -extern sbyte Mike_to_matt_xlate[]; - // Amount of time since the current robot was last processed for things such as movement. // It is not valid to use FrameTime because robots do not get moved every frame. @@ -283,13 +278,13 @@ extern vms_vector Believed_player_pos; #ifndef NDEBUG // Index into this array with ailp->mode -extern char *mode_text[18]; +extern const char mode_text[18][16]; // Index into this array with aip->behavior -extern char behavior_text[6][9]; +extern const char behavior_text[6][9]; // Index into this array with aip->GOAL_STATE or aip->CURRENT_STATE -extern char state_text[8][5]; +extern const char state_text[8][5]; extern int Do_ai_flag, Break_on_object; diff --git a/main/ai2.c b/main/ai2.c index c9630263..33b1e11c 100644 --- a/main/ai2.c +++ b/main/ai2.c @@ -41,9 +41,11 @@ void teleport_boss(object *objp); int boss_fits_in_seg(object *boss_objp, int segnum); -int Flinch_scale = 4; -int Attack_scale = 24; -sbyte Mike_to_matt_xlate[] = {AS_REST, AS_REST, AS_ALERT, AS_ALERT, AS_FLINCH, AS_FIRE, AS_RECOIL, AS_REST}; +enum { + Flinch_scale = 4, + Attack_scale = 24, +}; +static const sbyte Mike_to_matt_xlate[] = {AS_REST, AS_REST, AS_ALERT, AS_ALERT, AS_FLINCH, AS_FIRE, AS_RECOIL, AS_REST}; // Amount of time since the current robot was last processed for things such as movement. // It is not valid to use FrameTime because robots do not get moved every frame. diff --git a/main/automap.c b/main/automap.c index 60b2baf5..629487c6 100644 --- a/main/automap.c +++ b/main/automap.c @@ -567,7 +567,7 @@ void modex_printf(int x,int y,char *s,grs_font *font,int color) } //name for each group. maybe move somewhere else -char *system_name[] = { +static const char *const system_name[] = { "Zeta Aquilae", "Quartzon System", "Brimspark System", diff --git a/main/dumpmine.c b/main/dumpmine.c index 19cc6fe7..9f7cdd07 100644 --- a/main/dumpmine.c +++ b/main/dumpmine.c @@ -43,7 +43,7 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED. extern ubyte bogus_data[64*64]; void dump_used_textures_level(FILE *my_file, int level_num); -void say_totals(FILE *my_file, char *level_name); +static void say_totals(FILE *my_file, const char *level_name); // ---------------------------------------------------------------------------- char *object_types(int objnum) @@ -690,7 +690,7 @@ void write_game_text_file(char *filename) #define NUM_ADAM_LEVELS 30 // Adam: Stick the names here. -char *Adam_level_names[NUM_ADAM_LEVELS] = { +static const char *const Adam_level_names[NUM_ADAM_LEVELS] = { "D2LEVA-1.LVL", "D2LEVA-2.LVL", "D2LEVA-3.LVL", @@ -886,7 +886,7 @@ void say_used_tmaps(FILE *my_file, int *tb) void say_used_once_tmaps(FILE *my_file, int *tb, sbyte *tb_lnum) { int i; - char *level_name; + const char *level_name; for (i=0; i 8 made version 8 to be not compatible with D2 1.0 & 1.1 #ifndef RELEASE -char *Level_being_loaded=NULL; +const char *Level_being_loaded=NULL; #endif #ifdef COMPACT_SEGS @@ -1167,7 +1167,7 @@ int no_old_level_file_error=0; //loads a level (.LVL) file from disk //returns 0 if success, else error code -int load_level(char * filename_passed) +int load_level(const char * filename_passed) { #ifdef EDITOR int use_compiled_level=1; diff --git a/main/gamesave.h b/main/gamesave.h index b0be7721..d6eae3c0 100644 --- a/main/gamesave.h +++ b/main/gamesave.h @@ -25,7 +25,7 @@ void LoadGame(void); void SaveGame(void); int get_level_name(void); -extern int load_level(char *filename); +extern int load_level(const char *filename); extern int save_level(char *filename); // called in place of load_game() to only load the .min data diff --git a/main/gauges.c b/main/gauges.c index 1056afb0..d8204bc8 100644 --- a/main/gauges.c +++ b/main/gauges.c @@ -3095,7 +3095,7 @@ int SW_drawn[2], SW_x[2], SW_y[2], SW_w[2], SW_h[2]; //user is one of the WBU_ constants. If rear_view_flag is set, show a //rear view. If label is non-NULL, print the label at the top of the //window. -void do_cockpit_window_view(int win,object *viewer,int rear_view_flag,int user,char *label) +void do_cockpit_window_view(int win,object *viewer,int rear_view_flag,int user,const char *label) { grs_canvas window_canv; static grs_canvas overlap_canv; diff --git a/main/gauges.h b/main/gauges.h index 78b1291b..c3ce1b2f 100644 --- a/main/gauges.h +++ b/main/gauges.h @@ -91,7 +91,7 @@ extern rgb player_rgb[]; // window user is one of the WBU_ constants. If rear_view_flag is // set, show a rear view. If label is non-NULL, print the label at // the top of the window. -void do_cockpit_window_view(int win, object *viewer, int rear_view_flag, int user, char *label); +void do_cockpit_window_view(int win, object *viewer, int rear_view_flag, int user, const char *label); #ifdef MACINTOSH # include "QuickDraw.h" diff --git a/main/kconfig.c b/main/kconfig.c index d83ea406..21cd79c1 100644 --- a/main/kconfig.c +++ b/main/kconfig.c @@ -64,7 +64,7 @@ ubyte ExtYVibrateClear = 0; #define TABLE_CREATION 1 // Array used to 'blink' the cursor while waiting for a keypress. -sbyte fades[64] = { 1,1,1,2,2,3,4,4,5,6,8,9,10,12,13,15,16,17,19,20,22,23,24,26,27,28,28,29,30,30,31,31,31,31,31,30,30,29,28,28,27,26,24,23,22,20,19,17,16,15,13,12,10,9,8,6,5,4,4,3,2,2,1,1 }; +static const sbyte fades[64] = { 1,1,1,2,2,3,4,4,5,6,8,9,10,12,13,15,16,17,19,20,22,23,24,26,27,28,28,29,30,30,31,31,31,31,31,30,30,29,28,28,27,26,24,23,22,20,19,17,16,15,13,12,10,9,8,6,5,4,4,3,2,2,1,1 }; //char *invert_text[2] = { "N", "Y" }; //char *joyaxis_text[4] = { "X1", "Y1", "X2", "Y2" }; @@ -108,7 +108,7 @@ char * key_text[256] = { }; #endif /* OGL */ -ubyte system_keys[] = { KEY_ESC, KEY_F1, KEY_F2, KEY_F3, KEY_F4, KEY_F5, KEY_F6, KEY_F7, KEY_F8, KEY_F9, KEY_F10, KEY_F11, KEY_F12, KEY_PRINT_SCREEN }; +static const ubyte system_keys[] = { KEY_ESC, KEY_F1, KEY_F2, KEY_F3, KEY_F4, KEY_F5, KEY_F6, KEY_F7, KEY_F8, KEY_F9, KEY_F10, KEY_F11, KEY_F12, KEY_PRINT_SCREEN }; //extern void GameLoop(int, int); @@ -124,19 +124,20 @@ ubyte system_keys[] = { KEY_ESC, KEY_F1, KEY_F2, KEY_F3, KEY_F4, KEY_F5, KEY_F6, #define BT_JOY_AXIS 4 #define BT_INVERT 5 -char *btype_text[] = { "BT_KEY", "BT_MOUSE_BUTTON", "BT_MOUSE_AXIS", "BT_JOY_BUTTON", "BT_JOY_AXIS", "BT_INVERT" }; - #define INFO_Y 28 typedef struct kc_item { - short id; // The id of this item - short x, y; - short w1; - short w2; + const short id; // The id of this item + const short x, y; + const short w1; + const short w2; +#ifndef TABLE_CREATION + const +#endif short u, d, l, r; //short text_num1; - char *text; - ubyte type; + const char *text; + const ubyte type; ubyte value; // what key,button,etc } kc_item; @@ -245,7 +246,7 @@ char *kc_key_bind_text[NUM_KEY_CONTROLS] = { "togglebomb", }; -ubyte default_kc_keyboard_settings[NUM_KEY_CONTROLS] = {0x48,0xc8,0x50,0xd0,0x4b,0xcb,0x4d,0xcd,0x38,0xff,0x4f,0xff,0x51,0xff,0x4a,0xff,0x4e,0xff,0x2a,0xff,0x10,0x47,0x12,0x49,0x1d,0x80,0x39,0x81,0x21,0x24,0x1e,0xff,0x2c,0xff,0x30,0xff,0x13,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf,0xff,0x1f,0xff,0x33,0xff,0x34,0xff,0x23,0xff,0x14,0xff,0xff}; +const ubyte default_kc_keyboard_settings[NUM_KEY_CONTROLS] = {0x48,0xc8,0x50,0xd0,0x4b,0xcb,0x4d,0xcd,0x38,0xff,0x4f,0xff,0x51,0xff,0x4a,0xff,0x4e,0xff,0x2a,0xff,0x10,0x47,0x12,0x49,0x1d,0x80,0x39,0x81,0x21,0x24,0x1e,0xff,0x2c,0xff,0x30,0xff,0x13,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xf,0xff,0x1f,0xff,0x33,0xff,0x34,0xff,0x23,0xff,0x14,0xff,0xff}; kc_item kc_other[NUM_OTHER_CONTROLS] = { { 0, 22,138, 51, 40, 23, 2, 23, 1,"Pitch U/D", BT_JOY_AXIS, 255 }, @@ -289,7 +290,7 @@ kc_axis_map kc_other_axismap[NUM_OTHER_CONTROLS] = { AXIS_THROTTLE, AXIS_NONE, }; -ubyte default_kc_other_settings[NUM_OTHER_CONTROLS] = {0x1,0x0,0x0,0x0,0xff,0x0,0xff,0x0,0xff,0x0,0xff,0x0,0x1,0x0,0x0,0x0,0xff,0x0,0xff,0x0,0xff,0x0,0x2,0x0}; +const ubyte default_kc_other_settings[NUM_OTHER_CONTROLS] = {0x1,0x0,0x0,0x0,0xff,0x0,0xff,0x0,0xff,0x0,0xff,0x0,0x1,0x0,0x0,0x0,0xff,0x0,0xff,0x0,0xff,0x0,0x2,0x0}; kc_item kc_d2x[NUM_D2X_CONTROLS] = { // id,x,y,w1,w2,u,d,l,r,text_num1,type,value @@ -323,7 +324,7 @@ kc_item kc_d2x[NUM_D2X_CONTROLS] = { //{ 27, 8,155,107, 26, 25, 0, 26, 0, "TOGGLE SEC AUTO", BT_KEY, 255}, }; -ubyte default_kc_d2x_settings[NUM_D2X_CONTROLS] = {0x2,0xff,0x3,0xff,0x4,0xff,0x5,0xff,0x6,0xff,0x7,0xff,0x8,0xff,0x9,0xff,0xa,0xff,0xb,0xff,0xc,0xff,0xd,0xff}; +const ubyte default_kc_d2x_settings[NUM_D2X_CONTROLS] = {0x2,0xff,0x3,0xff,0x4,0xff,0x5,0xff,0x6,0xff,0x7,0xff,0x8,0xff,0x9,0xff,0xa,0xff,0xb,0xff,0xc,0xff,0xd,0xff}; void kc_drawitem( kc_item *item, int is_current ); @@ -744,6 +745,7 @@ void kconfig_sub(kc_item * items,int nitems, char * title) #ifdef TABLE_CREATION case KEY_DEBUGGED+KEY_SHIFTED+KEY_2: case KEY_DEBUGGED+KEY_F12: { + static const char *const btype_text[] = { "BT_KEY", "BT_MOUSE_BUTTON", "BT_MOUSE_AXIS", "BT_JOY_BUTTON", "BT_JOY_AXIS", "BT_INVERT" }; FILE * fp; int j; @@ -775,7 +777,7 @@ void kconfig_sub(kc_item * items,int nitems, char * title) 34, kc_keyboard[i].text, 34, btype_text[kc_keyboard[i].type] ); } fprintf( fp, "};\n\n" ); - fprintf( fp, "ubyte default_kc_keyboard_settings[NUM_KEY_CONTROLS] = " ); + fprintf( fp, "const ubyte default_kc_keyboard_settings[NUM_KEY_CONTROLS] = " ); fprintf( fp, "{ 0x%x", kc_keyboard[0].value ); for ( j = 1; j < NUM_KEY_CONTROLS; j++ ) fprintf( fp, ", 0x%x", kc_keyboard[j].value ); @@ -789,7 +791,7 @@ void kconfig_sub(kc_item * items,int nitems, char * title) 34, kc_other[i].text, 34, btype_text[kc_other[i].type] ); } fprintf( fp, "};\n\n" ); - fprintf( fp, "ubyte default_kc_other_settings[NUM_OTHER_CONTROLS] = " ); + fprintf( fp, "const ubyte default_kc_other_settings[NUM_OTHER_CONTROLS] = " ); fprintf( fp, "{ 0x%x", kc_other[0].value ); for ( j = 1; j < NUM_OTHER_CONTROLS; j++ ) fprintf( fp, ", 0x%x", kc_other[j].value ); @@ -803,7 +805,7 @@ void kconfig_sub(kc_item * items,int nitems, char * title) 34, kc_d2x[i].text, 34, btype_text[kc_d2x[i].type] ); } fprintf( fp, "};\n\n" ); - fprintf( fp, "ubyte default_kc_d2x_settings[NUM_D2X_CONTROLS] = " ); + fprintf( fp, "const ubyte default_kc_d2x_settings[NUM_D2X_CONTROLS] = " ); fprintf( fp, "{ 0x%x", kc_d2x[0].value ); for ( j = 1; j < NUM_D2X_CONTROLS; j++ ) fprintf( fp, ", 0x%x", kc_d2x[j].value ); diff --git a/main/multi.c b/main/multi.c index ad04ae44..07a5e280 100644 --- a/main/multi.c +++ b/main/multi.c @@ -160,7 +160,7 @@ typedef struct netplayer_stats { ubyte unused[16]; } netplayer_stats; -int message_length[MULTI_MAX_TYPE+1] = { +static const int message_length[MULTI_MAX_TYPE+1] = { 24, // POSITION 3, // REAPPEAR 8, // FIRE diff --git a/main/multi.h b/main/multi.h index 4e7a1465..1ff60fd8 100644 --- a/main/multi.h +++ b/main/multi.h @@ -195,7 +195,6 @@ extern int Network_laser_level; extern int Network_laser_flags; extern int Netlife_kills,Netlife_killed; -extern int message_length[MULTI_MAX_TYPE+1]; extern char multibuf[MAX_MULTI_MESSAGE_LEN+4]; extern short Network_laser_track; diff --git a/main/newmenu.c b/main/newmenu.c index 439fcfe3..5b8faf6b 100644 --- a/main/newmenu.c +++ b/main/newmenu.c @@ -567,13 +567,13 @@ void draw_item( bkg *b, newmenu_item *item, int is_current, int tiny ) } -char *Newmenu_allowed_chars=NULL; +const char *Newmenu_allowed_chars=NULL; // returns true if char is allowed int char_allowed(char c) { - char *p = Newmenu_allowed_chars; + const char *p = Newmenu_allowed_chars; if (!p) return 1; diff --git a/main/newmenu.h b/main/newmenu.h index 8194ce43..9a721a91 100644 --- a/main/newmenu.h +++ b/main/newmenu.h @@ -107,7 +107,7 @@ int newmenu_get_filename(char *title, char *filespec, char *filename, int allow_ // in menu.c extern int Max_linear_depth_objects; -extern char *Newmenu_allowed_chars; +extern const char *Newmenu_allowed_chars; // Example listbox callback function... // int lb_callback( int * citem, int *nitems, char * items[], int *keypress ) diff --git a/maths/vecmat.c b/maths/vecmat.c index 0a251b02..bd5c33bd 100644 --- a/maths/vecmat.c +++ b/maths/vecmat.c @@ -37,7 +37,7 @@ vms_matrix vmd_identity_matrix = { { f1_0, 0, 0 }, //adds two vectors, fills in dest, returns ptr to dest //ok for dest to equal either source, but should use vm_vec_add2() if so -vms_vector *vm_vec_add(vms_vector *dest,vms_vector *src0,vms_vector *src1) +vms_vector *vm_vec_add(vms_vector *dest,const vms_vector *src0,const vms_vector *src1) { dest->x = src0->x + src1->x; dest->y = src0->y + src1->y; @@ -49,7 +49,7 @@ vms_vector *vm_vec_add(vms_vector *dest,vms_vector *src0,vms_vector *src1) //subs two vectors, fills in dest, returns ptr to dest //ok for dest to equal either source, but should use vm_vec_sub2() if so -vms_vector *vm_vec_sub(vms_vector *dest,vms_vector *src0,vms_vector *src1) +vms_vector *vm_vec_sub(vms_vector *dest,const vms_vector *src0,const vms_vector *src1) { dest->x = src0->x - src1->x; dest->y = src0->y - src1->y; @@ -60,7 +60,7 @@ vms_vector *vm_vec_sub(vms_vector *dest,vms_vector *src0,vms_vector *src1) //adds one vector to another. returns ptr to dest //dest can equal source -vms_vector *vm_vec_add2(vms_vector *dest,vms_vector *src) +vms_vector *vm_vec_add2(vms_vector *dest,const vms_vector *src) { dest->x += src->x; dest->y += src->y; @@ -71,7 +71,7 @@ vms_vector *vm_vec_add2(vms_vector *dest,vms_vector *src) //subs one vector from another, returns ptr to dest //dest can equal source -vms_vector *vm_vec_sub2(vms_vector *dest,vms_vector *src) +vms_vector *vm_vec_sub2(vms_vector *dest,const vms_vector *src) { dest->x -= src->x; dest->y -= src->y; @@ -82,7 +82,7 @@ vms_vector *vm_vec_sub2(vms_vector *dest,vms_vector *src) //averages two vectors. returns ptr to dest //dest can equal either source -vms_vector *vm_vec_avg(vms_vector *dest,vms_vector *src0,vms_vector *src1) +vms_vector *vm_vec_avg(vms_vector *dest,const vms_vector *src0,const vms_vector *src1) { dest->x = (src0->x + src1->x)/2; dest->y = (src0->y + src1->y)/2; @@ -94,7 +94,7 @@ vms_vector *vm_vec_avg(vms_vector *dest,vms_vector *src0,vms_vector *src1) //averages four vectors. returns ptr to dest //dest can equal any source -vms_vector *vm_vec_avg4(vms_vector *dest,vms_vector *src0,vms_vector *src1,vms_vector *src2,vms_vector *src3) +vms_vector *vm_vec_avg4(vms_vector *dest,const vms_vector *src0,const vms_vector *src1,const vms_vector *src2,const vms_vector *src3) { dest->x = (src0->x + src1->x + src2->x + src3->x)/4; dest->y = (src0->y + src1->y + src2->y + src3->y)/4; @@ -115,7 +115,7 @@ vms_vector *vm_vec_scale(vms_vector *dest,fix s) } //scales and copies a vector. returns ptr to dest -vms_vector *vm_vec_copy_scale(vms_vector *dest,vms_vector *src,fix s) +vms_vector *vm_vec_copy_scale(vms_vector *dest,const vms_vector *src,fix s) { dest->x = fixmul(src->x,s); dest->y = fixmul(src->y,s); @@ -126,7 +126,7 @@ vms_vector *vm_vec_copy_scale(vms_vector *dest,vms_vector *src,fix s) //scales a vector, adds it to another, and stores in a 3rd vector //dest = src1 + k * src2 -vms_vector *vm_vec_scale_add(vms_vector *dest,vms_vector *src1,vms_vector *src2,fix k) +vms_vector *vm_vec_scale_add(vms_vector *dest,const vms_vector *src1,const vms_vector *src2,fix k) { dest->x = src1->x + fixmul(src2->x,k); dest->y = src1->y + fixmul(src2->y,k); @@ -137,7 +137,7 @@ vms_vector *vm_vec_scale_add(vms_vector *dest,vms_vector *src1,vms_vector *src2, //scales a vector and adds it to another //dest += k * src -vms_vector *vm_vec_scale_add2(vms_vector *dest,vms_vector *src,fix k) +vms_vector *vm_vec_scale_add2(vms_vector *dest,const vms_vector *src,fix k) { dest->x += fixmul(src->x,k); dest->y += fixmul(src->y,k); @@ -166,7 +166,7 @@ vms_vector *vm_vec_scale2(vms_vector *dest,fix n,fix d) return dest; } -fix vm_vec_dotprod(vms_vector *v0,vms_vector *v1) +fix vm_vec_dotprod(const vms_vector *v0,const vms_vector *v1) { quadint q; @@ -734,7 +734,7 @@ bad_vector2: //rotates a vector through a matrix. returns ptr to dest vector //dest CANNOT equal source -vms_vector *vm_vec_rotate(vms_vector *dest,vms_vector *src,vms_matrix *m) +vms_vector *vm_vec_rotate(vms_vector *dest,const vms_vector *src,const vms_matrix *m) { Assert(dest != src); diff --git a/misc/error.c b/misc/error.c index 7b70fe11..7770f904 100644 --- a/misc/error.c +++ b/misc/error.c @@ -103,7 +103,7 @@ void print_exit_message(void) } //terminates with error code 1, printing message -void Error(char *fmt,...) +void Error(const char *fmt,...) { va_list arglist; diff --git a/misc/strutil.c b/misc/strutil.c index f35c3532..947c2420 100644 --- a/misc/strutil.c +++ b/misc/strutil.c @@ -128,7 +128,7 @@ void removeext(const char *filename, char *out) //give a filename a new extension, doesn't work with paths. -void change_filename_extension( char *dest, char *src, char *ext ) +void change_filename_extension( char *dest, const char *src, char *ext ) { char *p; -- 2.39.2