Sparc CPU does not like accessing non-aligned things. Depack some structures so the program don't crash. We should probably fix every struct, but I'm too lazy to check all of them right now (could corrupt saving and/or loading).
Added Gürkan Sengün to the bugfinders as he found the problem. Thanks ! git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@759 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
1eeed5aca4
commit
506ea20d36
25
helpfile.h
25
helpfile.h
@ -324,26 +324,27 @@ static const T_Help_table helptable_credits[] =
|
|||||||
HELP_TEXT ("")
|
HELP_TEXT ("")
|
||||||
HELP_TEXT (" BDCIron Ced El Topo ")
|
HELP_TEXT (" BDCIron Ced El Topo ")
|
||||||
HELP_TEXT (" fallenblood Frost Grimmy ")
|
HELP_TEXT (" fallenblood Frost Grimmy ")
|
||||||
HELP_TEXT (" iLKke keito kusma ")
|
HELP_TEXT (" Gürkan Sengün iLKke keito ")
|
||||||
HELP_TEXT (" Lord Graga mind MooZ ")
|
HELP_TEXT (" kusma Lord Graga mind ")
|
||||||
HELP_TEXT (" richienyhus TeeEmCee tempest ")
|
HELP_TEXT (" MooZ richienyhus TeeEmCee ")
|
||||||
HELP_TEXT (" Timo Kurrpa titus^Rab Tobé ")
|
HELP_TEXT (" tempest Timo Kurrpa titus^Rab ")
|
||||||
HELP_TEXT (" 00ai99 00.rgb.studios")
|
HELP_TEXT (" Tobé 00ai99 00.rgb.studios")
|
||||||
HELP_TEXT ("")
|
HELP_TEXT ("")
|
||||||
HELP_TEXT (" Posted the annoying bugreports")
|
HELP_TEXT (" Posted the annoying bugreports")
|
||||||
HELP_TEXT ("")
|
HELP_TEXT ("")
|
||||||
HELP_TITLE(" FILE FORMATS CREDITS")
|
HELP_TITLE(" FILE FORMATS CREDITS")
|
||||||
HELP_TEXT ("")
|
HELP_TEXT ("")
|
||||||
HELP_TEXT (" PKM : Sunset Design")
|
|
||||||
HELP_TEXT (" LBM : Electronic Arts")
|
|
||||||
HELP_TEXT (" GIF : Compuserve")
|
|
||||||
HELP_TEXT (" BMP : Microsoft")
|
HELP_TEXT (" BMP : Microsoft")
|
||||||
HELP_TEXT (" PCX : Z-Soft")
|
|
||||||
HELP_TEXT (" IMG : Bivas (W. Wiedmann?)")
|
|
||||||
HELP_TEXT (" SCx : Colorix (?)")
|
|
||||||
HELP_TEXT (" CEL,KCF : K.O.S. (KISekae Set system)")
|
HELP_TEXT (" CEL,KCF : K.O.S. (KISekae Set system)")
|
||||||
HELP_TEXT (" PI1,PC1 : Degas Elite")
|
HELP_TEXT (" GIF : Compuserve")
|
||||||
|
HELP_TEXT (" IMG : Bivas (W. Wiedmann?)")
|
||||||
|
HELP_TEXT (" LBM : Electronic Arts")
|
||||||
HELP_TEXT (" PAL : ermmh... nobody (?)")
|
HELP_TEXT (" PAL : ermmh... nobody (?)")
|
||||||
|
HELP_TEXT (" PCX : Z-Soft")
|
||||||
|
HELP_TEXT (" PI1,PC1 : Degas Elite")
|
||||||
|
HELP_TEXT (" PKM : Sunset Design")
|
||||||
|
HELP_TEXT (" PNG : ")
|
||||||
|
HELP_TEXT (" SCx : Colorix (?)")
|
||||||
HELP_TEXT ("")
|
HELP_TEXT ("")
|
||||||
HELP_TITLE (" OUR HOMEPAGE") //
|
HELP_TITLE (" OUR HOMEPAGE") //
|
||||||
HELP_TEXT ("") //
|
HELP_TEXT ("") //
|
||||||
|
|||||||
@ -159,6 +159,8 @@
|
|||||||
#undef opendir
|
#undef opendir
|
||||||
#undef closedir
|
#undef closedir
|
||||||
|
|
||||||
|
// gcc2 under haiku and beos don't like these macros for some reason.
|
||||||
|
// As they are not used there anyways, we remove them and everyone is happy.
|
||||||
#if !defined(__HAIKU__) && !defined(__BEOS__)
|
#if !defined(__HAIKU__) && !defined(__BEOS__)
|
||||||
#ifndef ME_DUMMY
|
#ifndef ME_DUMMY
|
||||||
# define ME_DUMMY(Fs_name, Fs_type) \
|
# define ME_DUMMY(Fs_name, Fs_type) \
|
||||||
@ -180,7 +182,6 @@
|
|||||||
|| strcmp (Fs_type, "nfs") == 0 \
|
|| strcmp (Fs_type, "nfs") == 0 \
|
||||||
|| strcmp (Fs_type, "volfs") == 0)
|
|| strcmp (Fs_type, "volfs") == 0)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef ME_REMOTE
|
#ifndef ME_REMOTE
|
||||||
/* A file system is `remote' if its Fs_name contains a `:'
|
/* A file system is `remote' if its Fs_name contains a `:'
|
||||||
@ -192,6 +193,7 @@
|
|||||||
&& (strcmp (Fs_type, "smbfs") == 0 \
|
&& (strcmp (Fs_type, "smbfs") == 0 \
|
||||||
|| strcmp (Fs_type, "cifs") == 0)))
|
|| strcmp (Fs_type, "cifs") == 0)))
|
||||||
#endif
|
#endif
|
||||||
|
#endif // HAIKU / BEOS
|
||||||
|
|
||||||
#ifdef MOUNTED_GETMNTINFO
|
#ifdef MOUNTED_GETMNTINFO
|
||||||
|
|
||||||
|
|||||||
2
op_c.c
2
op_c.c
@ -962,7 +962,7 @@ void GS_Generate(T_Gradient_set * ds,T_Cluster_set * cs)
|
|||||||
int diff; // difference de chrominance courante
|
int diff; // difference de chrominance courante
|
||||||
|
|
||||||
// Pour chacun des clusters … traiter
|
// Pour chacun des clusters … traiter
|
||||||
for (ic=1;ic<cs->nb;ic++)
|
for (ic=0;ic<cs->nb;ic++)
|
||||||
{
|
{
|
||||||
// On recherche le d‚grad‚ le plus proche de la chrominance du cluster
|
// On recherche le d‚grad‚ le plus proche de la chrominance du cluster
|
||||||
best_gradient=-1;
|
best_gradient=-1;
|
||||||
|
|||||||
4
setup.c
4
setup.c
@ -85,16 +85,18 @@ void Set_program_directory(ARG_UNUSED const char * argv0,char * program_dir)
|
|||||||
Extract_path(program_dir, argv0);
|
Extract_path(program_dir, argv0);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
// Determine which directory contains the read-only data.
|
// Determine which directory contains the read-only data.
|
||||||
// IN: The directory containing the executable
|
// IN: The directory containing the executable
|
||||||
// OUT: Write into data_dir. Trailing / or \ is kept.
|
// OUT: Write into data_dir. Trailing / or \ is kept.
|
||||||
void Set_data_directory(const char * program_dir, char * data_dir)
|
void Set_data_directory(const char * program_dir, char * data_dir)
|
||||||
{
|
{
|
||||||
// On all platforms, data is in the executable's directory
|
// On all platforms, data is in the executable's directory
|
||||||
strcpy(data_dir,program_dir);
|
|
||||||
// Except MacOSX:
|
// Except MacOSX:
|
||||||
#if defined(__macosx__)
|
#if defined(__macosx__)
|
||||||
strcat(data_dir,"Contents/Resources/");
|
strcat(data_dir,"Contents/Resources/");
|
||||||
|
#else
|
||||||
|
strcpy(data_dir,program_dir);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
4
struct.h
4
struct.h
@ -181,7 +181,7 @@ typedef struct
|
|||||||
dword Inverse; ///< Boolean, true if the gradient goes in descending order
|
dword Inverse; ///< Boolean, true if the gradient goes in descending order
|
||||||
dword Mix; ///< Amount of randomness to add to the mix (0-255)
|
dword Mix; ///< Amount of randomness to add to the mix (0-255)
|
||||||
dword Technique;///< Gradient technique: 0 (no pattern) 1 (dithering), or 2 (big dithering)
|
dword Technique;///< Gradient technique: 0 (no pattern) 1 (dithering), or 2 (big dithering)
|
||||||
} __attribute__((__packed__)) T_Gradient_array;
|
} T_Gradient_array;
|
||||||
|
|
||||||
/// Data for one setting of shade. Warning, this one is saved/loaded as binary.
|
/// Data for one setting of shade. Warning, this one is saved/loaded as binary.
|
||||||
typedef struct
|
typedef struct
|
||||||
@ -214,7 +214,7 @@ typedef struct
|
|||||||
{
|
{
|
||||||
byte Number; ///< Section identfier. Possible values are in enum ::CHUNKS_CFG
|
byte Number; ///< Section identfier. Possible values are in enum ::CHUNKS_CFG
|
||||||
word Size; ///< Size of the configuration block that follows, in bytes.
|
word Size; ///< Size of the configuration block that follows, in bytes.
|
||||||
} __attribute__((__packed__)) T_Config_chunk;
|
} T_Config_chunk;
|
||||||
|
|
||||||
/// Configuration for one keyboard shortcut in gfx2.cfg. Warning, this one is saved/loaded as binary.
|
/// Configuration for one keyboard shortcut in gfx2.cfg. Warning, this one is saved/loaded as binary.
|
||||||
typedef struct
|
typedef struct
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user