]> 4ch.mooo.com Git - 16.git/blob - 16/keen456/KEEN4-6/timeline.txt
extrcted keen code remake
[16.git] / 16 / keen456 / KEEN4-6 / timeline.txt
1 KEEN 4 RECREATION TIMELINE:\r
2 ---------------------------\r
3 \r
4 2019-02-16:\r
5 \r
6 - started implementation\r
7 - started & finished CK_MAIN.C (except for variables)\r
8 - started & finished CK_DEMO.C (except for variables and fancy intro stuff)\r
9 - started CK_GAME.C, CK_PLAY.C, CK_TEXT.C, CK_STATE.C\r
10 \r
11 \r
12 2019-02-17:\r
13 \r
14 - finished CK_GAME.C (except for variables)\r
15 - finished CK_PLAY.C (except for variables)\r
16 - finished CK_TEXT.C (except for variables)\r
17 - finished CK_STATE.C (except for variables)\r
18 - started CK_KEEN.C\r
19 \r
20 \r
21 2019-02-18:\r
22 \r
23 - finished CK_KEEN.C (except for variables)\r
24 - started & finished CK_KEEN2.C (except for variables)\r
25 - started & finished K4_LEVEL.C (except for variables)\r
26 - started K4_ACT1.C, K4_ACT2.C\r
27 \r
28 \r
29 2019-02-19:\r
30 \r
31 - finished K4_ACT1.C (except for variables)\r
32 - finished K4_ACT2.C (except for variables)\r
33 - started & finished K4_ACT3.C (except for variables)\r
34 - added crawl text in K4_LEVEL.C\r
35 - added states in K4_ACT1.C\r
36 \r
37 \r
38 2019-02-20:\r
39 \r
40 - added states in K4_LEVEL.C\r
41 - added states and initialized variables in CK_KEEN.C\r
42 - added states and initialized variables in CK_KEEN2.C\r
43 - added states in K4_ACT2.C\r
44 - added states in K4_ACT3.C\r
45 \r
46 \r
47 2019-02-22:\r
48 \r
49 - added ID Engine (taken from Catacomb 3D)\r
50 - started creating header files to put it all together\r
51 - fixed tons of typos...\r
52 \r
53 \r
54 2019-02-23:\r
55 \r
56 - finished header files\r
57 - fixed remaining typos & compiler errors\r
58 - code compiles, but linking fails because of missing data that needs to be\r
59   included in EXE (AUDIOHED, AUDIODICT, EGAHEAD, EGADICT, MAPHEAD)\r
60 - first builds - lots of memory(?) issues, quitting freezes DOSBox\r
61 - fixed menu colors in ID_US_2.C\r
62 - renamed "SKULL 'N' BONES" to "PADDLE WAR" (still need to fix speed issues in pong)\r
63 - fixed error in GFXINFO (wrong number of tile16's) now help texts and quitting work\r
64 - fixed memory issue by increasing number of memory block to 1200 (Cat3D used only 600)\r
65 - first level loads now, but RF_Refresh() locks up/takes forever\r
66 \r
67 \r
68 2019-02-27:\r
69 \r
70 - modified VW_ClearVideo to match Keen4 behavior (also adding in the bug)\r
71 - modified USL_TearDownCtlPanel to use VW_ClearVideo instead of VW_Bar\r
72 - fixed error in DrawCacheBox -> animation plays correctly now\r
73   (but RF_Refresh still locks up/takes forever)\r
74 - fixed error in ID_CA.H (Keen4 uses tile info order SPEED, ANIM, NORTHWALL, ...)\r
75   -> RF_Refresh doesn't lock up anymore\r
76 - fixed error in GameLoop -> can now enter sub-levels from world map\r
77 - fixed error in KeenAirReact -> can now land\r
78 - fixed bug in score box (used ammo number for lives)\r
79 - status freezes the game\r
80 - fixed signed/unsigned division bug in KeenStandThink\r
81 - fixed spawn position for slugstain\r
82 - fixed error in PlatformThink (platforms got stuck at the top/right end of the path)\r
83 - added Keen4 Highscore defaults\r
84 - fixed error in StatusWindow -> status window doesn't cause an endless loop anymore\r
85 - fixed error in DrawStatus (bad positions for a few things)\r
86 - fixed bug in CheckGrabPole -> can climb on poles now\r
87 - fixed error in KeenAirReact -> grab edge with correct y position\r
88 - fixed error in KeenClimbEdge1Think -> climbing left works correctly now\r
89 - fixed bugs in SpawnFlag (darn typecasts...)\r
90 - fixed error in ScrollScreenWorld\r
91 - fixed error in KeenPoleTihink -> won't fall off when pressing left/right\r
92 \r
93 \r
94 2019-02-28:\r
95 \r
96 - fixed lindsey floating bug (typecasts)\r
97 - fixed mimrock walking\r
98 - fixed arachnut contact\r
99 - fixed riding the foot\r
100 - fixed thundercloud not randomly turning towards player\r
101 - fixed missing VW_UpdateScreen in LindseyDialog\r
102 - fixed KeenAirReact\r
103 - fixed EggContact\r
104 - fixed controls for scuba keen\r
105 \r
106 \r
107 2019-03-01:\r
108 \r
109 - fixed Sprite, Dopefish and Schoolfish\r
110 - seems fully playable now...\r
111 \r
112 \r
113 2019-03-16:\r
114 \r
115 - renamed PlayDemo to RunDemo, since that's the name that is used in the Keen 4 Demo\r
116 - fixed Dopefish contact code (used to check 'ob' instead of 'hit' for a keenobj)\r
117 \r
118 \r
119 2019-04-10:\r
120 \r
121 - fixed bug in PatchWorldMap (info layer value wasn't set to 0 for completed levels)\r
122 \r
123 \r
124 2019-05-04:\r
125 \r
126 - replaced all sprite numbers with enum names\r
127 - fixed error in WormouthLookLeftThink -> changes state to s_wormouth now\r
128 \r
129 \r
130 2019-05-06:\r
131 \r
132 - replaced some more numbers with enum names\r
133 \r
134 \r
135 2019-05-11:\r
136 \r
137 - fixed error in MergeTile16M\r
138 \r
139 \r
140 2019-05-17:\r
141 \r
142 - fixed bug in WormouthThink (used PIXGLOBAL instead of TILEGLOBAL for xdist)\r
143 \r
144 \r
145 2019-05-19:\r
146 \r
147 - actually moved all far strings into far memory\r
148 \r
149 \r
150 2019-09-27:\r
151 \r
152 - fixed a minor error in PageLayout (skip anything <= space character, not just space char)\r
153 \r
154 \r
155 2019-09-28:\r
156 \r
157 - fixed a bug in control panel (had to adjust indices because options menu was added back in)\r
158 \r
159 \r
160 2019-11-26:\r
161 \r
162 - started implementation of Keen 5 stuff (K5_*.C)\r
163 \r
164 \r
165 2019-11-28:\r
166 \r
167 - started implementation of Keen 6 stuff (K6_*.C)\r
168 \r
169 \r
170 2019-11-30:\r
171 \r
172 - finished implementation of Keen 5 & 6 stuff\r
173 \r
174 \r
175 2019-12-09:\r
176 \r
177 - reorganized KEEN4 project to add support for Keen 5 & 6 without too much redunancy\r
178 - added code specific to Keen 5 and Keen 6 to the main codebase (CK_*.C)\r
179 - excluded code specific to Keen 4 from the other builds (lots of #if & #ifdef)\r
180 - Keen 4 still compiles fine, 5 & 6 still need some header files\r
181 \r
182 \r
183 2019-12-10:\r
184 \r
185 - created header files for Keen 5 and Keen 6\r
186 - all 3 projects compile, but still some bugfixing to do and features to add:\r
187   - refresh manager constants must be adjusted\r
188   - copy protection for Keen 6 isn't implemented\r
189   - sounds for animated tiles (Keen 6) aren't implemented\r
190 - fixed a few bugs, first couple of levels in Keen 6 are playable now\r
191 \r
192 \r
193 2019-12-11:\r
194 \r
195 - adjusted refresh manager constants (now Keen 5 levels are playable, too)\r
196 - adjusted position of the "PRESS A KEY" graphic in the status window \r
197   (position in Keen 4 differs from 5 & 6 because of the wetsuit box)\r
198 - added RF_MaskBlockWhite and a few other things\r
199 - studied Terminator-related code in depth, trying to understand it all and\r
200   find names for all those variables\r
201 \r
202 \r
203 2019-12-12:\r
204 \r
205 - finally found and fixed a bug with the turret shots in Keen 5\r
206 - fixed wrong pole shooting sprites (left and right sprites were swapped)\r
207 - fixed demo-breaking bugs in Spindred and RoboRed (Keen 5)\r
208 - fixed worldmap elevator door code (Keen 5)\r
209 - fixed worldmap rope and rocket bugs (Keen 6)\r
210 - still a demo-breaking bug somewhere (Nospike / Bloogdome, Keen 6 obviously)\r
211 - fixed pole check for shikadi pole sparks\r
212 \r
213 \r
214 2019-12-15:\r
215 \r
216 - FUCLING FINALLY found and fixed the demo-breaking bug in Keen 6\r
217   (was in NospikeRunThink)\r
218 - fixed bug in Shikadi Master spawn (y offset used tile units instead of pixels)\r
219 - started implementation of the Terminator intro and the Star Wars text crawl\r
220 \r
221 \r
222 2019-12-16:\r
223 \r
224 - finished implementation of the Terminator and Star Wars stuff, but now the\r
225   compiler crashes...\r
226 - found and fixed the issue that crashed the compiler\r
227 - fixed all bugs in the Staw Wars text crawl\r
228 - fixed all bugs in the Terminator intro\r
229 \r
230 2019-12-17:\r
231 \r
232 - added tile animation sounds for Keen 6\r
233 \r
234 \r
235 2019-12-19:\r
236 \r
237 - implemented Keen 4-6 version of VW_SetScreen (in _ID_VW_AE.ASM) and my\r
238   customized version of the routine (in ID_VW_AE.ASM). swap the files if you\r
239   want to use the original code\r
240 - added support for the NOPAN parameter\r
241 - added US_CheckArg in ID_US_1.C\r
242 - added Quiet AdLib mode\r
243 - added Gravis Gamepad support\r
244 \r
245 \r
246 2019-12-20:\r
247 \r
248 - fixed CheckHighScore bug (each episode uses a different map number)\r
249 - fixed shockshund bugs (blast direction, stun jump)\r
250 \r
251 \r
252 2019-12-21:\r
253 \r
254 - fixed EagleWalkThink (condition for starting to fly, Keen 4 obviously)\r
255 - fixed tile-based item stealing for TreasureEater (Keen 4)\r
256 - fixed force field toggling (Keen 6)\r
257 \r
258 \r
259 2019-12-22:\r
260 \r
261 - fixed bug in EagleFlyReact (Keen 4)\r
262 - changed ConfigVersion in ID_US_1.C for full compatibility with version 1.4\r
263   (saved games are still incompatible, though)\r
264 \r
265 \r
266 2020-01-05:\r
267 \r
268 - modified PaddleWar code to match the code from Keen 4-6\r
269 \r
270 \r
271 2020-01-06:\r
272 \r
273 - moved minimum memory requirement into the episode headers\r
274   (Keen 4 & 5 need 310,000 bytes, Keen 6 needs 300,000 bytes)\r
275 - added missing code in SD_Default() (also marked the bug in there)\r
276 \r
277 \r
278 2020-01-08:\r
279 \r
280 - fixed a minor issue in ID_RF.C related to the tile animation sounds in Keen 6\r
281 \r
282 \r
283 2020-02-21:\r
284 \r
285 - fixed a bug in Bipship movement code (Keen 6)\r
286 - modified sound engine to avoid SDL_Delay entirely and read port 0x388 instead\r
287   (which is exactly how version 1.4 and above work)\r
288 \r
289 \r
290 2020-03-05:\r
291 \r
292 - fixed bug in Ampton walk code\r
293 \r
294 \r
295 2020-04-24:\r
296 \r
297 - added the title screen in DemoLoop() (after high scores)\r
298 - replaced some chunk numbers with their enum names in K4_LEVEL.C (smoke sprites)\r
299 \r
300 \r
301 2020-05-20:\r
302 \r
303 - SpawnEnemyShot now makes the object removable (KEEN5)\r
304 \r
305 \r
306 2021-05-05:\r
307 \r
308 - fixed bug in PageLayout (negative top row index)\r
309 \r
310 \r
311 2021-05-05:\r
312 \r
313 - fixed bug in JanitorDialog (bad picture position for KEENMADPIC)\r
314 \r
315 \r
316 2021-06-06 to 2021-06-23:\r
317 \r
318 - renamed things in Keen 4 & 5 to what is believed to be the original naming\r
319   scheme - Keen 6 stuff is still guesswork\r
320 - adapted code to make it compile with Borland C++ 2.0 and 3.0\r
321 - adjusted compiler settings and code to recreate the original executables as\r
322   closely as possible (for automated comparison and verification)\r
323 - found and fixed a few bugs along the way\r
324 \r
325 \r
326 2021-06-24:\r
327 \r
328 - tracked down and fixed any remaining differences\r
329 - compiling (with source debugging enabled) and then compressing the EXE files\r
330   with LZEXE Version 0.91 creates EXACTLY the same files as the original v1.4\r
331   releases shipped with\r
332 - Mission accomplished, I guess...\r
333 \r
334 \r
335 2021-07-01:\r
336 \r
337 - first public release of this source code\r
338 \r
339 \r
340 2021-07-03:\r
341 \r
342 - Keen 6 EGA v1.5 can now be recreated with this source code thanks to NY00123\r
343 - added some more comments to the source code, mostly explaining what the temp\r
344   variables are used for in each actor's code\r
345 - changed the function names in the Keen 6 code from ...Think, ...Contact and\r
346   ...React to T_..., C_... and R_... for more consistency with the Keen 4 and\r
347   Keen 5 code, also changed some state and sprite names for more consistency\r
348 \r
349 2021-07-08:\r
350 - all CGA executables of versions 1.4 and 1.5 can now be recreated with this\r
351   source code\r
352 - added a few more comments\r