⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changelog

📁 小型游戏引擎
💻
📖 第 1 页 / 共 3 页
字号:
            so we will go back to the correct resolution, and the mouse            will ungrab in case of a segfault. A C version (mostly working?)            of qinterpolatedown16short() has been added to pragmas.c, and            the ASM version had a fix that allows ceilings to show (though they            render incorrectly in the correct place, and now certain sprites            segfault. Ugh. PageUp/PageDown scancodes now work, so you can            raise and lower ceilings and floors. Changed caption in titlebar            of windowed mode.08292000 - Matt Helsley contributed some ASM -> C conversions, and some test            code to help with further porting. Cleaned up some cruft in the            sdl_driver. Dan nailed another clobber list issue in pragmas.c.            Thanks to Nicholas Vining, we now have a copy of Watcom C. Ryan            sat down and stepped through the ASM in gdb (NOT fun at all),            while Nicholas stepped through the DOS version in parallel.            Eventually we stumbled upon some misassembled opcodes; we ended            up filling some registers with a pointer, and not what the pointer            pointed at!  Ryan went through a_linux.asm and fixed all these,            and now 3D mode is almost entirely FLAWLESS.  This is so cool.            Bedtime; I hope you all enjoy this.  :)  Thanks Nicholas!08302000 - GAME now works. There was something awful in multi.c, probably            memory corruption with a static initializer, so SDL_Init() would            die in XOpenDisplay(NULL). Yikes. I've stubbed out what game.c            needs for multiplayer and put it in multi_tcpip.c (guess what            THAT'S for.  :)  ). The original multiplayer code is completely            modem and COMit based, and is useless anywhere but DOS, so this            isn't a big loss. Added some support for building under Cygwin,            but not much. Note that distributing binaries of BUILD built with            Cygwin violates the GPL, due to newlib's license, so don't do it.            But you can try compiling your own local copies. Where the hell            did CONTRIB go? Quick rewrite of that file. Minor glitches and            sound (and networking?) are the only things pending.08302000 - Temporary fix; either nsqrtasm() or its tables are not correct            (our C rewrite gives exactly the same results as the ASM version,            too), so we've replaced it with a call to the C runtime's sqrt()            function, which seems to work fine. I hacked at getting better            calls to timerhandler(); still not happy with the results.            I also fixed some stuff in sdl_driver.c, so you can have            resolutions > 320x200 in 3D mode. Use F4 in the game to change            modes. Dunno how you change it in the editor, but you'll note that            the 3D mode defaults to 640x480 now...this is where the editor            SHOULD be, but I had 320, 320 hardcoded in _setgamemode() for some            strange reason. Oh, and CONTRIB was lowercased. That's where it            went. URL for this project is now listed on Ken's homepage.09012000 - Happy September. Code tree is now available via CVS, thanks to            Matt and "witten". Dan fixed another keysym. port i/o macros were            being called when changing to 3D mode in the editor; #ifdef'd to            PLATFORM_DOS, now. Misassembled opcode in msqrtasm() is now fixed,            so the function operates correctly. Removed the #if 0, so that            ASM now gets used.09032000 - Dan fixed some printext16 calls in 2D mode. Added a BUILD_NOPENTIUM            environment variable: if set, it disables PentiumPro/PentiumII/MMX            optimizations. The code runs at more than 10fps less without            the Pentium overlays on my box (62fps to 50fps in the start of            nukeland.map at 640x480). I tried adding all the crazy compiler            optimizations I could think of. First, anything above -O2 causes            engine.c's compile to fail with a duplicate label from setgotpic.            This is an optimizer bug in inline asm. It cuts and pastes it            to inline it into each function, despite __volatile__ and the            lack of an inline keyword on the function where the ASM exists,            and you get a duplicate label. It's dumb. All the other            optimizations I threw at it worked, including pentiumpro            compilation, -fexpensive-optimizations, and -funroll-loops, but            there was absolutely NO increase in frame rate. I imagine most of            the time in 3D mode is being spent in a_linux.asm anyhow. If we            ever get this converted to C, those optimizations will be more            handy, I imagine, but for now, I've not committed the Makefile.            Cleaned up the README. After some tinkering, I managed to get            build to compile and RUN on Windows 98 with Cygwin. I can't            distribute binaries of this, as it would violate the GPL.            However, I will be merging the changes back into the main source            once I figure out the best way how. Mostly, the inline ASM needed            some hacks, but nothing I can cleanly #ifdef. Amazingly,            mprotect() worked identically on Linux and Cygwin. The mind            boggles. Changes that have made it into the CVS repository for the            Cygwin work follow: Removed dependency on the SDL event thread            (SDL_Init() fails on Win32 if you request an event thread), and            put SDL_PumpEvents() calls into _idle() and _nextpage(). This            seems to work fine, but there can be some breakage if there's a            keyboard polling loop somewhere that doesn't call either of these            functions. Added some %define macros to a_linux.asm to handle            C compilers that append an underscore to C identifiers. Updated the            Makefile for cygwin and other improvements.09052000 - Checked if Duke3d maps can be edited. Apparently they can be,            but only sorta. Quitting from 2D mode only prompts you to save            if you've changed something, now. Fixed the CVS info in README.            Added Duke3D and Shadow Warrior data file info to README. Minor            cleanups in the Makefile. Moved VIDEOBASE defines to display.h.            _platform_init() now takes icon and titlebar titles, and has been            updated in all drivers.02102001 - Someone on the 3DRealms Web Forums finds icculus.org:            http://www.3drealms.com/cgi-bin/ultimatebb.cgi?ubb=get_topic&f=5&t=00131802132001 - (Five months later...ugh.) Dan noticed that my webpage is being            discussed on the 3DRealms forums, so I went back into the code            and finished the work to get this running under Cygwin. Here's            the list of that work: Makefile is now more robust, added a            non-__attribute__ version of asm_prohlineasm4() to a.h, moved some            #includes in cache1d.c to prevent a double-definition of O_BINARY.            Fixed the inline asm in engine.c and pragmas.c to handle C            compilers that add underscores to identifiers. Removed the            SDL_HWSURFACE flag in sdl_driver.c (didn't realize this is            actually slower on most hardware, and it also breaks fullscreen            mode in Win32 on my box). Had to #ifndef CYGWIN the fnmatch stuff            in build.c until I find a portable, non-GPL solution.02142001 - Dan Olson nailed an assembly bug that caused segfaults in the            2nd overhead view in Ken's game. After that fix was applied, I            tagged the current CVS as "final-non-win32", as I start the effort            to make this thing compile as a native win32 executable with            (gasp!) Watcom C. Lots of stuff is getting torn around, as            assumptions get challenged: PLATFORM_UNIX vs. PLATFORM_DOS? Now            there's a PLATFORM_WIN32. unix_compat.h's display stuff has been            moved to display.h, and all the files include "platform.h" instead            of unix_compat.h, which allows us to choose the correct            compatibility header at compile time (win32_compat.h,            unix_compat.h, or doscmpat.h). All the platform-specific includes            (io.h, and such) have been moved into their respective compat            header, which cleaned up a lot of mess. Just to keep it real with            Cygwin, the Makefile now autodetects Cygwin, and sets the build            properties accordingly. Using a non-Cygwin GCC on Linux doesn't            set the Cygwin-related properties. SDL_INC_DIR and SDL_LIB_DIR can            be set as environment variables, so you never need to touch the            Makefile directly with Cygwin. "make clean" now cleans up various            Watcom C output, and vi's annoying "~" backup files. Tons of            patches and enhancements and little cleanups just to get this            to build on Watcom. Thing builds now, but has lots of problems            running, which will be resolved, hopefully, tonight. The Linux            version still works fine, and presumably so will the Cygwin            version. Overall, the quality of the port's codebase is improving            through this effort. I wonder if the DOS version will build now...02152001 - Did initial work to get a protected mode DOS binary running again.            Hey, why not? Not complete (compiles clean, no link). Lots of            cleanups, and again, this is improving the quality of the port's            codebase. As usual, the Linux, and presumably Cygwin, versions            still compile clean and run. Haven't tried Watcom/Win32 tonight.            Renamed dos_driver.c to dos_drvr.c, so you can build the DOS bits            on a regular FAT filesystem. Added a Makefile.dos for use with            Watcom C's wmake (based on Ken's original). Lots of other files            touched. Added a "make package" rule to the Makefile, to improve            the quality of my own life. Added (har) a FILEID.DIZ file, which            is really used for the package's zipfile comment, but I always            wanted to have one of those.  :)02182001 - Removed the ENDLINE_CHAR stuff in build.c; that textfile reading            code is now able to handle '\n', '\r', and "\r\n" endlines.            The findfirst/findnext/whatnot code now works on Linux, Cygwin,            and Watcom C (dos, and win32). It's still kludgy, though. More            compat header cleanups. Figured out how to get SDL working fully            with Watcom C (-ei command line to wcc386.exe, and declare your            SDL callbacks as __cdecl, etc.).02192001 - More Watcom fixes; build.exe's 3D mode is now fully operational.            One graphical glitch in 2D mode, still, but otherwise appears            fully functional. Put safety checks in a.h. Put a fix in build.c's            overheadeditor(), so it doesn't try to reference element -1 in an            array when clicking the left mouse button. Other ASM cleanups.            Fixed an annoying function declaration in bstub.c. Fixed an            incorrect assumption in sdl_driver.c's VBE_setPalette() that was            exposed by game.c under Watcom/win32. One quick addition of the            keyword "extern" to game.c, and we have a working game.exe under            Windows that isn't GPL encumbered. Woohoo! Added a Watcom/win32            Makefile, updated the README, and released win32 binaries.02202001 - Turned on more optimizations in the Watcom makefile, and cleaned            it up/abstracted it for public use. Added an nt_win option to that            makefile to make it not pop up a console window when started from            an icon. Added README-win32bins.txt to the CVS repository. Fixme            note to self added in engine.c, and an incorrect use of ASM in            pragmas.h was repaired. Now the drawpixel16 function is working,            closing the last bug specific to the Watcom/win32 port. Yay.02212001 - Fixed the timer bug! It was a one line change in game.c, pointed            out by Matt Saettler. Amen. This led to a better abstraction:            PLATFORM_TIMER_HZ, defined in platform.h ... Removed the wedged-in            call to SDL_PumpEvents() in game.c...not needed anymore.02222001 - Ported the codebase back to DOS. Point wmake.exe at Makefile.dos.02262001 - Added code to enable write access to self-modified ASM memory pages            so this will work on WinNT and Win2K. Discovered it wasn't needed,            and the real problem is that Watcom produces an incorrect PE            header in the generated EXE files. Steven Fuller dug up a program            that fixes this, and did a ton of debugging. Added him to the            CONTRIB file. Fixed Makefile.w32 and changed the default builds            to optimized and not debug to make binary distribution easier.            Automated the packaging of binary releases in Makefile.04262001 - EDuke 2.1 goes into private beta. Will it be the last release based            on Ken Silverman's original BUILD object code for Duke Nukem 3D?05102001 - Embedded a Perl interpreter that runs a function in game.pl once            per frame into the KenBuild game. This is just a test for a future            project, and probably shouldn't be compiled by the average person.            Changes to the Makefile, game.c, game.pl, and buildperl.[ch] were            added. Changed all occurances of my email address from            lokigames.com to linuxgames.com. One or two comment tweaks            elsewhere. Updated README with SDL12 CVS instructions.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -