Pages: 1 2 [3]
  Print  
Author Topic: Project Mario  (Read 14015 times)
Offline (Unknown gender) fervi
Reply #30 Posted on: June 02, 2014, 05:21:22 AM
Member
Joined: Feb 2013
Posts: 75

View Profile Email
http://gmclan.org/up6184_0_enigma_mario.html

I got error when I compile mario
Report it?

Fervi
Logged
Offline (Male) Goombert
Reply #31 Posted on: June 02, 2014, 09:53:34 AM

Contributor
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3060

View Profile
Fervi, it is unlikely to build for Linux right now because there are no working INI functions for XLIB yet.
Logged
Offline (Unknown gender) sorlok_reaves
Reply #32 Posted on: June 13, 2014, 07:52:21 PM
Contributor
Joined: Dec 2013
Posts: 261

View Profile
I was able to get Project Mario to build and run on Linux with the Ini Extension. There's a few problems with it though:

1) Some random bugs. I'll file a pull request with my fixes.

2) Textures (or more likely polygons?) loading improperly:



3) Filename case sensitivity issues. I've edited the project file to fix these:
https://drive.google.com/file/d/0B1P7NepPcOslQXZHMEVkZVBtb0E/edit

Basically, here are the things I changed:
Code: [Select]
//Replace all backslashes with forward slashes in path names in the following files/objects:
./Objects/obj_map.obj:d3d_model_load(model, working_directory + "\maps\koopafalls\map_mod.d3d");
./Objects/obj_map.obj:texture = background_get_texture(background_add(working_directory + "\maps\koopafalls\texture.png", 0, 0));
./Objects/obj_map.obj:fname = working_directory + "\maps\koopafalls\map_col.d3d";
./Objects/obj_gamestate.obj:    path = working_directory + "\screenshots";
./Objects/obj_gamestate.obj:    path += "\";
./Objects/obj_gamestate.obj:    file = file_text_open_read(working_directory + "\maps\koopafalls\objects.dat");
./Objects/obj_tree.obj:    sound = sound_add(working_directory + "\Audio\Ambience\bird1.wav", 0, 1);
./Objects/obj_waterfall.obj:file = file_text_open_read(working_directory + "\maps\koopafalls\waterfall.d3d");
./Objects/obj_water.obj://surface_save(texturesurface, working_directory + "\test.png");

