annotate render.h @ 741:80a67be1770b

Initial work on Windows port
author Michael Pavone <pavone@retrodev.com>
date Tue, 01 Apr 2014 19:43:58 -0700
parents 7b0df1aaf384
children fc68992cf18d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
467
140af5509ce7 Added copyright notice to source files and added GPL license text in COPYING
Mike Pavone <pavone@retrodev.com>
parents: 444
diff changeset
1 /*
140af5509ce7 Added copyright notice to source files and added GPL license text in COPYING
Mike Pavone <pavone@retrodev.com>
parents: 444
diff changeset
2 Copyright 2013 Michael Pavone
487
c08a4efeee7f Update opengl branch from default. Fix build breakage unrelated to merge
Mike Pavone <pavone@retrodev.com>
parents: 449 467
diff changeset
3 This file is part of BlastEm.
467
140af5509ce7 Added copyright notice to source files and added GPL license text in COPYING
Mike Pavone <pavone@retrodev.com>
parents: 444
diff changeset
4 BlastEm is free software distributed under the terms of the GNU General Public License version 3 or greater. See COPYING for full license text.
140af5509ce7 Added copyright notice to source files and added GPL license text in COPYING
Mike Pavone <pavone@retrodev.com>
parents: 444
diff changeset
5 */
398
c26e48a93fa3 Make keybindings data driven so they can be populated from a config file later
Mike Pavone <pavone@retrodev.com>
parents: 364
diff changeset
6 #ifndef RENDER_H_
c26e48a93fa3 Make keybindings data driven so they can be populated from a config file later
Mike Pavone <pavone@retrodev.com>
parents: 364
diff changeset
7 #define RENDER_H_
20
f664eeb55cb4 Mostly broken VDP core and savestate viewer
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
8
741
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 504
diff changeset
9 //TODO: Throw an ifdef in here once there's more than one renderer
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 504
diff changeset
10 #include <SDL.h>
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 504
diff changeset
11 #define RENDERKEY_UP SDLK_UP
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 504
diff changeset
12 #define RENDERKEY_DOWN SDLK_DOWN
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 504
diff changeset
13 #define RENDERKEY_LEFT SDLK_LEFT
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 504
diff changeset
14 #define RENDERKEY_RIGHT SDLK_RIGHT
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 504
diff changeset
15 #define RENDERKEY_ESC SDLK_ESCAPE
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 504
diff changeset
16 #define RENDERKEY_LSHIFT SDLK_LSHIFT
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 504
diff changeset
17 #define RENDERKEY_RSHIFT SDLK_RSHIFT
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 504
diff changeset
18 #define RENDER_DPAD_UP SDL_HAT_UP
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 504
diff changeset
19 #define RENDER_DPAD_DOWN SDL_HAT_DOWN
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 504
diff changeset
20 #define RENDER_DPAD_LEFT SDL_HAT_LEFT
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 504
diff changeset
21 #define RENDER_DPAD_RIGHT SDL_HAT_RIGHT
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 504
diff changeset
22
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 504
diff changeset
23 #define MAX_JOYSTICKS 8
80a67be1770b Initial work on Windows port
Michael Pavone <pavone@retrodev.com>
parents: 504
diff changeset
24
20
f664eeb55cb4 Mostly broken VDP core and savestate viewer
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
25 #include "vdp.h"
354
15dd6418fe67 Initial PSG support. Mostly works, noise channel is borked though.
Mike Pavone <pavone@retrodev.com>
parents: 342
diff changeset
26 #include "psg.h"
364
62177cc39049 Incredibly broken YM2612 support plus a fix to Z80 bus request
Mike Pavone <pavone@retrodev.com>
parents: 354
diff changeset
27 #include "ym2612.h"
449
7696d824489d Started work on OpenGL support in new branch
Mike Pavone <pavone@retrodev.com>
parents: 426
diff changeset
28
7696d824489d Started work on OpenGL support in new branch
Mike Pavone <pavone@retrodev.com>
parents: 426
diff changeset
29 typedef struct {
7696d824489d Started work on OpenGL support in new branch
Mike Pavone <pavone@retrodev.com>
parents: 426
diff changeset
30 void *oddbuf;
7696d824489d Started work on OpenGL support in new branch
Mike Pavone <pavone@retrodev.com>
parents: 426
diff changeset
31 void *evenbuf;
7696d824489d Started work on OpenGL support in new branch
Mike Pavone <pavone@retrodev.com>
parents: 426
diff changeset
32 int stride;
7696d824489d Started work on OpenGL support in new branch
Mike Pavone <pavone@retrodev.com>
parents: 426
diff changeset
33 } surface_info;
7696d824489d Started work on OpenGL support in new branch
Mike Pavone <pavone@retrodev.com>
parents: 426
diff changeset
34
426
add9e2f5c0e3 Make VDP render in native pixel format of the renderer for a modest performance gain and to make it easier to use OpenGL for rendering
Mike Pavone <pavone@retrodev.com>
parents: 418
diff changeset
35 uint32_t render_map_color(uint8_t r, uint8_t g, uint8_t b);
487
c08a4efeee7f Update opengl branch from default. Fix build breakage unrelated to merge
Mike Pavone <pavone@retrodev.com>
parents: 449 467
diff changeset
36 void render_alloc_surfaces(vdp_context * context);
426
add9e2f5c0e3 Make VDP render in native pixel format of the renderer for a modest performance gain and to make it easier to use OpenGL for rendering
Mike Pavone <pavone@retrodev.com>
parents: 418
diff changeset
37 uint8_t render_depth();
487
c08a4efeee7f Update opengl branch from default. Fix build breakage unrelated to merge
Mike Pavone <pavone@retrodev.com>
parents: 449 467
diff changeset
38 void render_init(int width, int height, char * title, uint32_t fps, uint8_t fullscreen, uint8_t use_gl);
20
f664eeb55cb4 Mostly broken VDP core and savestate viewer
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
39 void render_context(vdp_context * context);
43
3fc57e1a2c56 Add debug render mode and fix vertical flip bit for bg tiles
Mike Pavone <pavone@retrodev.com>
parents: 33
diff changeset
40 void render_wait_quit(vdp_context * context);
364
62177cc39049 Incredibly broken YM2612 support plus a fix to Z80 bus request
Mike Pavone <pavone@retrodev.com>
parents: 354
diff changeset
41 void render_wait_psg(psg_context * context);
62177cc39049 Incredibly broken YM2612 support plus a fix to Z80 bus request
Mike Pavone <pavone@retrodev.com>
parents: 354
diff changeset
42 void render_wait_ym(ym2612_context * context);
338
5c34a9c39394 Re-enable frame limit, but add a command line flag to disable it
Mike Pavone <pavone@retrodev.com>
parents: 198
diff changeset
43 int wait_render_frame(vdp_context * context, int frame_limit);
342
13f994c88c34 Get frame time correct and frame rate sort of correct for EUR region
Mike Pavone <pavone@retrodev.com>
parents: 340
diff changeset
44 void render_fps(uint32_t fps);
354
15dd6418fe67 Initial PSG support. Mostly works, noise channel is borked though.
Mike Pavone <pavone@retrodev.com>
parents: 342
diff changeset
45 uint32_t render_audio_buffer();
15dd6418fe67 Initial PSG support. Mostly works, noise channel is borked though.
Mike Pavone <pavone@retrodev.com>
parents: 342
diff changeset
46 uint32_t render_sample_rate();
398
c26e48a93fa3 Make keybindings data driven so they can be populated from a config file later
Mike Pavone <pavone@retrodev.com>
parents: 364
diff changeset
47 void render_debug_mode(uint8_t mode);
c26e48a93fa3 Make keybindings data driven so they can be populated from a config file later
Mike Pavone <pavone@retrodev.com>
parents: 364
diff changeset
48 void render_debug_pal(uint8_t pal);
409
c1bddeadc566 Process events in vgm player so that quitting works
Mike Pavone <pavone@retrodev.com>
parents: 398
diff changeset
49 void process_events();
418
dbf4e1c86f3c Implement basic joystick support
Mike Pavone <pavone@retrodev.com>
parents: 409
diff changeset
50 int render_joystick_num_buttons(int joystick);
dbf4e1c86f3c Implement basic joystick support
Mike Pavone <pavone@retrodev.com>
parents: 409
diff changeset
51 int render_joystick_num_hats(int joystick);
432
18cde14e8c10 Read joystick bindings from config file
Mike Pavone <pavone@retrodev.com>
parents: 426
diff changeset
52 int render_num_joysticks();
20
f664eeb55cb4 Mostly broken VDP core and savestate viewer
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
53
418
dbf4e1c86f3c Implement basic joystick support
Mike Pavone <pavone@retrodev.com>
parents: 409
diff changeset
54
20
f664eeb55cb4 Mostly broken VDP core and savestate viewer
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
55
398
c26e48a93fa3 Make keybindings data driven so they can be populated from a config file later
Mike Pavone <pavone@retrodev.com>
parents: 364
diff changeset
56 #endif //RENDER_H_
c26e48a93fa3 Make keybindings data driven so they can be populated from a config file later
Mike Pavone <pavone@retrodev.com>
parents: 364
diff changeset
57