Work on 64 bit systems.

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@1622 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
meep-eep
2005-04-08 21:51:49 +00:00
parent 9aef15f5d0
commit 61d1e64ba4
3 changed files with 58 additions and 30 deletions
+21 -10
View File
@@ -25,9 +25,19 @@
#include "coderes.h"
#include "races.h"
#include "libs/compiler.h"
#include <ctype.h>
typedef struct
{
MEM_HANDLE handle _ALIGNED_ON(sizeof (MEM_HANDLE));
RACE_DESC data _ALIGNED_ANY;
} CODERES_STRUCT;
MEM_HANDLE
LoadVidInstance (DWORD res)
{
@@ -82,7 +92,7 @@ enum
MEM_HANDLE hData;
which_res = GetResFileChar (fp);
hData = mem_request (sizeof (MEM_HANDLE) + sizeof (RACE_DESC));
hData = mem_request (sizeof (CODERES_STRUCT));
if (hData)
{
RACE_DESCPTR RDPtr;
@@ -298,10 +308,11 @@ enum
}
else
{
MEM_HANDLE *lp;
CODERES_STRUCT *cs;
lp = (MEM_HANDLE *)mem_lock (hData);
*((RACE_DESCPTR)&lp[1]) = *RDPtr;
cs = (CODERES_STRUCT *) mem_lock (hData);
cs->data = *RDPtr;
// Structure assignment.
mem_unlock (hData);
}
}
@@ -341,20 +352,20 @@ DestroyCodeRes (MEM_HANDLE hCode)
PVOID
CaptureCodeRes (MEM_HANDLE hCode, PVOID pData, PVOID *ppLocData)
{
MEM_HANDLE *p;
CODERES_STRUCT *cs;
if(hCode==0)
if (hCode == 0)
{
fprintf(stderr, "Ack! dummy.c::CaptureCodeRes() hCode==0! FATAL!\n");
return(0);
}
p = (MEM_HANDLE *)mem_lock (hCode);
*p = hCode;
*ppLocData = &p[1];
cs = (CODERES_STRUCT *) mem_lock (hCode);
cs->handle = hCode;
*ppLocData = (void *) &cs->data;
(void) pData; /* Satisfying compiler (unused parameter) */
return (p);
return (void *) cs;
}
+2
View File
@@ -54,6 +54,7 @@ if (master_q.head != 0)
SHIP_INFOPTR ShipInfoPtr;
TaskSwitch ();
// XXX: what is this doing here?
BuiltShipPtr = LockStarShip (&master_q, hBuiltShip);
load_ship (BuiltShipPtr, FALSE);
@@ -92,6 +93,7 @@ if (master_q.head != 0)
}
TaskSwitch ();
// XXX: what is this doing here?
}
void
+35 -20
View File
@@ -21,6 +21,7 @@
#include "units.h"
#include "element.h"
#include "libs/compiler.h"
#include "libs/sndlib.h"
@@ -62,7 +63,11 @@
typedef struct captain_stuff
{
FRAME background, turn, thrust, weapon, special;
FRAME background;
FRAME turn;
FRAME thrust;
FRAME weapon;
FRAME special;
} CAPTAIN_STUFF;
typedef CAPTAIN_STUFF *PCAPTAIN_STUFF;
#define CAPTAIN_STUFFPTR PCAPTAIN_STUFF
@@ -189,19 +194,25 @@ typedef struct
typedef DATA_STUFF *PDATA_STUFF;
#define DATA_STUFFPTR PDATA_STUFF
typedef void (PREPROCESS_FUNC) (PELEMENT ElementPtr);
typedef void (POSTPROCESS_FUNC) (PELEMENT ElementPtr);
typedef COUNT (INIT_WEAPON_FUNC) (PELEMENT ElementPtr, HELEMENT Weapon[]);
typedef struct race_desc
{
SHIP_INFO ship_info;
CHARACTERISTIC_STUFF characteristics;
DATA_STUFF ship_data;
INTEL_STUFF cyborg_control;
SHIP_INFO ship_info _ALIGNED_ANY;
CHARACTERISTIC_STUFF characteristics _ALIGNED_ANY;
DATA_STUFF ship_data _ALIGNED_ANY;
INTEL_STUFF cyborg_control _ALIGNED_ANY;
void (*preprocess_func) (PELEMENT ElementPtr);
void (*postprocess_func) (PELEMENT ElementPtr);
COUNT (*init_weapon_func) (PELEMENT ElementPtr, HELEMENT
Weapon[]);
PREPROCESS_FUNC *preprocess_func
_ALIGNED_ON(sizeof (PREPROCESS_FUNC *));
POSTPROCESS_FUNC *postprocess_func
_ALIGNED_ON(sizeof (POSTPROCESS_FUNC *));
INIT_WEAPON_FUNC *init_weapon_func
_ALIGNED_ON(sizeof (INIT_WEAPON_FUNC *));
PVOID CodeRef;
PVOID CodeRef _ALIGNED_ON(sizeof (PVOID));
} RACE_DESC;
typedef RACE_DESC *PRACE_DESC;
#define RACE_DESCPTR PRACE_DESC
@@ -210,29 +221,32 @@ typedef QUEUE_HANDLE HSTARSHIP;
typedef struct
{
HSTARSHIP pred, succ;
HSTARSHIP pred;
HSTARSHIP succ;
DWORD RaceResIndex;
RACE_DESCPTR RaceDescPtr;
BYTE captains_name_index;
BYTE weapon_counter,
special_counter,
energy_counter;
BYTE weapon_counter;
BYTE special_counter;
BYTE energy_counter;
BYTE ship_input_state;
UWORD cur_status_flags, old_status_flags;
UWORD cur_status_flags _ALIGNED_ON(sizeof (UWORD));
UWORD old_status_flags _ALIGNED_ON(sizeof (UWORD));
HELEMENT hShip;
COUNT ShipFacing;
FRAME silhouette;
FRAME silhouette _ALIGNED_ON(sizeof (FRAME));
HELEMENT hShip _ALIGNED_ON(sizeof (HELEMENT));
COUNT ShipFacing _ALIGNED_ON(sizeof (COUNT));
} STARSHIP;
typedef STARSHIP *PSTARSHIP;
#define STARSHIPPTR PSTARSHIP
typedef struct
{
HSTARSHIP pred, succ;
HSTARSHIP pred;
HSTARSHIP succ;
DWORD RaceResIndex;
RACE_DESCPTR RaceDescPtr;
@@ -243,7 +257,8 @@ typedef SHIP_FRAGMENT *PSHIP_FRAGMENT;
typedef struct
{
HSTARSHIP pred, succ;
HSTARSHIP pred;
HSTARSHIP succ;
DWORD RaceResIndex;
RACE_DESCPTR RaceDescPtr;