Neocore
Loading...
Searching...
No Matches
neocore.h
Go to the documentation of this file.
1/*
2 David Vandensteen
3*/
4
5 //--------------------------------------------------------------------------//
6 // DEFINE //
7//--------------------------------------------------------------------------//
8
9#ifndef NEOCORE_H
10#define NEOCORE_H
11
12#include <DATlib.h>
13#include <math.h>
14
15#define SHRUNK_TABLE_PROP_SIZE 0x2fe
16
17#define MANUALBOX 0
18#define AUTOBOX 1
19
22
23 //--------------------------------------------------------------------------//
24 // STRUCTURE //
25//--------------------------------------------------------------------------//
26
27typedef struct Vec2int { int x; int y; } Vec2int;
28typedef struct Vec2short { short x; short y; } Vec2short;
29typedef struct Vec2byte { BYTE x; BYTE y; } Vec2byte;
30typedef char Hex_Color[3];
31typedef char Hex_Packed_Color[5];
32
33typedef struct Box {
39 short width;
40 short height;
44
45typedef struct GFX_Animated_Sprite {
46 aSprite aSpriteDAT;
47 spriteInfo *spriteInfoDAT;
48 paletteInfo *paletteInfoDAT;
50
51typedef struct GFX_Picture {
52 picture pictureDAT;
53 pictureInfo *pictureInfoDAT;
54 paletteInfo *paletteInfoDAT;
58
64
65typedef struct GFX_Picture_Physic {
71
72typedef struct GFX_Scroller {
73 scroller scrollerDAT;
74 scrollerInfo *scrollerInfoDAT;
75 paletteInfo *paletteInfoDAT;
77
78typedef struct Adpcm_player {
82
83typedef struct RGB16 {
84 BYTE dark : 4, r : 4, g : 4, b : 4;
86
87 //--------------------------------------------------------------------------//
88 // GFX //
89//--------------------------------------------------------------------------//
90
91 /*------------------*/
92 /* GFX INIT */
93/*------------------*/
95 GFX_Animated_Sprite *gfx_animated_sprite,
96 spriteInfo *spriteInfo,
97 paletteInfo *paletteInfo
98);
99
101 GFX_Animated_Sprite_Physic *gfx_animated_sprite_physic,
102 spriteInfo *spriteInfo,
103 paletteInfo *paletteInfo,
104 short box_witdh,
105 short box_height,
106 short box_width_offset,
107 short box_height_offset
108);
109
111 GFX_Picture *gfx_picture,
112 pictureInfo *pictureInfo,
113 paletteInfo *paletteInfo
114);
115
117 GFX_Picture_Physic *gfx_picture_physic,
118 pictureInfo *pi,
119 paletteInfo *pali,
120 short box_witdh,
121 short box_height,
122 short box_width_offset,
123 short box_height_offset,
124 BOOL autobox_enabled
125);
126
128 GFX_Scroller *gfx_scroller,
129 scrollerInfo *scrollerInfo,
130 paletteInfo *paletteInfo
131);
132
133 /*------------------*/
134 /* GFX DISPLAY */
135/*------------------*/
136
138 GFX_Animated_Sprite *gfx_animated_sprite,
139 short x,
140 short y,
141 WORD anim
142);
143
145 GFX_Animated_Sprite_Physic *gfx_animated_sprite_physic,
146 short x,
147 short y,
148 WORD anim
149);
150
151void nc_display_gfx_picture(GFX_Picture *gfx_picture, short x, short y);
152void nc_display_gfx_picture_physic(GFX_Picture_Physic *gfx_picture_physic, short x, short y);
153void nc_display_gfx_scroller(GFX_Scroller *gfx_scroller, short x, short y);
154
155 /*-----------------------*/
156 /* GFX INIT DISPLAY */
157/*-----------------------*/
158
160 GFX_Animated_Sprite *gfx_animated_sprite,
161 spriteInfo *spriteInfo,
162 paletteInfo *paletteInfo,
163 short x,
164 short y,
165 WORD anim
166);
167
169 GFX_Animated_Sprite_Physic *gfx_animated_sprite_physic,
170 spriteInfo *spriteInfo,
171 paletteInfo *paletteInfo,
172 short x,
173 short y,
174 short box_witdh,
175 short box_height,
176 short box_width_offset,
177 short box_height_offset,
178 WORD anim
179);
180
182 GFX_Picture *gfx_picture,
183 pictureInfo *pictureInfo,
184 paletteInfo *paletteInfo,
185 short x,
186 short y
187);
188
190 GFX_Picture_Physic *gfx_picture_physic,
191 pictureInfo *pictureInfo,
192 paletteInfo *paletteInfo,
193 short x,
194 short y,
195 short box_witdh,
196 short box_height,
197 short box_width_offset,
198 short box_height_offset,
199 BOOL autobox_enabled
200);
201
203 GFX_Scroller *gfx_scroller,
204 scrollerInfo *scrollerInfo,
205 paletteInfo *paletteInfo,
206 short x,
207 short y
208);
209
210 /*------------------*/
211 /* GFX VISIBILITY */
212/*------------------*/
213
215
219
224
225 /*------------------*/
226 /* GFX POSITION */
227/*------------------*/
228
229/* GFX POSITION GETTER */
230
232
234 GFX_Animated_Sprite_Physic gfx_animated_sprite_physic
235);
236
240
241/* GFX POSITION SETTER */
242
243void nc_set_position_gfx_picture_physic(GFX_Picture_Physic *gfx_picture_physic, short x, short y);
244
246 GFX_Animated_Sprite_Physic *gfx_animated_sprite_physic,
247 short x,
248 short y
249);
250
251void nc_set_position_gfx_scroller(GFX_Scroller *gfx_scroller, short x, short y);
252void nc_set_position_gfx_animated_sprite(GFX_Animated_Sprite *gfx_animated_sprite, short x, short y);
253void nc_set_position_gfx_picture(GFX_Picture *gfx_picture, short x, short y);
254
255/* GFX POSITION MOVE*/
256
257void nc_move_gfx_picture_physic(GFX_Picture_Physic *gfx_picture_physic, short x_offset, short y_offset);
258
260 GFX_Animated_Sprite_Physic *gfx_animated_sprite_physic,
261 short x_offset,
262 short y_offset
263);
264
266 GFX_Animated_Sprite *gfx_animated_sprite,
267 short x_offset,
268 short y_offset
269);
270
271void nc_move_gfx_picture(GFX_Picture *gfx_picture, short x, short y);
272void nc_move_gfx_scroller(GFX_Scroller *gfx_scroller, short x, short y);
273
274 /*-------------------*/
275 /* GFX SHRUNK */
276/*-------------------*/
277
278#define nc_shrunk_extract_x(value) value >> 8
279#define nc_shrunk_extract_y(value) (BYTE)value
280
282 GFX_Picture *gfx_picture,
283 short center_x,
284 short center_y,
285 WORD shrunk_value
286);
287
288 /*-------------------*/
289 /* GFX ANIMATION */
290/*-------------------*/
291
292void nc_set_animation_gfx_animated_sprite(GFX_Animated_Sprite *gfx_animated_sprite, WORD anim);
293
295 GFX_Animated_Sprite_Physic *gfx_animated_sprite_physic,
296 WORD anim
297);
298
300
302 GFX_Animated_Sprite_Physic *gfx_animated_sprite_physic
303);
304
305 /*-------------------*/
306 /* GFX DESTROY */
307/*-------------------*/
308
312
315
316 //--------------------------------------------------------------------------//
317 // GPU //
318//--------------------------------------------------------------------------//
319
322
323 /*------------------------------*/
324 /* GPU VBL */
325/*------------------------------*/
326
327#define nc_wait_vbl() waitVBlank();
329DWORD nc_wait_vbl_max(WORD nb);
330
331 /*------------------------------*/
332 /* GPU SPRITE INDEX MANAGEMENT */
333/*------------------------------*/
334
338
339 /*---------------*/
340 /* GPU PALETTE */
341/*---------------*/
342
343void nc_destroy_palette(paletteInfo* paletteInfo);
347void nc_read_palette_rgb16(BYTE palette_number, BYTE palette_index, RGB16 *rgb_color);
348void nc_packet_color16_to_rgb16(WORD packed_color, RGB16 *rgb_color);
349
350#define nc_rgb16_to_packed_color16(color) \
351 ((((color.dark) & 0xF) << 12) | (((color.r) & 0xF) << 8) | (((color.g) & 0xF) << 4) | ((color.b) & 0xF))
352
353#define nc_set_palette_by_packed_color16(palette_number, palette_index, color) \
354 do { \
355 int address = 0x400000 | ((palette_number) << 5) | ((palette_index) << 1); \
356 volMEMWORD(address) = (color); \
357 } while (0)
358
359#define nc_set_palette_by_rgb16(palette_number, palette_index, color) \
360 do { \
361 WORD packed_color = nc_rgb16_to_packed_color16(color); \
362 nc_set_palette_by_packed_color16(palette_number, palette_index, packed_color); \
363 } while (0)
364
365#define nc_get_palette_packed_color16(palette_number, palette_index) \
366 ({ \
367 int address = 0x400000 | ((palette_number) << 5) | ((palette_index) << 1); \
368 volMEMWORD(address); \
369 })
370
371#define nc_set_palette_backdrop_by_packed_color16(packed_color) \
372 do { \
373 int address = 0x401FFE; \
374 volMEMWORD(address) = (packed_color); \
375 } while (0)
376
377#define nc_set_palette_backdrop_by_rgb16(color) \
378 do { \
379 WORD packed_color = nc_rgb16_to_packed_color16(color); \
380 nc_set_palette_backdrop_by_packed_color16(packed_color); \
381 } while (0)
382
383 /*--------------*/
384 /* GPU shrunk */
385/*--------------*/
386
388int nc_shrunk_centroid_get_translated_x(short centerPosX, WORD tileWidth, BYTE shrunkX);
389int nc_shrunk_centroid_get_translated_y(short centerPosY, WORD tileHeight, BYTE shrunkY);
390void nc_shrunk(WORD base_sprite, WORD max_width, WORD value);
391WORD nc_shrunk_forge(BYTE xc, BYTE yc);
392void nc_shrunk_addr(WORD addr, WORD shrunk_value);
393WORD nc_shrunk_range(WORD addr_start, WORD addr_end, WORD shrunk_value);
394
395 //--------------------------------------------------------------------------//
396 // MATH //
397//--------------------------------------------------------------------------//
398
399#define nc_bitwise_division_2(value) (value >> 1)
400#define nc_bitwise_division_4(value) (value >> 2)
401#define nc_bitwise_division_8(value) (value >> 3)
402#define nc_bitwise_division_16(value) (value >> 4)
403#define nc_bitwise_division_32(value) (value >> 5)
404#define nc_bitwise_division_64(value) (value >> 6)
405#define nc_bitwise_division_128(value) (value >> 7)
406#define nc_bitwise_division_256(value) (value >> 8)
407
408#define nc_bitwise_multiplication_2(value) (value << 1)
409#define nc_bitwise_multiplication_4(value) (value << 2)
410#define nc_bitwise_multiplication_8(value) (value << 3)
411#define nc_bitwise_multiplication_16(value) (value << 4)
412#define nc_bitwise_multiplication_32(value) (value << 5)
413#define nc_bitwise_multiplication_64(value) (value << 6)
414#define nc_bitwise_multiplication_128(value) (value << 7)
415#define nc_bitwise_multiplication_256(value) (value << 8)
416
417#define nc_random(range) rand() % range
418
419#define nc_min(a,b) ((a) < (b) ? (a) : (b))
420#define nc_max(a,b) ((a) > (b) ? (a) : (b))
421
422#define nc_abs(num) ((num) < 0 ? ~(num) + 1 : (num))
423#define nc_negative(num) -num
424
425#define nc_fix(num) num * 65536
426#define nc_fix_to_int(num) fixtoi(num)
427#define nc_int_to_fix(num) itofix(num)
428#define nc_fix_add(num1, num2) fadd(num1, num2)
429#define nc_fix_sub(num1, num2) fsub(num1, num2)
430#define nc_fix_mul(num1, num2) fmul(num1, num2)
431#define nc_cos(num) fcos(num)
432#define nc_tan(num) ftan(num)
433
434void nc_byte_to_hex(BYTE value, char *hexchar);
435void nc_word_to_hex(WORD value, char *hexchar);
436char nc_sin(WORD index);
437
438 //--------------------------------------------------------------------------//
439 // PHYSIC //
440//--------------------------------------------------------------------------//
441
442#define nc_copy_box(box_src, box_dest) memcpy(box_dest, box_src, sizeof(Box))
443
444BYTE nc_collide_boxes(Box *box, Box *boxes[], BYTE box_max);
445BOOL nc_collide_box(Box *box1, Box *box2);
446void nc_init_box(Box *box, short width, short height, short widthOffset, short heightOffset);
447void nc_update_box(Box *box, short x, short y);
448
449//void mask_display(picture pic[], Vec2short vec[], BYTE vector_max); // todo (minor) - rename ? (vectorsDisplay)
450void nc_update_mask(short x, short y, Vec2short vec[], Vec2short offset[], BYTE vector_max); // todo (minor) - rename ? (vectorsDebug)
451
452void nc_shrunk_box(Box *box, Box *bOrigin, WORD shrunkValue);
453void nc_resize_box(Box *Box, short edge); // todo (minor) - deprecated ?
454
455 //--------------------------------------------------------------------------//
456 // SOUND //
457//--------------------------------------------------------------------------//
458
459 //---------
460 // CDDA
461//-----------
462
463void nc_play_cdda(BYTE track);
466#define nc_stop_cdda() nc_pause_cdda()
467
468 //--------
469 // ADPCM
470//----------
471
473
474 //----------------------------------------------------------------------------//
475 // JOYPAD //
476//----------------------------------------------------------------------------//
477
478void nc_set_joypad_edge_mode(BOOL actived);
479void nc_update_joypad(BYTE id);
480void nc_joypad_update(BYTE id);
481
482BOOL nc_joypad_is_up(BYTE id);
483BOOL nc_joypad_is_down(BYTE id);
484BOOL nc_joypad_is_left(BYTE id);
485BOOL nc_joypad_is_right(BYTE id);
486BOOL nc_joypad_is_start(BYTE id);
487BOOL nc_joypad_is_a(BYTE id);
488BOOL nc_joypad_is_b(BYTE id);
489BOOL nc_joypad_is_c(BYTE id);
490BOOL nc_joypad_is_d(BYTE id);
491
492void nc_debug_joypad(BYTE id);
493
494 //----------------------------------------------------------------------------//
495 // UTIL //
496//----------------------------------------------------------------------------//
497
498DWORD nc_frame_to_second(DWORD frame);
499DWORD nc_second_to_frame(DWORD second);
501void nc_reset();
503void nc_pause(BOOL (*exitFunc)());
504void nc_sleep(DWORD frame);
505BOOL nc_each_frame(DWORD frame);
506void nc_print(int x, int y, char *label);
508#define nc_get_frame_counter() DAT_frameCounter
509
510 /*---------------*/
511 /* UTIL LOGGER */
512/*---------------*/
513
517void nc_set_position_log(WORD _x, WORD _y);
518void nc_set_auto_next_line_log(BOOL auto_next_line);
520
521WORD nc_log_info(char *txt, ...);
522
526void nc_log(char *message);
527
528void nc_log_word(char *label, WORD value);
529void nc_log_int(char *label, int value);
530void nc_log_dword(char *label, DWORD value);
531void nc_log_short(char *label, short value);
532void nc_log_byte(char *label, BYTE value);
533void nc_log_bool(char *label, BOOL value);
534void nc_log_spriteInfo(char *label, spriteInfo *si);
535void nc_log_box(char *label, Box *b);
536void nc_log_pictureInfo(char *label, pictureInfo *pi);
537void nc_log_vec2short(char *label, Vec2short vec2short);
538void nc_log_palette_info(paletteInfo *paletteInfo);
539void nc_log_packed_color16(WORD packed_color);
540void nc_log_rgb16(RGB16 *color);
541
542 /*---------------*/
543 /* SOUND */
544/*---------------*/
545
550
551 /*---------------*/
552 /* UTIL VECTOR */
553/*---------------*/
554
555BOOL nc_vectors_collide(Box *box, Vec2short vec[], BYTE vector_max);
556BOOL nc_vector_is_left(short x, short y, short v1x, short v1y, short v2x, short v2y);
557
558#endif
void nc_word_to_hex(WORD value, char *hexchar)
void nc_init_gfx_animated_sprite(GFX_Animated_Sprite *gfx_animated_sprite, spriteInfo *spriteInfo, paletteInfo *paletteInfo)
void nc_display_gfx_picture(GFX_Picture *gfx_picture, short x, short y)
void nc_init_adpcm()
void nc_init_display_gfx_scroller(GFX_Scroller *gfx_scroller, scrollerInfo *scrollerInfo, paletteInfo *paletteInfo, short x, short y)
void nc_init_system()
char Hex_Color[3]
Definition: neocore.h:30
void nc_hide_gfx_picture_physic(GFX_Picture_Physic *gfx_picture_physic)
BOOL nc_joypad_is_down(BYTE id)
void nc_log_int(char *label, int value)
BOOL nc_vector_is_left(short x, short y, short v1x, short v1y, short v2x, short v2y)
void nc_init_display_gfx_picture(GFX_Picture *gfx_picture, pictureInfo *pictureInfo, paletteInfo *paletteInfo, short x, short y)
void nc_display_gfx_picture_physic(GFX_Picture_Physic *gfx_picture_physic, short x, short y)
void nc_set_auto_next_line_log(BOOL auto_next_line)
void nc_log_rgb16(RGB16 *color)
Direction
Definition: neocore.h:20
@ DOWN
Definition: neocore.h:20
@ UP
Definition: neocore.h:20
@ NONE
Definition: neocore.h:20
@ LEFT
Definition: neocore.h:20
@ RIGHT
Definition: neocore.h:20
void nc_stop_adpcm()
void nc_update_animation_gfx_animated_sprite_physic(GFX_Animated_Sprite_Physic *gfx_animated_sprite_physic)
void nc_init_gfx_picture_physic(GFX_Picture_Physic *gfx_picture_physic, pictureInfo *pi, paletteInfo *pali, short box_witdh, short box_height, short box_width_offset, short box_height_offset, BOOL autobox_enabled)
void nc_log_vec2short(char *label, Vec2short vec2short)
void nc_init_box(Box *box, short width, short height, short widthOffset, short heightOffset)
void nc_pause(BOOL(*exitFunc)())
void nc_show_gfx_animated_sprite_physic(GFX_Animated_Sprite_Physic *gfx_animated_sprite_physic)
void nc_clear_vram()
BOOL nc_each_frame(DWORD frame)
void nc_move_gfx_animated_sprite(GFX_Animated_Sprite *gfx_animated_sprite, short x_offset, short y_offset)
BOOL nc_joypad_is_a(BYTE id)
void nc_shrunk_addr(WORD addr, WORD shrunk_value)
void nc_destroy_gfx_animated_sprite_physic(GFX_Animated_Sprite_Physic *gfx_animated_sprite_physic)
void nc_log_palette_info(paletteInfo *paletteInfo)
void nc_sleep(DWORD frame)
void nc_init_display_gfx_animated_sprite_physic(GFX_Animated_Sprite_Physic *gfx_animated_sprite_physic, spriteInfo *spriteInfo, paletteInfo *paletteInfo, short x, short y, short box_witdh, short box_height, short box_width_offset, short box_height_offset, WORD anim)
void nc_set_animation_gfx_animated_sprite(GFX_Animated_Sprite *gfx_animated_sprite, WORD anim)
Vec2short nc_get_relative_position(Box box, Vec2short world_coord)
BYTE nc_collide_boxes(Box *box, Box *boxes[], BYTE box_max)
void nc_move_gfx_picture_physic(GFX_Picture_Physic *gfx_picture_physic, short x_offset, short y_offset)
void nc_update_mask(short x, short y, Vec2short vec[], Vec2short offset[], BYTE vector_max)
void nc_read_palette_rgb16(BYTE palette_number, BYTE palette_index, RGB16 *rgb_color)
void nc_push_remaining_frame_adpcm_player(DWORD frame)
int nc_shrunk_centroid_get_translated_x(short centerPosX, WORD tileWidth, BYTE shrunkX)
DWORD nc_wait_vbl_max(WORD nb)
WORD nc_shrunk_forge(BYTE xc, BYTE yc)
void nc_log_pictureInfo(char *label, pictureInfo *pi)
void nc_debug_joypad(BYTE id)
Adpcm_player * nc_get_adpcm_player()
WORD nc_get_max_sprite_index_used()
WORD nc_get_max_free_palette_index()
Vec2short nc_get_position_gfx_animated_sprite_physic(GFX_Animated_Sprite_Physic gfx_animated_sprite_physic)
void nc_set_position_gfx_picture(GFX_Picture *gfx_picture, short x, short y)
void nc_show_gfx_picture(GFX_Picture *gfx_picture)
void nc_log_word(char *label, WORD value)
void nc_init_display_gfx_animated_sprite(GFX_Animated_Sprite *gfx_animated_sprite, spriteInfo *spriteInfo, paletteInfo *paletteInfo, short x, short y, WORD anim)
BOOL nc_joypad_is_up(BYTE id)
void nc_show_gfx_picture_physic(GFX_Picture_Physic *gfx_picture_physic)
Vec2short nc_get_position_gfx_scroller(GFX_Scroller gfx_scroller)
void nc_set_position_gfx_picture_physic(GFX_Picture_Physic *gfx_picture_physic, short x, short y)
void nc_destroy_gfx_picture(GFX_Picture *gfx_picture)
BOOL nc_collide_box(Box *box1, Box *box2)
void nc_init_gfx_picture(GFX_Picture *gfx_picture, pictureInfo *pictureInfo, paletteInfo *paletteInfo)
WORD nc_get_max_palette_index_used()
void nc_log_short(char *label, short value)
void nc_update()
WORD nc_get_max_free_sprite_index()
void nc_shrunk_centroid_gfx_picture(GFX_Picture *gfx_picture, short center_x, short center_y, WORD shrunk_value)
void nc_init_gfx_scroller(GFX_Scroller *gfx_scroller, scrollerInfo *scrollerInfo, paletteInfo *paletteInfo)
WORD nc_get_position_y_log()
WORD nc_get_position_x_log()
void nc_set_position_gfx_scroller(GFX_Scroller *gfx_scroller, short x, short y)
void nc_log_bool(char *label, BOOL value)
void nc_move_gfx_scroller(GFX_Scroller *gfx_scroller, short x, short y)
WORD nc_log_info(char *txt,...)
BOOL nc_joypad_is_right(BYTE id)
void nc_next_line_log()
void nc_hide_gfx_picture(GFX_Picture *gfx_picture)
void nc_packet_color16_to_rgb16(WORD packed_color, RGB16 *rgb_color)
void nc_resume_cdda()
void nc_log_dword(char *label, DWORD value)
void nc_set_joypad_edge_mode(BOOL actived)
BOOL nc_vectors_collide(Box *box, Vec2short vec[], BYTE vector_max)
void nc_play_cdda(BYTE track)
void nc_init_display_gfx_picture_physic(GFX_Picture_Physic *gfx_picture_physic, pictureInfo *pictureInfo, paletteInfo *paletteInfo, short x, short y, short box_witdh, short box_height, short box_width_offset, short box_height_offset, BOOL autobox_enabled)
void nc_move_gfx_animated_sprite_physic(GFX_Animated_Sprite_Physic *gfx_animated_sprite_physic, short x_offset, short y_offset)
void nc_clear_palette_index_table()
void nc_destroy_gfx_picture_physic(GFX_Picture_Physic *gfx_picture_physic)
void nc_display_gfx_animated_sprite(GFX_Animated_Sprite *gfx_animated_sprite, short x, short y, WORD anim)
void nc_move_gfx_picture(GFX_Picture *gfx_picture, short x, short y)
BOOL nc_joypad_is_start(BYTE id)
void nc_set_animation_gfx_animated_sprite_physic(GFX_Animated_Sprite_Physic *gfx_animated_sprite_physic, WORD anim)
void nc_display_gfx_scroller(GFX_Scroller *gfx_scroller, short x, short y)
void nc_log_packed_color16(WORD packed_color)
BOOL nc_joypad_is_c(BYTE id)
Sound_state
Definition: neocore.h:21
@ PLAYING
Definition: neocore.h:21
@ IDLE
Definition: neocore.h:21
BOOL nc_joypad_is_b(BYTE id)
BOOL nc_joypad_is_left(BYTE id)
void nc_shrunk_box(Box *box, Box *bOrigin, WORD shrunkValue)
void nc_log_box(char *label, Box *b)
DWORD nc_frame_to_second(DWORD frame)
void nc_byte_to_hex(BYTE value, char *hexchar)
void nc_hide_gfx_animated_sprite(GFX_Animated_Sprite *gfx_animated_sprite)
void nc_update_adpcm_player()
WORD nc_free_ram_info()
void nc_reset()
WORD nc_shrunk_range(WORD addr_start, WORD addr_end, WORD shrunk_value)
Vec2short nc_get_position_gfx_picture_physic(GFX_Picture_Physic gfx_picture_physic)
void nc_destroy_palette(paletteInfo *paletteInfo)
void nc_destroy_gfx_scroller(GFX_Scroller *gfx_scroller)
WORD nc_get_shrunk_proportional_table(WORD index)
void nc_log_byte(char *label, BYTE value)
void nc_log_spriteInfo(char *label, spriteInfo *si)
void nc_set_position_log(WORD _x, WORD _y)
void nc_pause_cdda()
void nc_init_gfx_animated_sprite_physic(GFX_Animated_Sprite_Physic *gfx_animated_sprite_physic, spriteInfo *spriteInfo, paletteInfo *paletteInfo, short box_witdh, short box_height, short box_width_offset, short box_height_offset)
void nc_init_log()
void nc_set_position_gfx_animated_sprite(GFX_Animated_Sprite *gfx_animated_sprite, short x, short y)
void nc_set_position_gfx_animated_sprite_physic(GFX_Animated_Sprite_Physic *gfx_animated_sprite_physic, short x, short y)
void nc_update_joypad(BYTE id)
Vec2short nc_get_position_gfx_animated_sprite(GFX_Animated_Sprite gfx_animated_sprite)
char nc_sin(WORD index)
DWORD nc_second_to_frame(DWORD second)
void nc_print(int x, int y, char *label)
void nc_resize_box(Box *Box, short edge)
void nc_update_animation_gfx_animated_sprite(GFX_Animated_Sprite *gfx_animated_sprite)
void nc_log(char *message)
void nc_init_gpu()
void nc_display_gfx_animated_sprite_physic(GFX_Animated_Sprite_Physic *gfx_animated_sprite_physic, short x, short y, WORD anim)
void nc_joypad_update(BYTE id)
void nc_hide_gfx_animated_sprite_physic(GFX_Animated_Sprite_Physic *gfx_animated_sprite_physic)
Vec2short nc_get_position_gfx_picture(GFX_Picture gfx_picture)
void nc_destroy_gfx_animated_sprite(GFX_Animated_Sprite *gfx_animated_sprite)
void nc_clear_sprite_index_table()
BOOL nc_joypad_is_d(BYTE id)
void nc_update_box(Box *box, short x, short y)
void nc_show_gfx_animated_sprite(GFX_Animated_Sprite *gfx_animated_sprite)
int nc_shrunk_centroid_get_translated_y(short centerPosY, WORD tileHeight, BYTE shrunkY)
char Hex_Packed_Color[5]
Definition: neocore.h:31
void nc_shrunk(WORD base_sprite, WORD max_width, WORD value)
DWORD remaining_frame
Definition: neocore.h:80
enum Sound_state state
Definition: neocore.h:79
Definition: neocore.h:33
Vec2short p4
Definition: neocore.h:38
Vec2short p3
Definition: neocore.h:37
short width
Definition: neocore.h:39
Vec2short p0
Definition: neocore.h:34
short heightOffset
Definition: neocore.h:42
Vec2short p2
Definition: neocore.h:36
short height
Definition: neocore.h:40
Vec2short p1
Definition: neocore.h:35
short widthOffset
Definition: neocore.h:41
GFX_Animated_Sprite gfx_animated_sprite
Definition: neocore.h:60
aSprite aSpriteDAT
Definition: neocore.h:46
paletteInfo * paletteInfoDAT
Definition: neocore.h:48
spriteInfo * spriteInfoDAT
Definition: neocore.h:47
BOOL physic_enabled
Definition: neocore.h:69
GFX_Picture gfx_picture
Definition: neocore.h:66
BOOL autobox_enabled
Definition: neocore.h:68
picture pictureDAT
Definition: neocore.h:52
pictureInfo * pictureInfoDAT
Definition: neocore.h:53
WORD pixel_width
Definition: neocore.h:56
paletteInfo * paletteInfoDAT
Definition: neocore.h:54
WORD pixel_height
Definition: neocore.h:55
scroller scrollerDAT
Definition: neocore.h:73
paletteInfo * paletteInfoDAT
Definition: neocore.h:75
scrollerInfo * scrollerInfoDAT
Definition: neocore.h:74
Definition: neocore.h:83
BYTE r
Definition: neocore.h:84
BYTE g
Definition: neocore.h:84
BYTE dark
Definition: neocore.h:84
BYTE b
Definition: neocore.h:84
BYTE x
Definition: neocore.h:29
BYTE y
Definition: neocore.h:29
int y
Definition: neocore.h:27
int x
Definition: neocore.h:27
short y
Definition: neocore.h:28
short x
Definition: neocore.h:28