-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.list
305 lines (295 loc) · 10.6 KB
/
TODO.list
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
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
To Do:
[ ] Wiki
[ ] Project creation / opening
[ ] Building / Tasks
[x] Engine Settings
- Open in editor
- Emulator / Run
- Libdragon
[x] Project Settings
- General settings
- Custom content pipeline
- Global script
- Initial screen
- Memory reserve
- Modules (plus audio and display tabs)
[x] RTC module
[x] Libdragon tab
[ ] Sprite import
- Content browser
- Editing
[ ] Sounds import
- Content browser
- Editing
[ ] General content import
- Content browser
- Editing
- Copy to filesystem
[x] Scripts
- Creation
- Use on scenes / global
[ ] Scenes
- Creation
- Settings
- Script use
2.0.0:
[ ] Update README
[ ] Update Wiki
2.1.0:
[ ] Button to add libdragon-extensions submodule if it doesn't exist
- Add option on project creation
- Add button to download or add as submodule
[ ] Double click to open editor for asset
[ ] Add Sprite/Sound editors on Engine Settings
[ ] Check if editors are found on Engine Settings
[ ] Clean project after changing modules
[ ] Better input module (using names instead of buttons to ease button remapping)
- Create on 'libdragon-extensions'
[ ] Generate package with emulator+ROM+shortcut to run the game automatically on PC
[ ] Update README
[ ] Update Wiki
3.0.0:
[ ] Scene nodes
[ ] Remove opening cmd window for every command on Windows
[ ] Resize output window
[ ] Localization files
- en-us
- pt-br
- jp?
[ ] Update README
[ ] Update Wiki
4.0.0:
[ ] Generate PC port
- Possibility to run/debug locally
[ ] Update README
[ ] Update Wiki
Future:
[ ] Set DFS location
- Copy n64.mk adding VAR to set offset (from the hardcoded 1M) and use that file to include
- Wait for better support for this on libdragon?
[ ] Syntax highlight on script previews
[ ] Import/View 3d models
[ ] MacOS port?
- Need someone with a Mac
[ ] Custom engine extensions
- Custom content import/editor
- Need to wait for 'Single content window'
[ ] Tools
[ ] PIF Dump
Done:
- 2.0.0:
[x] Add console launch button on Windows
[x] Recheck docker every 10 seconds when it's down, every 60 seconds when it's up (removed)
[x] Single content window that resembles the DFS output (with folders and 'files')
[x] Show folder on grid view
[x] Image slices preview when editing
[x] Replace '\' to '/' when loading assets
[x] All module options on single tab
[x] Added "menu" module and default color options
[x] Image slices preview when importing
[x] Start with console collapsed
[x] Only allow '/' on dfs_folder
- Also check if it finishes with '/'.
[x] Engine stats on menu (debug builds only)
[x] List of checks with OK/NOK on start page
- Libdragon CLI
- Docker
- UNFLoader
[x] Warning on start page if libdragon-cli or docker are not working as intended
[x] Add start page
[x] Check if docker is installed
- Link to download if not: https://www.docker.com/products/docker-desktop/
[x] Check if docker is running
- Button to start it if not (Windows only): "%PROGRAMFILES%\Docker\Docker\Docker Desktop.exe"
- Version if it is: docker version --format 'docker {{.Server.Version}}'
[x] Bundle libdragon-cli
- use it as default (checkbox "use bundled")
[x] Show last console line when console is minimized
[x] Import LDtk maps
- Custom export to use with libdragon-extensions
[x] Import Tiled maps
- Custom export to use with libdragon-extensions
[x] Using libdragon-cli for git commands
[x] Import sprite fonts
[x] More image formats support
- BMP
- PCX
- JPEG
- JPG
- PNG
- TGA
[x] File Picker for importing content
[x] Order assets by name
[x] "Full view" on content browser, with sprite preview
[x] Smaller "modules missing" warnings
[x] Filter content based on type and name
[x] Settings window inside the content window
- sprites should not have preview
- audio preview inside
[x] Keyboard shortcuts
* F5 -> Build/Run
* Shift+F5 -> Run
* F6 -> Build
* F9 -> Open in Editor
* F7 -> Clean/Build
- Ctrl+S -> Save All
[x] Libdragon Disasm as a task - 'libdragon disasm'
[x] Show Libdragon-CLI version - 'libdragon version'
[x] Add button to open Makefile_custom.mk
- 1.3.0:
[x] Audio preview
[x] Add makefile that is included that can be used to run custom mk commands
[x] Add engine version on project file (for updates to formats)
[x] Fix custom pipeline file not being created when clicking the button
[x] Copy text on console
[x] Improve UI
[x] Change font
[x] Add sprites
* Save
* Build
* Open in Editor
* Run
[x] Icon (Windows only)
[x] Custom themes
[x] More distinct color on selected tab
[x] Better buttons
- Rounded
[x] Border on controls
[x] Rename scripts
[x] Reduced deps size on Windows
[x] Save project settings when saving project
- 1.2.0:
[x] During build, do not start a new command if the previous failed
[x] Improve project creation error handling
- Libdragon init might fail
- Installing libdragon-extensions might fail
[x] Replace ' ' to '_' when importing content.
[x] Order assets by name
[x] Add reload content button on content windows
[x] Double click to edit assets, right click for more options
[x] Remove 'Global Script' when the referenced script is deleted.
[x] Script preview; Keep script selection after clicking.
[x] Removing unused tabs when no project is open; Reorder "Content" and "Scripts" tabs; Rename "Content" tab to "Other Content"
[x] Show 'Initial Scene' badge on 'Scenes' window
[x] Move 'Initial Scene' to scenes window
[x] Move Scenes window to the left panel
[x] Double click to open script, right-click to open more options
[x] Migrate script content window to look like the other content windows
[x] After creating a script, put the focus back on the 'script_name' input (to create multiple scripts)
[x] Button to open/reload engine settings file
[x] Better handling of spaces on inputs
- Do not allow spaces on script and scene names
- 1.1.0:
[x] Split libdragon-extension modules
[x] RTC support (via flag) - https://github.com/DragonMinded/libdragon/tree/trunk/examples/rtctest
- Makefile: N64_ROM_RTC = true
- Setup: rtc_init() into a boolean variable so that the user can check if it succeeded
[x] Pull on libdragon branch - 'libdragon update'
[x] Build libdragon branch - 'libdragon install'
[x] Option to change Libdragon git branch
[x] Rename 'Initial Screen' to 'Initial Scene'
[x] Pre-made executables for Windows.
[x] Warning on modules tab to clean/build project when changing modules.
[x] Change SSH to HTTPS when adding libdragon-extensions as a submodule.
[x] File picker on new/open project
[x] Correctly grab the font when running the exe from another directory on terminal; Also fixes Linux crash.
[x] Integrate system commands on the console
[x] Removed imgui.ini file
[x] Fixed build error when removing libdragon-extensions (or when it failed to download on init)
[x] Removed "cd" into project directory to use "chdir" instead. This solves a Windows issue when using projects on a different driver than the engine
[x] Save 'ngine.engine.json' file on another folder
- Windows: %AppData%/ngine/
- Linux: ~/.ngine/
[x] New scripts come with more information on how to use them.
[x] Remove script build files when deleting a script
[x] Do not allow spaces when naming assets
- 1.0.0:
[x] Tabbed content in the middle part
[x] Content Browser in the middle part
[x] Script Browser in the middle part
[x] Create script files
[x] Attach script to scene
[x] Delete scripts
- Search inside scenes and remove from them
[x] Open project after creating it
[x] Change "Mupen64" to "Emulator"
[x] Import sprites/spritesheets
- Drag&Drop
- H/VSlices
- DFS Folder
- Ask "Copy to sprite project" and copy to '/assets/'
[x] Import music
[x] Import sfx
[x] Add wav options
- "--wav-loop <true|false>": Activate playback loop by default
- "--wav-loop-offset <N>": Set looping offset (in samples; default: 0)
[x] DFS sounds gen/import
[x] Set audiomixer as module and load it properly
[x] Separate project settings on multiple tabs
[x] Add "Copy DFS folder" on clicking image
[x] Delete image
[x] Change image props
[x] Change title when saving project settings
[x] Keep selected scene selected on "Scenes" tab
[x] Drag&Drop to open project
[x] BUGFIX: Do not allow empty script names
[x] Create DFS file with assets
- Create sprite files and push to 'filesystem' folder
[x] Add input (keys_pressed, keys_up, keys_held)
[x] Choose fill color for scene
[x] Always delete build folder when building
[x] Fix closing and opening project
- Create class to store/erase when loading/closing.
[x] Move all UI code out of main.cpp
[x] Scene manager as module
[x] Memory pool as module
[x] Do not create scene files if module is not used.
[x] [Enter] create script
[x] [Enter] open/create project
[x] Create "remove global script" button
[x] Themes
[x] Fix texture leak on exiting the app.
[x] Resize import preview image based on window
[x] Import xm sound files
[x] Import ym sound files
- "--ym-compress <true|false>": Compress output file
[x] Make RDP module dependent of the Display module
[x] Show message on browsers if DFS is not active
[x] Merge Audio and Mixer module settings on the same tab
[x] Help menu item
- Version
- Copy link to github wiki
- Copy link to libdragon-docker
- Copy link to docker install
[x] Link to libdragon-extensions and SDL2
[x] Import anything (another content window)
[x] Set path to 'libdragon' exe
[x] Add bash script to content build (for custom import pipeline)
x Under project/general create a button to 'Edit Custom Content Build Script' that will create/open '.ngine/pipeline/content_pipeline_end.term'
x Content of the script will be read and executed at the end of 'ProjectBuild::create_build_files'
x If the editor is not setup, print message with the file location
x For general content, checkbox to 'copy to filesystem'.
[x] README!
[x] Add SDL2_image refs on README and HELP
[x] Link for development resources (eg.: N64 Wiki)
[x] Save Type and Region Free setting
[x] Video demo
- Engine Overview
- UI Overview
- New Project
- Real console output
- Build and libdragon path
- Run and emulator path
- Console ROM
- Global scripts
- Open in Editor
- Project Structure
- Adding sprites
- DFS, Display and RDP modules
- Adding sounds
- Audio and Mixer modules
- Adding general files
- Adding scenes
- Scene settings
- Scene scripts
[x] Pre-made executables for Linux