Commit graph

7333 commits

Author SHA1 Message Date
helixhorned
8b6857b360 VP8 video playback as (side-by-side) replacement of ANM moving pictures.
Usage: For an ANM file <somefile>.anm/ANM, EDuke32 looks for <somefile>.ivf, which is the VP8 stream transported by an IVF container. It can be extracted from a WebM file with e.g.

  mkvextract tracks <filename>.webm 1:<filename>.ivf
  (part of Mkvtoolnix, the Matroska toolset)

Libvpx is required, and the 'YUV'-->RGB conversion is implemented using a fragment shader, so it's for OpenGL modes only. Also, this commit doesn't enable the code.

Unfinished: sound, aspect correction for fullscreen w/ non-square pixels, ... ?
---

Make MAXNODESPERLINE in engine_priv.h actually a macro that depends on MAXYSAVES and MAXDIM instead of using the obsolete precomputed value. I think this might have been the cause for the latest patched-up overhead view crash.


git-svn-id: https://svn.eduke32.com/eduke32@1933 1a8010ca-5511-0410-912e-c29ae57300e0
2011-07-18 19:06:29 +00:00
helixhorned
24dcfc6633 Make smostcnt an int32 to prevent overflow (and subsequent crash) with too many saved positions; In Mapster, make it possible to bunch-join an extended with a non-extended floor inner to the first one, so that inner sectors created out of loops can be deleted by joining the sectors then.
git-svn-id: https://svn.eduke32.com/eduke32@1932 1a8010ca-5511-0410-912e-c29ae57300e0
2011-07-13 16:42:29 +00:00
helixhorned
a15d8bfb98 * new editor cfg options: corruptcheck_noalreadyrefd (silinces 'already referenced warning'), r_usenewaspect, r_screenxy
* Read-only CON access to sector bunchnums by adding the labels '.ceilingbunch' and '.floorbunch' to the CON sector structure

git-svn-id: https://svn.eduke32.com/eduke32@1931 1a8010ca-5511-0410-912e-c29ae57300e0
2011-07-10 15:39:21 +00:00
helixhorned
606589f605 * Join-bunch functionality in 2d mode ('J'). When applied to two adjacent extended floors with different bunchnums, this makes them equal so that their sectors can be joined in a next step if their ceiling bunchnums are equal. The two floors also must be non-sloped and at the same height.
* slightly tweaked status line, now also displaying the number of bunches
* fix a couple of issues unearthed by valgrind and a TROR nextwall corruption when joining sectors

git-svn-id: https://svn.eduke32.com/eduke32@1930 1a8010ca-5511-0410-912e-c29ae57300e0
2011-07-09 17:36:02 +00:00
terminx
9a14859e68 Fix embedded gog.com duke3d URLs... zero functional changes in this commit
git-svn-id: https://svn.eduke32.com/eduke32@1929 1a8010ca-5511-0410-912e-c29ae57300e0
2011-07-05 04:56:51 +00:00
helixhorned
57379654a7 Addresses posts #180 and #181 of the TROR thread. Specifically,
* it is now possible to paste (and have an outer red wall automatically) highlighted sectors into a sector that is extended on one side and non-sloped on the other. For this, the highlighted sectors must be in one connected component.
* Make it possible to not display inner gray walls, toggled with Ctrl-Alt-A, but only when no manual grayout (Ctrl-R) is in effect.

* bugfix: don't clear original TROR-nextwall link when duplicating extended highlighted sector
* m32script: protect wall members relevant to TROR
* save autogray (Ctrl-A) and showinnergray (see above) to mapster32.cfg


git-svn-id: https://svn.eduke32.com/eduke32@1928 1a8010ca-5511-0410-912e-c29ae57300e0
2011-07-04 21:20:59 +00:00
helixhorned
ee4d060b1f * New m32script commands:
- sethighlightsector <sectnum> <on?>
 - updatehighlightsector
 - collectsectors <<array_to_collect_sectnums>> <initial_sector> <<num_collected_sectors>> <sector_filtering_state>

