mirror of
https://github.com/NeoFlock/neonucleus.git
synced 2025-09-24 09:03:32 +02:00
implemented some useful functions
This commit is contained in:
parent
9913af75f1
commit
16127040f4
@ -16,6 +16,7 @@ typedef struct nn_resource_t {
|
||||
|
||||
typedef struct nn_computer {
|
||||
char state;
|
||||
nn_bool_t hasBeep;
|
||||
nn_bool_t allocatedError;
|
||||
char *err;
|
||||
void *userdata;
|
||||
@ -51,6 +52,9 @@ typedef struct nn_computer {
|
||||
nn_size_t rid;
|
||||
nn_resource_t resources[NN_MAX_CONCURRENT_RESOURCES];
|
||||
nn_deviceInfoList_t *deviceInfo;
|
||||
double beepFrequency;
|
||||
double beepDuration;
|
||||
double beepVolume;
|
||||
} nn_computer;
|
||||
|
||||
#endif
|
||||
|
@ -784,6 +784,7 @@ int main(int argc, char **argv) {
|
||||
.screenCopyPerTick = 8,
|
||||
.screenFillPerTick = 16,
|
||||
.screenSetsPerTick = 32,
|
||||
.bitbltPerTick = 8,
|
||||
|
||||
.heatPerPixelChange = 0.00005,
|
||||
.heatPerPixelReset = 0.00001,
|
||||
|
@ -524,6 +524,10 @@ nn_guard *nn_getComputerLock(nn_computer *computer);
|
||||
int nn_getState(nn_computer *computer);
|
||||
void nn_setState(nn_computer *computer, int state);
|
||||
|
||||
void nn_computer_clearBeep(nn_computer *computer);
|
||||
void nn_computer_setBeep(nn_computer *computer, double frequency, double duration, double volume);
|
||||
nn_bool_t nn_computer_getBeep(nn_computer *computer, double *frequency, double *duration, double *volume);
|
||||
|
||||
void nn_setEnergyInfo(nn_computer *computer, double energy, double capacity);
|
||||
double nn_getEnergy(nn_computer *computer);
|
||||
double nn_getMaxEnergy(nn_computer *computer);
|
||||
|
@ -212,13 +212,13 @@ static int testLuaArch_computer_beep(lua_State *L) {
|
||||
|
||||
static int testLuaArch_computer_energy(lua_State *L) {
|
||||
nn_computer *c = testLuaArch_getComputer(L);
|
||||
lua_pushinteger(L, nn_getEnergy(c));
|
||||
lua_pushnumber(L, nn_getEnergy(c));
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int testLuaArch_computer_maxEnergy(lua_State *L) {
|
||||
nn_computer *c = testLuaArch_getComputer(L);
|
||||
lua_pushinteger(L, nn_getEnergy(c));
|
||||
lua_pushnumber(L, nn_getEnergy(c));
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -10,10 +10,26 @@ nn_universe *nn_newUniverse(nn_Context ctx) {
|
||||
return u;
|
||||
}
|
||||
|
||||
nn_Context *nn_getContext(nn_universe *universe) {
|
||||
return &universe->ctx;
|
||||
}
|
||||
|
||||
nn_Alloc *nn_getAllocator(nn_universe *universe) {
|
||||
return &universe->ctx.allocator;
|
||||
}
|
||||
|
||||
nn_Clock *nn_getClock(nn_universe *universe) {
|
||||
return &universe->ctx.clock;
|
||||
}
|
||||
|
||||
nn_LockManager *nn_getLockManager(nn_universe *universe) {
|
||||
return &universe->ctx.lockManager;
|
||||
}
|
||||
|
||||
nn_Rng *nn_getRng(nn_universe *universe) {
|
||||
return &universe->ctx.rng;
|
||||
}
|
||||
|
||||
void nn_unsafeDeleteUniverse(nn_universe *universe) {
|
||||
for(nn_size_t i = 0; i < universe->udataLen; i++) {
|
||||
nn_deallocStr(&universe->ctx.allocator, universe->udata[i].name);
|
||||
|
Loading…
x
Reference in New Issue
Block a user