forked from ReinhardPrix/FreedroidClassic
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO
373 lines (311 loc) · 16.3 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
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
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
#-*- mode: text -*-
Current version: 1.0.2
Release TODO
============
various Ideas for next release (1.1.0)
------------------------------
- screenshot irgendwie 'anzeigen', nicht ueberschreiben...
- 'activate' auch fuer Lift verlassen
- add ship-finished time in highscores?
- show remaining enemys/decks
- smaller font in Credits
Bugs
=======
Outstanding release-critical bugs (priority: high)
--------------------------------------------------
- limit fps to get smoother play?
- use OpenGL for accel and smoother play?
- playtest on a _really_ slow machine...
- adjust Alert params (->freedroid.rules)
- allow original background fieps-pieps instead of music (switchable)
- steal the 'Metal Edition' as an additional theme?
- save Game option?
Outstanding normal bugs (priority: normal)
------------------------------------------
Outstanding tuning/design bugs and general TODO (priority: low)
--------------------------------------------------------------
- check if we cannot improve smoothness of scrolling/gameplay,
maybe by reducing fps and explicitly keeping it constant..??
..there always is some small 'jitter', worst on non-dma machines!
-> use RLE acceleration?
-> use double-buffer + HWSURF + SDL_Flip() to avoid flicker/shearing?
Wishlist
--------
Resolved bugs
-------------
- DONE mouse-support (should be good with touchstick on laptop!)
- DONE Before any release the levelcolor changing procedure must be rearranged to work
well together with the combat screen resizing code
---> Done.
- DONE leaving level-editor in zoom-factor!= 1 is not restored when
going back to game
(Going back to game is a "development feature, that should of
course not be present in the real game.)
---> Problem has been removed nevertheless.
- DONE We really should have a "dat" file, where the constants involving
only the game physics are stored, so that people can write their
own "mods" and also transfer their mods to new versions of freed.
This "dat" file should be well documented and ascii editable.
- DONE Saving of Ships does NOT work correctly in the LevelEditor
integrated in the game
(rp): PORT the map-editor 'maped' ?
-->A maped clone has been integrated into the game
- DONE Lift: show level-change in lift: probably just some
SDL_rectangle-filling needed, as it's a simple color scheme anyway
maybe even use alpha-channel??
- DONE Incredible file sizes of ne_....bmp files should be reduced, e.g. by using gif file
format instead, to reduce package size.
- DONE Robots now "jitter" until they reach their waypoint: adapt to new
coordinate-treatment:
(jp:) This does only happen with "slow" machines. I had that too at
first and then adapted the constant. Will be more cautios and
work over the constant again.
- (DONE) make sure all svgalib references are removed
- (rp) autoconf/automake: complete SDL checks
- (DONE) Frage: weiss irgendwer wozu die globale Variable "BeamLine" dient??
(rp) erschien mir nutzlos, und hab' die Variable jetzt eliminiert,
hoffe dass niemand sie doch gebraucht haette...
(jp:) War fuer eine PlusExtension, die noch dazu instabil war. Wir
koennen problemlos darauf verzichen bis auf weiteres.
- (DONE) "Ghosts" (i.e. Enemeys go throught walls...)
- NEW! but DONE!
There is a very strange bug: When the influ switches to weapon
mode or just is in WEAPON mode, the framerate GOES UP AND ALMOST
DOUBLES!!! This double framerate and the sudden change in framerate
causes some ugly jumps in the position vectorys destroying the
otherwise so smooth movement of the game. Very strange bug. At
first I thought it had to do with keyboard handling, but that IS
WRONG FOR SURE: tests have shown that WEAPON mode is sufficient for
this strange change in framerate. The bug also persists, no matter
wether SDL or ansi C framerate computation is used.
jp: The problem was that palette operations are SOOOO slow under X11
and the SDL. Now Influ-color is not set every frame. This was the
default in WEAPON mode only. Now we have DOUBLE framerate! coool!
- (DONE) (jp:) wenn man ganz am rechts unteren Rand einer rechteckigen Kartenform
steht wird die Framerate nachweislich bei mir HALBIERT! Das liegt
an den vielen IsVisible-Abfragen, die scheinbar irgendwo aus der
Karte hinaus im Speicher die Sichtbarkeit uberpruefen. Sehr
fragwuerdig
(jp:) appearently this bug has been resolved somewhere since it was encounteres
while using SVGALIB and might have been resolved with the new and corrected
get-ship-routines of rp or so. At least this bug cannot be found on my
machine any more.
- DONE (rp:) game should be able to check if yiff is actually _running_ and
complain if not and/or continue
(jp:) I do not see this problem. If yiff is not started, it will be
started. If yiff is already started, thats it and yiff will be used.
So why check if yiff is already running?
Also I have added extensive error handling and error documentation
for the user, so I consider the problem now fixed.
(jp:) YIFF has been entirely removed, to this really is handled...
- (DONE) Schussfrequenz des 001 zu hoch
- (DONE) gesamt Spiel-geschwindigkeit zu hoch (play original game to compare!!)
--> jp: Gut. Habe Robotgeschwindigkeiten und Schussgeschwindigkeiten etwas adaptiert.
- (DONE) Laufschrift gehoert zu Paradroid-'extensions'
--> habe sie als solche vermerkt.
- (DONE) (rp) Invincible mode: versagt manchmal (collisions)
--> inzwischen ueberlebt man die absurdesten Kaempfe und Situationen damit
- (DONE?) (jp) Calculate all movement (where movement is to be understood in an abstract
sense including movement of energy and such) framerate-dependant
--> sollte weitestgehend erledigt sein. Was fehlt noch? Anmerkungen bitte.
- (DONE) (rp/jp?) Ship-console endlich ordentlich machen, haufenweise
Robo-graphics noetig: Graphics sind jetzt da, einbauen noch noetig.
--> Konsole ist jetzt relativ ansehnlich. Weitere
Verbesserungsvorschaege erwuenscht.
(Bei zu viel Text, scheint immernoch ein segfault zu drohen
- (DONE) correct the too fast refresh movement and effect
Refreshes sollten jetzt ordentlich arbeiten. Etwas kalibrieren koennte man
sie vielleicht noch.
- (DONE) correct the too fast explosion (blast) damage effect
--> sowohl fuer Feinde als auch fuer den Influ sollte das
jetzt angemessen wirken
- (DONE) (rp) Takeover game still looks 'unfinished'
--> der Reinhard hat da scheinbar weitgehend aufger\"aumt...
- (DONE) (jp) "Fieps-pieps" music ist im Originalspiel nur am Anfang, im Haupt-spiel
sind nur ein paar "Brumm-brumm" Geraeusche
--> Fieps-Fieps ist jetzt auch bei uns nur am Anfang. Spaeter aber ein Bischen
Themenbezogene Hintergrundmusik find ich dagegen gar nicht so schlecht.
- (DONE) Also there are 516 in the yellow level, which shouldn't be the case.
I also encounter OTHER 001 druids of black color!
Especially after having died at least once before! Very strange!
(rp: this should now work ok)
- (rp) Timing in takeover game
- (DONE) Concept view is ugly
- (DONE) Pause stopped working with SDL-port
- (DONE) Uebernommener 302 is zu schnell, 420 is zu langsam..., etc etc
(jp: finde ich nicht. Ist zwar nicht 100% Originalgetreu, aber ich finde schon,
dann die Geschwindigkeit des entsprechenden Robots dann auch fuer den 001 gelten
sollte, wenn er einen dieser Robots uebernommen hat.)
- (DONE) proper Highscore list
--> Highscore list is accessible via the ESCAPE menu (single player submenu)
- (DONE) Debriefing ordentlich
debriefing sieht jetzt gar nicht so schlecht aus.
- (DONE) Lift-entry: man muss zu lange auf Space sein bis man in den Lift
kommt. Das "Lift-fahren" ist auch zu schwerfaellig.
- (DONE) Blitz-schuesse flimmern jetzt zu stark/lang
--> nicht mehr, seit die Framerate durch weniger debug-messages
generell hoch ist und Flashes Framerate-abhaengig lang leben
- (rp) should have maximally one 999 on commando-bridge
(jp: I think I've encountered 0 often, later 2 on other ships,
so I think thats not really so serious)
- (DONE) Endscreen after being killed ("Flimmern4") is too slow
(rp: now speeded up a bit, but should write a new one)
- (DONE) put all "cheat"-keys in cheat-menu (some are still accessible outside)
- (DONE) Enemey visibility is a bit shakey (revisit visibility calcuations...)
Test with concept view: VISIBILITY seems to work perfectly well.
The variable onscreen is not updated except for in PutEnemys and should
perhaps be removed: We HAVE the time to calculate visibility every
time we want to use it and DO NOT NEED to store is somewhere.
- hide mouse pointer
(would that really be a good idea?)
YES: only relevant for Freedroid-window, and has ben done already
- (rp?) The game gets stuck in the very left elevator on the deck above the
very lowest deck. Might have something to do with map topics
(DONE) enemy-navigation got stuck if waypoint had _zero_
connections, such "solo" waypoints are signalled, but works ok now.
- (rp?) joystick/gamepad support waere toll!
(DONE) geht schon super!
- (DONE) Options menu, wo man etwa: 1.) Die Lautstaerke der Hintergrundmusik
bequem einstellen kann: Use ESCAPE key to access menu
- (jp/rp?) make sure sound-code respects HAVE_LIBSDL_MIXER #define!!
(DONE)
- (rp) adapt Takeover game to the new engine
(DONE)
- DONE Colors sind allgemein ein wenig verdreht seit SDL Port
(wird automatisch behoben mit dem Umstieg auf TrueColor mode,
wo es dann ohnehin keine Farbpalette mehr gibt...)
- DONE need to allow waypoint ON a refresh for ex. (-> level 5!)
- DONE level 11: console rechts unten ist verkehrt
(wird leicht zu beheben sein, sobald das Abspeichern von maps aus
dem neuen MapEditor funktioniert.)
- Farbpalettenrotation fuer Bulletcolor austauschen, da sie die
Framerate verschlingt!! (we should check that first, though)
(wird sowieso automatisch behoben bzw. automatisch umgestellt,
wenn wir mit der neuen Engine dann auf TrueColor-Modus umstellen.
- (rp) Joystick shooting should determine direction more precisely
(difficult to shoot "straight")
(DONE)
- (jp/rp) "Ghost" bullets firing on me on empyy levels (eg. level 5)
then also had some ghost bullets coming from nowhere on other
(no-empty) levels
---> has already been removed. That was only a symtom while I was
extending. Problem is fixed I think.
- (rp) sensitivity in takeover-game too high (single steps difficult)
(is BETTER NOW)
- (rp?) The space for droids in the takeover game is a bit scarce. The bottom tends to
get chopped off. Takeover should be rearranged to display the droids without
chopped off parts indepentend of which theme is loaded.
- (rp) stabilise Highscore list
- (rp) improve keyboard-repeat in takeover
- (rp/jp) put a crosshair mouse-cursor
jp: --> done via taking and modifieing the example from the SDL doku
the current cursor is defines via pixel-map contants in the code, haha.
- bullet to top-right seems to be "offset" to top with respect to
displayed bullet-pic (which is positioned correctly), i.e.
collisions with wall or robots take place as if it was higher in y...
jp: --> Problem fixed. The rotated Block is no longer of size Block_Width x Block_Height
but of the size of the smalled rectrangle containing the uncroped rotated
square of this size.
- DONE Put the 'shipname' into the maps file. Currently 'Paradroid' is always displayed
as the current ship.
- Correct the console map: Do scaling in a way that allows to bring the whole map
exactly on the screen and perhaps also give the scaling factor used for generating
the map as additional text to the picture.
- (jp) There is still a lot of german in the code. Since we are growing more and more
international, that should be removed and better sooner than later, as well in
the comments as in the choice of some old variable names, which are from
historical origin, long before I started using the internet at all.
- (rp) missing "takeover announcement" of droid opponent
- (rp) Build-environment: make sure SDL/X,jpeg etc tests work ok!
(seems ok so far..)
- (jp) some missing "color rotations": takeover-mode
- Walls are too "sticky", would be better playable if one could "slide"
(jp:) That has been completely resolved, at least for my machine!!
Please tell me if you still experience trouble.
- (rp) Levelnumber should be the index in curShip.AllLevels for simplicity
- (jp) add more sounds:
We might use a new sound file for every different level. That would be
nice. But where to get that?
- save highscores to disk
- (rp+jp) use GNU coding standards (see doc file 'gnu-standards')
- !! We should have a common bug/patch mailing address somewhere !!
freedroid@....
- (rp) frame-rate neglected when counting out after takeover finished
- (rp) when SoundInit fails: get SegFault instead of proper termination
(also bad because corrupts highscore file apparently)
- after using flash-bullet: there seems to be a "hanging flash"
whenever entering a new level...
--> FIXED!! Only IsVisible() check was done for Droid damage, which
does not take levelnum into account!
- (rp) mouse actions lead to "glitches" in display..
--> ONLY seems to happen with ATI's 3D driver, not with standard radeon...
so probably it's not our fault at all!
- (rp) sometimes droids get created in "piles", i.e. on top of each other
FIXED!!: forgot to ActivateConservativeFrameComputation() in
ThouArtDefeated() ==> huge Frame_Time() in first step of new game!
- mouse-cursor visible/invisible should be done in input.c !
(done)
- more mouse-support in Konsole, lift + menu
(done?!)
- missing 711 ...
(done)
- make sure droid shuffling is randon enough, also concerning the
waypoints used (seems a a bit predictable right now...)
(done)
- decrease CPU usage in menu and maybe console(?)
(done)
- update level displayed when changed in LevelEditor
(done)
- increase sound-channels to allow playing more sounds simultaneously
(done: 20 channels now)
- force "release key" instead of waiting for it
(is it worth it?) -> I think so!
(done)
- reactivate modifier keys
(fixed that bug!)
- add "white noise" sound to the ThouArtDefeated() ceremony
(done!)
- acoustic "countdown" in takeover game might be useful!
--> (done)
- load all droid pics at startup, to avoid delays in DroidShow
(done)
- make sure game doesnt SegFault when files are missing
(should be done now: pass criticality of file to find_file())
- change laser-rifle pic in classic theme
(done)
- separate 'takeover'-mode from 'activate' ?
(done! I think that's much better!)
- adapt Key-description to new "activate" keys
(done)
- generate 3D rotation models for droids and use them in show_droid_info!
(done)
- in ThouArtDefeated: need to use a png-pic of 999 for transparency!
(done)
- adapt LevelEditor to new waypoint/connections scheme
(done)
- more flexible theme-handling to allow new themes to be added more easily...
(done)
- add options-switch for takeover=activate (purist's choice ;)
(done)
- implement the 'Alert' feature of the original version
(done)
- change GameConfig reading to use ReadValueFromString() for more 'robustnes'
(done)
- bug: Area-names etc seems cut now due to use of ReadValueFromString
(fixed)
- fix bug of exploding enemy (somewhere?) after restarting Mission...
(fixed)
- accelerate explosions, make sure blast-duration is not theme-configurable
(done)
- check and adjust 614 parameters (too fast shot-rate!) and
(better now;)
- add explosion-decals ? (switchable)
(done)
- allow initial scaling of the _whole_ game (-> Sharp Zaurus 320x200!)
(done)
(done) - write some Changelog summary vs 0.8.4
(done)- write a HappyPenguin announcement
(done)- update INSTALL-instructions, README, News etc..
- Add the original energy-upload-function from the C64 classical game start
to Freedroid (instead of BeamLine perhaps...)
--> (rp) mhh, dunno if that's worth the effort, let's see