//Rename *.WAV to *.wav for the following files:
./ProjectMario/audio/ambience/bird1.WAV
./ProjectMario/audio/ambience/bird2.WAV
./ProjectMario/audio/ambience/bird3.WAV
./ProjectMario/audio/boing.WAV
./ProjectMario/audio/boo.WAV
./ProjectMario/audio/bowser/bowser_die.WAV
./ProjectMario/audio/bowser/bowser_fire.WAV
./ProjectMario/audio/bowser/bowser_grab.WAV
./ProjectMario/audio/bowser/bowser_inhale.WAV
./ProjectMario/audio/bowser/bowser_something.WAV
./ProjectMario/audio/bowser/bowser_step.WAV
./ProjectMario/audio/boxbreak.WAV
./ProjectMario/audio/bubble.WAV
./ProjectMario/audio/cannon1.WAV
./ProjectMario/audio/cannon2.WAV
./ProjectMario/audio/cannon3.WAV
./ProjectMario/audio/cannon_fire.WAV
./ProjectMario/audio/chomp.WAV
./ProjectMario/audio/crank.WAV
./ProjectMario/audio/movement/crawl.WAV
./ProjectMario/audio/ambience/cricket.WAV
./ProjectMario/audio/door_close.WAV
./ProjectMario/audio/door_metal.WAV
./ProjectMario/audio/door_open.WAV
./ProjectMario/audio/door_wood.WAV
./ProjectMario/audio/enter_painting.WAV
./ProjectMario/audio/explosion.WAV
./ProjectMario/audio/fuse_lite.WAV
./ProjectMario/audio/fuse_loop.WAV
./ProjectMario/audio/gunshot.WAV
./ProjectMario/audio/invalid.WAV
./ProjectMario/audio/lakitucam.WAV
./ProjectMario/audio/laser.WAV
./ProjectMario/audio/mario/mario_boing.WAV
./ProjectMario/audio/mario/mario_cough.WAV
./ProjectMario/audio/mario/mario_die.WAV
./ProjectMario/audio/mario/mario_doh.WAV
./ProjectMario/audio/mario/sleeping/mario_dream.WAV
./ProjectMario/audio/mario/mario_drown.WAV
./ProjectMario/audio/mario/mario_fire.WAV
./ProjectMario/audio/mario/mario_gameover.WAV
./ProjectMario/audio/mario/mario_haha.WAV
./ProjectMario/audio/mario/mario_hello.WAV
./ProjectMario/audio/mario/mario_herewego.WAV
./ProjectMario/audio/mario/mario_hoo.WAV
./ProjectMario/audio/mario/sleeping/mario_imtired.WAV
./ProjectMario/audio/mario/mario_itsme.WAV
./ProjectMario/audio/mario/mario_letsgo.WAV
./ProjectMario/audio/mario/mario_lift.WAV
./ProjectMario/audio/mario/mario_lowonhealth.WAV
./ProjectMario/audio/mario/mario_mamamia.WAV
./ProjectMario/audio/mario/mario_okiedokie.WAV
./ProjectMario/audio/mario/mario_oof.WAV
./ProjectMario/audio/mario/mario_pain.WAV
./ProjectMario/audio/mario/mario_presstart.WAV
./ProjectMario/audio/mario/mario_pullup.WAV
./ProjectMario/audio/mario/mario_scream.WAV
./ProjectMario/audio/mario/sleeping/mario_snore1.WAV
./ProjectMario/audio/mario/sleeping/mario_snore2.WAV
./ProjectMario/audio/mario/mario_solongbowser.WAV
./ProjectMario/audio/mario/mario_theend.WAV
./ProjectMario/audio/mario/mario_ugh.WAV
./ProjectMario/audio/mario/mario_ungh.WAV
./ProjectMario/audio/mario/movement/mario_wa.WAV
./ProjectMario/audio/mario/movement/mario_waha.WAV
./ProjectMario/audio/mario/mario_whoa.WAV
./ProjectMario/audio/mario/movement/mario_woo.WAV
./ProjectMario/audio/mario/movement/mario_woohoo.WAV
./ProjectMario/audio/mario/mario_ya.WAV
./ProjectMario/audio/mario/mario_yah.WAV
./ProjectMario/audio/mario/mario_yahh.WAV
./ProjectMario/audio/mario/movement/mario_yahoo.WAV
./ProjectMario/audio/mario/sleeping/mario_yawn.WAV
./ProjectMario/audio/mario/movement/mario_yippee.WAV
./ProjectMario/audio/mips-hop.WAV
./ProjectMario/audio/monkey1.WAV
./ProjectMario/audio/peach/peach1.WAV
./ProjectMario/audio/peach/peach2.WAV
./ProjectMario/audio/peach/peach3.WAV
./ProjectMario/audio/peach/peach4.WAV
./ProjectMario/audio/peach/peach5.WAV
./ProjectMario/audio/peach/peach6.WAV
./ProjectMario/audio/peach/peach7.WAV
./ProjectMario/audio/peach/peach8.WAV
./ProjectMario/audio/peach/peach9.WAV
./ProjectMario/audio/penguin.WAV
./ProjectMario/audio/pokeoutofsand.WAV
./ProjectMario/audio/movement/slide/slide1.WAV
./ProjectMario/audio/movement/slide/slide2.WAV
./ProjectMario/audio/movement/slide/slide3.WAV
./ProjectMario/audio/movement/slide/slide4.WAV
./ProjectMario/audio/movement/slide/slide5.WAV
./ProjectMario/audio/movement/slide/slide6.WAV
./ProjectMario/audio/movement/slide/slide7.WAV
./ProjectMario/audio/movement/splash.WAV
./ProjectMario/audio/movement/step_floor.WAV
./ProjectMario/audio/movement/step_grass.WAV
./ProjectMario/audio/movement/step_longgrass.WAV
./ProjectMario/audio/movement/step_metalcap.WAV
./ProjectMario/audio/movement/step_wetwood.WAV
./ProjectMario/audio/movement/swim_above.WAV
./ProjectMario/audio/movement/swim_below.WAV
./ProjectMario/audio/thwomp.WAV
./ProjectMario/audio/timer.WAV
./ProjectMario/audio/tinyzap.WAV
./ProjectMario/audio/vulturewound.WAV
./ProjectMario/audio/warp1.WAV
./ProjectMario/audio/warp2.WAV
./ProjectMario/audio/water.WAV
./ProjectMario/audio/ambience/waterfall.WAV
./ProjectMario/audio/ambience/waterfall2.WAV
./ProjectMario/audio/ambience/wind.WAV

