Commit graph

45 commits

Author SHA1 Message Date
terminx
893bcbd603 Direct access for the actor structs
git-svn-id: https://svn.eduke32.com/eduke32@7198 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:04 +00:00
terminx
eb546f111e WIP: direct CON read/write access to structure members via pointer and offset instead of translation function. This is only enabled for wall and sector structure members in this commit.
git-svn-id: https://svn.eduke32.com/eduke32@7194 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:10:39 +00:00
terminx
b97074eece Remove several unused player struct members and bump BYTEVERSION
git-svn-id: https://svn.eduke32.com/eduke32@7177 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:08:26 +00:00
terminx
86496a8126 CON structure member access readability cleanup
git-svn-id: https://svn.eduke32.com/eduke32@7169 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:07:38 +00:00
terminx
e9797fe24d Remove redundant return statements
git-svn-id: https://svn.eduke32.com/eduke32@7069 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:08:42 +00:00
terminx
c5054af778 Add missing USERDEFS_USERBYTEVERSION to VM_SetUserdef()
git-svn-id: https://svn.eduke32.com/eduke32@6956 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-26 16:33:57 +00:00
pogokeen
1df7127609 Support software renderer upscaling engine-side in sdlayer and sdlayer12 with various scaling factors (beyond just pixel doubling).
When glsurface is available, use GL to upscale the render buffer.
Additionally, fix build issues with sdlayer12 introduced by GLAD changes (r6656).

git-svn-id: https://svn.eduke32.com/eduke32@6939 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-14 21:36:44 +00:00
terminx
18a289d762 CON: make setting a sector's .wallptr call setfirstwall() instead of setting it directly and corrupting the map
git-svn-id: https://svn.eduke32.com/eduke32@6894 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-22 19:03:24 +00:00
terminx
e682986e69 Readability improvements for gamestructures.cpp
git-svn-id: https://svn.eduke32.com/eduke32@6854 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:36:08 +00:00
hendricks266
ed38f0a75d CON: Add gettiledata/settiledata. Same members as tiledata[] quick access struct. Not all fields writable.
Patch from Striker.

