|
|
1.1 root 1:
2:
3:
4: * TODO: see below, and in the "TODO" file. Enjoy!
5:
6: Mon Dec 22 20:29:16 1997 <[email protected]>
7:
8: * CVS logs and other obsolete stuff removed. Anybody
9: who wants to keep some revision control now has a
10: clean slate to start with.
11:
12: Mon Dec 22 19:53:34 1997 <[email protected]>
13:
14:
15: * i_sound.c: enabled SNDSERV, as SNDINTR for
16: some reason just gives ghastly results e.g.
17: on E4M2. Frankly, I am at a loss. SNDSERV is
18: now default, until the internal sound driver
19: is a bit more reliable.
20: Note that the current redundancy means that
21: changes like the one below will have to
22: be propagated manually to the soundserver
23: sources.
24:
25: * m_menu.c: the 4th episode is now removed with
26: the original doom.wad. You need to rename the
27: Ultimate DOOM/Special Edition retail IWAD to
28: doomu.wad now, or you won't see the 4th episode
29: in the menu. The compile time SPECIAL define
30: is thus gone.
31:
32: Mon Dec 22 17:08:33 1997 <[email protected]>
33:
34: * v_video.c (V_DrawPatch): another last minute hack.
35: While shareware, retail, commercial, and plutonia
36: (being a full DOOM2 IWAD) seem to work okay now,
37: TNT gives an error on finishing the first mission:
38: "Patch at -35, -5 exceeds LFB".
39: I changed the error abort into a simple return,
40: thus the patch is ignored. The intermission screen
41: seems to come up okay.
42: * TODO: check which patch, and whether it is an IWAD
43: problem.
44:
45: * i_sound.c: the sound table is hardwired in
46: sounds.h/sounds.c. As our current crude
47: sound handling simply loads *all* sounds at
48: startup, we are going to miss some with DOOM1
49: WAD files. I could skip them, but decided to
50: load a placeholder instead (dspistol). It might
51: be good to use a distinct default sound for
52: WAD debug purposes. A zero length sound lump
53: would work, but would not be noticeable.
54: Anyway, shareware and retail work now.
55: * TODO: implement proper handling for missing
56: lumps, sound and otherwise.
57: Perhaps move sound table into WAD?
58:
59: * g_game.c (G_DoPlayDemo): finally removed the
60: annoying "Demo is from a different game version"
61: abort. It now simply declines to playback the
62: demo, and waits for user input on some
63: do_nothing screen.
64:
65: * doomdef.h&Cie.: Lesson of the day - do not
66: replace a bunch of booleans with an enum and
67: use the same identifiers. Point in case:
68: "if ( commercial )" will not give an error,
69: and will always be true as long as the enum
70: value is greater than zero.
71: I found that the DOOM2 vs. DOOM differences
72: are everywhere (weapons, monsters, doors).
73: Number of episodes varies from shareware/commercial
74: to registered to retail, while commercial has
75: a unique set (two of them, counting the german
76: edition) of maps in one episode. Plus, TNT and
77: Plutonia add some TITLE strings to the mixture.
78:
79: Well, Plutonia and TNT are treated as DOOM2 for
80: now, so you will miss the startup message.
81:
82: * wi_stuff.h (NUMEPISODES): removed SPECIAL switch.
83: It is no 4 times 9 for wi_stuff.c internal
84: static arrays - doesn't matter.
85: * TODO: unified handling with DOOM 2 - dynamic
86: allocation of arrays.
87:
88: * i_sound.c (I_UpdateSound): okay, I separated
89: the mixing, now done synchonously, along with
90: a flag signalling the timer that the mixing buffer
91: has been updated. The handler is now very short,
92: and I tried several intervals down to 50usecs,
93: w/o complaints. Now the man page says:
94: "system timer resolution currently 10ms". Odd.
95: Anyway, while the double shotgun/plasma rapid
96: fire problem seems to be a bit less disturbing
97: at higher refresh, it's still there. I set the
98: interval to 500usec, which is sufficient for
99: avoiding any buffer update misses.
100: Conclusion after just two days of experimentation:
101: yep, sound driver code isn't fun at all.
102:
103: As for the bug - well, Dave Taylor suggested
104: close distance getting into a divide-by-near-zero
105: situation, screwing up the volume. I can't figure
106: why latency of an external sound driver or screen
107: size affect this, but I am running out of ideas.
108:
109: * i_sound.c:
110: Some more experimentation with the timer driven
111: sound. It doesn't work well using an intervall
112: of less then 30 msecs - there will be artifacts
113: with say 50 msecs. This is pretty obvious with
114: a target frame rate of at least 30fps, methinks.
115: Using the REAL/SIGALRM timer with 30msec gets
116: rid of the artifacts, it seems - at the expense
117: of slowing down things on a P133 to a noticeable
118: jerkiness. Bah.
119:
120: Mon Dec 22 00:36:54 1997 <[email protected]>
121:
122: * info.c: and i_video.c and i_sound.c - don't ask
123: me why some Linux header files are different with
124: gcc vs. g++, or what the complaint about the g++
125: complaint info.c state table is all about:
126: "initializer element for `states[..].action.acp1'
127: is not constant"
128: Undid some changes, compiled with gcc, playtested,
129: seems okay. Done for today... yesterday.
130:
131: * i_net.c (ntohl): okay, htons/htonl, ntohs,ntohl
132: are back to haunt me. Copied the macros that
133: on my box aren't used for whatever reason directly
134: into the source. Got rid of all other multiple and
135: undefined references. CC=g++ now compiles (still
136: many warnings) and links, but the binary dumps a
137: core after Init PlayLoop. So be it.
138:
139: Sun Dec 21 12:38:08 1997 <[email protected]>
140:
141: * p_enemy.c (P_NewChaseDir): changed tdir to int,
142: removed the LUTs - spurious locks were due to
143: endless loops created by boneheaded predecessor
144: map. Has to be a better way to do enum dirtype_t
145: anyway. Problem seems to be fixed.
146:
147: * CC=gcc again, this time loads of #includes to
148: fix "implicit declarations, and one or two
149: unused variables. DOOM now compiles without
150: any -Wall warnings left, as C.
151:
152: * Bug: compiled the reworked code with gcc. Within a
153: solid while of testing and blasting away, it
154: locked once. Got a core, which gdb doesn't grok.
155: Bah.
156:
157: * TODO: okay, linkage of g++ build modules give loads
158: of errors, because we have many implicits, plus
159: missing #pragma implementation causing multiple
160: definitions. Yet, this is the very first time DOOM
161: was compiled as C++ without a parsing error. So there.
162:
163: * sounds.c: included doomtype.h and removed yet another
164: enum { false, true } definition.
165:
166: * p_saveg.c (misc): several.
167: * p_mobj.c (P_SpawnMobj): (actionf_p1)P_MobjThinker
168: * p_spec.c (EV_DoDonut): (action_p1) T_MoveFloor (twice).
169: * p_plats.c (EV_DoPlat): (actionf_p1) T_PlatRaise.
170: * p_plats.c (EV_StopPlat): (actionf_v)NULL.
171: * p_plats.c (P_ActivateInStasis): same
172: * p_lights.c (P_SpawnGlowingLight): (actionf_p1) T_Glow.
173: * p_lights.c (P_SpawnStrobeFlash): (actionf_p1) T_StrobeFlash.
174: * p_lights.c (P_SpawnLightFlash): (actionf_p1) T_LightFlash.
175: * p_lights.c (P_SpawnFireFlicker): (actionf_p1) T_FireFlicker.
176: * p_floor.c (EV_DoFloor): (actionf_p1) T_MoveFloor.
177: * p_floor.c (EV_BuildStairs): same (twice).
178: * p_doors.c (EV_VerticalDoor): (actionf_p1)T_VerticalDoor.
179: * p_doors.c (P_SpawnDoorCloseIn30): same
180: * p_doors.c (P_SpawnDoorRaiseIn5Mins): same
181: * p_doors.c (EV_DoDoor): same
182: * p_ceilng.c (EV_CeilingCrushStop): (actionf_v)NULL.
183: * p_ceilng.c (EV_DoCeiling): (actionf_p1)T_MoveCeiling.
184: * p_ceilng.c (P_ActivateInStasisCeiling): same.
185: These gave g++ errors, but have been ignored by gcc.
186:
187: * r_data.c (R_PrecacheLevel): (actionf_p1)P_MobjThinker.
188:
189: * p_saveg.c: conversions (actionf_p1)T_Whatever.
190:
191: * p_tick.c: cast (actionf_v)(-1).
192:
193: * p_telept.c: yet another (actionf_p1)P_MobjThinker.
194:
195: * p_mobj.c (P_MobjThinker): cast (actionf_v)(-1).
196: * TODO: decent NOP/NULL/Nil function pointer.
197: I'd introduce a global A_NOP() function that
198: chokes up an error message.
199: Why -1 instead of NULL?
200:
201: * p_enemy.c: conversions (actionf_p1)P_MobjThinker.
202:
203: * d_think.h/info.h: think_t is essentially
204: the same action function pointer stuff.
205: I moved the definitions from info.h to
206: d_think.h, and aliased them with a typedef.
207: Now more changes needed.
208:
209: * p_enemy.c (successor, predecessor): new LUT,
210: to provide increments/decrements for enum
211: dirtype_t, as g++ complaints:
212: "no post-increment/decrement operator for type"
213:
214: * Makefile (CC): okay, tried "g++" once more.
215: A few errors (above). Plus shitloads of warnings
216: (obviously, better "unused" checking with C++,
217: lots of the usual int2enum suspects, implicit
218: declarations, the works).
219:
220:
221: * p_mobj.c: action.acp1 used accordingly.
222: * p_pspr.c: action.acp2 used accordingly.
223: * TODO: info.c:144 warning
224: "missing braces around initializer for `states[0].action'"
225:
226: * info.h/info.c: some experimental stuff on
227: action function pointers.
228:
229: * TODO: still some sound glitches at startup.
230: * i_sound.c: few more cleanups. Made mixing use
231: channel loop instead of unroll, set mixbuffer
232: to zero ot start.
233: Removed some more DOS leftovers (8bit),
234: kept some as comment.
235:
236: * hu_stuff.c (HU_Start):
237: More gamemode changes. As in d_main.c, I
238: decided to use DOOM2 as default whenever
239: one needed - it was sold most, and had the
240: superset of items, enemies and monsters.
241:
242: * TODO: the handling of WAD specific messages
243: like HU_TITLE, HU_TITLE2, HU_TITLEP etc.
244: should definitely be removed.
245:
246: * d_main.c (CheckBetaTest):
247: Removed outdated, DOS specific BETATEST stuff.
248: d_main.c (IdentifyVersion):
249: Numerous changes to gamemode handling.
250:
251: * TODO: currently, french language is enabled by
252: detecting an doom2f.wad - yet it needs FRENCH
253: define at compile time. I removed most language
254: stuff, and propose handling that at runtime,
255: using a switch in the config file. Well,
256: mission specific texts won't work outside the
257: WAD anyway.
258:
259: * TODO: along the same lines: I suggest removing
260: the misc. devparm switches as well - lots of
261: redundancy not needed anymore.
262:
263: * Makefile: finally added a doomstat.c for all
264: the global state variables listing internal
265: engine configuration. Right now, these are
266: scattered everywhere. Declaration to be found
267: in doomstat.h header.
268:
269: * f_finale.c (F_StartFinale):
270: Reworked the entire finale handling based on
271: game mode enum.
272:
273: * doomstat.h:
274: Global variables for game mode and language.
275: Removed old booleans.
276:
277: * doomdef.h: GameMode_t and Language_t enum added.
278: Boolean for language was kinda limiting to 2
279: alternatives (french, english), and five boolean
280: plus #define SPECIAL for game version is just ugly.
281:
282: * wi_stuff.h: SPECIAL switch compiles two
283: different EXE's, one for 3 episodes of 9 maps
284: each (DOOM 1 registered), one for 4 episodes
285: of 9 maps each (DOOM 1 retail/FinalDOOM).
286: Implicitely, the DOOM2 config (one episode,
287: 34 missions) is handled. How is the german
288: edition (32 missions only) done?
289: Frankly, this is a mess. The problem is that
290: intermission (animated as in DOOM 1, simple
291: backdrop as in DOOM2) as well as certain
292: items (double shotgun) as well as certain
293: rendering stuff (sky texture) depend on this.
294:
295: Plus, it ties into runtime flags as "commercial"
296: as well. Yuck.
297:
298: Each change will change the game. Postponed.
299:
300: * d_net.c,m_misc.c: removed last two NeXT remains.
301:
302: * d_englsh.h,d_french.h,d_main.c,m_misc.c,r_draw.c,v_video.c:
303: more WATCOM remains removed. Kept some stuff that
304: handeld the blocky mode/detailshift in DOS, which
305: is n.a. in Linux - but probably not worth fixing.
306:
307: Sat Dec 20 15:16:51 1997 <[email protected]>
308:
309: * Bug: core dump when using doom.wad or doom1.wad
310: without a "-file UNUSED/doom2.wad". Version
311: dependend handling of stuff (double shotgun)
312: comes to mind.
313:
314: * doomdef.h:
315: SNDSERV enables external sound server
316: support. SNDINTR enables internal sound
317: output with timer (asynchronous). Default
318: is internal, synchronous.
319:
320: * i_sound.c (I_HandleSoundTimer):
321: Okay, the plasma/double shotgun sound bug
322: (crapyy sund when firing nose-to-wall) is
323: obviously a problem with blocking at
324: refresh - smaller screen size makes it go
325: away.
326: I won't do threads w/o a proper gdb, and
327: I can't do whatever Dave Taylor did with
328: LinuxQuake w/o the sources, thus I broke
329: down and implemented a timer based solution.
330: Seems to work fine, given the fact that
331: this is the first time ever I implemented
332: sound handling.
333:
334: Fri Dec 19 10:02:48 1997 <[email protected]>
335:
336: * m_menu.c/i_sound.c/s_sound.c:
337: Removed a few more inconsistencies due to
338: old internal sound handling (DOS),
339: external (Linux sndserver), and
340: new internal (the unfinished merge of
341: both the former).
342: The Options/Sound/Music volume menu is
343: accessible now. It was due to an internal
344: scaling of the menu (effective range 0-15),
345: up to 0..120, by multiply with 8 scattered
346: all over the place, that we got a
347: v_video.c: I_Error ("Bad V_DrawPatch")
348: Now I am using the menu resolution
349: everywhere, and scaling should only be done
350: in the actual mixing/output.
351:
352: * OK, obviously this hasn't been updated in months.
353: This is because: a) most of the time nothing
354: happened, and b) when something got done, it was
355: too much to keep track of it by CVS and/or ChangeLog.
356:
357: Basically, what happened in the meantime is that
358: I did not find a publisher who believed that the book
359: sales would be worth doing it. Within the limited
360: amount of time that I could dedicate to a project
361: that will not generate any revenue whatsoever,
362: I spent some time on cleaning up the Linux code
363: base which works, essentially. I might or might not
364: be able to participate in a Mesa+Voodoo+Glide based
365: GLDOOM port for Linux. I won't waste a minute on
366: Win32 without getting paid for it.
367:
368: Because of the legal issues involved with the
369: DMX sound library id licensed for DOS DOOM, Linuxdoom
370: is the only code base that has sound support at all.
371: Other UNIX ports (SGI, Sun) could probably be revived
372: and integrated w/o too many problems. There is no
373: Win32 port - I never had access to WinDOOM or
374: Jim Dose's GLDOOM sources. There is no Linux
375: OpenGL (read: Mesa) support yet - that'd involve
376: internal changes which will best be done after a
377: public source release.
378:
379: John Carmack opted for a release of the Linux code.
380: I have removed all DMX references I could get a
381: hold of, but preserved some of the original
382: sound handling within DOOM that interfaced
383: with DMX. Linuxdoom (like previous UNIX ports)
384: used a separate sound server binary. I did some
385: work on putting the sound server module back into
386: the engine. It works, but shutdown (pending sounds),
387: and sound output parallel to refresh (blocking)
388: is crappy, and there is a problem with double
389: shotgun and plasma at close distance (as well as
390: with lots of other noises going on). As the
391: mixing code is identical to the separate
392: soundserver, and as it doesn't seem to be a
393: blocking issue, I am currently at a loss - I
394: wonder whether the IPC communication with the
395: soundserver process introduced a delay that
396: changed behaviour, or whether I simply overlooked
397: a bug. I am currently lacking the time to track
398: this down, so I am keeping both internal and
399: soundserver source.
400:
401: I did remove DOS and Watcom specifics. I did also
402: remove the texture mapping and fixed point assembly.
403: From my experience, it isn't worth the trouble
404: to ue GCC inline assembler, as performance of
405: the same loop written in C is perfectly sufficient.
406: On demand I will put both assembly modules into some
407: documentation, as they are probably of historic
408: interest.
409:
410: There is no Sun DGA, Irix, or other non-Linux stuff
411: in this code base (at least, not intentionally).
412: They will be back when ports to other UNIX
413: environments will be merged back (I can't do
414: testing, and the modules were separate and not
415: consistent, so I refrained from wasting time on
416: this prior to a public release).
417:
418: While I made only minor changes to the actual code
419: (some fixes, some cleaning up of SHM and audio),
420: I did a huge amount of shuffling around. I
421: introduced many more header files and modules,
422: some of them laughably small (doing these changes
423: is bound to screw up CVS, so no CVS record anymore
424: for the time being). I would introduce even more
425: separation if I had the time. Splitting the
426: animation/AI/behaviour code that defines
427: "DOOM - The Game" into a separate game.so (like
428: Quake2 does) should definitely be done. Separating
429: a ref_soft.so aka "DOOM - The Engine", and defining
430: a clean interface prior to introducing a ref_gl.so
431: is recommended as well.
432:
433: I am going to purge some more leftovers, remove
434: the obsolete CVS history except for comments,
435: and try to clean up the last "implicit declaration"
436: and "unused variable" warnings. Except for enabling
437: cheats in nightmare (to have more fun while testing),
438: I did not change the game mechanics at all. I would
439: strongly advise against doing so w/o the proper
440: separations suggested above. I will not waste time
441: on fixing detail and blocky mode, lack of resize,
442: or other stuff that it better addressed by a proper
443: GLDOOM port.
444:
445:
446: Sat Aug 16 08:07:16 1997 <[email protected]>
447:
448: * p_pspr.c:
449: Moved the sprite animation stuff from doomdef.h here.
450:
451: * info.h:
452: Added #ifndef __INFO__ for multiple inclusion. I am
453: not going to deal with multigen, or changing the
454: original DOOM monster animation anyway.
455:
456: * p_spec.h/c:
457: Moved anim_t etc., locally used only. There is
458: another anim_t in wi_stuff.h/c, now local as well,
459: so collisions on header inclusion should not occur.
460: #include "doomdef.h"
461: #include "doomstat.h"
462: these should now be topmost includes.
463:
464: * doomstat.h, doomdef.h, wi_stuff.h, d_player.h:
465: I moved wbstartstruct_t to d_player.h, and wminfo
466: to doomstat.h. Basically, I will try to move all
467: global state related stuff into doomstat.h, and
468: all data structures defined for state variables
469: into doomdef.h - this will be kinda greek tragedy,
470: and never finished, but a body can try.
471:
472: * wi_stuff.h/c, wi_data.h:
473: Removed wi_data.h, put all local stuff blah... see
474: below.
475: I have found several unused global variables,
476: started outcommenting them with //U, will remove
477: them later. It might be Watcom/PC stuff, or
478: somebody put the actual numbers into the implementation
479: instead of using STARDIST, ANIMPERIOD & Cie.
480:
481: * st_stuff.h/c: from doomdef.h, local stuff moved
482: into st_stuff.c, etc.
483: In the current revisions, I am tolerating warnings
484: of the "implicit declaration" kind - the linker
485: resolves the stuff, and it will be handy in
486: unmangling the modules once the headers contain
487: only the globally visible stuff.
488:
489: * am_map.h/c, am_data.h:
490: Removed am_data.h, put all local stuff into
491: am_map.c, moved globally needed headers from
492: doomdef.h into am_map.h.
493:
494: * p_saveg.h, p_setup.h, p_tick.h:
495: created, stuff from doomde.h moved there
496:
497: * d_main.c, d_net.c, doomdef.h:
498: Decided to dump mprintf, as only needed for
499: Watcom support which is not going to happen.
500:
501: * doomdef.h:
502: Moved function prototypes to appropriate headers:
503: d_main.h, d_net.h.
504:
505: Fri Aug 15 16:38:53 1997 <[email protected]>
506:
507: * doomstat.h:
508: added a few more comments, regrouped some of the
509: state variables.
510:
511: * doomdata.h: added a few more comments.
512:
513: Thu Aug 14 10:38:37 1997 <[email protected]>
514:
515: * g_game.c (G_DoLoadLevel):
516: copied the skyflatnum determination here, from
517: the R_InitSkyMap - once should be sufficient.
518:
519: * Makefile, r_sky.h/c:
520: added r_sky module. The sky handling was scattered
521: over r_bsp, r_main, r_plane, doomstat.h...
522:
523: * r_bsp.c, r_main.c, r_segs.c:
524: Removed RD_* calls from R_debug.m, NeXT switches.
525:
526: * r_local.h:
527: Removed the R_debug.m NeXT specific debugging
528: code headers. Removed "drawbsp" flag from
529: here, and r_main.c, too.
530:
531: * r_data.c:
532: Started to remove NORMALUNIX switches, using
533: LINUX instead. Basically, different UNIX
534: platforms using the same code should simply
535: be ANDed in the #ifdef switches.
536:
537: * r_draw.c:
538: Removed some more, but not all WATCOMC support.
539: There is an unresolved problem with the fuzzy
540: blitting in the lowres (blocky) modes - either
541: the "detailshift" flag triggered lowres mode
542: will be removed, or the bug has to be fixed.
543:
544: * r_bsp.h, r_draw.h, r_things.h, r_data.h,
545: r_segs.h, r_main.h, r_plane.h:
546: Created from r_local.h.
547:
548: * Back to work.
549: Till March 22nd, a lot of source shuffling and addition
550: of new header files, separating stuff, and creating
551: new, smaller modules. Some Watcom/PC/DMX/NeXT etc.
552: related stuff got removed, but not all (yet). None of
553: this ended up in the Log (sorry) or the revision control
554: (CVS is not well suited while number of files and
555: respective names change a lot, especially if stuff gets
556: deleted and/or re-introduced).
557: Major change: part of the sound code got copied from the
558: separate Linux sndserver sources to the linuxdoom source.
559: Re-integration and removal of sndserver pending.
560: Nothing of importance happend since then (priorities).
561:
562: Mon Feb 3 16:41:05 1997 <[email protected] ()>
563:
564: * m_misc.c:
565: Created m_argv, m_random and m_bbox, kept remains in m_misc
566: for the time being. Misc. files changed to include only
567: necessary modules. Moved bbox definitions from doomdata.h.
568:
569: * m_menu.h:
570: Created from doomdef.h. Misc. changes in dependend modules.
571: I am not going to list every affected file from now on.
572: See Log entries within each file.
573:
574: * dstrings.h:
575: Now handles multi-language support and switches.
576: So far, only english (default) and french are available.
577:
578: * d_englsh.h:
579: Created from dstrings.h.
580:
581: * g_game.h:
582: Created, from doomdef.h.
583:
584: * am_map.c, st_stuff.c, wi_stuff.c:
585: * Makefile:
586: Added m_cheat, removed dutils. Doubly linked list stuff unused.
587:
588: * m_cheat.h, m_cheat.c:
589: Created, basci cheat string scrambling and check, from dutils.h
590: and dutils.c.
591:
592: * doomdef.h
593: Moved screen declaration to v_video.h.
594:
595: * dutils.h, dutils.c
596: Remode code for f_wipe.h and f_wipe.c.
597:
598: * Makefile
599: * d_main.c,
600: Added f_wipe files.
601:
602: * f_wipe.h, f_wipe.c:
603: Created, screen wipe/melt at mission begin, from dutils.h
604: and dutils.c.
605:
606: * d_textur.h:
607: Created from doomdata.h. Separates all the patch/texture
608: defintions. Needed for v_video module.
609:
610: * r_local.h, wi_stuff.h, st_lib.h, hu_lib.h:
611: * i_x.c, d_main.c, m_menu.c, m_misc.c:
612: Added v_video.h.
613:
614: * v_video.h:
615: Created. Using headers from doomdef.h. Forward of patch_t.
616: Moved bool and byte to doomtype.h.
617:
618: Thu Jan 30 20:50:16 1997 <[email protected] ()>
619:
620: * doomtype.h:
621: Created, for fixed_t. Should add angle_t here, too.
622:
623: * tables.c:
624: Added SlopeDiv from r_main.c, added all defines and typedefs
625: related to basic trig table use here, removed it.
626: Currently "tables.h" is included in doomdef.h and
627: r_local.h, too. This is not too cleanly separated, but
628: we have to start somewhere, right?
629:
630: * tables.h:
631: Created from doomdef.h.
632: Note that tables.c had fixed size tables, while doomdef.h
633: calculated from the value of FINEANGLES. In addition,
634: entries were given as either "int" or "fixed_t". Bad boys.
635:
636: * z_zone.c:
637: * s_sound.c:
638: * hu_stuff.c:
639: * st_lib.c, st_stuff.c:
640: * wi_stuff.c:
641: * w_wad.c:
642: * r_things.c, r_plane.c, r_draw.c, r_data.c:
643: * p_tick.c, p_mobj.c, p_spec.c, p_setup.c, p_lights.c,
644: p_plats.c, p_floor.c, p_doors.c, p_ceilng.c:
645: * am_map.c:
646: * m_misc.c, m_menu.c:
647: * g_game.c:
648: * d_main.c:
649: * f_finale.c:
650: Added #include "z_zone.h".
651:
652: * z_zone.h:
653: Created, from stuff in doomdef.h
654:
655: * CVS checkin. Reformatting run, last one.
656: Took a week to go through all the sources, w/o even
657: looking to closely.
658:
659: * st_stuff.c (ST_Responder):
660: Removed a first tiny bit of redundancy (NO_CLIP checks).
661: Should remove idspispod completely, later.
662:
663: Wed Jan 29 19:53:43 1997 <[email protected] ()>
664:
665: * Another one, while we are on it. All S (Sound) files.
666:
667: * CVS checkin. Reformatting run, all R (Refresh) files.
668:
669: * r_draw.c (R_DrawSpanLow):
670: The non-Watcom, non-asm lowres mode was just a copy
671: of the default mode. As detailshift was used to scale
672: the image down, lowres mode just filled the left half
673: of the buffer.
674: * r_draw.c (R_DrawColumnLow):
675: Tried the same hack for walls, horribly broken.
676: Postponed.
677:
678: Tue Jan 28 19:32:48 1997 <[email protected] ()>
679:
680: * CVS checkin. Another reformatting run. Did all P files.
681:
682: * p_spec.c: P_FindNextHighestFloor
683: The number of adjoining sectors is limited to 20, because
684: of a temporary LUT needed for determining lowest height
685: in adjacent sectors. No overflow checking is done.
686:
687: Sun Jan 26 08:41:21 1997 <[email protected] ()>
688:
689: * Another CVS checkin of a formatting run.
690: D,F,G,HU,I,M have been changed.
691:
692: * Note: in initial and current release,
693: linuxxdoom -3 -file plutonia.wad, idclev 12
694: produces a Segmentation fault.
695:
696: Wed Jan 22 14:03:00 1997 <[email protected] ()>
697:
698: * m_menu.c:
699: initializer-string for array of chars is too long (skullName)
700: warning: unused parameter `int choice' (a couple of times)
701:
702: * Attempt to compile as C++. Loads of warnings, a couple of errors.
703: p_enemy.c (P_Move):
704: r_things.c (R_ProjectSprite)
705: `catch', `throw', and `try' are all C++ reserved words,
706: thus changed "try" to "try_ok". Fixed.
707: p_pspr.c: In function `void P_SetPsprite(struct player_s *, ... )':
708: too many arguments to function
709: No convenient fix - state->action is declared void action(),
710: but called w/o, with one, or with two parameters.
711: There are more like this. Going to be a tough one.
712: Union of pointers?
713: Postponed.
714:
715: r_plane.c: In function `void R_DrawPlanes()':
716: s_sound.c: In function `int S_AdjustSoundParams(struct mobj_s *, .. )':
717: p_map.c: In function `bool PIT_StompThing(struct mobj_s *)':
718: p_maputl.c: In function `int P_AproxDistance(int, int)':
719: r_main.c: In function `int R_PointToDist(int, int)':
720: p_enemy.c: In function `void P_NewChaseDir(struct mobj_s *)':
721: warning: implicit declaration of function `int abs(...)' <stdlib.h>
722:
723: Wed Jan 22 12:15:00 1997 <[email protected] ()>
724:
725: * CVS checkin of purification run. Sources now compile
726: without any "-Wall" warnings.
727:
728: * Note: with -file "tnt.wad", we get an "Error: Bad V_DrawPatch"
729: abort each time we enter an exit. Invalid or missing
730: intermission screen?
731:
732: * Makefile (CFLAGS): added -Wall, first purification run.
733:
734: d_main.c: In function `D_DoomMain':
735: warning: implicit declaration of function `mkdir' <fcntl.h>
736:
737: i_unix.c: In function `I_StartSound':
738: warning: control reaches end of non-void function
739: i_unix.c: In function `I_InitNetwork':
740: warning: implicit declaration of function `inet_addr' <arpa/inet.h>
741: i_unix.c: At top level:
742: warning: `endianness' defined but not used
743:
744: i_x.c: In function `I_Error':
745: warning: unused variable `string'
746: i_x.c: In function `I_GetEvent':
747: warning: suggest parentheses around arithmetic in operand of |
748: i_x.c: In function `I_FinishUpdate':
749: warning: unused variable `bigscreen'
750: i_x.c: In function `grabsharedmemory':
751: warning: implicit declaration of function `getuid' <unistd.h>
752: warning: unused variable `done'
753: i_x.c: In function `I_InitGraphics':
754: warning: suggest parentheses around assignment used as truth value
755: warning: char format, different type arg (arg 3)
756: warning: char format, different type arg (arg 5)
757: warning: implicit declaration of function `XShmGetEventBase'
758: i_x.c: In function `InitExpand2':
759: warning: unused variable `jexp'
760: warning: unused variable `iexp'
761:
762: m_menu.c: In function `M_ReadSaveStrings':
763: warning: implicit declaration of function `read' <sys/types.h>
764: warning: implicit declaration of function `close' <unistd.h>
765:
766: m_misc.c: In function `M_WriteFile':
767: warning: implicit declaration of function `write'
768: warning: implicit declaration of function `close'
769: m_misc.c: In function `M_ReadFile':
770: warning: implicit declaration of function `read'
771: m_misc.c: In function `M_ScreenShot':
772: warning: implicit declaration of function `access' <unistd.h>
773:
774: p_pspr.c: In function `P_MovePsprites':
775: suggest parentheses around assignment used as truth value
776:
777: p_spec.c: In function `P_SpawnSpecials':
778: warning: implicit declaration of function `atoi' <stdlib.h>
779:
780: w_wad.c: In function `strupr':
781: warning: implicit declaration of function `toupper' <ctype.h>
782: w_wad.c: In function `W_AddFile':
783: warning: implicit declaration of function `read' <sys/types.h>
784: warning: implicit declaration of function `lseek'
785: warning: implicit declaration of function `close' <unistd.h>
786:
787: wi_stuff.c: In function `WI_loadData':
788: warning: unused variable `pic'
789: wi_stuff.c: At top level:
790: warning: `background' defined but not used
791:
792: Tue Jan 21 22:00:00 1997 <[email protected] ()>
793:
794: * doomdata.h (__BYTEBOOL__):
795: Use builtin ANSI C++ bool.
796:
797: * d_main.c (IdentifyVersion):
798: Bug fix: insufficient malloc created errors in malloc/realloc
799: calls later on. Welcome to the risks of Copy'n'paste.
800:
801: Tue Jan 21 13:20:05 1997 <[email protected] ()>
802:
803: * First formatting checkin.
804: A word of explanation: prior to making any changes to the
805: source, a couple of formatting runs will be made, followed
806: by some purification runs.
807: For this run, the Emacs mode selection line has been changed
808: to use C++ style indenting (cc-mode.el). Each file has
809: been automatically reformatted using Emacs indent-region.
810: A few files have been changed manually already (i.e.,
811: comments, use of tabs).
812: Warning: using "diff" to compare files of different states
813: during the reformatting will not give useful results.
814:
815: * hu_stuff.c:
816: fixed "assignment discard const", the last remaining error
817: message with default compilation.
818:
819:
820: Sun Jan 19 14:27:06 1997 <[email protected] ()>
821:
822: * Makefile:
823: Minor fix for sndserver target, removed linuxsdoom target
824: for the time being, added CVS header (kind of).
825:
826: * Initial CVS checkin.
827:
828: * soundsrv/irix/linux/sun.c:
829: Changed includes (irix.h removed, soundsrv.h included).
830:
831: * i_svga.c:
832: Changed to DOS 8+3.
833:
834: * soundsrv.h/c:
835: Changed to DOS 8+3, included irix.h in soundsrv.h.
836:
837: * r_local.h:
838: Same for PI, include math.h with Linux.
839:
840: * doomdef.h:
841: Got rid of multiply defined warnings for Linux,
842: included values.h.
843:
844: * FILES2:
845: created a commented list of all files, removed a few
846: more files (sndserver test, NeXT leftovers, DMX header).
847: Identified the following main modules (see FILES2):
848: AM, HU, M, P, R, S, ST, W, WI. Some stuff is separate
849: (Z, F), some not clearly separable (G, D). System specific
850: interfaces are in I. Some of the latter replace i_main.c
851: (i.e. the void/int main(argc,argv) call), e.g. SVGA,
852: others (X11, SHM, DGA) don't. There is a certain amount
853: of overlap, and the largest module (with possibly most
854: overlap) is P - playing, i.e. all the games state and
855: animation handling.
856: Dithering is currently not used.
857:
858: Sat Jan 18 15:14:41 1997 <[email protected] ()>
859:
860: * r_draw.c:
861: fixed !defined(USEASM) lines for R_DrawColumn/Span.
862: Removed fpfunc.o/S from Makefile, now compiling
863: X11 w/o any assembler.
864: Got a running linuxxdoom again. We are in business.
865: This source is going to be used for the initial CVS
866: check in.
867:
868: * Tried a quick hack compiling it as COFF a.out instead
869: of ELF, with "gcc -b i486-linuxaout". Same linker
870: errors.
871: Tried removing -DUSE_ASM. Still using fpfunc.S.
872:
873:
874: * Tried linuxxdoom.
875: Compile run: some warnings (redefinition of MAX/MIN
876: SHORT/INT/LONG) in doomdef.h and (PI redefined)
877: r_local.h.
878: Link run: crashed, undefined references in
879: d_main.c: undefined reference to `FixedDiv2'
880: am_map.c: undefined reference to `FixedMul'
881: r_main.c: undefined reference to `R_DrawColumn'
882: r_main.c: undefined reference to `R_DrawSpan'
883: r_plane.c: undefined reference to `FixedMul'
884:
885: This stuff is defined in fpfunc.S (Fixed point) and
886: in r_draw.c (assembler in tmap.S not used).
887: However, "nm," shows that r_draw.o does not include
888: the drawing functions (see below - USE_ASM).
889: Furthermore, the global symbols in fpfunc.S begin
890: with an underscore, "_FixedMul" and "_FixedDiv2".
891:
892: More problems within fpfunc.o: undefined references to
893:
894: `_dc_yl' `_dc_yh'
895: `_ylookup'
896: `_centery'
897: `_dc_x'
898: `_columnofs'
899: `_dc_iscale'
900: `_dc_texturemid'
901: `_dc_source'
902: `_dc_colormap'
903:
904: `_ds_y' `_ds_x1' `_ds_x2'
905: `_ds_xfrac' `_ds_yfrac'
906: `_ds_xstep' `_ds_ystep'
907: `_ds_colormap'
908: `_ds_source'
909:
910: Again, underscore problem.
911: Note: tmap.S currently obsolete, as somebody pasted all
912: the texture mapping assembly into fpfunc.S. Gotta clean
913: that up.
914:
915: * Created initial release from CD sources, created ChangeLog.
916: Let the games begin.
917:
918:
919: **************************************************************
920: DOOM source code ChangeLog file
921: **************************************************************
922:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.