EDuke32 2.0 and Polymer! "talk about the wonders of EDuke32 and the new renderer"
#4226 Posted 18 January 2014 - 01:23 PM
#4227 Posted 20 January 2014 - 10:11 AM
James, on 18 January 2014 - 12:53 PM, said:
The following works for me, assuming the folowing files are present in ~/.eduke32/0usermaps/02013: Torment.map, Torment_00.art:
- Start the Torment.map user map. The path by which it is known to the engine will be /0usermaps/02013/Torment.map (on Linux, ~/.eduke32 is added to the search path automatically unless -usecwd is provided).
- That map shows up fine.
- Save the game.
- Start E1L1.
- Load the savegame with Torment.map.
- Still shows up fine...
So: how exactly do they "stop working" in your case? Where are the files located (file system, GRP, ZIP)? What's the cache1-path of the usermap you're trying this on? It's the fading one shown at startup.
#4228 Posted 20 January 2014 - 10:26 AM
This post has been edited by James: 20 January 2014 - 10:29 AM
#4229 Posted 20 January 2014 - 12:49 PM
However, I think you don't need MapArt at all if your maps will only ever be distributed with AMC TC. There's plenty of tile indices, so just use the normal ART files to your liking. For example, it's entirely possible to have one TILESxxx.ART for each map's unique art without MapArt: just give it an unused 'xxx' number (020 .. 199, but you should start from the lower numbers). As Hendricks said, the 'xxx' numbers relate to the tile numbers contained in an ART file only by convention. Nothing forces you to have TILES<i>.ART contain tiles [256*i .. 256*i+255] -- in fact, it can be any valid range of tile indices. Another way to structure your ART files would be by theme, for maybe easier mapping.
So, in essence, MapArt is mostly designed to ease "installation" of stand-alone user maps containing custom ART, namely to do away with it entirely. Only in the case of already released maps users have to rename shipped TILESxxx.ART to <mapname>_XX.art.
#4230 Posted 20 January 2014 - 01:33 PM
#4231 Posted 21 January 2014 - 07:39 AM
Edit: nevermind
This post has been edited by Fox: 23 January 2014 - 10:48 PM
#4232 Posted 22 January 2014 - 10:21 AM
Edit: Oh, you mean reflective surfaces like in the famous Polymer screenshot? Well, that feature lacks an interface, i.e. how to specify that property in terms of Build structure members.
#4233 Posted 23 January 2014 - 10:36 PM
And I can't remember if I've said this before but is it normal behavior that when there are multiple cracks with the same hitag and you blow one crack up, the others aren't collapsed? It doesn't make much sense and can be impractical whereas I can't see any benefits to keeping this behavior.
This post has been edited by Plain Simple Garek: 23 January 2014 - 11:41 PM
#4234 Posted 25 January 2014 - 03:50 AM
Plain Simple Garek, on 23 January 2014 - 10:36 PM, said:
Noone asked; implemented without much testing in r4265.
#4235 Posted 28 January 2014 - 01:50 PM
#4236 Posted 28 January 2014 - 04:26 PM
#4238 Posted 29 January 2014 - 04:22 PM
#4239 Posted 29 January 2014 - 06:19 PM
#4241 Posted 29 January 2014 - 11:40 PM
TerminX, on 29 January 2014 - 06:19 PM, said:
I feel like that's kinda weird, but at least it's a slap in the face of his parents.
This post has been edited by Fox: 30 January 2014 - 01:33 AM
#4243 Posted 30 January 2014 - 01:33 AM
Hendricks266, on 11 January 2014 - 03:13 AM, said:
May I ask, how exactly does that work? At least using Bots I have noticed several instances of the game returning or modifying the userdef of another player (with unfortunate results).
Here is a case of use:
onevent EVENT_DISPLAYREST getuserdef[THISACTOR].statusbarscale temp endevent
If you press K to view another player screen, it doesn't work as expected.
This post has been edited by Fox: 30 January 2014 - 01:40 AM
#4244 Posted 30 January 2014 - 06:35 AM
#4245 Posted 31 January 2014 - 05:54 AM
#4246 Posted 31 January 2014 - 06:06 AM
Fox, on 29 January 2014 - 11:40 PM, said:
Why is that a good thing?
This post has been edited by Pinkamena Diane Pie: 31 January 2014 - 06:07 AM
#4247 Posted 31 January 2014 - 07:25 AM
Fox, on 31 January 2014 - 05:54 AM, said:
It's the only result you can get if your code using it is correct.
Pinkamena Diane Pie, on 31 January 2014 - 06:06 AM, said:
Maybe his parents don't think his hobby is worth anything?
#4248 Posted 31 January 2014 - 08:06 AM
onevent EVENT_DISPLAYREST getuserdef[THISACTOR].statusbarscale temp endevent
#4249 Posted 31 January 2014 - 10:07 AM
#4250 Posted 31 January 2014 - 10:29 AM
onevent EVENT_DISPLAYREST getuserdef[THISACTOR].statusbarscale temp redefinequote 0 %ld qsprintf 0 0 temp gametext STARTALPHANUM 10 10 0 0 0 0 0 0 xdim ydim endevent
It prints the value at top left of the screen. For some reason it is not correct when you press K to show other player view.
TerminX, on 31 January 2014 - 10:07 AM, said:
I will update the Wiki.
This post has been edited by Fox: 31 January 2014 - 10:31 AM
#4251 Posted 31 January 2014 - 11:21 AM
TerminX, on 31 January 2014 - 10:07 AM, said:
Could temp be inheriting a value from its previous use?
#4252 Posted 31 January 2014 - 11:31 AM
This post has been edited by Fox: 31 January 2014 - 11:31 AM
#4253 Posted 31 January 2014 - 01:35 PM
TerminX, on 31 January 2014 - 10:07 AM, said:
Interesting, I missed that tidbit in LunaCON. Now, it errors when trying to access userdef with a non-local current player. I think that's more useful to a CON coder than silently doing nothing.
Quote
One small note: there must be whitespace between 'getuserdef' and '.xxx'.
The index is ignored, but it's accepted (even if misleading) syntax.
Hendricks266, on 31 January 2014 - 11:21 AM, said:
Fox, on 31 January 2014 - 11:31 AM, said:
That's consistent with what TX said. After pressing [K], screenpeek isn't equal to myconnectindex, and any userdef access is a logical error.
#4254 Posted 31 January 2014 - 01:44 PM
Helixhorned, on 31 January 2014 - 01:35 PM, said:
So it still requires you to type something where the index should go? I think I will go with getuserdef[].xxx then.
This post has been edited by Fox: 31 January 2014 - 03:58 PM
#4255 Posted 01 February 2014 - 02:11 AM
Fox, on 31 January 2014 - 01:44 PM, said:
Userdef is global. Go to the EDuke32 source and jump to the definition of 'ud'.
user_defs ud;
Jumping to the definition of the 'user_defs' type then,
typedef struct {
#if !defined LUNATIC
vec3_t camerapos;
#endif
int32_t const_visibility,uw_framerate;
(...)
struct {
int32_t UseJoystick;
(...)
int32_t useprecache;
} config;
(...)
char show_level_text;
} user_defs;
There's nowhere an array of length MAXPLAYERS to be seen. Userdefs is just that: a container for various settings for the local player. As noted earlier, it throws together unrelated stuff and could have been organized better.
Quote
Arguably, the current behavior is too strict. For example, you can't read ud.level_number or ud.volume_number then, even though they're always identical on all peers and can be obtained with LEVEL and VOLUME without restriction.
I can revert the check in LunaCON and make it always accessible like before. The strict behavior would then be enabled with something like -Werror-nonlocal-userdef.
Quote
You can go with just "getuserdef .xxx". The space is important.

Help
Duke4.net
DNF #1
Duke 3D #1


