1

oué, je comprend pas trop certain truc ... j'ai (re)fait mon petit bonhomme bougeant sur une map ,le truc c'est qu'avec des clrscr() pour tout réafficher, ça clignote à mort avec des sprites noirs. Je pensais donc utiliser des écran virtuels.
Important : c'est ma map qui bouge sous le bonhomme lui reste en place au centre de l'écran.

Mais ça plante à fond. sad
(tout est demandé pour l'écran de Ti89 : 100*160 pixels)

En fait, j'affiche ma map plus grande que l'écran (ben oui, pour pouvoir se déplacer ensuite et que des sprites s'affichent lors des mouvements de la map sous le bonhomme), et je pense que tout vient de là.
J'utilise des sprites de 16*16 ,donc 10 s'affichent sur l'écran en longueur, mais 2 autres sont aussi affiché en dehors de l'écran (clipping), et 6 s'affichent en largeur, mais tjs pareil, 2 autres sont là en plus.

en gros :
[b][4]2 2 2 2 2 2 2 2 2 2 2 2[/4][/b]
[b][4]2[/4][/b] 2 2 2 2 2 2 2 2 2 2 [b][4]2[/4][/b] 
[b][4]2[/4][/b] 2 2 2 2 2 2 2 2 2 2 [b][4]2[/4][/b]
[b][4]2[/4][/b] 2 2 2 2 2 2 2 2 2 2 [b][4]2[/4][/b]
[b][4]2[/4][/b] 2 2 2 2 2 2 2 2 2 2 [b][4]2[/4][/b]
[b][4]2[/4][/b] 2 2 2 2 2 2 2 2 2 2 [b][4]2[/4][/b]
[b][4]2[/4][/b] 2 2 2 2 2 2 2 2 2 2 [b][4]2[/4][/b]
[b][4]2 2 2 2 2 2 2 2 2 2 2 2[/4][/b]



rouge = les sprite de 16*16 qui sortent de l'écran grace au clipping (même si je l'ai pas encore mis).
en fait j'affiche 16 pixel de + à gauche, 16 pixel de + à droite, 16 pixel de + en haut et 16 pixel de plus en bas (par rapport à la taille de l'écran de la 89). wink

void *virtuel1 = malloc(3840);

à quoi correspond le "3840" ???
Vu que ma map à afficher est + grande, que faut il que je mette

PortSet(virtuel1, xxx, yyy);

