-
Notifications
You must be signed in to change notification settings - Fork 8
/
TODO
77 lines (71 loc) · 3.44 KB
/
TODO
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
IDEA: give hardware devices, graphics, etc. UUIDs and address them that way
New features:
√ some form of hardware selection
- It's very clunky at the moment, but it's in
√ API for apps to enumerate hardware at run-time, and read info about it
- this ties into colors, as there's no way to enumerate colors as names or even get a numberof colors
- This way, accessing unavailable hardware can be avoided
√ config file
- file in app folder that initializes the game before Lua code is run?
- Save functionality
√ Separate environment for each app
- an API for inter-app communication
- inter-app communication could use the event system
√ individual hardware component scaling
- Implement D-Pad input unit
- needs its own entry in hw.input most likely
- images for each direction, disallow up+down & left+right
- other image set-ups?
- Library, Lua file, and generic file loading
- Perhaps a lib/ folder for shared libraries
- Touch and Android
- Need to improve mouse support first
- begin work on a simple multitasking OS
Improvements:
- clean up the mess of a filesystem
- rom/ folder needs a better name, and maybe to be moved?
- mouse control needs improvement
- Speed up graphics commands
- how, tho? GLSL? C?
Bug Fixes/Glaring Problems:
- LCD and image loading Overhaul
√ Ghosting
- Image-Pixel improvement
- generalize font code to work for loading and colorized drawing of 1-bit images
- Fix image loading/drawing/etc to work with displays with different palettes
- This is much easier said than done. I have yet to come up with a solution that works for everything.
- Fix the roundabout and frankly hideous way that graphics pages are selected
√ kind of fixed?
- but it's still bad, just different, less bad bad
- Instead of fixing a bad system, replace it
- canvases can be cleared by changing window mode, so this has been disabled temporarily
- requires refactoring of hardware data structure
- this means changing all the drawing code
- Checking of hardware sanity
√ Fix it so that loading new hardware sets minw and minh of the window context
- Move this (and all changes to global state) out of the loadhardware function
- disallow hardware overlapping
- currently this could cause bugs with buttons, screens, you name it
Small things:
√ Stop from changing to a cozy level which would give a smaller scale than the lowest
- improvement: allow cozy level to be higher than max, but don't _change to_ a cozy level higher than max automatically
- Allow LEDs to colorize an image instead of having separate on/off images
- Some way to distinguish LEDs.
- Could allow access to the color from within script somehow?
- names? location? suggested use, e.g: battery, message, disk, etc
Way in the future plans
- Actual games and software for the vPET line
- Aquarium-type game with boids for the fish?
- A demo at least
- Need an actual pet game
- Need os.time to run simulation from when the program is closed, like Animal Crossing
- Make sure os.time is cross platform (a save format will likely need to be engineered)
- Visual hardware editor?
- Networking
Finished:
√ Launching an app from another app
√ a launcher would be nice
√ improve the launcher
√ PRNG state for each instance
√ os.time etc
√ turns out luaJIT has binary operators built in