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:
+20
-9
@@ -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,7 +352,7 @@ DestroyCodeRes (MEM_HANDLE hCode)
|
||||
PVOID
|
||||
CaptureCodeRes (MEM_HANDLE hCode, PVOID pData, PVOID *ppLocData)
|
||||
{
|
||||
MEM_HANDLE *p;
|
||||
CODERES_STRUCT *cs;
|
||||
|
||||
if (hCode == 0)
|
||||
{
|
||||
@@ -349,12 +360,12 @@ CaptureCodeRes (MEM_HANDLE hCode, PVOID pData, PVOID *ppLocData)
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user