I've only tested this with the Open GL 1.1 backend at the moment.
Logged
Offline (Male) Goombert
Reply #33 Posted on: June 14, 2014, 12:04:41 PM

Contributor
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3060

View Profile
Good work Sorlok, DaSpirit wrote that INI extension but never finished. Second, the issues you are seeing with geometry are related to the model struct for GL1. Josh fixed it for GL3, it has to do with how we handle color, but he didn't add the fixes to GL1.

https://github.com/enigma-dev/enigma-dev/blob/master/ENIGMAsystem/SHELL/Graphics_Systems/OpenGL1/GLModelStruct.h#L133
https://github.com/enigma-dev/enigma-dev/blob/master/ENIGMAsystem/SHELL/Graphics_Systems/OpenGL3/GL3ModelStruct.h#L137
Logged
Offline (Unknown gender) sorlok_reaves
Reply #34 Posted on: June 14, 2014, 07:26:51 PM
Contributor
Joined: Dec 2013
Posts: 261

View Profile
Good work Sorlok, DaSpirit wrote that INI extension but never finished. Second, the issues you are seeing with geometry are related to the model struct for GL1. Josh fixed it for GL3, it has to do with how we handle color, but he didn't add the fixes to GL1.

https://github.com/enigma-dev/enigma-dev/blob/master/ENIGMAsystem/SHELL/Graphics_Systems/OpenGL1/GLModelStruct.h#L133
https://github.com/enigma-dev/enigma-dev/blob/master/ENIGMAsystem/SHELL/Graphics_Systems/OpenGL3/GL3ModelStruct.h#L137

Thanks for the insight; I'll dig into this a little more, since it would be kind of fun to have Project Mario working properly on Linux too.
Logged
Offline (Male) Goombert
Reply #35 Posted on: June 14, 2014, 08:10:09 PM

Contributor
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3060

View Profile
Yeah the reason is because the model classes use a hack that packs color into a single float, that was Josh's fix for Linux but he only applied it to GL3.

It's probably easier to review his commit and just make the same changes.
https://github.com/enigma-dev/enigma-dev/commit/b539ff0bee4b085532d8d0782d2518f83022ba3a

If you want, test it and see if it works, if it does send us a pull request.
« Last Edit: June 14, 2014, 08:11:42 PM by Robert B Colton » Logged
Offline (Unknown gender) sorlok_reaves
Reply #36 Posted on: June 15, 2014, 08:18:37 PM
Contributor
Joined: Dec 2013
Posts: 261

View Profile
Yep, that did it. Along with the fixes in my branch (and the filename fixes in the zip I linked earlier), you can now enjoy Project Mario on Linux. The only minor issue is that GL3 doesn't seem to do any shadows correctly:

GL1:


GL3:


I've added these to my "Project Mario" pull request, which is now ready for review (again).
Logged
Offline (Unknown gender) TheExDeus
Reply #37 Posted on: June 16, 2014, 01:16:34 PM

Developer
Joined: Apr 2008
Posts: 1914

View Profile
Yeah, I am fixing GL3 right now. I fixed lights in this branch (https://github.com/enigma-dev/enigma-dev/commits/GL3-cleanup), but AMD keeps crashing on it. So I need to fix that.
Logged
Offline (Male) time-killer-games
Reply #38 Posted on: June 16, 2014, 03:52:49 PM

Member
Location: Virginia Beach
Joined: Jan 2013
Posts: 1049

View Profile WWW Email
sorlok should also be in the contributor member category, ah well, no big deal I suppose.
Logged
Offline (Male) Goombert
Reply #39 Posted on: June 16, 2014, 05:58:23 PM

Contributor
Location: Cappuccino, CA
Joined: Jan 2013
Posts: 3060

View Profile
Thank you sorlok! Good work everyone. And Harri get to work on fixing those lights!

Edit: I have updated the latest ISO compliant version fixing all file paths for UNIX switching \\ for /
If I have missed any, please tell me.
« Last Edit: July 04, 2014, 02:28:15 AM by Robert B Colton » Logged
Offline (Unknown gender) francot514
Reply #40 Posted on: December 18, 2014, 03:38:53 PM
Member
Joined: Dec 2014
Posts: 12

View Profile
Really awsome your project, the graphics are really good, how can i compile it for linux???
Logged
Pages: 1 2 [3]
  Print