Ottobre 2013
-
Generale
In G_SaveMapState, fix 1024-byte write beyond array bound on 64-bit platforms.
Mostra dettagli
This was caused by mismatched for types mapstate_t's animateptr[] and the global one (int32_t vs. int32_t *). Bump BYTEVERSION.
-
when failing to load file, don't append '.m32' if already there.
Mostra dettagli
So that there are no error messages like "M32 file `a.m32.m32' not found." Also, in build.c's 'save as' code, add a bound check that would probably always pass in practice, but looks a bit safer and may fail in very cornerly cases.
-
save r_usetileshades and r_pr_artmapping with mapster32.cfg.
-
when printing error line, replace tabs with spaces.
-
take initial map file name from ExtPreInit()->G_CheckCommandLine().
Mostra dettagli
Instead of directly in build.c:app_main(). Previously, it was possible that an argument to an option, e.g. "WGR2" with "-game_dir WGR2", would get interpreted as the initial map to load. This in turn would attempt to execute WGR2.cfg as sequence of OSD commands -- where that file is an EDuke32 config file instead! Now: maps are passed without any options, e.g. "mapster32 [opts...] debug.map". The map file name is not added to the "additional parameters" for map testing.
-
Generale
SDL2/non-Windows: Before showing "simple message box", replace tabs with spaces.
Mostra dettagli
Because the one implemented on top of X shows a special mark for tabs instead of whitespace. Also, in wm_msgbox(), use vsnprintf.
-
very primitive gamevar handling logic for {save,load}mapstate.
-
in {save,load}mapstate, warn that saving/restoring gamevars is NYI.
-
Add SDL scancode -> ASCII value translation for the "key FIFO" for ESCAPE.
Mostra dettagli
This fixes ESC in certain situations such as the editor map selection menu.
-
factor out 2x repeated code into keyascfifo_{isfull,insert}.
-
Generale
At end of G_RestoreMapState(), update g_player[].ps->i from STAT_PLAYER sprites.
Mostra dettagli
This fixes a potential crash caused by violating the expected invariant sprite[g_player[player_index].ps->i].yvel == player_index otherwise.
-
Generale
Lunatic doc: add Lua source code highlighting using GNU Source-highlight.
Mostra dettagli
DONT_BUILD.
-
implement NODEFAULT flag (1024) as session variables.
Mostra dettagli
This is in contrast to C-CON, where the implications are not clearly obvious. See this discussion/monologue: http://forums.duke4.net/topic/955-eduke32-scripting/page__view__findpost__p__159613 Currently not implemented for session gamevars: - per-player, will be made a global one instead - per-actor, will be made a plain per-actor one instead DONT_BUILD.
-
add necessary identifier-is-not-gamevar check.
-
Generale
Set the SDL window icon when changing video mode
-
Add LOGO_FLAGS bits 4096-32768 to disable E1-E4 bonus scenes, respectively.
Mostra dettagli
Each scene is disabled in its entirety, there's no way to disable only a particular part. DONT_BUILD.
-
fix quote and pause keys.
Mostra dettagli
- Add SDL scancode -> our key code map for SDL_SCANCODE_APOSTROPHE - Remove duplicate map for SDL_SCANCODE_PAUSE
-
make it possible to build with LuaJIT 2.1, add -Lopts=profile there.
-
Generale
build.lua: add read_basepal().
-
Generale
foreachmap.lua: remove the need for a space for certain '.' accesses.
Mostra dettagli
That is, now it's not necessary to write e.g. "io. write" -- .xxx is translated to <what>[i].xxx only if it's a matching member name.
-
Generale
build.lua: add "artfile" class, allowing to open and get pics from an ART file.
-
Fix wiibuild.bat so that revision numbers have the "r" prefix like they are supposed to.
-
Fix build and add custom headers and libs to SVN. (It's helpful to set up a build system from scratch.)
Mostra dettagli
DONT_BUILD.
-
Generale
r4087, attempt #2: Fix "warning: iteration 1461 invokes undefined behavior [-Waggressive-loop-optimizations]" in initkpeg().
-
Generale
Change the default SDL version to SDL2 and the default Windows RENDERTYPE to SDL.
-
Add SDL2 headers and libraries to the repo for quick-and-easy building and static linking. (SDL2 uses the zlib license so we are in the clear.)
-
Generale
Fix OpenGL texture cache "leak" and slightly tweak hash string construction.
Mostra dettagli
The leak happened because a struct was hashed that had uninitialized bytes in padding inserted by the compiler. The hash string in now constructed as concatenation of three CRC32s as 8-byte hex strings, i.e. the individual CRC32s are padded with leading zeros. Note to users: because of the hash change, it's sensible to delete the 'textures' and 'textures.cache' files.
-
Generale
Fix mouse grabbing in SDL debugging builds.
-
Generale
Revert "Move CONTROL_ProcessBinds() to CONTROL_GetInput()." [r3981]
Mostra dettagli
That change confounded character-based input with e.g. HUD control under certain circumstances, see http://forums.duke4.net/topic/6845-eduke32-savegame-annoyances/ Also, BUILD_LUNATIC ... just for the hit.sect -> hit.sector change.
-
add forgotten g_argv to dynsymlist_m32.
-
Generale
Clean up some GUI/WM minutiae. Should fix linking Mapster32 on *nix with HAVE_GTK=0.
-
Generale
Fix the vsync menu option so that it actually works.
Mostra dettagli
Variables at global scope which share a name tend to actually be the same variable. Not good when you pass such a variable to function that immediately returns if the passed parameter (the variable) equals said variable (itself).
-
Generale
Merge a patch and suggestions from NY00123 improving SDL2 support. This fixes the flickering in OpenGL in SDL2 on Windows. It also provides a proper list of resolutions.
-
Generale
Fix OpenGL under SDL && Windows. (Almost. SDL 1.2 works fine, but SDL2 has an unresolved problem where OpenGL screen updates flicker over a black background.)
-
Generale
Fix "warning: iteration 1461 invokes undefined behavior [-Waggressive-loop-optimizations]" in initkpeg() by promoting the variables in question to int64_t.
Mostra dettagli
NOTE TO TEAM MEMBERS: Please review this, as I am not sure what is actually intended here.
-
Generale
Windows startup window tweaks:
Mostra dettagli
- Don't print osd.szCSDVersion when it is empty, preventing an extra space between the OS name and version number. (An example of what this field holds is "Service Pack 1".) - Under SDL, allow the "console" edit field to repaint after "OK" is clicked. Important when a long def file is loading.
-
Generale
Allow wm_msgbox() to use SDL_ShowSimpleMessageBox() under SDL2.
Mostra dettagli
Unfortunately, SDL2 does not (yet?) provide a Yes/No box for wm_ynbox().
-
Generale
Split the handling of audio based on RENDERTYPE into a new variable named MIXERTYPE, allowing Windows builds to use SDL for input and rendering (RENDERTYPE=SDL) while using DirectSound and Windows' MIDI interface (MIXERTYPE=WIN [current default]) so that EMIDI works.
-
Generale
Fix the RETURN and KP_ENTER keys under SDL2.
-
Generale
Fix the Classic renderer under SDL2.
-
Generale
Fix USE_OPENGL=0 build.
-
Generale
Merge a patch from NY00123 that draws the screen to a temporary surface under the selected bit depth then blits it to a surface at the system desktop bit depth, under SDL. This allows 8-bit classic to run in fullscreen under certain *nix configurations and Windows 8.
-
Generale
Fix the long-standing trivial warnings in net.c.
Mostra dettagli
Cognitively, so much time has passed that these unused variables would offer little help indicating the roadmap for networking. In any case, I have taken care only to comment rather than remove anything that is more than just a throwaway loop counter. If this commit inconveniences anyone in any way, please contact me personally and I will make it right.
-
Generale
Iron out all errors and warnings when compiling with MinGW-w64, targeting either 32-bit or 64-bit.
-
Generale
Update prebuilt ebacktrace1 dlls. This allows r3625 to take effect. Rejoice as the 32-bit dll built by i686-MinGW-w64 works, resulting in a 1.0 MB file instead of MinGW32's 5 MB dll.
-
Generale
Fix ebacktrace1 under MinGW's GCC 4.8 and binutils 2.23.2.
Mostra dettagli
We keep needing more and more hacks as libbfd keeps becoming dependent on additional libraries we don't need...
-
Generale
Build tools: Fix all compiler warnings and errors with MinGW/GCC 4.8 || SDL2.
-
Generale
Improve SDL2 support as much as I can, for now. The game compiles, links, and starts, but all three renderers either don't display correctly or crash.
Mostra dettagli
To build with SDL2: make RENDERTYPE=SDL SDL_TARGET=2
-
Generale
Work around a bug in MinGW 4.8 / mingwrt-4.0 where a function named main() in misc/src/libcrt/gdtoa/qnan.c takes precedence over the proper one in src/libcrt/crt/main.c.