This works like an extension of the RETURN gamevar and it accepts multiple values. Reading or writing the value of "userdef[].return 0" is the same as reading of writing the RETURN gamevar.
The following userdefs are now aliases:
- m_origin_x = userdef[].return 1
- m_origin_y = userdef[].return 2
- screenarea_x1 = userdef[].return 0
- screenarea_y1 = userdef[].return 1
- screenarea_x1 = userdef[].return 2
Additionally, the API for EVENT_PLAYLEVELMUSICSLOT is hereby redefined to use return 1 and 2 (not 0) _instead of_ ud.m_*_number.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6706 1a8010ca-5511-0410-912e-c29ae57300e0
Additionally, increase MAXRESOLUTIONSTRINGLENGTH to accomodate new resolution name suffix
git-svn-id: https://svn.eduke32.com/eduke32@6697 1a8010ca-5511-0410-912e-c29ae57300e0
Make sure ud.displaybonusscreen is set to 1 if you want this to take place. The bonus screen can still be skipped by setting RETURN to -1 in EVENT_ENDLEVELSCREEN.
git-svn-id: https://svn.eduke32.com/eduke32@6694 1a8010ca-5511-0410-912e-c29ae57300e0
Set "menu_scrollbartilenum" to the first tilenum of a series of 4 tiles:
<tilenum> = Middle (tiled to fill the scrollbar height)
<tilenum> + 1 = Top
<tilenum> + 2 = Bottom
<tilenum> + 3 = Cursor
Default value for menu_scrollbartilenum is -1, which will display EDuke32's default scrollbar.
Use "menu_scrollbarz" and "menu_scrollcursorz" to control the scale of the scrollbar. Default values are 65536.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6686 1a8010ca-5511-0410-912e-c29ae57300e0
Refactored extension usage that became core in GL2, and adjusted some types for GL2 compatibility.
git-svn-id: https://svn.eduke32.com/eduke32@6656 1a8010ca-5511-0410-912e-c29ae57300e0
This can be revisited in the future to address these corner cases without breaking the original game.
git-svn-id: https://svn.eduke32.com/eduke32@6649 1a8010ca-5511-0410-912e-c29ae57300e0
Inspired by x86 assembly, these stand for "above" and "below", and perform unsigned versions of greater-than and less-than, respectively.
Useful for testing array bounds.
git-svn-id: https://svn.eduke32.com/eduke32@6640 1a8010ca-5511-0410-912e-c29ae57300e0
Sets the black palette used for enemy shadows and for black rectangles in the menu. Default value is 4.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6626 1a8010ca-5511-0410-912e-c29ae57300e0
Called when a music track will be started from the beginning, and when the current track is continued after loading a save, etc.
The requested track is passed into PLAYLEVELMUSICSLOT via ud.m_volume_number and ud.m_level_number.
git-svn-id: https://svn.eduke32.com/eduke32@6624 1a8010ca-5511-0410-912e-c29ae57300e0
TODO: Exposing whether any music is currently playing at all. (No, it is not ud.musictoggle.)
git-svn-id: https://svn.eduke32.com/eduke32@6622 1a8010ca-5511-0410-912e-c29ae57300e0
People were using these commands in spite of my explicit instructions not to.
Now that music track is saved properly, no one has any excuse to continue using these.
git-svn-id: https://svn.eduke32.com/eduke32@6621 1a8010ca-5511-0410-912e-c29ae57300e0
This allows as much of the control flow as possible to fail gracefully without interruping currently playing music.
git-svn-id: https://svn.eduke32.com/eduke32@6619 1a8010ca-5511-0410-912e-c29ae57300e0
New events:
"EVENT_MENUCURSORLEFT"
"EVENT_MENUCURSORRIGHT"
"EVENT_MENUCURSORSHADE"
"EVENT_MENUSHADESELECTED"
New userdef structures:
"menu_shadedeselected"
"menu_shadedisabled"
"menutext_zoom"
"menutext_xspace"
"menutext_pal"
"menutext_palselected"
"menutext_paldeselected"
"menutext_paldisabled"
"menutext_palselected_right"
"menutext_paldeselected_right"
"menutext_paldisabled_right"
"gametext_zoom"
"gametext_xspace"
"gametext_pal"
"gametext_palselected"
"gametext_paldeselected"
"gametext_paldisabled"
"gametext_palselected_right"
"gametext_paldeselected_right"
"gametext_paldisabled_right"
"minitext_zoom"
"minitext_xspace"
"minitext_tracking"
"minitext_pal"
"minitext_palselected"
"minitext_paldeselected"
"minitext_paldisabled"
"minitext_palselected_right"
"minitext_paldeselected_right"
"minitext_paldisabled_right"
"menutitle_pal"
"slidebar_palselected"
"slidebar_paldisabled"
Self-explanatory. Use in conjunction with "menutext_tracking" and "gametext_tracking" ("mgametext_tracking" is now ignored).
The values for disabled shade is added to the selected or deselected shades. The palettes have a disabled > selected > deselected hierarchy, and are applied if not zero.
Patch from Fox
git-svn-id: https://svn.eduke32.com/eduke32@6613 1a8010ca-5511-0410-912e-c29ae57300e0
LOGO_NOHELP: Remove the "Help" item in the main menu and the F1 key function.
LOGO_NOCREDITS: Remove the "Credits" item in the main menu.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6612 1a8010ca-5511-0410-912e-c29ae57300e0
divr <dividend> <divisor>
Divide gamevar <dividend> by <divisor> and round (aka round to nearest) the result. A result of 0.5 will equal 1.
divru <dividend> <divisor>
Divide gamevar <dividend> by <divisor> and round up (aka round away from zero) the result.
Additionally "divrd" can be used to round down (aka round toward zero), which is equivalent to the current div command as tested on x86, ARM, and PowerPC.
Note that "shiftr" rounds up negative values.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6611 1a8010ca-5511-0410-912e-c29ae57300e0
qstrcmp <quote1> <quote2> <var>
Compare two quotes. <var> returns zero if they are identical, -1 if the first quote comes first in alphabetical order, 1 if it comes later.
Note that the lexicographical order is rudimentary, for example "Player 2" is considered greater than "Player 10".
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6609 1a8010ca-5511-0410-912e-c29ae57300e0
RETURN is the tilenum to be displayed. It is pre-populated with what the game will display for the current frame.
Set RETURN to -1 to disable.
git-svn-id: https://svn.eduke32.com/eduke32@6608 1a8010ca-5511-0410-912e-c29ae57300e0
Lets you choose which episode or skill should be selected by default in the menus. Default values are 0 and 1, respectively.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6596 1a8010ca-5511-0410-912e-c29ae57300e0
When pressed it switches between pipebomb / detonator or shrinker / expander.
New event "EVENT_ALTWEAPON"
Akin to "EVENT_PREVIOUSWEAPON" and "EVENT_NEXTWEAPON". RETURN is set to 12.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6594 1a8010ca-5511-0410-912e-c29ae57300e0
Set the tinting RGB values of textures being rendered. Can be used in DISPLAYROOMS or before rotatesprite (similar to setaspect). Remember to reset the values afterwards.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6591 1a8010ca-5511-0410-912e-c29ae57300e0
Self-explanatory. Default value for all is 65536.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6589 1a8010ca-5511-0410-912e-c29ae57300e0
Restores a feature temporarily disabled in r6553.
Currently only supports the modern status bar.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6588 1a8010ca-5511-0410-912e-c29ae57300e0
"statusbarflags" is a bitfield. Values are:
STATUSBAR_NONONE = 1
STATUSBAR_NOMINI = 2
STATUSBAR_NOFULL = 4
STATUSBAR_NOSHRINK = 8
STATUSBAR_NOFRAGBAR = 16
STATUSBAR_NOOVERLAY = 32
STATUSBAR_NOMODERN = 64
Default value is 8. In case you modify it, you also have to set the other status bar related userdefs in EVENT_SETDEFAULTS. Default values in EDuke32 are: screen_size = 4; statusbarmode = 1; althud = 1;
"statusbarrange" is used to add more alternatives for the status bar without breaking the option in the menu. If used, the mini status bar (screen_size = 4) will cycle through "statusbarcustom" when changing the screen size.
Also fix the size of the viewport when the screen is shrunk and the scale of the status bar is not 100%.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6587 1a8010ca-5511-0410-912e-c29ae57300e0
Set to 0 to disable the black transparent mask below the in-game menu.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6585 1a8010ca-5511-0410-912e-c29ae57300e0
New event "EVENT_MAINMENUSCREEN"
Triggered before the main menu is displayed. Set RETURN to -1 to disable the screens that appear before the main menu.
New event "EVENT_NEWGAMESCREEN"
Triggered when a new game is started. Set RETURN to -1 to disable The Birth intro animation.
New event "EVENT_ENDLEVELSCREEN"
Triggered when a level ends. Set RETURN to -1 to disable the bonus and deathmatch score screens after a level ends.
New event "EVENT_EXITGAMESCREEN"
Triggered when a running game is ended. Set RETURN to -1 to disable the deathmatch score screen when you quit mid-game.
New event "EVENT_EXITPROGRAMSCREEN"
Triggered when the program is closed. Set RETURN to -1 to disable the shareware or TEN screen,sif they were enabled in LOGO_FLAGS.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6584 1a8010ca-5511-0410-912e-c29ae57300e0
Any issues in Duke's code relating to misunderstanding these types are now restricted to Duke itself rather than changing the engine and potentially introducing new issues in all Build games.
git-svn-id: https://svn.eduke32.com/eduke32@6581 1a8010ca-5511-0410-912e-c29ae57300e0
player[<killer>].frags <victim>
Equals how many times player <killer> killed <victim>. Note that the sum of these values will not equal the total kills or deaths for a player since another player may disconnect, so use "frag" or "deaths" instead.
player[<id>].deaths
Equals the total number of times the player died in the round, not including suicides.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6563 1a8010ca-5511-0410-912e-c29ae57300e0
Set to zero to disable the hard-coded fade to black transition between screens, menu or when the level ends.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6556 1a8010ca-5511-0410-912e-c29ae57300e0
- LOGO_STOPMISCSOUNDS = 2097152: Don't play NITEVISION_ONOFF when the logo starts.
- LOGO_NOGAMETITLE = 4194304: Don't display the title (INGAMEDUKETHREEDEE and PLUTOPAKSPRITE+2) in the main menu.
- LOGO_NOTITLEBAR = 8388608: Don't display the title bar background (TITLEBAR) above the menu.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6555 1a8010ca-5511-0410-912e-c29ae57300e0
Use this event to change the value of userdefs when initializing cfg settings with defaults.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6554 1a8010ca-5511-0410-912e-c29ae57300e0
Changes the filtering for cutscenes. By default, ANMs are unfiltered and IVFs filtered regardless of the filtering option in the menu. Use “texturefilter” to use the same filtering as textures, “forcenofilter” to never use filtering and “forcefilter” to always use filtering.
cutscene <path> { texturefilter }
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6552 1a8010ca-5511-0410-912e-c29ae57300e0
Overrides the aspect ratio for IVF files.
cutscene <path> { aspect <numerator> <denominator> }
Note: For ANMs, you can use rotatesprite and setaspect to draw TILE_ANIM (currently defined as 30716) in EVENT_CUTSCENE with a custom aspect.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6551 1a8010ca-5511-0410-912e-c29ae57300e0
New event "EVENT_UPDATESCREENAREA"
Use this event to change the size of the game view, similar to when you press + or -.
New event "EVENT_DISPLAYBORDER"
Set RETURN to change the background tile of the game view, set -1 to disable the background and border.
New userdef structures "screenarea_x1", "screenarea_y1", "screenarea_x2", "screenarea_y2"
Use these structures to change the boundaries of the view in EVENT_UPDATESCREENAREA.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6518 1a8010ca-5511-0410-912e-c29ae57300e0
Set RETURN to -1 to disable the sound played when an enemy awaken. You have to use a command to play a sound, because the bosses use globalsound.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6517 1a8010ca-5511-0410-912e-c29ae57300e0
Set RETURN to the sound played when the menu is opened. -1 to cancel.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6516 1a8010ca-5511-0410-912e-c29ae57300e0
EVENT_DISPLAYROOMSEND: Triggered right after the game world is rendered and before any sprite above the screen.
EVENT_DISPLAYEND: Triggered after the game draws everything above the screen, including menus. A counterpart to EVENT_DISPLAYSTART.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6512 1a8010ca-5511-0410-912e-c29ae57300e0
screenpal <r> <g> <b> <a>
Similar to palfrom, but works on screen events. Values range from 0 to 255.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6509 1a8010ca-5511-0410-912e-c29ae57300e0
Use startscreen to take control away from the game and display content with rotatesprite.
RETURN is set to 1 when any key is pressed, and if it is nonzero when the event ends, the screen ends and the game resumes.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6508 1a8010ca-5511-0410-912e-c29ae57300e0
Used with startcutscene. RETURN is set to 1 when any key is pressed, and is used to control when a cutscene ends.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6507 1a8010ca-5511-0410-912e-c29ae57300e0
Used with startcutscene. RETURN sets the frame of an ANM before it is rendered.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6506 1a8010ca-5511-0410-912e-c29ae57300e0
Changing the frame of an IVF file is unsupported, so its only purpose is to play sounds.
Patch from Fox.
git-svn-id: https://svn.eduke32.com/eduke32@6505 1a8010ca-5511-0410-912e-c29ae57300e0
While the fragbar is indeed too cumbersome for use with more than 8 players, and a "show current score overlay" button is a better and more modern solution, this flag should connote whether a mode is *eligible* for it, not whether it is used at all.
TODO: Add a cvar for toggling the fragbar and turn it off by default.
git-svn-id: https://svn.eduke32.com/eduke32@6482 1a8010ca-5511-0410-912e-c29ae57300e0
Prevents the "gib on spawn in multiplayer" bug, and allows fake players to work properly.
Patch from Striker.
git-svn-id: https://svn.eduke32.com/eduke32@6457 1a8010ca-5511-0410-912e-c29ae57300e0
Merged from private network branch.
Patch by [IFOC]75, prepared by Striker.
git-svn-id: https://svn.eduke32.com/eduke32@6454 1a8010ca-5511-0410-912e-c29ae57300e0
Clobbering ud.volume_number is a hack no one should need to use any more.
Only this command supports specifying -1 for volume to access the main menu, briefing, etc themes.
git-svn-id: https://svn.eduke32.com/eduke32@6414 1a8010ca-5511-0410-912e-c29ae57300e0
This should help hackish persuits such as reading map files through this command.
git-svn-id: https://svn.eduke32.com/eduke32@6394 1a8010ca-5511-0410-912e-c29ae57300e0
Gamevar: default value and flags are now optional. A var declared without a value will default to 0 and a var declared without flags will default to global. Multiple flags can now be stacked one after another in a var declaration, and the most useful ones (GAMEVAR_PERPLAYER, GAMEVAR_PERACTOR, GAMEVAR_NODEFAULT, and GAMEVAR_NORESET) are now pre-defined tokens for easy use.
Gamearray: flags field now allows stacking of multiple flags as described above. Arrays can now be defined with specific data types, including int16_t, uint8_t, and a new bit-packed boolean data type. The tokens GAMEARRAY_RESTORE, GAMEARRAY_INT16, GAMEARRAY_UINT8, and GAMEARRAY_BOOLEAN are pre-defined for use of this feature.
This is all still pretty experimental.
git-svn-id: https://svn.eduke32.com/eduke32@6356 1a8010ca-5511-0410-912e-c29ae57300e0