@@ -75,7 +75,7 @@ void save_palette(Fl_Widget*, void* start_end){
75
75
uint8_t *bufptr=bufskip;
76
76
for (unsigned i=start;i<end;++i){
77
77
if ((i&3 )||(i==0 )){
78
- *bufptr++=currentProject->palDat [i];
78
+ *bufptr++=currentProject->pal -> palDat [i];
79
79
++szskip;
80
80
}
81
81
}
@@ -121,7 +121,7 @@ void save_palette(Fl_Widget*, void* start_end){
121
121
return ;
122
122
}
123
123
}else {
124
- if (!saveBinAsText (currentProject->palDat +start,end-start,myfile,type,comment," palDat" ,bits)){
124
+ if (!saveBinAsText (currentProject->pal -> palDat +start,end-start,myfile,type,comment," palDat" ,bits)){
125
125
fl_alert (" Error: can not save file %s" ,the_file.c_str ());
126
126
return ;
127
127
}
@@ -137,7 +137,7 @@ void save_palette(Fl_Widget*, void* start_end){
137
137
return ;
138
138
}
139
139
}else {
140
- if (fwrite (currentProject->palDat +start,1 ,end-start,myfile)==0 ){
140
+ if (fwrite (currentProject->pal -> palDat +start,1 ,end-start,myfile)==0 ){
141
141
fl_alert (" Error: can not save file %s" ,the_file.c_str ());
142
142
return ;
143
143
}
@@ -166,8 +166,8 @@ void update_palette(Fl_Widget* o, void* v){
166
166
break ;
167
167
case spriteEditor:
168
168
temp_entry=spritePal.getEntry ();
169
- if (currentProject->haveAltspritePal )
170
- temp_entry+=currentProject->colorCnt ;
169
+ if (currentProject->pal -> haveAlt )
170
+ temp_entry+=currentProject->pal -> colorCnt ;
171
171
break ;
172
172
default :
173
173
show_default_error
@@ -181,27 +181,27 @@ void update_palette(Fl_Widget* o, void* v){
181
181
uint8_t temp2=(uint8_t )s->value ();
182
182
switch ((uintptr_t )v){
183
183
case 0 :// red
184
- temp_var=currentProject->palDat [(temp_entry*2 )+1 ];// get the green value we need to save it for later
184
+ temp_var=currentProject->pal -> palDat [(temp_entry*2 )+1 ];// get the green value we need to save it for later
185
185
temp_var&=0xF0 ;
186
186
temp_var|=temp2;
187
- currentProject->palDat [(temp_entry*2 )+1 ]=temp_var;
187
+ currentProject->pal -> palDat [(temp_entry*2 )+1 ]=temp_var;
188
188
// now convert the new red value
189
- currentProject->rgbPal [temp_entry*3 ]=palTab[(temp2>>1 )+palTypeGen];
189
+ currentProject->pal -> rgbPal [temp_entry*3 ]=palTab[(temp2>>1 )+palTypeGen];
190
190
break ;
191
191
case 1 :// green
192
192
// this is very similar to what I just did above
193
- temp_var=currentProject->palDat [(temp_entry*2 )+1 ];
193
+ temp_var=currentProject->pal -> palDat [(temp_entry*2 )+1 ];
194
194
temp_var&=15 ;// get only the red value
195
195
// now OR the new green value to it
196
196
temp_var|=temp2<<4 ;
197
- currentProject->palDat [(temp_entry*2 )+1 ]=temp_var;
197
+ currentProject->pal -> palDat [(temp_entry*2 )+1 ]=temp_var;
198
198
// now convert the new green value
199
- currentProject->rgbPal [(temp_entry*3 )+1 ]=palTab[(temp2>>1 )+palTypeGen];
199
+ currentProject->pal -> rgbPal [(temp_entry*3 )+1 ]=palTab[(temp2>>1 )+palTypeGen];
200
200
break ;
201
201
case 2 :
202
202
// blue is the most trivial conversion to do
203
- currentProject->palDat [temp_entry*2 ]=temp2;
204
- currentProject->rgbPal [(temp_entry*3 )+2 ]=palTab[(temp2>>1 )+palTypeGen];
203
+ currentProject->pal -> palDat [temp_entry*2 ]=temp2;
204
+ currentProject->pal -> rgbPal [(temp_entry*3 )+2 ]=palTab[(temp2>>1 )+palTypeGen];
205
205
break ;
206
206
}
207
207
}
@@ -218,21 +218,21 @@ void update_palette(Fl_Widget* o, void* v){
218
218
*/
219
219
case 0 :// Hue
220
220
// first read out value
221
- pal=currentProject->palDat [temp_entry];
221
+ pal=currentProject->pal -> palDat [temp_entry];
222
222
pal&=48 ;
223
223
pal|=(uint8_t )s->value ();
224
224
break ;
225
225
case 1 :// Value
226
- pal=currentProject->palDat [temp_entry];
226
+ pal=currentProject->pal -> palDat [temp_entry];
227
227
pal&=15 ;
228
228
pal|=((uint8_t )s->value ())<<4 ;
229
229
break ;
230
230
}
231
- currentProject->palDat [temp_entry]=pal;
231
+ currentProject->pal -> palDat [temp_entry]=pal;
232
232
rgb_out=MakeRGBcolor (pal);
233
- currentProject->rgbPal [temp_entry*3 +2 ]=rgb_out&255 ;// blue
234
- currentProject->rgbPal [temp_entry*3 +1 ]=(rgb_out>>8 )&255 ;// green
235
- currentProject->rgbPal [temp_entry*3 ]=(rgb_out>>16 )&255 ;// red
233
+ currentProject->pal -> rgbPal [temp_entry*3 +2 ]=rgb_out&255 ;// blue
234
+ currentProject->pal -> rgbPal [temp_entry*3 +1 ]=(rgb_out>>8 )&255 ;// green
235
+ currentProject->pal -> rgbPal [temp_entry*3 ]=(rgb_out>>16 )&255 ;// red
236
236
}
237
237
if (mode_editor == tile_edit)
238
238
currentProject->tileC ->truecolor_to_tile (tileEdit_pal.theRow ,currentProject->tileC ->current_tile ,false );// update tile
@@ -270,7 +270,7 @@ void loadPalette(Fl_Widget*, void*){
270
270
}
271
271
// read the palette to the buffer
272
272
rewind (fi);
273
- fread (currentProject->palDat +offset,1 ,file_size,fi);
273
+ fread (currentProject->pal -> palDat +offset,1 ,file_size,fi);
274
274
fclose (fi);
275
275
// now convert each value to rgb
276
276
switch (currentProject->gameSystem ){
@@ -314,15 +314,15 @@ void set_tile_row(Fl_Widget*,void* row){
314
314
void setPalType (Fl_Widget*,void *type){
315
315
switch (mode_editor){
316
316
case pal_edit:
317
- currentProject->palType [palEdit.getEntry ()]=(uintptr_t )type;
317
+ currentProject->pal -> palType [palEdit.getEntry ()]=(uintptr_t )type;
318
318
palEdit.updateSlider ();
319
319
break ;
320
320
case tile_edit:
321
- currentProject->palType [tileEdit_pal.getEntry ()]=(uintptr_t )type;
321
+ currentProject->pal -> palType [tileEdit_pal.getEntry ()]=(uintptr_t )type;
322
322
tileEdit_pal.updateSlider ();
323
323
break ;
324
324
case tile_place:
325
- currentProject->palType [tileMap_pal.getEntry ()]=(uintptr_t )type;
325
+ currentProject->pal -> palType [tileMap_pal.getEntry ()]=(uintptr_t )type;
326
326
tileMap_pal.updateSlider ();
327
327
break ;
328
328
default :
@@ -341,16 +341,16 @@ void rgb_pal_to_entry(Fl_Widget*,void*){
341
341
}
342
342
unsigned ent=tileEdit_pal.getEntry ();
343
343
pushPaletteEntry (ent);
344
- rgbToEntry (window->rgb_red ->value (),window->rgb_green ->value (),window->rgb_blue ->value (),ent);
344
+ currentProject-> pal -> rgbToEntry (window->rgb_red ->value (),window->rgb_green ->value (),window->rgb_blue ->value (),ent);
345
345
tileEdit_pal.updateSlider ();
346
346
currentProject->tileC ->truecolor_to_tile (tileEdit_pal.theRow ,currentProject->tileC ->current_tile ,false );
347
347
window->redraw ();
348
348
}
349
349
void entryToRgb (Fl_Widget*,void *){
350
350
unsigned en=tileEdit_pal.getEntry ()*3 ;
351
- truecolor_temp[0 ]=currentProject->rgbPal [en];
352
- truecolor_temp[1 ]=currentProject->rgbPal [en+1 ];
353
- truecolor_temp[2 ]=currentProject->rgbPal [en+2 ];
351
+ truecolor_temp[0 ]=currentProject->pal -> rgbPal [en];
352
+ truecolor_temp[1 ]=currentProject->pal -> rgbPal [en+1 ];
353
+ truecolor_temp[2 ]=currentProject->pal -> rgbPal [en+2 ];
354
354
window->rgb_red ->value (truecolor_temp[0 ]);
355
355
window->rgb_green ->value (truecolor_temp[1 ]);
356
356
window->rgb_blue ->value (truecolor_temp[2 ]);
@@ -359,8 +359,7 @@ void entryToRgb(Fl_Widget*,void*){
359
359
void clearPalette (Fl_Widget*,void *){
360
360
if (fl_ask (" This will set all colors to 0 are you sure you want to do this?\n You can undo this by pressing pressing CTRL+Z" )){
361
361
pushPaletteAll ();
362
- memset (currentProject->palDat ,0 ,128 );
363
- memset (currentProject->rgbPal ,0 ,192 );
362
+ currentProject->pal ->clear ();
364
363
window->damage (FL_DAMAGE_USER1);
365
364
palEdit.updateSlider ();
366
365
tileEdit_pal.updateSlider ();
0 commit comments