que faut il que je mette en xxx et yyy (j'ai essayé plusieurs trucs mais rien marche)

memcpy(LCD_MEM, virtuel1, 3840);

faut il aussi que je mette 3840 vu que j'affiche + large que l'écran ?


aussi, tout marche nickel avant que je mette les écran virtuels, doc c'est pas un problème de programmation datant d'avant.

merci. wink


[edit]Edité par Pim89 le 04-03-2002 à 21:38:01[/edit]
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

2

les 3840 sont pour la taille de l'écran en mémoire. Faut que tu vois si tu es sur 89 ou sur 92 car il y a une différence importante à ce moment pour la copie. Mais comme je ne fais pas de graphisme...
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

3

justement, si la taille d'écran que je veux est + grande, il faudra que cette taille soit grande aussi nan ???

En fait, si je fesais du clipping directement lors de l'affichage sur l'écran virtuel, est ce qu'il ferait pas le tri pour moi, donc plus besoin de s'emmerder à prendre un écran virtuel plus grand ect ???? confus
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

4

effetivement, ta taille virtuelle est plus grosse, donc dajà plus de 3840 octets à allouer, et du clipping soit sur un écran virtuel vers 3840, soit clipping directement lors de la recopie.
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

5

oué, je pensais à ça aussi ...

car là je peux prendre un écran virtuel de taille normale (LCD_SIZE), et tout afficher en clipping dessus, comme ça plus de problème de taille .

Est ce que XLib peut faire du clipping sur un écran virtuel (sachant que je n'affiche que des Sprite en noir et blanc) ???

merci.
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

6

regarde aussi genlib.
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

7

Oui, mais on peut pas encore utiliser Genlib en C nostub .... wink
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

8

Le temps que ca arrive tu n'auras pas encore releaser ton programme.
Et cela resoudra TOUS tes problemes.
[edit]Edité par PpHd le 05-03-2002 à 12:11:50[/edit]

9

"TOUT" => au singulier.. ca en resoudra donc aucun...
Puis genlib suxxxx smile
Tu peux faire tout ce que tu veux avec extgraphlib... alors utilise cette lib pour apprendre a programmer un peut toi meme, apres tu pouras utiliser des lib comme genlib et Xlib, qui se charge deplus de truc.... Car parfois il vaut mieux comprendre comment ca marche...
C'est un conseil a toi de voir..
[edit]Edité par timad le 05-03-2002 à 12:06:05[/edit]
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

10

en fait il me faut juste le clipping, tout le reste je le gère moi même ... wink

heeeeyy !!! les nouveaux smiley : trisotop
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

11

genlib_c_pas_facile_mais_tu_peux_essayer_ou_mm_xlib
avatar
納 豆パワー!
I becamed a natto!!!1!one!

12

TiMad >> je comprend pas trop comment il faut utiliser Xlib .... quand j'ajoute le fichier "X_Sprite_16" au projet, il n'y a qu'un code asm dans Header ... ?!

Comment se servir ensuite de la fonction BWSprite16() par ex ??? du moins, la fonction qu permet d'afficher des Sprites de 16*16 en noir et blanc et clippé ????

merci.
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

13

Frustration

14

confus


PpHd >> si Genlib sort rapidement pour le C nostub, je l'essairai aussi ... oui
[edit]Edité par Pim89 le 06-03-2002 à 13:39:43[/edit]
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

15

Je t'ai deja dit que tu pouvais commencer de suite !

16

Pim89:
Tu ajoute le fichier _Xl_ib.h et le fichier _X_Macro.h et ensuite tu peux utiliser les fonctions..
Mais regardes l'exemple pour l'utilisation de la lib...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

17

Sinon tu peux demander a Squale92, qui maitrise le fonctionnement de la libsmile
Enfin si il veut bien t'expliquer , car sinon faudra attendre la sortie de la doc... parce que j'ai tres peux de temps sad
dsl
sinon Extgraphlib gere le clipping aussi..
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

18

Extgraphlib gere le clipping ?
A bon. Et Xlib est tres simple d'utilisation. Et a bidouillede dedans aussi.
Mais ca me fait planter ma compilation sad

19

Ca fait planter la comilation? ?? comprend pas..

On ma dit que la derniere version d'extgraphlib gere le clipping... moi je croi ce que l'on m'a dit...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

20

>TiMad: On ma dit que la derniere version d'extgraphlib gere le clipping... moi je croi ce que l'on m'a dit...

On t'a menti. ExtGraph ne gère malheureusement pas le clipping.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

21

Et oui, Extgrapoh n'est pas clippée...
ce qui rend Xlib plus pratique ds certains cas.
je peux éventuellement t'expliquer quelques trucs de XLib... mais cible tes questions (j'ai pas des heures et des heures)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

22

Mais merde !!!! J'ajoute tous les *.h de Xlib dans mon projet, je met bien au début du prog :

#include "_X_Constantes.h"
#include "_X_Plane.h"
#include "_X_PxlPut.h"
#include "_X_Sprite_16x.h" 
#include "_X_Sprite_8x.h"
#include "_X_Lib.h"
#include "_X_Lib_MACRO.h"


puis ensuite je me sers de cette fonction et poufff "adresse error" :

XBWSprite16x(80,48,sbho[1],16);

(mon sprite est bien en noir et blanc pourtant et en 16*16).

Pourquoi ????
J'ai fais ce qu'il y avait ds l'exmple pourtant !!!
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

23

foi que tu crée un Gplan...
fo que tu dises quel est le GPlan actif
faut que tu sélectionne le plan du Gplan actif
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

24

Faut en fait créer un plan, tout faire dessus, et le recopier sur le LCD_MEM pour que ça marche ????
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

25

"protected memory violation" mad

Pourtant, voilà exactement mon code :

#define USE_TI89              // Produce .89z File

#define OPTIMIZE_ROM_CALLS    // Use ROM Call Optimization

#define SAVE_SCREEN           // Save/Restore LCD Contents

#include <tigcclib.h>         // Include All Header Files

#include "_X_Constantes.h"
#include "_X_Plane.h"
#include "_X_PxlPut.h"
#include "_X_Sprite_16x.h"
#include "_X_Sprite_8x.h"
#include "_X_Lib.h"
#include "_X_Lib_MACRO.h"

void _main(void)
{
  void *Teste= NULL;
  unsigned short sbho[10][16]={{ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},{ 0x7E0, 0x810, 0x1008, 0x1008, 0x381C, 0x37EC, 0x500A, 0x4242, 0x324C, 0x381C, 0x4FF2, 0x4FF2, 0x399C, 0x1668, 0x1188, 0xE70},{ 0x0, 0x7E0, 0x810, 0x1008, 0x1008, 0x381C, 0x3FFC, 0x500A, 0x4242, 0x324E, 0x281A, 0x2FFC, 0x33D8, 0x1270, 0xD90, 0xE0},{ 0x7E0, 0x810, 0x1008, 0x1008, 0x300C, 0x381C, 0x5FFA, 0x4FF2, 0x33CC, 0x3C3C, 0x5BDA, 0x581A, 0x3C3C, 0x17E8, 0x1188, 0xE70},{ 0x0, 0x7E0, 0x810, 0x1008, 0x1008, 0x300C, 0x381C, 0x5FFA, 0x4FF2, 0x73CC, 0x5C3C, 0x3BD2, 0x1812, 0xC3C, 0xBC0, 0x700},{ 0x7E0, 0x810, 0x1008, 0x183C, 0x3FC6, 0x3F8C, 0x3F28, 0x1928, 0x808, 0x1610, 0x13E0, 0x14C0, 0x14C0, 0xF20, 0x420, 0x3C0},{ 0x0, 0x7E0, 0x810, 0x1008, 0x182C, 0x3FC6, 0x3F0C, 0x3F28, 0x1928, 0x808, 0x1610, 0x17E0, 0x19F8, 0x2924, 0x27C8, 0x1870},{ 0x7E0, 0x810, 0x1008, 0x3418, 0x62FC, 0x31FC, 0x14FC, 0x149C, 0x1010, 0x868, 0x7C8, 0x328, 0x328, 0x4F0, 0x420, 0x3C0},{ 0x0, 0x7E0, 0x810, 0x1008, 0x2418, 0x62FC, 0x31FC, 0x14FC, 0x1498, 0x1010, 0x868, 0x7E8, 0x1F98, 0x2494, 0x13E4, 0xE18},{ 0x0, 0x7E0, 0x810, 0x1008, 0x1008, 0x381C, 0x3FFC, 0x500A, 0x4242, 0x724C, 0x5814, 0x3FF4, 0x1BCC, 0xE48, 0x9B0, 0x700}};
  clrscr();
  Teste=XNewGPlan();
  XGPlanc(Teste);
  XClrGPlan();
  XBWSprite16x(80,48,sbho[1],16);
  XCpyGPlanToLCD();
  ngetchx();
  XDestrGplan(Teste);
}




Pourquoi ??????????? !!!!!!!!!!!!!!!!!!!!! sad
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

26

Avant d'uitliser la fonction d'affichage de sprt sur seulement une couleur, fo que tu sélectione la couelur (XBWPlanc ou quelque chose comme àa)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

27

Tiré de la doc de Xlib :

>> void XBWSprite16x(x,y,BWSprite,hauteur)

*Principe: affiche un BWSprite sur le Gplan actif. (OR)


La couleur est déjà précisée : noir et blanc. y'a rien dis de plus. tsss
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

28

fo que tu utilises XBWPlanc(DARK_PLANE) ou XBWPlanc(LIGHT_PLANE)
avant, pr dire sur quelle couleur tu veux afficher.

Même si c po mis ds la doc, c'est ce que je fé et ça marche
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

29

Mais C que du noir et blanc ! pourquoi passer par des DARK_PLANE et LIGHT_PLANE ??? (== niveau de gris, mais moi y'en a pas).

Cela expliquerait le "memory violation" ????
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

30

C'est du noir et blanc, certes, mais tu travaille avec une lib qui ne travaille qu'en niveaux de gris !
=> ça, ça va afficher sur un seul plan (gray lighht oy gray dark)
pr aficher en noir et blanc pur, fo afficher sur les deux à la fois.

Cela est du au fait que Xlib est faite pr développer des jeux en niveaux de gris !
(les jeux en BW uniquement ne sont plus développés, ou presque)

D'ailleurs, dans ton source, il manque XGon() et XGoff() !!!
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall