forked from kdevkdev/rin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtodo.txt
159 lines (98 loc) · 7.25 KB
/
todo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
todo:
symbols: - suggestion, *done, !rejected, --comment
-*rinc in Java_org_rin_main: use something different for argv|done
-*controlls, for now does nothing|done
-*make all bautifull types (intxx_t... |done
-*make sure all there is no signed where a unsinged should be |needs checking - otherwise done
-*decide on ose of fopen or open|done
-*important: correct file paths instead of ms0 , disk and stuff|done
-*jni, sound and graphcis bufferinga and rendering/home/kaspar/dev/workspace/rin/jni/filer.c:1301: undefined reference to `add_entry_pl'
/home/kaspar/dev/workspace/rin/jni/filer.c:1297: undefined reference to `add_entry_pl'|done
-*important: gb.c:34 set correct adress for vframe (ie bitmap pixels) - better use pg instead of accessing the framebuffer directly| done dont use use_pgu
-*proper exception handling --jni can throw exceptions -make a little api to throw exceptions |deprecated, not sure if thats necessary and intelligent, rely on other feedback mechanisms
-*investigate what pgbitblitge does (it does hw accelerated bit blitting) and how you can replace it (use existing bi blitting functions or write a new one) | done - dont use gpu functions for now, maybe use later if it makes any sense (prolly not since not all devices have a good gpu, open gl support seems difficult to handle and is not in all andoroid versions present)
-*remove all handwritten screensizes and positioning stuff and replace it with preprocessor variables or variables|deprecated
-*more meaningfull names for gameboy and target screen sizes (instead of SIZELINE, LINE_SIZE...)-> replace GUARD_LINE with GGUARD_LINE, SIZE_LINE with GLINE_SIZE, LINESIZE with LINE_SIZE and SIZE_COLUMN with GCOLUMN_SIZE
-*landscape mode and portrait change handling
-*get audio start stop and app termination finally working 100%
-*adjust screen size
-*introduce blitt function with variable screen size and format for simplicity and easier adjustment for new targets/screenmodes
-*rewind function
-*remove USE_GPU directive
-*implement sleep mode - mode when unit is locked and no rendering shold be done
-*get rid of fucking audiotrack bugs and sync issues
-*proper pause/unpause acitivity backgound - termination shit
-*fix memory leaks
-*!config save (in native) crashes, delete and dont use it or repair it?
-*save custom palette: local or global? -> use two, one local and one global
-*do color conversion directly when writing to gameboy framebuffer in lcd.c -- only workd for bitblidbilingrid for now -- but good framerate increase in debug.
-*improve audio latency: just use two soundbanks (posibly smaller) -- only works when running renderer_update_sound from the audio thread. Game thread frame rate doesnt seem high enough.
-*working bresham image upscaling (try to be fast)
-*some turbo/speed setting functionality
-!adjustable rewind buffer size
-*setting handdling, decide on default settings etc...
-!adjustable audio buffer size?
-!leave button detection on controlls to avoid glitch where button remains pressed, not sure if performancewise this is efficiently doable or if it would be a cool feature, maybe make it an? implementation idea: use fastest map (hasmap) in java and keep track of pointers -- keep it as a feature
-*finish menu
-*some autosave functionality: customizable in menu?
-*correct bilinearGrid
-!move size calculation of view dimensions backwards in order to be able to use layout dimensions isntead of screen dimensions (might not be possible without too much hassle)
--not necessary for now
-*cleanup: - partially done
- *get rid old menu files (menu.c and menu.h)
- *cleanup savelaod.c
- *pg.c
- *graphics.c
- *image.c
- *utils.c
- *gz.c, filer.c -- remove draw rom progress
-*add scroll to various textviews (help, about) that thei are scrollable on small displays
-*fix spacing of palette on small displays
-*back key in filebrowsing
-*remove logcalls
-*do something for devices without sdcard, that is to say dont use hardcoded sdcard but something like externalstoragedirectory
-!integrate directory up button into filebrowser instead of ../ -- no confusion --> add string indicating the function instead for simplicity, binsize and consistency
-*associate file endigs with activity and toogleable automove roms to /sdcard/rin
-*libraries: provide mips, x68, and arm
-build unziplib against libz to save space
-strip all libraries?
-*build performancecriticall code also against armv7a and armv7a-neon (provide optimal compiler flags) -> use libpreloadcheck.so
-*better image buttonsn for high dpi
-adjust ui for various screens:
- screenconfigurations that are not ideal:
-generally high resolution and low dp.
- *portrait mode: couple start and select button to the cross or to the A,B- buttons to ensure the user can reach them with the thumb on low dp displays
- *landscape mode: align gbcross and A,B- buttons to the bottom instead of so the user can doesnt have can hold his device comfortable.
- *find a way to center the rinview, especially on big displays
- option to stretch rinview to availaible space ?
-*use lodepng instead of libpng because of size
----------------------------------------release 1.0--------------------------------------------------------
-*javatize screenshot -> reduce binsize by approx 100kiB (~ 25kiB per library) by getting rid of lodepng
-*fixed bug where emulation would stay paused when loading another rom and then executing certain menu entries.
-*hopefully fix sound bugs when rewinding or loading a state where sound was muted on the gameboy side
-*fix bug where rinservice.reset would crash when no rom yet loaded (romPath = null)
-*zip and gzip file support & javatize all file i/o for state and rom loading / saving (and config?)
--file io still left:
-*delete file in save_sram and remove_file in filer.c
-warn users about sram being renamed and gzipped and srams moved
-*save and load configs
-*save and load sram
-*only display relevant menu items based on the context (ie rom loaded, type of rom loaded) -- note its not possible to proberly gray out the icon menu items so go for the hide solution
-*introduce a menu in the filedialog with some help text
-french support and some ui string fixes as well as updated help concerning zip support
-*(merge cFile and FileProvider (introduce the option to query filesize uncompressed and compressed in cFile - fill them in in the constructor)
-*grey out menu items that make no sense - all items except rom load and exit when no rom is loaded, and pallete when gbc or sgb rom loaded -best start with all greyed out
-*introduce help item in filebrowser when clicking menu
-feedback on screenshot taken
----------------------------------------release 1.1--------------------------------------------------------
-display warning when no rom found when displaying initial rom folder
-auto iterate autosaves (autosave01.stat.gz, autosave02.stat.gz ...)
-direction button indicator
-cheat support
-compressed rom loading, compressed state saving and loading
-retain state of menu when restarting activity (orientation change)
-opengl render path and scaling
-somehow integrate even- numbered scalefactors to profit from faster scaling possibilities (ie copy 5 pixels at once)
-allow smaller emulatio screens
after initial release:
-(irda?) -- long term goal -- implement somekind of network interaction