190Fermer192
FarewellLe 16/11/2009 à 23:22
De quelle manière un programme kernel compilé avec --remove-unused peut-il faire que 89 octets, alors qu'il devrait en faire dans les 300 ? main() appelle a() qui appelle b() qui dessine à l'écran. Quand j'enlève --remove-unused, tout rentre dans l'ordre (enfin, presque).
main.c
#include  "unedit.h"
#include  "kernel.h"
#include  "genlib.h"
#include  "funcs.h"
#include  "vars.h"

unsigned short MapWidth = 0;
unsigned short MapHeight = 0;
const SCR_RECT Clip = {{0,0,239,127}};

void main(void)
{
  NewMap();
}

et le fichier qui contient newmap :
menu.c
#include  "unedit.h"
#include  "kernel.h"
#include  "genlib.h"
#include  "funcs.h"
#include  "vars.h"

void DrawBox(char* title)
{
  ScrRectFill (&Clip, &Clip, A_REVERSE);
  ScrRectFill (&(SCR_RECT){{0,0,239,15}}, &(SCR_RECT)Clip, A_NORMAL);
  DrawStr (3, 3, title, A_REVERSE);
  DrawClipRect (&(WIN_RECT){0,0,159,99}, &(SCR_RECT)Clip, B_DOUBLE);
  ngetchx();
}

void NewMap (void)
{
  DrawBox ("New Map");
}


En plus, le DrawStr marche mais pas les dessins de rectangle, 1/2h que je suis dessus et je comprends pas fou A priori c'est au niveau de Clip que ça déconne.
edit -> Bon les rectangle marchent (oublié extern sick), mais toujours le problème avec --remove-unused...

J'ai honte de poster ça, je sens que je vais me prendre le gros vent du débutant, mais yen a marre mad