Subversion Repositories eduke32

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
3053 3272d 1h terminx /polymer/eduke32/source/game.h Minor cleanups in actors.c, mostly relating to custom projectiles and the like. A bug causing custom projectiles to knock the player back twice as far as the hard-coded ones was also fixed. There should be no other functional changes for the end user.  
3008 3299d 0h helixhorned /polymer/eduke32/source/game.h Replace most other literal SEs/STs by symbolic enumeration values.

Have fun researching Duke3D's hardcoded weirdness!!!
 
3007 3299d 0h helixhorned /polymer/eduke32/source/game.h Clean up some timing-related code.

- duke3d.h: comment the timing marcos a bit more
- factor out smoothratio calculation
- (TICRATE/TICSPERFRAME) --> REALGAMETICSPERSEC
 
3005 3299d 0h helixhorned /polymer/eduke32/source/game.h Move enum cheatindex_t from game.c to game.h and use its values in osdcmds.c.  
2998 3302d 4h helixhorned /polymer/eduke32/source/game.h Use Bstrncpyz in 1 place; fix displaying err msg if write-opening savegame fails  
2997 3302d 4h helixhorned /polymer/eduke32/source/game.h Factor out snprintf'ing a maybe-modDir'd file name into macro G_ModDirSnprintf().

... and use it in three places. In two of these uses,
1) CON {read,write}arrayfromfile and
2) G_SavePlayer,
display an error message if the file name such generated is too long.

In the CON commands of 1), also error out if the file couldn't be opened.
 
2996 3302d 4h helixhorned /polymer/eduke32/source/game.h Move G_HandleAsync() into game.h as 'static inline' and use everywhere else.  
2982 3305d 8h helixhorned /polymer/eduke32/source/game.h Remove commented out AI Duke opponent code.  
2970 3312d 0h helixhorned /polymer/eduke32/source/game.h Replace some literal numbers denoting SEs/STs by symbolic enumeration values.  
2948 3318d 0h helixhorned /polymer/eduke32/source/game.h Print quotes for both players in fake multi, remove quote code in splitscr.con.  
2881 3325d 3h helixhorned /polymer/eduke32/source/game.h Rename args in G_DoSpriteAnimations(), for easier grepping.  
2880 3325d 3h helixhorned /polymer/eduke32/source/game.h High-level TROR drawing: clean up how things are passed around.  
2879 3325d 3h helixhorned /polymer/eduke32/source/game.h Resurrect fake multiplayer mode a little (no bots).

Just enough so that Bloodclaw's splitscreen mod can be played.
 
2728 3396d 6h hendricks266 /polymer/eduke32/source/game.h Massive menu input control revamp/cleanup/factor. (added: input.[ch])

New Wii control defaults for the Wii Remote + Nunchuk and the Classic Controller. This includes new code added just so that the Home key brings up the menu in-game, reducing the need for a USB keyboard.

On the technical side, raw joystick access (comparable to what is available for keyboard and mouse) is now present in jmact, on the game side. (added: joystick.[ch])

Using this new raw joystick access, I replaced tueidj's hack to map A and B to LMB/RMB and D-Pad Up/Down to the scrollwheel.

I made the menus more friendly to mouse and joystick browsing by adding and unifying checks and clears for various buttons and gamefuncs. In fact, the majority of the time spent on this commit was tracking down problems that appeared with the factoring and trying to understand the menu system and the way input checks are precariously executed.

In addition, "Press any key or button to continue" now truly means what it says.

As a result of incorporating proper raw access into control.c instead of it directly accessing the implementaiton, the program *may* no longer be affected by joystick input when it is out of focus. This follows the pattern set by the mouse, and I think this is a positive change.

A small bonus: In the classic/old keyboard preset, the key for Show_Console has been changed from '`' to 'C' because '`' is taken by Quick_Kick.
 
2726 3396d 6h hendricks266 /polymer/eduke32/source/game.h The handling for grp, con, and def filenames has been massively cleaned up and factored into common.c. A new header, common_game.h, was created because common.h was placed in build/include (see r2542) and we need a common header for things that strictly should not be in the engine. RTS file names were also improved but some of the patterned changes were already made in r2420, and they were not factored because they are strictly part of the game, not the editor.

NAM and Napalm can now share their con, def, and rts files if the one for their respective game is not present because the con and rts files are identical.

Also, decapitalize two string literals missed in r2540.
 
2640 3424d 23h helixhorned /polymer/eduke32/source/game.h Remove the 'inline' qualifier of some (not-so) short functions.

Besides being the compiler's job nowadays, they significantly inflate
the size of the debugging builds.
 
2563 3463d 2h helixhorned /polymer/eduke32/source/game.h Make g_grpNamePtr memory-clean, extern clearGrpNamePtr().  
2561 3463d 2h helixhorned /polymer/eduke32/source/game.h Clear up handling of g_*NamePtr in the game.

The primary change is that things have been made memory-clean. Some of these
pointers may point to wildly different places during the course of the program
such as statically or dynamically allocated storage, the buffer returned by
getenv() (which must not be modified according to the docs), or an element of
argv[]. Consequently, we need to strdup, or better, dup_filename them if they
are ever to be passed to a function that modifies their pointed-to data.

Specifically:
- added statics or consts according to usage
- 3 new functions clear{Grp,Def,Script}NamePtr, only 'Def' one extern for now
- in G_CheckCommandLine, don't strip 'const'; use Bstrncpyz where appropriate
- remove multiple declarations

Also, warn if an application parameter has been ignored (not matched).
 
2518 3468d 23h helixhorned /polymer/eduke32/source/game.h Make 'nofloorpalrange' def token affect HUD weapons.  
2495 3473d 13h hendricks266 /polymer/eduke32/source/game.h New "-clipmap" command-line switch to specify sector collision clip maps. This switch works in an additive fashion like -mx and -mh. _clipshape0.map through _clipshape9.map remain loaded by default.
Also, a very minor change in the con/def module code. (int --> int32_t)
 

Show All