The latter does a breadth-first search starting from an initial sector and collects nextsectors only when the filtering state, given a sectnum as RETURN input, writes a nonzero value into RETURN. As a usage example, a.m32 includes the state 'collect_teleporting_sectors', that collects all sectors containing an SE7 and highlights them afterwards. This way, it should be possible to retrofit old maps with TROR by distributing small scripts that do most of the work (right now, joining has to be done by hand, though).


* corruption checker: for the 'nextwall inconsistent with nextsector' corruption, suggest an alternative fix by searching fitting nextwalls and changing the nextwall of the corrupt wall (as opposed to the nextsector). It will display with a leading '?' in the listing, and can be demanded by suffixing 'corruptcheck tryfix' with it. For example,

corruptcheck tryfix 9-21 ?

would fix some corruptions in Billy Boy's cranium.map without introducing drawing errors.


* fix demo playback (tueidj figured this out)


git-svn-id: https://svn.eduke32.com/eduke32@1927 1a8010ca-5511-0410-912e-c29ae57300e0
2011-07-03 22:51:28 +00:00
helixhorned
43ecbb1019 * We cansee() now through TROR portals, making enemies recognize you from above and below
* fixed subway roof interpolation; also small tweak to make this possible: http://forums.duke4.net/topic/3911-true-room-over-room/page__view__findpost__p__99099
* API change: Sect_{Set,Clear}Interpolation now takes sectnums directly