git-svn-id: https://svn.eduke32.com/eduke32@6766 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-15 01:19:27 +00:00
hendricks266
b80501b2c2 Menus: Add "Save Setup" menu, currently for standalone builds only
git-svn-id: https://svn.eduke32.com/eduke32@6742 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 03:55:12 +00:00
hendricks266
3d8e1afba9 Saves: Add userbyteversion to savegame header and userdef
git-svn-id: https://svn.eduke32.com/eduke32@6741 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 03:55:07 +00:00
hendricks266
4158aa802a Improve r6723. Adds EVENT_LASTWEAPON.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6738 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-08 03:54:54 +00:00
terminx
b99aaf0438 Truncate instead of round when returning avel and horz from getinput
git-svn-id: https://svn.eduke32.com/eduke32@6734 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 12:01:55 +00:00
terminx
48270bfb9c q16avel/q16horz
git-svn-id: https://svn.eduke32.com/eduke32@6731 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:52 +00:00
terminx
a76750df55 Q16.16 for player angle, too
git-svn-id: https://svn.eduke32.com/eduke32@6725 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:18 +00:00
terminx
4d8bb170a3 Use Q16.16 fixed point for player horiz
git-svn-id: https://svn.eduke32.com/eduke32@6724 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:05 +00:00
hendricks266
4f17a26061 New userdef structure "return"
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
2018-02-26 20:20:00 +00:00
hendricks266
9878d0c322 Revise the userdef code to accept multiple values.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6705 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 20:19:55 +00:00
hendricks266
63d93e8d9f New userdef structures: "menu_scrollbartilenum", "menu_scrollbarz", "menu_scrollcursorz"
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
2018-02-22 13:34:34 +00:00
hendricks266
12f1767de2 New userdef structure "shadow_pal"
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
2018-01-29 11:14:17 +00:00
hendricks266
0d1137be5d Add read-only userdefs music_episode and music_level.
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
2018-01-29 11:13:59 +00:00
hendricks266
0ca09c08da CON: Add user_map and m_user_map read-only userdefs.
git-svn-id: https://svn.eduke32.com/eduke32@6616 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-29 11:13:30 +00:00
hendricks266
2cdf98f07a Systematize the appearance of the menu fonts using the DOS version as a reference.
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
2018-01-29 02:14:16 +00:00
hendricks266
740cedefbb New userdef structures "default_volume", "default_skill"
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
2018-01-26 04:35:33 +00:00
hendricks266
67438d0cd2 New userdef structure: "global_r", "global_g", "global_b"
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
2018-01-26 04:35:11 +00:00
hendricks266
1e04f43240 New userdef structure: "menu_slidebarz", "menu_slidebarmargin", "menu_slidecursorz"
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
2018-01-26 04:35:02 +00:00
hendricks266
4da012a15f Add an option to move the status bar to the top of the screen in the Android version.
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
2018-01-26 04:34:57 +00:00
hendricks266
150ddded12 New userdef structure: "statusbarflags", "statusbarrange", "statusbarcustom"
"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
2018-01-26 04:34:51 +00:00
hendricks266
85d0a3c520 New userdef structure "menubackground"
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
2018-01-26 04:34:43 +00:00
hendricks266
214109b506 Revert the parts of r3159 corresponding to redefining lotag and hitag as unsigned, so that they are once again signed.
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
2018-01-15 23:13:50 +00:00
hendricks266
d9b0479343 ZDoom-style saves
git-svn-id: https://svn.eduke32.com/eduke32@6569 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-18 11:24:53 +00:00
hendricks266
bcb41aac3e New player structures "frags" and "deaths"
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
2017-12-12 05:14:19 +00:00
hendricks266
756fa2bbd8 New userdef structure "screenfade"
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
2017-12-12 05:13:53 +00:00
hendricks266
6164e3dae8 Revise view background / border drawing code.
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
2017-11-29 07:29:44 +00:00
hendricks266
fc0eabebb6 Add player[].connected.
Patch from Striker.

git-svn-id: https://svn.eduke32.com/eduke32@6453 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-27 02:30:24 +00:00
terminx
3706ac1b43 Allow scripts to change MAXSPRITESONSCREEN before calls to drawrooms() and friends
git-svn-id: https://svn.eduke32.com/eduke32@6347 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-08 19:42:11 +00:00
terminx
0f788963b6 Fix bug with setuserdef vm_sprite
git-svn-id: https://svn.eduke32.com/eduke32@6294 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-27 02:23:51 +00:00
hendricks266
0d7518891b CON: Add wall.blend to structure access.
git-svn-id: https://svn.eduke32.com/eduke32@6277 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-25 11:23:58 +00:00
terminx
bf944cf27a Potential CON performance improvements
git-svn-id: https://svn.eduke32.com/eduke32@6250 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-24 06:31:21 +00:00
terminx
4489e110de More minor optimizations. Breaks savegames.
git-svn-id: https://svn.eduke32.com/eduke32@6236 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:59:19 +00:00
terminx
a3fbe4c542 Add clipdist member to player struct to control how close the player can get to walls
git-svn-id: https://svn.eduke32.com/eduke32@6230 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-23 03:58:43 +00:00
hendricks266
05945c920b Add new userdef members gametext_tracking, mgametext_tracking, and menutext_tracking.
git-svn-id: https://svn.eduke32.com/eduke32@6213 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-20 09:28:59 +00:00
hendricks266
8d8fd61ed0 Remove the register keyword, since it is deprecated in C++11 and removed in C++17.
git-svn-id: https://svn.eduke32.com/eduke32@6143 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-05 10:05:29 +00:00
hendricks266
1cc9d13ccf The great repository rearrangement of 2017.
Files moved but not modified. Changes to follow in a subsequent commit.

You down with CPP?

git-svn-id: https://svn.eduke32.com/eduke32@6055 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-01 10:01:11 +00:00
Renamed from polymer/eduke32/source/gamestructures.c (Browse further)