[chocolate-doom] 19/42: Parse dehacked "Ammo" sections properly

Jonathan Dowland jmtd at moszumanska.debian.org
Mon Jan 30 15:06:51 UTC 2017


This is an automated email from the git hooks/post-receive script.

jmtd pushed a commit to annotated tag chocolate-doom-0.1.0
in repository chocolate-doom.

commit f4f051d366abcc673466e7ce73945e468b511ff9
Author: Simon Howard <fraggle at gmail.com>
Date:   Tue Oct 4 22:04:06 2005 +0000

    Parse dehacked "Ammo" sections properly
    
    Subversion-branch: /trunk/chocolate-doom
    Subversion-revision: 163
---
 src/deh_ammo.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 49 insertions(+), 2 deletions(-)

diff --git a/src/deh_ammo.c b/src/deh_ammo.c
index 5ebcb76..9bab775 100644
--- a/src/deh_ammo.c
+++ b/src/deh_ammo.c
@@ -1,7 +1,7 @@
 // Emacs style mode select   -*- C++ -*- 
 //-----------------------------------------------------------------------------
 //
-// $Id: deh_ammo.c 157 2005-10-03 11:08:16Z fraggle $
+// $Id: deh_ammo.c 163 2005-10-04 22:04:06Z fraggle $
 //
 // Copyright(C) 2005 Simon Howard
 //
@@ -21,6 +21,9 @@
 // 02111-1307, USA.
 //
 // $Log$
+// Revision 1.3  2005/10/04 22:04:06  fraggle
+// Parse dehacked "Ammo" sections properly
+//
 // Revision 1.2  2005/10/03 11:08:16  fraggle
 // Replace end of section functions with NULLs as they arent currently being
 // used for anything.
@@ -35,17 +38,61 @@
 //
 //-----------------------------------------------------------------------------
 
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
 #include "doomdef.h"
 #include "doomtype.h"
 #include "deh_defs.h"
+#include "deh_main.h"
+#include "p_local.h"
 
 static void *DEH_AmmoStart(deh_context_t *context, char *line)
 {
-    return NULL;
+    int ammo_number = 0;
+
+    sscanf(line, "Ammo %i", &ammo_number);
+
+    if (ammo_number < 0 || ammo_number >= NUMAMMO)
+        return NULL;
+
+    return &maxammo[ammo_number];
 }
 
 static void DEH_AmmoParseLine(deh_context_t *context, char *line, void *tag)
 {
+    char *variable_name, *value;
+    int ivalue;
+    int ammo_number;
+
+    if (tag == NULL)
+        return;
+
+    ammo_number = ((int *) tag) - maxammo;
+
+    // Parse the assignment
+
+    if (!DEH_ParseAssignment(line, &variable_name, &value))
+    {
+        // Failed to parse
+
+        return;
+    }
+
+    ivalue = atoi(value);
+
+    // maxammo
+
+    if (!strcasecmp(variable_name, "Per ammo"))
+        clipammo[ammo_number] = ivalue;
+    else if (!strcasecmp(variable_name, "Max ammo"))
+        maxammo[ammo_number] = ivalue;
+    else
+    {
+        fprintf(stderr, "DEH_AmmoParseLine: field named '%s' not found\n",
+                variable_name);
+    }
 }
 
 deh_section_t deh_section_ammo =

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/chocolate-doom.git



More information about the Pkg-games-commits mailing list