From edd4fbed7b9f779685e9f2484e9b3a2ac7192d85 Mon Sep 17 00:00:00 2001 From: nicejs-is-cool Date: Thu, 28 May 2026 20:58:48 -0300 Subject: [PATCH] make it COMPILE --- Makefile | 2 +- .../org/neoflock/NeoNucleus/NativeBindings.java | 2 +- src/native/carbon.cpp | 14 ++++++++------ src/native/main.cpp | 4 ++-- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index c40cb7a..0e5e3a3 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ CC=gcc CXX=g++ CFLAGS=-Wall -Wextra -TARGET=libneonucleusjni.so +TARGET=libcarbon.so BASE_PATH=./src/main/org/neoflock/NeoNucleus JAVA_HOME=/usr/lib/jvm/java-25-openjdk/ diff --git a/src/main/org/neoflock/NeoNucleus/NativeBindings.java b/src/main/org/neoflock/NeoNucleus/NativeBindings.java index e1f5aa9..fc45914 100644 --- a/src/main/org/neoflock/NeoNucleus/NativeBindings.java +++ b/src/main/org/neoflock/NeoNucleus/NativeBindings.java @@ -4,7 +4,7 @@ import java.util.UUID; public class NativeBindings { static { - System.loadLibrary("neonucleusjni"); + System.loadLibrary("carbon"); } public static void main(String[] args) { //nn_Context ctx = nn_initContext(); diff --git a/src/native/carbon.cpp b/src/native/carbon.cpp index cefb60c..dc6e059 100644 --- a/src/native/carbon.cpp +++ b/src/native/carbon.cpp @@ -2,12 +2,14 @@ // redefine it here with the impl // theres probably a better way to do this #define CARBON_EXCEPTION_FUNC(fname, classpath) jint fname(JNIEnv* env, const char* message) { return THROW_EXCEPTION(classpath, message); } -#define CARBON_MAP_TO_NN_EXIT(enumcase) case enumcase:\ - jfieldID id = env->GetFieldID(clazz, #enumcase, "Lorg.neoflock.NeoNucleus.nn_Exit;");\ - return env->GetStaticObjectField(clazz, id); -#define CARBON_MAP_TO_NN_COMPUTERSTATE(enumcase) case enumcase:\ - jfieldID id = env->GetFieldID(clazz, #enumcase, "Lorg.neoflock.NeoNucleus.nn_ComputerState;");\ - return env->GetStaticObjectField(clazz, id); +#define CARBON_MAP_TO_NN_EXIT(enumcase) case enumcase: {\ + jfieldID id = env->GetFieldID(clazz, #enumcase, "Lorg.neoflock.NeoNucleus.nn_Exit;");\ + return env->GetStaticObjectField(clazz, id);\ + } +#define CARBON_MAP_TO_NN_COMPUTERSTATE(enumcase) case enumcase: {\ + jfieldID id = env->GetFieldID(clazz, #enumcase, "Lorg.neoflock.NeoNucleus.nn_ComputerState;");\ + return env->GetStaticObjectField(clazz, id);\ + } // codename for NN JNI is Carbon because i needed something better than NN JNI bool Carbon::PointerBacked::SetPointer(JNIEnv * env, jobject obj, void* ptr) { diff --git a/src/native/main.cpp b/src/native/main.cpp index 759499c..85aac74 100644 --- a/src/native/main.cpp +++ b/src/native/main.cpp @@ -39,7 +39,7 @@ }*/ JNIEXPORT jobject JNICALL Java_org_neoflock_NeoNucleus_NativeBindings_nn_1initContext - (JNIEnv * env, jclass ogClazz) { + (JNIEnv * env, jclass) { //jclass clazz = env->FindClass("org/neoflock/NeoNucleus/nn_Context"); //jmethodID creator = env->GetStaticMethodID(clazz, "createFromPointer", "(J)Lorg/neoflock/NeoNucleus/Context;"); jobject obj = Carbon::InstantiateOpaqueClass(env, "org/neoflock/NeoNucleus/nn_Context"); @@ -105,7 +105,7 @@ JNIEXPORT jobject JNICALL Java_org_neoflock_NeoNucleus_NativeBindings_nn_1setCom nMethods[i] = { .name = env->GetStringUTFChars(nameStr, NULL), .doc = env->GetStringUTFChars(docStr, NULL), - .flags = (nn_MethodFlags) env->GetByteField(oArr, NULL) + .flags = (nn_MethodFlags) flagsByte }; }