git-svn-id: https://svn.eduke32.com/eduke32@1926 1a8010ca-5511-0410-912e-c29ae57300e0
2011-07-01 17:15:07 +00:00
helixhorned
4e0da757ef fix MSVC build
git-svn-id: https://svn.eduke32.com/eduke32@1925 1a8010ca-5511-0410-912e-c29ae57300e0
2011-07-01 12:22:12 +00:00
helixhorned
6a713133cf * Fix usage of uninitialized array (\!), which could result in TROR connections being deleted at random when deleting sectors. I guess this is a sign of approaching senility :(
* When dragging highlighted sprites, do a setsprite() after each position update. This way, they won't end up on the wrong level
* TROR support for SE 31 and 32 in-game, example provided in test map
* some uncommited stuff for TROR: SE 6/14


git-svn-id: https://svn.eduke32.com/eduke32@1924 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-29 19:57:05 +00:00
helixhorned
1eec50be5f make min. resolution 320x200 (Hendricks266's request)
git-svn-id: https://svn.eduke32.com/eduke32@1923 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-27 10:55:08 +00:00
helixhorned
87f726bfd7 fix highlighted sector deleting and probably a couple of other inconsistencies stemming from that bug
git-svn-id: https://svn.eduke32.com/eduke32@1922 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-26 23:29:51 +00:00
helixhorned
83ab50d66e * Make destructable ceilings and floors (SE 13 pointing down) behave well with TROR; also carry sprites and players on the roof of a subway. The latter uses t_data[9] on the pivot sprite.
* Make the minimum resolution possible 640x480. Sometimes you'd accidentally enter something like 'vidmode 800 60' and crashes would ensue...
* fix a warning


git-svn-id: https://svn.eduke32.com/eduke32@1921 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-26 21:59:42 +00:00
helixhorned
3bc56d267c Polymost: crash prevention for bad pal sprites (and warning in Mapster 3D mode)
git-svn-id: https://svn.eduke32.com/eduke32@1920 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-26 13:00:31 +00:00
plagman
0bc508eecd Polymer ROR support, but no support for masked floor/ceilings yet.
git-svn-id: https://svn.eduke32.com/eduke32@1919 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-26 08:54:02 +00:00
terminx
26cd2b309c Fix the blacked out bonus screen and run game.c through astyle
git-svn-id: https://svn.eduke32.com/eduke32@1918 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-25 16:37:10 +00:00
helixhorned
6509f45dd6 another small fix
git-svn-id: https://svn.eduke32.com/eduke32@1917 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-24 13:23:53 +00:00
helixhorned
cf0e5b53c7 Don't crash G_ShowCacheLocks when there are many locks; Better sprite interpolation in subways
git-svn-id: https://svn.eduke32.com/eduke32@1916 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-24 11:16:12 +00:00
terminx
f339feb0ad Patch from Hendricks266 to add "-rts" command line parameter
git-svn-id: https://svn.eduke32.com/eduke32@1915 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-23 15:41:08 +00:00
helixhorned
21297f8bcf I now understand SE0's
git-svn-id: https://svn.eduke32.com/eduke32@1914 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-22 19:26:11 +00:00
helixhorned
5cb1132d56 Make certain sprites in rotating sectors impervious against diverging from their initial position due to roundoff error accumulation. The sprites affected are those with statnums 0, STANDABLE, FX, and FALLER (also SE lights, but that shouldn't be considered permanent) contained in sectors with SE 0, 6 or 14. Fix some interpolation issues with such sprites in passing, though they still jitter on occasion. For usage examples, take a look at the updated trueror1.map.
Implementation note: the so instrumented sprites use actor[].t_data[7] to hold a magic number (0x18190000 + pivot spr idx), and t_data[8] and [9] for the initial coords relative to the pivot point.

git-svn-id: https://svn.eduke32.com/eduke32@1913 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-22 19:12:47 +00:00
helixhorned
ffde01b0ca fix NOASM=1 build
git-svn-id: https://svn.eduke32.com/eduke32@1912 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-20 21:07:47 +00:00
helixhorned
924dccca21 safer sprintf
git-svn-id: https://svn.eduke32.com/eduke32@1911 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-19 18:42:48 +00:00
helixhorned
51fb860650 * Thin out models in memory by removing unused frames. This saves 200MB with DNE on Polymer.
* fix memory corruption when loading a Polymer savegame using another renderer and then change to Polymer
* fix possible crash in OSD_Exec() and uninitialized mem access in game config reader
* move makeasmwriteable() to baselayer.c


git-svn-id: https://svn.eduke32.com/eduke32@1910 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-19 18:30:32 +00:00
terminx
ef61e48c25 Patch from Hendricks266 and whatever changes happened to be in my tree. I hope they work ;)
"The most noticeable change is the addition of the "includedefault" CON and DEF command, which will attempt to include eduke.con (or nam.con, or ww2gi.con), then game.con, or duke3d.def, or nam.def, or ww2gi.def. This is useful for TCs like my add-ons, where for my pseudo-mutators I currently say "include EDUKE.CON", but I also have to juggle this terrible order of paths, so that I can have an EDUKE.CON file in my HRP which says "include GAME.CON" to allow the mainline game to actually run, but also allow DukePlus to load its EDUKE.CON file (since it uses that and not an -x switch), and also allow any custom EDUKE.CON files in the root to be used."


git-svn-id: https://svn.eduke32.com/eduke32@1909 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-19 00:11:52 +00:00
helixhorned
5a632bc1f0 * Tighter y[ud]most clamping in TROR/classic. This fixes the overdraw bug when standing on the rails in the test map.
* Voxel tweaks: horizontally scale wall-aligned ones by 5/4, make them ignore per-tile yoffset in classic (i.e. emulate Polymost; I think this is more sensible since they're not clipped to floors/ceilings anyway), make Polymost know the voxel scale
* Always cull back-facing, one-sided, wall-aligned sprites (classic/Polymost), irrespective of whether it's a sprite, voxel or model. This can lead to falsely not drawing them in certain circumstances, but IMO that's preferable to visible hidden switches etc.
* Change defaults for r_novoxmips to 1 and lazytileselector to 0


git-svn-id: https://svn.eduke32.com/eduke32@1908 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-18 13:02:08 +00:00
helixhorned
fdcfd8db0f also fix eduke32 on x86 and include a script for compiling all four versions, packing each into a fat binary and zipping the whole pack.
git-svn-id: https://svn.eduke32.com/eduke32@1907 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-17 13:11:19 +00:00
helixhorned
e1378c3020 Replacing 'NSApp' with the value returned from [NSApplication sharedApplication] is the last step to avoid null addresses in the x86 code. Go figure...
git-svn-id: https://svn.eduke32.com/eduke32@1906 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-17 11:58:37 +00:00
helixhorned
043c756676 A couple more OSX tweaks: pull in 'nibless' SDLMain.m into tree for future hacking, fix backspace ('delete') key in OSD, almost everything to make x86 binaries actually run.
git-svn-id: https://svn.eduke32.com/eduke32@1905 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-17 11:53:41 +00:00
helixhorned
116ab2ed99 Fix mapster's command-line parsing and copy over some of the 'custom mod dir' logic, currently used in the sound board to also find files outside of GRPs.
git-svn-id: https://svn.eduke32.com/eduke32@1904 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-16 19:39:22 +00:00
helixhorned
dd355636ff A couple of OSX fixes: one 64-bit cleanup, compilation fix on ppc (is that ever used?), nasm command line fix for x86
git-svn-id: https://svn.eduke32.com/eduke32@1903 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-15 10:38:12 +00:00
terminx
97cab051df ENet 1.3.2
git-svn-id: https://svn.eduke32.com/eduke32@1902 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-04 16:56:47 +00:00
helixhorned
e1d868dc20 A couple of tweaks for easier work with TROR:
* When TROR-joining and sectors reachable through former red walls could need displacement, ask the user; if something is wrong with the walls of the two components to join, jump to that place and print coordinates of offending wall and its point2 in the OSD
 * Ctrl-TAB in 2D mode now toggles filling of the currently aimed-at sector; it's not very in sync with the rest of the controls though (e.g. some commands will potentially affect each sector that contains the crosshair)
 * Fill sectors slightly different so that highlighted sectors above each other are easier to distinguish
 * In the editor, always clear the screen to a 'rainbow' of the palette before each frame. This makes no-draw ('HOM') and accidental translucency glitches stand out more clearly
 * a few misc. tweaks, consistency checks, and fixes


git-svn-id: https://svn.eduke32.com/eduke32@1901 1a8010ca-5511-0410-912e-c29ae57300e0
2011-06-04 00:06:08 +00:00
helixhorned
d3a9dec77c -- TROR:
* Mapster32 now makes sandwiches, too: select all floors of a bunch and 'extend them below'. This will put a new sector between the highlighted ones and the their lower neighbors and displace the z's accordingly. Make sure you have enough headroom.
 * To facilitate the above, RAlt now has two more modifier keys (checked at release time, as usual): for every sector that would be selected, END will select all sectors whose floor bunchnum equals the first (this is useful for sandwiching), and HOME will select all sectors whose ceiling bunchnum equals it (not very useful, but provided for completeness).
 * Sloping extended sectors is now checked more rigorously

-- misc:
 * When deleting highlighted sectors with DEL, pressing LShift will now always delete them irrespective whether the mouse pointer is over one of them. This is useful for the cleanup of corrupted maps.
 * 2D drawing is slightly tweaked so that active walls always display over inactive ones


git-svn-id: https://svn.eduke32.com/eduke32@1900 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-29 23:10:51 +00:00
helixhorned
95a33b72bd editor: tweak RShift so that unnecessary gray walls aren't selected; fix ugly bug with TROR joining
game: when entering/leaving water or slime, delay changing palette by one game tic to make it look right


git-svn-id: https://svn.eduke32.com/eduke32@1899 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-29 12:30:38 +00:00
helixhorned
61117d4e7b fix crash with RTS playback
git-svn-id: https://svn.eduke32.com/eduke32@1898 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-28 14:15:41 +00:00
terminx
5a7183ab79 Fix CON_SCRIPTSIZE
git-svn-id: https://svn.eduke32.com/eduke32@1897 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-27 21:24:01 +00:00
helixhorned
480df8187b set op support for loop highlighting with RCtrl-RShift
git-svn-id: https://svn.eduke32.com/eduke32@1896 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-24 21:46:51 +00:00
helixhorned
68dff06533 TROR: join sectors to a new bunch. For this, highlight exactly two connected components having the same outline and being TROR-consistent (same height etc.) and press Ctrl-J. Any ambiguity (connect c/f with f/c?, move which component?) is resolved by asking the user. Warning: hot off the keyboard and likely buggy
git-svn-id: https://svn.eduke32.com/eduke32@1895 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-23 22:42:39 +00:00
helixhorned
4fb043483d Increase default tile cache size to 24M in Mapster32 and add a command-line parameter '-cachesize <kilobytes>'
git-svn-id: https://svn.eduke32.com/eduke32@1894 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-23 18:07:45 +00:00
helixhorned
5f8cc046cc fix: loop joining/sector splitting with TROR'ed sectors, rendering bugs due to slopes. change keys: [I] toggles invisibility preview, ['I] toggles sprite invisibility bit
git-svn-id: https://svn.eduke32.com/eduke32@1893 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-23 14:22:32 +00:00
helixhorned
e92099b2f7 Polymost:
* rudimentary TROR support
 * free mixing of multi- and single-tile pskies
 * Don't cull models behind you. That is, treat them like floor sprites in that respect. This way large models like corpses don't disappear from the view unexpectedly.

Classic:
 * tweak the last row and column of the translucency table so that e.g. a transparent sprite against a FANSPRITE wall doesn't show up purple (only if Duke3D table is found)

Misc.:
 * fixes TROR-nextwall corruption when deleting sectors
 * tile selector 'goto' now has also completion
 * I forgot a file for the non-OpenGL build last time


git-svn-id: https://svn.eduke32.com/eduke32@1892 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-22 21:52:22 +00:00
terminx
8e75a11188 Fix some CON compile errors I introduced in r1857
git-svn-id: https://svn.eduke32.com/eduke32@1891 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-20 02:34:41 +00:00
helixhorned
0c190bfa55 * Auto-grayout for plain old sectors toggled with Ctrl-A. When it is in effect, _all_ sectors which fall outside the [min ceiling z, max floor z] bounds of all active extended sectors are deactivated.
* make it possible to duplicate from extended sectors; all extensions are cleared from them
* lazy hightile loading in tile selector can now be disabled in mapster32.cfg
* fixes USE_OPENGL=0 build


git-svn-id: https://svn.eduke32.com/eduke32@1890 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-18 22:44:09 +00:00
helixhorned
219dc6dd26 Translucent slope texture mapping; make overhead view always display grayed-out walls instead of only non-TRORed ones
git-svn-id: https://svn.eduke32.com/eduke32@1889 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-17 21:48:13 +00:00
helixhorned
b391bb8ad9 yay, I forgot the example and test map
git-svn-id: https://svn.eduke32.com/eduke32@1888 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-15 23:23:10 +00:00
helixhorned
137cb06bd6 ~-_-~-_-~ lift the curtain for... ~-_-~-_-~
True  Room
            over
            Room
    (also known as PROR)
  (or YAX)

 ~-_-~-_-~ ~~~~~~~~~~~~~~~~~~~~~~~ ~-_-~-_-~


git-svn-id: https://svn.eduke32.com/eduke32@1887 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-15 23:16:37 +00:00
helixhorned
873375025f * Include file cleanup by dragging most declarations into editor.h
* more useful auto-red wall feature: if no structure-changing operations have been applied after highlighting and duplicating, now also paste 'visual' fields of outer walls (this is one example of the use of a system that temporarily keeps track of nextwalls for former red lines)
* multi-pkies now have individual parallaxyscale


git-svn-id: https://svn.eduke32.com/eduke32@1886 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-15 22:37:24 +00:00
terminx
682981b50e Fix SE49 and SE50 breakage
git-svn-id: https://svn.eduke32.com/eduke32@1885 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-14 02:00:21 +00:00
terminx
19d65b699c Add null ptr check to minitext and fix the quotes for DNCLIP
git-svn-id: https://svn.eduke32.com/eduke32@1884 1a8010ca-5511-0410-912e-c29ae57300e0
2011-05-13 05:48:22 +00:00