![]() |
![]() |
Work continues |
![]() |
![]() |
![]() |
![]() |
|||||
General Info Main Page Latest News Schedule What is it? About Matt About This Site Duke Enhancements Duke Insider More Information WW2GI Enhancements |
Older Features Features as of 06/20/00. Newer features are on the features page. Build 23 (06/20/00) Build Source is release by Ken! http://www.advsys.net/ken/buildsrc/default.htm (Note that this is NOT the Duke Source) Changes: Saved files were not being detected correctly on initialization. esample.con changed to only show 'user' level-load screen when a user map is being loaded Previous Build Notes Build 22 (06/19/00) Added /Z1 flag to disable Reverb. It is enabled by default. Build 21 (06/19/00) Add 'reverb' bug fix from Ken. Fix 'load games' hanging Fix expander shooting Known bugs: 1) pistol firing animation shows one frame too many Build 20 (06/18/00) Increase maximum sounds from 450 to 900
Build 19 (06/17/00) More corrections to weapon behavior. Known bugs: 1) pistol firing animation shows one frame too many 2) expander doesn't show projectile 3) firing freeze doesn't update the ammo count in the small display Build 18 (06/17/00) All default weapons to work basically like Duke's (per email from Photon Man) Build 17 (06/17/00) Slow down pistol fire rate (default weapon settings) Build 16 (06/11/00) Added variable myconnectindex player ID of 'local' player screenpeek player ID of player view shown on local screen (not always same as myconnectindex) Added commands addvar addvarvar To compliment subvar and subvarvar Added ifvarvarn, ifvarn if var not equal to compliment ifvare, l and g
Build 15 (04/29/00) Ah, weekends... Added more global variables. These ones are per-sprite, so I've just added them to the sprite labels. They are from the global hittype structure. They duplicate some of the names from the sprite data, so I've prefixed them all with 'ht' They are: htcgg htpicnum htang htextra htowner htmovflag httempang htactorstayput htdispicnum httimetosleep htfloorz htlastvx htbposx gt[0] gt[1] gt[2] gt[3] gt[4] gt[5] Build 14 (04/29/00) Fixed bug in SQRT, findnearactor that caused mis-interpret internally. Added espawnvar. Works like espawn, but takes a VAR argument. Added access to global data structure USERDEFS. This is used for lots of control over how the game works. Structure: typedef struct user_defs { char god,warp_on,cashman,eog,showallmap; char show_help,scrollmode,clipping; char user_name[MAXPLAYERS][32]; char ridecule[10][40]; char savegame[10][22]; char pwlockout[128],rtsname[128]; char overhead_on,last_overhead,showweapons; short pause_on,from_bonus; short camerasprite,last_camsprite; short last_level,secretlevel; long const_visibility,uw_framerate; long camera_time,folfvel,folavel,folx,foly,fola; long reccnt; int32 entered_name,screen_tilting,shadows,fta_on,executions,auto_run; int32 coords,tickrate,m_coop,coop,screen_size,lockout,crosshair; int32 wchoice[MAXPLAYERS][MAX_WEAPONS],playerai; int32 respawn_monsters,respawn_items,respawn_inventory,recstat,monsters_off,bright ness; int32 m_respawn_items,m_respawn_monsters,m_respawn_inventory,m_recstat,m_monsters_ off,detail; int32 m_ffire,ffire,m_player_skill,m_level_number,m_volume_number,multimode; int32 player_skill,level_number,volume_number,m_marker,marker,mouseflip; }; Some of these are self-explanatory. m_ prefix means multi-player. As with the other structures, there isn't currently access to the member vars that are arrays. This is almost the last structure that needs to get 'published' to allow almost complete control from CONs. I'll document what some of these members do a little later. Have fun. Build 13 (04/26/00) Add SQRT command: sqrt [invar] [outvar] Puts sqrt([invar]) into [outvar]) Fixed bug in get/setplayer that may have been cause other player's data to get set. And the biggie: Added eventloadactor eventloadactor [tile] { } Works like 'useractor', but only takes tile number. Code is executed when actor is first loaded into the map. sizeat should work here.... I'll probably need to expand it to deal with spawn(), too (it currently doesn't) Build 12 (04/14/00) Another big update. You can now use THISACTOR to get the actor ID of the current actor (read-only) Also: These allow direct control of player-specific data. You can get the current player by using THISACTOR as the index. This is another big step in allowing CONs to have complete control over the action. My goal is to be able to have all of the weapon processing code moved into the CONs. There are a TON of player variables. Here's a (long) list: zoom exitx exity loogiex[64] loogiey[64] numloogs loogcnt posx posy posz horiz ohoriz ohorizoff invdisptime bobposx bobposy oposx oposy oposz pyoff opyoff posxv posyv poszv last_pissed_time truefz truecz player_par visibility bobcounter weapon_sway pals_time randomflamex crack_time aim_mode ang oang angvel cursectnum look_ang last_extra subweapon ammo_amount[MAX_WEAPONS] wackedbyactor frag fraggedself curr_weapon last_weapon tipincs horizoff wantweaponfire holoduke_amount newowner hurt_delay hbomb_hold_delay jumping_counter airleft knee_incs access_incs fta ftq access_wallnum access_spritenum kickback_pic got_access weapon_ang firstaid_amount somethingonplayer on_crane i one_parallax_sectnum over_shoulder_on random_club_frame fist_incs one_eighty_count cheat_phase dummyplayersprite extra_extra8 quick_kick heat_amount actorsqu timebeforeexit customexitsound weaprecs[16] weapreccnt interface_toggle_flag rotscrnang dead_flag show_empty_weapon scuba_amount jetpack_amount steroids_amount shield_amount holoduke_on pycount weapon_pos frag_ps transporter_hold last_full_weapon footprintshade boot_amount scream_voice gm on_warping_sector footprintcount hbomb_on jumping_toggle rapid_fire_hold on_ground name[32] inven_icon buttonpalette jetpack_on spritebridge lastrandomspot scuba_on footprintpal heat_on holster_weapon falling_counter gotweapon[MAX_WEAPONS] refresh_inventory palette toggle_key_flag knuckle_incs walking_snd_toggle palookup hard_landing max_secret_rooms secret_rooms pals[3] max_actors_killed actors_killed return_to_center As of this build, the array-based variables are not supported. In addition, palette is not supported (it's a pointer...) Build 11 (04/05/00) findnearactorxx changes
Added espawn This is just like spawn, but returns the actor ID in the var RETURN Build 10 (04/04/00) findnearactor <type> <maxdist>
<actorID> This gets the sprite ID of the nearest actor (sprite) of type type into <ActorID>. If none are found, then <var> will be -1 This currently only searches the current sector while looking. And then we have: setactorvar[<actorID>].<avar>
<var> These get and set the per-actor variables <avar> belonging to the actor <actorID> to/from <var> You can safely pass an <actorID> of -1, but nothing will get set; You'll probably want to check for that case in your code anyway... This is a bit complicated. You should have seen the processing code.... I almost got a headache :) These should allow easy inter-actor communication. You can get <actorID> from other places (like .owner). These actorIDs never change unless the actor dies. (they are set when the actor is spawned...) So, you can save the actorID across calls in a variable.... That should make for some fun stuff... Build 09 (03/03/00)
Build 08 (02/01/00)
Build 07 (01/24/00)
Special thanks to Veldrik for helping me find these bugs.
Build 06 (01/23/00)
ifp prunning should return TRUE for both RUN and auto-run (113) numerous CON commands added: mulvar <VAR1> <value> Build 05 (2.00.05) (01/14/00)
New Commands: getangletotarget <VAR> These allows, 'facetarget', by calling: getangletotarget ANGLE Since the angle is not directly set by a 'face target'-like command, the CON programmer has control over how fast the actor can face the player. The actor can also face AWAY from the target by adding 1024 to the angle. Future commands will also allow more usage of these commands... ('facewall' is next. This will probably be 'getangletowall', or something...)
Build 04 (01/10/00) gettexturefloor starttrack <value> randvar <var>
<value> Default CON defaults to 'eduke.con'. If this is not found, then it
tries older 'game.con'. This allows 'enhanced' CONs to co-exist with un-modified
Duke CON Build 03 (01/08/00) spgetlotag |
||||
![]() |