Add comments for functions

This commit is contained in:
Sally Coolatta 2020-06-04 17:14:14 -04:00
parent d4153ca7aa
commit 42419f7bc6
6 changed files with 175 additions and 11 deletions

View file

@ -1,5 +1,6 @@
// SONIC ROBO BLAST 2 KART // SONIC ROBO BLAST 2 KART
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Copyright (C) 2018-2020 by Sally "TehRealSalt" Cochenour
// Copyright (C) 2018-2020 by Kart Krew // Copyright (C) 2018-2020 by Kart Krew
// //
// This program is free software distributed under the // This program is free software distributed under the

View file

@ -1,5 +1,6 @@
// SONIC ROBO BLAST 2 KART // SONIC ROBO BLAST 2 KART
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Copyright (C) 2018-2020 by Sally "TehRealSalt" Cochenour
// Copyright (C) 2018-2020 by Kart Krew // Copyright (C) 2018-2020 by Kart Krew
// //
// This program is free software distributed under the // This program is free software distributed under the

View file

@ -1,5 +1,6 @@
// SONIC ROBO BLAST 2 KART // SONIC ROBO BLAST 2 KART
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Copyright (C) 2018-2020 by Sally "TehRealSalt" Cochenour
// Copyright (C) 2018-2020 by Kart Krew // Copyright (C) 2018-2020 by Kart Krew
// //
// This program is free software distributed under the // This program is free software distributed under the

View file

@ -1,5 +1,6 @@
// SONIC ROBO BLAST 2 KART // SONIC ROBO BLAST 2 KART
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Copyright (C) 2018-2020 by Sally "TehRealSalt" Cochenour
// Copyright (C) 2018-2020 by Kart Krew // Copyright (C) 2018-2020 by Kart Krew
// //
// This program is free software distributed under the // This program is free software distributed under the

View file

@ -1,14 +1,14 @@
// SONIC ROBO BLAST 2 // SONIC ROBO BLAST 2 KART
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Copyright (C) 2007-2016 by John "JTE" Muniz. // Copyright (C) 2018-2020 by Sally "TehRealSalt" Cochenour
// Copyright (C) 2011-2018 by Sonic Team Junior. // Copyright (C) 2018-2020 by Kart Krew
// //
// This program is free software distributed under the // This program is free software distributed under the
// terms of the GNU General Public License, version 2. // terms of the GNU General Public License, version 2.
// See the 'LICENSE' file for more details. // See the 'LICENSE' file for more details.
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
/// \file k_grandprix.c /// \file k_grandprix.c
/// \brief Grand Prix mode specific code /// \brief Grand Prix mode game logic & bot behaviors
#include "k_grandprix.h" #include "k_grandprix.h"
#include "doomdef.h" #include "doomdef.h"
@ -21,6 +21,11 @@
struct grandprixinfo grandprixinfo; struct grandprixinfo grandprixinfo;
/*--------------------------------------------------
UINT8 K_BotStartingDifficulty(SINT8 value)
See header file for description.
--------------------------------------------------*/
UINT8 K_BotStartingDifficulty(SINT8 value) UINT8 K_BotStartingDifficulty(SINT8 value)
{ {
// startingdifficulty: Easy = 3, Normal = 6, Hard = 9 // startingdifficulty: Easy = 3, Normal = 6, Hard = 9
@ -38,6 +43,11 @@ UINT8 K_BotStartingDifficulty(SINT8 value)
return difficulty; return difficulty;
} }
/*--------------------------------------------------
INT16 K_CalculateGPRankPoints(UINT8 position, UINT8 numplayers)
See header file for description.
--------------------------------------------------*/
INT16 K_CalculateGPRankPoints(UINT8 position, UINT8 numplayers) INT16 K_CalculateGPRankPoints(UINT8 position, UINT8 numplayers)
{ {
INT16 points; INT16 points;
@ -84,6 +94,11 @@ INT16 K_CalculateGPRankPoints(UINT8 position, UINT8 numplayers)
return points; return points;
} }
/*--------------------------------------------------
void K_InitGrandPrixBots(void)
See header file for description.
--------------------------------------------------*/
void K_InitGrandPrixBots(void) void K_InitGrandPrixBots(void)
{ {
const char *defaultbotskinname = "eggrobo"; const char *defaultbotskinname = "eggrobo";
@ -248,6 +263,18 @@ void K_InitGrandPrixBots(void)
} }
} }
/*--------------------------------------------------
static INT16 K_RivalScore(player_t *bot)
Creates a "rival score" for a bot, used to determine which bot is the
most deserving of the rival status.
Input Arguments:-
bot - Player to check.
Return:-
"Rival score" value.
--------------------------------------------------*/
static INT16 K_RivalScore(player_t *bot) static INT16 K_RivalScore(player_t *bot)
{ {
const UINT16 difficulty = bot->botvars.difficulty; const UINT16 difficulty = bot->botvars.difficulty;
@ -282,6 +309,11 @@ static INT16 K_RivalScore(player_t *bot)
return ((difficulty - lowestdifficulty) * roundsleft) + ((score - lowestscore) * grandprixinfo.roundnum); return ((difficulty - lowestdifficulty) * roundsleft) + ((score - lowestscore) * grandprixinfo.roundnum);
} }
/*--------------------------------------------------
void K_UpdateGrandPrixBots(void)
See header file for description.
--------------------------------------------------*/
void K_UpdateGrandPrixBots(void) void K_UpdateGrandPrixBots(void)
{ {
player_t *oldrival = NULL; player_t *oldrival = NULL;
@ -367,6 +399,18 @@ void K_UpdateGrandPrixBots(void)
} }
} }
/*--------------------------------------------------
static UINT8 K_BotExpectedStanding(player_t *bot)
Predicts what placement a bot was expected to be in.
Used for determining if a bot's difficulty should raise.
Input Arguments:-
bot - Player to check.
Return:-
Position number the bot was expected to be in.
--------------------------------------------------*/
static UINT8 K_BotExpectedStanding(player_t *bot) static UINT8 K_BotExpectedStanding(player_t *bot)
{ {
UINT8 pos = 1; UINT8 pos = 1;
@ -403,6 +447,11 @@ static UINT8 K_BotExpectedStanding(player_t *bot)
return pos; return pos;
} }
/*--------------------------------------------------
void K_IncreaseBotDifficulty(player_t *bot)
See header file for description.
--------------------------------------------------*/
void K_IncreaseBotDifficulty(player_t *bot) void K_IncreaseBotDifficulty(player_t *bot)
{ {
UINT8 expectedstanding; UINT8 expectedstanding;
@ -443,6 +492,11 @@ void K_IncreaseBotDifficulty(player_t *bot)
} }
} }
/*--------------------------------------------------
void K_FakeBotResults(player_t *bot)
See header file for description.
--------------------------------------------------*/
void K_FakeBotResults(player_t *bot) void K_FakeBotResults(player_t *bot)
{ {
const UINT32 distfactor = FixedMul(32 * bot->mo->scale, K_GetKartGameSpeedScalar(gamespeed)) / FRACUNIT; const UINT32 distfactor = FixedMul(32 * bot->mo->scale, K_GetKartGameSpeedScalar(gamespeed)) / FRACUNIT;
@ -496,6 +550,11 @@ void K_FakeBotResults(player_t *bot)
K_IncreaseBotDifficulty(bot); K_IncreaseBotDifficulty(bot);
} }
/*--------------------------------------------------
void K_PlayerLoseLife(player_t *player)
See header file for description.
--------------------------------------------------*/
void K_PlayerLoseLife(player_t *player) void K_PlayerLoseLife(player_t *player)
{ {
if (!G_GametypeUsesLives()) if (!G_GametypeUsesLives())

View file

@ -1,3 +1,15 @@
// SONIC ROBO BLAST 2 KART
//-----------------------------------------------------------------------------
// Copyright (C) 2018-2020 by Sally "TehRealSalt" Cochenour
// Copyright (C) 2018-2020 by Kart Krew
//
// This program is free software distributed under the
// terms of the GNU General Public License, version 2.
// See the 'LICENSE' file for more details.
//-----------------------------------------------------------------------------
/// \file k_grandprix.h
/// \brief Grand Prix mode game logic & bot behaviors
#ifndef __K_GRANDPRIX__ #ifndef __K_GRANDPRIX__
#define __K_GRANDPRIX__ #define __K_GRANDPRIX__
@ -11,16 +23,105 @@ extern struct grandprixinfo
UINT8 gamespeed; ///< Copy of gamespeed, just to make sure you can't cheat it with cvars UINT8 gamespeed; ///< Copy of gamespeed, just to make sure you can't cheat it with cvars
boolean encore; ///< Ditto, but for encore mode boolean encore; ///< Ditto, but for encore mode
boolean masterbots; ///< If true, all bots should be max difficulty (Master Mode) boolean masterbots; ///< If true, all bots should be max difficulty (Master Mode)
boolean initalize; ///< If true, we need to initialize a new cup. boolean initalize; ///< If true, we need to initialize a new session.
boolean wonround; ///< If false, then we retry the map instead of going to the next. boolean wonround; ///< If false, then we retry the map instead of going to the next.
} grandprixinfo; } grandprixinfo;
/*--------------------------------------------------
UINT8 K_BotStartingDifficulty(SINT8 value); UINT8 K_BotStartingDifficulty(SINT8 value);
Determines the starting difficulty of the bots
for a specific game speed.
Input Arguments:-
value - Game speed value to use.
Return:-
Bot difficulty level.
--------------------------------------------------*/
UINT8 K_BotStartingDifficulty(SINT8 value);
/*--------------------------------------------------
INT16 K_CalculateGPRankPoints(UINT8 position, UINT8 numplayers); INT16 K_CalculateGPRankPoints(UINT8 position, UINT8 numplayers);
Calculates the number of points that a player would
recieve if they won the round.
Input Arguments:-
position - Finishing position.
numplayers - Number of players in the game.
Return:-
Number of points to give.
--------------------------------------------------*/
INT16 K_CalculateGPRankPoints(UINT8 position, UINT8 numplayers);
/*--------------------------------------------------
void K_InitGrandPrixBots(void); void K_InitGrandPrixBots(void);
Spawns bots specifically tailored for Grand Prix mode.
--------------------------------------------------*/
void K_InitGrandPrixBots(void);
/*--------------------------------------------------
void K_UpdateGrandPrixBots(void); void K_UpdateGrandPrixBots(void);
Updates bot settings based on the the results of the race.
--------------------------------------------------*/
void K_UpdateGrandPrixBots(void);
/*--------------------------------------------------
void K_IncreaseBotDifficulty(player_t *bot); void K_IncreaseBotDifficulty(player_t *bot);
Increases the difficulty of this bot when they finish the race.
Input Arguments:-
bot - Player to do this for.
Return:-
None
--------------------------------------------------*/
void K_IncreaseBotDifficulty(player_t *bot);
/*--------------------------------------------------
void K_FakeBotResults(player_t *bot); void K_FakeBotResults(player_t *bot);
Fakes the results of the race, when all human players have
already finished and only bots were remaining.
Input Arguments:-
bot - Player to do this for.
Return:-
None
--------------------------------------------------*/
void K_FakeBotResults(player_t *bot);
/*--------------------------------------------------
void K_PlayerLoseLife(player_t *player);
Removes a life from a human player.
Input Arguments:-
player - Player to do this for.
Return:-
None
--------------------------------------------------*/
void K_PlayerLoseLife(player_t *player); void K_PlayerLoseLife(player_t *player);
#endif #endif